Win-Raid forum: Windows XP, 2003 x32 on modern hardware

## Windows XP, 2003 x32 on modern hardware

(2018-2021)

> > Thanks to the brilliant specialists in this forum:

> > ⇗diderius6, ⇗Mov AX, 0xDEAD, ⇗Fernando, ⇗daniel_k.

> > ⇗gordo999, ⇗ruthan, ⇗infuscomus, ⇗Gelip, ⇗XPLives, ⇗George King, ⇗skullteria, and few others.

- Moderator has deleted 7 messages about Win98, and 19 cyrillic messages, they are preserved here.
- Pages: 503, 517 were retrieved incompletely, so 17 messages are lost.

## Page 1

#1

deSSy2724

EDIT by Fernando: The most important information about this topic have been assorted ¶ >here< by Mov AX, 0xDEAD!
Can someone answer me some questions because I cant find clear answers to some of my questions (different statements from the same or different sources/sites/forums) and for some others things/questions, im not 100% sure:

1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?
2. Does XP 32bit support only MBR..... would it work if one partition of the same drive is partitioned as MBR (for XP) and the second partition of the same drive partitioned as GPT (for Win 10)? And is there any issues with SSD and MBR?
3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?
4. If 2.2 TB HDD is the limit for the 32 bit OS, can we split a 4/6/8 TB HDD/SDD to multiple 2TB partitions or is that still not possible/usable with 32bit OS-es?
5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?
6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
   Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?

Here is the thing and why so many questions..... I want to build a SINGLE gaming PC for all my older and newer games with both Win XP 32bit and Win 10 64bit (dual boot) but the problem is, if I build a PC out of parts from 2011/12 (Sandy Bridge, Ivy Bridge...) or so it would be harder (maybe even more expensive) to find parts and maybe the CPU from 2011 would not be that good for games from 2017-19 which means, I should buy parts which would be as newest and strongest/advanced as possible for new/upcomming games but at the same time to keep the legacy support for my older games (games designed for 98/2000/XP) and we all know that Win 7/8/10 and even 64bit OSes in general have some or in some cases many compatibility issues/obstacles with older games. I mean, there are many osbstacles with AHCI/IDE and SATA drivers, 32bit/64bit, MBR/GPT.... so, im not quite sure what to do.
It would be the best to build a PC based on the Skylake, Kaby Lake, Coffe Lake etc. but is it actually possible to make it happen without any issues on Windows XP SP3 32bit?
Would scenario 1 be possible?
EDIT1 by Fernando: Reformatted to save space
EDIT2 by Fernando: Thread title customized

#2

Lost_N_BIOS

⇗ @Fernando would be best to answer many of these, I'm sure you'll see him pop in when he has a chance
I can tell you #2 - MBR and SSD is fine, I use this all the time for many years.
#3 - XP from USB, I am not sure about, probably not easily unless you can find ready image/ISO, but yes it can be installed from CD/DVD burned discs, if blueray burn same way as DVD drive them I'm sure your good to go with that.
#4 - Yes, you can create multiple 2.2TB or less Primary partitions with MBR, SP2 may need to be installed before they are all visible, I am not sure on that one. Third party partition tools may be required to setup the additional partitions, also am not certain on that either (guess I should quit partially answering )
Here's some info that may help answer some of that for you too
⇗ http://www.questions4steveb.co.uk/html/S...with-Windows-XP
I think your scenario two would be easier to use and setup, but you'd have to figure out how to edit the boot menu of Win10 to allow multi-disk boot choice at startup, or use some other third party bootloader.

#3

Fernando

⇗ @deSSy2724:
Welcome to the Win-RAID Forum!

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?

You can install Windows XP and Windows 10 onto the same HDD/SSD, if you install them both in LEGACY mode by using the MBR partition scheme.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 2. Does XP 32bit support only MBR?

Yes!

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?

Due to the missing/not compatible USB drivers it is not a good idea to install Windows XP onto a modern PC by booting off an USB Flash Drive. Booting off an Optical Drive is the much better option.
Your question #4 has already been answered by Lost_N_BIOS, an answer to your question #5 requires XP installation experiences with all available chipset/CPU generations, which I don't have.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
> Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?

Not the chipset, but just the HardwareIDs of the on-board SATA AHCI or RAID Controller is important. When you want to slipstream a specific AHCI/RAID driver into a Windows XP Image (don't integrate more than 1 textmode driver!), you should choose an XP compatible textmode driver, which definitively supports your specific on-board SATA AHCI/RAID Controller. If the related AHCI/RAID driver supports several different SATA Controllers, you should make sure, that just the matching SATA AHCI/RAID Controller has been highlighted during the textmode driver integration procedure.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> It would be the best to build a PC based on the Skylake, Kaby Lake, Coffe Lake etc. but is it actually possible to make it happen without any issues on Windows XP SP3 32bit?

Regarding the XP installation onto a modern Intel chipset PC running in AHCI or RAID mode I recommend to read the start post of ⇗ >this< thread.
Regards
Dieter (alias Fernando)

#4

Mov AX, 0xDEAD

# Windows XP/2003 32-Bit on Modern Intel Hardware

> Windows XP/2003 support only ACPI 1.0b syntax, last generation bioses uses ACPI 2.0+
> To support ACPI 2.0 syntax need replace acpi.sys and apply additional patches to avoid known BSODs :
> - 0xA5 (0x03, ..., C0140001, ...) missing ACPI 2.0 syntax, 99% solved, two solutions:
> 1) acpi.sys (v.5048, sha1:a09c0d9f6b5cb63192e2cebada56db38d3870b29) from Vista Beta/Longhorn v.5048
> Pro:
> - Has most of ACPI 2.0 syntax opcodes
> - All integers are 64-bit regarding ACPI 2.0 specification
> Cons:
> - beta, compiled for next generation of windows
> - failed implementation of some internal data types, _ValidateArgTypes generate ¶ BSOD 0xA5(0x03, xxx, C0140008, yyy)
> Patches:
> - Add pointer to _atDataObj struct for QWord Opcode
> (_OpcodeTable start at .data:00039848, _atDataObj struct at .data:000397A8,
> missing pointer at .data:00039880, dont forget add additional relocs)
> 2) acpi.sys from Windows XP SP3 (v.5512->v.6666) with integrated acpi 2.0 syntax support
> Pro:
> - based on original v.5512, match binary/offsets
> Cons:
> - All integers are still 32-bit, any operations on 64-bit fields/variables will drop high part of QuadWord
> - 0xA5 (0x11, 0x08, ..., ...) unknow error in _AMLILoadDDB, probably fail after parsing DSDT/SSDT table, solved
> Patch (by diderius6):
> - Ignore status of _AMLILoadDDB in _ACPIInitializeDDB
> (v5512 jl short .text:00036214 => nop, nop)
> - 0xA5(0x03, ..., C0140008, ...) DSDT code have operation with unexpected type of arguments, partially solved
> This BSOD probably means some argument has datatype, allowed only in ACPI 2.0
> v5512 & v5048 support only argument datatypes allowed in ACPI 1.0b specification
> Patch:
> - _ValidateArgTypes must always return "OK", even on realy wrong types
> (mov edi, 0xC0140008=>mov edi, 0x00000000 at head of _ValidateArgTypes)
> - 0xA5 (0x10006, ..., ..., ...), missing _DIS method for "PNP0C0F"s (PCI Interrupt Link Devices) in DSDT/SSDT table
> Patch (by daniel_k):
> - Skip looking for PNP0C0F in _DisableLinkNodesAsyncWorker,
> (v5512 call strstr, ..., jz .text:0001BBBD => jmp .text:0001BBBD )

> - 0xA5 (0x02, ..., ..., ...) error in ACPIRangeValidatePciResources, ACPI vs E820 conflict, solved
> BSOD is generated by this DSDT code:

>          DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
>               0x00000000,         // Granularity
>               0x00000000,         // Range Minimum
>               0xDFFFFFFF,         // Range Maximum
>               0x00000000,         // Translation Offset
>               0xE0000000,         // Length
>               ,, _Y0E, AddressRangeMemory, TypeStatic)
>          ...

>          CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)  // _MIN: Minimum Base Address
>          CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)  // _MAX: Maximum Base Address
>          CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)  // _LEN: Length
>          M1LN = M32L /* External reference */
>          M1MN = M32B /* External reference */
>          M1MX = ((M1MN + M1LN) - One)

> Sometimes M1LN, M1MN, M1MX cannot be calculated properly and this code claim most of memory
> (E0000000 = 3.7Gb) as motherboard resource, this brings to conflict with E820 memory ranges list
> Patch:
> - memory check in ACPIRangeValidatePciResources must always return "OK"
> (v5512 jz short .text:0001E0BB => jmp short .text:0001E0BB)

> Device IOTR(PNP0C02) claim 255 I/O adresses in range 0xFF00-0xFFFE, for unknow reason this range
> conflict with Video Card I/O range. This problem is generated by Kabylake+ bioses in DSDT code, solved, two solutions:
> 1) Manual patching DSDT table, remove this lines inside method _CRS of IOTR device,
> so _crs will return empty Local0:

>               If ((ITS0 == One))
>                     {
>                         ConcatenateResTemplate (Local0, BUF0, Local1)
>                         Local0 = Local1
>                     }

>                     If ((ITS1 == One))
>                     {
>                         ConcatenateResTemplate (Local0, BUF1, Local1)
>                         Local0 = Local1
>                     }

>                     If ((ITS2 == One))
>                     {
>                         ConcatenateResTemplate (Local0, BUF2, Local1)
>                         Local0 = Local1
>                     }

>                     If ((ITS3 == One))
>                     {
>                         ConcatenateResTemplate (Local0, BUF3, Local1)
>                         Local0 = Local1
>                     }

> 2) Patch acpi.sys with injecting special code to override IOTR template buffer:
> In _Buffer opcode handler replace:

>           mov     eax, [ebx+14h]
>           mov     ecx, [ebp+arg_0]

> to

>           call    Check_IOTR_Buffer
>           ...
>     Check_IOTR_Buffer:
>           cmp     eax, 0Ah                         ; eax - size of buffer
>           jnz     short Skip
>           mov     eax, [ebx+30h]
>           mov     eax, [eax+10h]                   ; eax - buffer
>           cmp     dword ptr [eax], 00000147h       ; need matching all 10 bytes
>           jnz     short Skip
>           cmp     dword ptr [eax+4], 0FF010000h
>           jnz     short Skip
>           cmp     word ptr [eax+8], 0079h
>           jnz     short Skip
>           mov     byte ptr [eax+7], 0	       ; MAIN ACTION, set i/o range to 0 instead 255

>     Skip:
>           mov     eax, [ebx+14h]
>           mov     ecx, [ebp+arg_0]
>           ret

> IOTR template defined as:

>              Name (BUF0, ResourceTemplate ()
>                     {
>                         IO (Decode16,
>                             0x0000,             // Range Minimum
>                             0x0000,             // Range Maximum
>                             0x01,               // Alignment
>                             0xFF,               // Length
>                             _Y21)
>                     })

> in bytecode: `11 0D 0A 47 01 00 00 00 00 01 FF 79 00`

> Some part of acpi hardware is disabled, so CPU should not use nonexistent ACPI C2/C3 power savings, solved, two solutions (intelppm.sys):
> 1) C2/C3 States => C1 State :
> - in _InitializeAcpi2IoSpaceCstates replace offsets AcpiC2Idle and AcpiC3ArbdisIdle to offset AcpiC1Idle
> 2) C2/C3 States => C7+ States :

> >     push    ebx
> >     mov     ebx, ecx
> >     push    esi
> >     push    0
> >     call    _KeQueryPerformanceCounter
> >     mov     [ebx], eax
> >     mov     [ebx+4], edx

> >     mov     eax, offset DummyMon
> >     xor     ecx, ecx
> >     xor     edx, edx
> >     monitor
> >     mov     ecx, 1
> >     mov     eax, 60h
> >     mwait

> >     push    0
> >     call    _KeQueryPerformanceCounter
> >     mov     [ebx+8], eax
> >     mov     [ebx+0Ch], edx
> >     xor     eax, eax
> >     pop     esi
> >     pop     ebx
> >     retn

> > DummyMon - any unused 4 byes in .data segment

> >     push    ecx
> >     push    0
> >     call    _KeQueryPerformanceCounter
> >     mov     ecx, [esp+4+var_4]
> >     mov     [ecx], eax
> >     mov     [ecx+4], edx

> >     mov     eax, offset DummyMon
> >     xor     ecx, ecx
> >     xor     edx, edx
> >     monitor
> >     mov     ecx, 1
> >     mov     eax, 33h
> >     mwait

> >     push    0
> >     call    _KeQueryPerformanceCounter
> >     pop     ecx
> >     mov     [ecx+8], eax
> >     mov     [ecx+0Ch], edx
> >     xor     eax, eax
> >     retn

> > Windows XP SP2+ uses disabled acpi timer, solved
> > Skylake+ bioses by default disable ACPI hardware timer (register "ACPI Timer Control (ACPI_TMR_CTL)"
> > in southbridge, see PDF), but WinXP SP2+ still uses disabled acpi timer for getting incremental
> > time counter (acpi spec declare this counter as part of specification). WinXP detect existing this timer
> > by checking special bit USE_PLATFORM_CLOCK in FACP ACPI table, modern bioses still set USE_PLATFORM_CLOCK=1
> > in acpi (mistake by programmers ? or maybe inform Win7+ about existing HPET timer (not acpi timer!)
> > Patch (by diderius6) "HAL_acpitimer_fix" to use CPU TSC counter as performance timer/counter:
> > - in HaliAcpiTimerInit force to ignore USE_PLATFORM_CLOCK and receive it always =0
> > (v.5512 jns short PAGE:8002934B => jmp short PAGE:8002934B)
> > Compatibility fix ("HAL TSC frequency divider")
> > Some programms do wrong calculation with high values of PerformanceCounter/PerformanceFrequency
> > (HAL_acpitimer_fix set values to cpu freq), to avoid this problem values need to divide to much
> > lesser value, Windows 7 just divide it to 1024, so timer frequency on 3600Mhz cpu is only 3.51Mhz
> > Patch:
> > - divide to 1024 values of PerformanceCounter/PerformanceFrequency, replace _HalpAcpiTimerQueryPerfCount to:

> >      mov     ecx, [esp+4]
> >      or      ecx, ecx
> >      jz      short Skip_Frequency_Mode
> >      mov     eax, fs:0A4h ; FrequencyLo
> >      mov     edx, fs:0A8h ; FrequencyHi
> >      shrd    eax, edx, 0Ah
> >      shr     edx, 0Ah
> >      mov     [ecx], eax
> >      mov     [ecx+4], edx
> >     Skip_Frequency_Mode:
> >      rdtsc
> >      add     eax, fs:0ACh ; CalibrationLo
> >      adc     edx, fs:0B0h ; CalibrationHi
> >      shrd    eax, edx, 0Ah
> >      shr     edx, 0Ah
> >      retn    4

> Windows XP/2003 support SATA controllers only in Legacy IDE mode, modern Intel chipsets has only AHCI mode, solved, many solutions:
> 1) Intel RST AHCI/RAID 11.2.0.1006 (iaStor.sys)
> 2) Intel RSTe AHCI/RAID 4.7.0.1098 backport by daniel_k (iaStorA.sys+iaStorF.sys)
> 3) StorAHCI by skulltera/OneCore (storahci.sys), compiled from Microsoft Windows 8.x DDK Samples, (require storport.sys from Windows 2003)
> 4) UniATA (opensource)
> 5) Intel RSTe AHCI/RAID 4.0.2.1019, for Windows 2003 only, enterprise controllers only(??) (iaStorA.sys+iaStorF.sys))
> 6) StorAHCI from Windows 8 (require backported storport.sys from Windows 8)
> 7) StorAhci for Windows 2003, based on Microsoft Windows 8.x DDK Samples source code, ⇗ https://sourceforge.net/projects/storahci-for-windows-2003/
> Add PCI\VEN_8086&CC_0106 to *.inf as universal DEV_ID for any Intel AHCI Sata Controller

> - 0xA5 (0x0000000D, ..., ..., ...), duplicated _HID method
> Patch:
> - Skip DetectDuplicateHID processing
> (v5512 .text:00013F6C => jmp .text:00013F6C)
> - 0x7E (..., ..., C0000005, ...) unknow error in AcpiArbCrackPRT
> Patch:
> (v5512 jnz short .text:0001BD6D => jmp short .text:0001BD6D)

> Intel released USB3.x drivers only for Windows 7/8/10, so there were many attempts to use drivers of
> other usb chip manufacturers. Most of them do not work at Intel hardware, some works, but have problems with PAE or USB3 ports.
> Following drivers confirmed to work in normal and PAE environment, solved, three solutions:
> 1) Microsoft Generic v6.2.9200.16384/v6.2.9200.22453 from Windows 8.0
> 2) AMD v1.1.0.0145 (need amdxhci_adresscalc_fix)
> 3) Fresco Logic v3.6.9.0 (extended to 32 ports)
> AMD and Fresco drivers have some issues with recognizing devices after plug<->unplug, sometimes ports go to power saving modes and can't back
> UAS (Attached SCSI Mass Storage) drivers also available, partial solved, three solutions:
> 1) UAS Driver from Windows 8 + storport.sys from Windows 2003, alpha
> 2) UAS Driver from Windows 8 + storport.sys from Windows 7, alpha
> 3) UAS Driver from Windows 8 + storport.sys from Windows 8, alpha
> 4) VIA UAS Driver
> 5) Etron UAS Driver
> VIA and Etron UAS Drivers doesn't support Safe Remove, require fixes, solved (via_uas_fix, etron_uas_fix)
> By default VIA and Etron UAS works only with genuine vendor USB3.0 Driver, but they are generic(?) and can work with any USB3 driver
> vusbstor.inf: change USB_VIA\Class_08&SubClass_06&Prot_62 to USB\Class_08&SubClass_06&Prot_62
> EtronXHCI.inf: change ENUSB\Class_08&SubClass_06&Prot_62 to USB\Class_08&SubClass_06&Prot_62

> > 1) Windows 8 USB3 driver always report USB2 speed on inserted USB3 devices, MS call it "compatibility", but vendors driver report proper USB3 speed and dont have compatibility issues(?)
> > Fix to report proper USB3 speed, usbhub3.sys (v6.2.9200.21180):
> > .text:19C58: jnz 00019C63 => jmp 00019C63 (75 09 => EB 09)
> > This driver is known to have issues with PAE environment, need fix:
> > - replace in amdxhc.sys:

> >         mov     ecx, [esi+458h] ; esi+458h = store of 64bit adress
> >         mov     eax, [esi+28h]
> >         mov     [eax], ecx            ; low part
> >         mov     [eax+4], ebx          ; dropped high part, ebx=zeroes.....

> > to

> >         mov     ecx, [esi+458h]
> >         mov     eax, [esi+28h]
> >         mov     [eax], ecx
> >         mov     ecx, [esi+45Ch] ; HIGH part of 64bit
> >         mov     [eax+4], ecx    ; no more zeroes

> > Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
> > - replace in vusbstor.sys (v6.1.7600.4002):
> > page:000209B4: mov [ebp+SurpriseRemovalOK], ebx -> NOPs
> > `(89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF)`
> > Patch for Etron USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
> > - replace in EtronSTOR.SYS (any version):
> > OR `dword ptr [eax+4], 0300h -> OR dword ptr [eax+4], 0000h`

- Windows 2003 support more than 4Gb RAM without additional actions, limited to some value depending "Edition"
- Windows XP ServicePack1 support more than 4Gb RAM without additional actions, limited to some value (16Gb ?)
- Windows XP ServicePack2/3 don't support RAM above 4Gb, need patching, solved, many solutions:
1) PatchPae(v2) by wj32, remove limits only in kernel, need additional HAL patching
2) fix128/PatchPae(v3) by evgen_b, contains unfinished HAL_DMA patch, kernel patch is OK
3) WinXPPAE(v2) by daniel_k, contains proper HAL_DMA patch, kernel patch is OK
- Bootmgr from some Vista Betas/Longhorns allow boot Windows XP x64 from UEFI x64, alpha,
there is issues with Video card, ⇗ https://www.betaarchive.com/forum/viewtopic.php?f=61&t=20327
- Boot Windows x32 on UEFI 32
UEFI32 on real hardware is rare, confirmed only on emulated environment, alpha, ¶ howto by Gelip
- Quibble bootloader (experimental, opensource), alpha, no NTFS support,
booting possible only if Windows installed on FAT partition, project page - ⇗ https://github.com/maharmstone/quibble
Solved, many solutions:
- Modified OFA 1.3/1.5 driver + storport.sys from Windows 2003
- MS Windows 7 NVMe Driver by daniel_k + backported storport.sys from Windows 7
- MS Windows 7 NVMe Driver + storport.sys from Windows 7 + Emu_Extender
- Samsung NVMe driver + storport.sys
Windows 2003 already support GPT Partitions for non-booting disks, no need additional software
Windows XP doesn't support GPT Partitions, solved for non-booting disks, one solutions:
- Paragon GPT Loader enable access to 3TB+ Disks/GPT partitions (commercial product, not available for sale)
Booting from GPT disk partially solved, need convert pure GPT to HybridMBR, ¶ guide by Levvon
To enable saving crash dumps with storport-based disk drivers on Windows XP need patch kernel (scsi support will be disabled)
Disk Controller drivers written for Windows 8 mostly will not save crash dumps on disk, they use new API to get information from kernel about dump context
List of patches:
1) IopGetDumpStack:
Replace unicode string "scsiport.sys" to "storport.sys"
This string is 3rd argument of "call _IopLoadDumpDriver@12"
2) IopGetDumpStack:
Original XP kernel will disable loading storport emulator(diskdump.sys) if storport/miniport return "Device Object"
This is not problem for Windows 2003/7/.., newer OS still load diskdump.sys even if storport/miniport return anything
Replace "mov [ebp+ScsiDump], 0" with NOPs
Example for ntkrpamp.exe v5512:
PAGE:004A0E0F mov byte ptr [ebp-29h],0 -> NOP, NOP, NOP, NOP
3) IopGetDumpStack:
Storport doesnt use SCSI ports names and dont need to search name of driver, need to skip this block
Example for ntkrpamp.exe v5512:
in range PAGE:004A0F49-004A1018 replace first opcode with "jmp 4A1019"
4) Use diskdump.sys from Windows 2003 or Wondows 7 (Windows 8 version not tested)
5) IoInitializeCrashDump:
XP kernel allocate for diskdump.sys buffer of 32Kb (same size in Windows 2000), diskdump.sys from Windows 2003+
expect buffer of 64Kb. To be compatible with new diskdump.sys need to increase buffer
Replace "push 8000h" with "push 10000h" as 3rd arg of ExAllocatePoolWithTag call
Currently Proof-Of-Concept, only one kernel version supported ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (480)
- Remote kernel debug over LAN or USB3 cable, ⇗ https://github.com/MovAX0xDEAD/KDNET
- ACPI DSDT/SSDT Patcher at boot time for any windows, ⇗ https://github.com/MovAX0xDEAD/ACPI-Patcher
- WinXP/W2003 ntoskrnl.exe Emu_Extender, ⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu, ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)
¶ Running Windows XP with "new generation" ACPI.sys taken from many Vista Beta/Longhorn version
¶ Running existing USB3 vendor's drivers on Intel USB3.0 controller
¶ Implementation of ACPI Timer/HPET on different windows generations
¶ Switching between DMA32/DMA64 under PAE Environment, Windows XP
¶ Switching between DMA32/DMA64 under PAE Environment, Windows 7
Unresolved Problems/Requested Features:
- ACPI.SYS v.6666 lack 64-bit integers
- ACPI.SYS v.6666 limits possible datatypes in arguments only to ACPI 1.0b Specification
- Boot Windows XP/2003 x32 from UEFI x64
- Generating TRIM command for SSD in filesystem (NTFS/???)
- Internal GPT support for x32 Windows XP by replacing disk.sys/partmgr.sys/??? from Windows 2003
- Boot Windows x32 XP/2003 from pure GPT
- Restore full Windows XP SP1 implementation of PAE/DMA for Windows XP SP3
- Generic/Universal HDA Audio driver
- CSM Emulator for UEFI x64
- DirectX 10/11 kernel support
- NDIS 6.x for Windows XP/2003

#5

deSSy2724

1. So, basically...... XP 32bit can only be installed to the MBR partition and nothing can change that BUT with help of 3rd party tools like this one (link below), XP can read/access other GPT partitions and I should be able to install programs/games normally to that GPT partitions, right?
⇗ https://www.paragon-software.com/de/tech...nts/gpt-loader/
2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?
3. What is actually the disadvantage if I disable ACPI (desktop PC)? Would my CPU work always with full speed and never downclock when idle (Intels Turbo Clock technology) or what?. Is ACPI disabled system-wide (BIOS) or can it be only disabled for specific OS-es?
4. ⇗ @Mov AX, 0xDEAD
Are you trying to say that this user from this thread has ACPI disabled or what? How did he managed to install XP 32 bit with Coffe Lake MBO/CPU?
⇗ Windows XP 32bit SP3 now working with Z370 motherboard and Coffe Lake CPU

#6

Fernando

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #5

> 2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?

To avoid a 7b BSOD while starting the XP installation, you should just load/integrate the textmode driver, which matches the AHCI/RAID Controller of the target HDD/SSD (where you want to install the OS).
All other storage drivers can be installed later on (once XP is up and running fine).

#7

Mov AX, 0xDEAD

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #5

> 1. So, basically...... XP 32bit can only be installed to the MBR partition and nothing can change that BUT with help of 3rd party tools like this one (link below), XP can read/access other GPT partitions and I should be able to install programs/games normally to that GPT partitions, right?

maybe gpt-loader will not works on same drive where xp installed, try replace 2 or 3 sys files from windows 2003 server

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #5

> 2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?

if you are sure that win xp already has drivers for you hardware , you can add new ids to TXTSETUP.SIF
if not, you need integrade AHCI driver (textmode) to install media (nlite/massdrivers/etc)
last driver for intel AHCI is 11.2.0.1006 for 32b and 64b winxp, need add new ids in INF, it works on 100 series(skylake) MB without problem

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #5

> 3. What is actually the disadvantage if I disable ACPI (desktop PC)? Would my CPU work always with full speed and never downclock when idle (Intels Turbo Clock technology) or what?. Is ACPI disabled system-wide (BIOS) or can it be only disabled for specific OS-es?

i have no experience with non acpi kernel, acpi is not disabled, it just not used by OS's kernel
EDIT by Fernando: Reformatted to save space

#8

YuriyCN

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> My previous platform was skylake cpu with H110 chpset and initial bios, winxp 64/win7 64 installed (winxp 32 can run too, but RAM limited to 2.3Gb)

Use fix128 for support >4GB RAM on 32-bits OS.
⇗ https://rutracker.org/forum/viewtopic.php?t=4694409

#9

Mov AX, 0xDEAD

I have finished little experimenting with acpi for running windows xp on 100-series sky/coffe-lake platform.
It is possible run acpi kernel but need patch DSDT table. In my case need to block acpi 2.0 syntax from acpi.sys driver.
I just put these instruction in a condition "IF OS >= WINDOWS VISTA THEN ...."

                    ToBuffer (Arg0, Local3)
                    Local0 = Zero
                    Local1 = Zero
                    While ((Local1 < Arg2))
                    {
                        Local2 = DerefOf (Local3 [(Arg1 + Local1)])
                        Local0 += (Local2 << (0x08 * Local1))
                        Local1++
                    }

                    Return (Local0)

               If ((OSYS >= 0x07D6))
                {
                    ToBuffer (Arg0, Local3)
                    Local0 = Zero
                    Local1 = Zero
                    While ((Local1 < Arg2))
                    {
                        Local2 = DerefOf (Local3 [(Arg1 + Local1)])
                        Local0 += (Local2 << (0x08 * Local1))
                        Local1++
                    }

                    Return (Local0)
                }
               Else
                 {
                  Return (Zero)
                 }

ToBuffer - unsupported instruction from acpi 2.0
0x07D6 - hardcoded id of Vista
This is simple example of replacement, total is 12 new instructions:

> Zitat

>     QwordConst
>     ConcatenateResTemplate
>     Mod
>     CreateQWordField
>     ToBuffer
>     ToDecimalString
>     ToHexString
>     ToInteger
>     ToString
>     CopyObject
>     Mid
>     Continue

EDIT by Fernando: I have put the code into "spoilers" (to save space)

#10 | deSSy2724 | Isnt Coffe 300 series? Would it work with my Fatal1ty Z370 Professional Gaming i7? Im just wondering if ACPI could work on XP and maybe on Win 98SE. BTW anyway..... when it comes to SATA AHCI, this MBO has actually dual SATA controllers (6x from Intel and 2x from ASMedia), so, that should not make additional obstacles.
#11 | zir_blazer | Have you considered virtualization? You can use it as a compatibility layer between new Hardware and old OSes, and unless you are doing something very specific that requires bare metal access, VGA Passthrough is usually enough to get a fully functional Windows VM that feels like bare metal (Could be problematic in WXP, but you can source an old, supported Video Card). Been using Windows that way since December 2013 with a Linux host and QEMU-KVM-VFIO, and used as main VM Windows XP SP3, Windows XP x64 SP2, and now Windows 10.

#12

deSSy2724

I need XP 32 bit for legacy/old games and application, thats why I need proper drivers. And for old win 95-98-ms dos games there are PCI express to PCI adapters.... not sure if that could work and there are tools to downclock/limit/slower CPUs in win 95/98 for beter compatibility.
BUT dual booting XP 32 bit and win 10 64 bit is my main goal with proper drivers, acpi if possible for xp. And dual graphics cards.... gtx 1080/rtx2080/vega/navi GPU (not sure which one exactly would I get) for new advanced software/games and I have a spare radeon rx 260x for XP 32 bit (it has official drivers). Win 98SE and ms dos would be just an additional bonus if possible.

#13

zir_blazer

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #12

> I need XP 32 bit for legacy/old games and application, thats why I need proper drivers. And for old win 95-98-ms dos games there are PCI express to PCI adapters.... not sure if that could work and there are tools to downclock/limit/slower CPUs in win 95/98 for beter compatibility.

Seriously, you're better off with virtualization simply because as the emulated platform stuff is old enough (Chipset, IDE Controller, etc), you will always have "proper Drivers" of the harder to support components. The only missing thing is the GPU, which VGA Passthrough already covers well enough.
There are also some Motherboards with PCI slots like ⇗ this one. Recall at least seeing a guy with an old PCI Voodoo ⇗ passthroughing it to a VM and playing DOS or W9x games with Glide. Your other option is PCem, or a computer old enough to get things working mostly out of the box.

#14 | infuscomus | ⇗ @Mov AX, 0xDEAD: Would patching like ¶ >this< help to fix an A5 BSOD? If so, can i get some help to patch ACPI? EDIT by Fernando: Fully quoted post replaced by directly addressing (to save space)

#15

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #14

> Would patching like this help to fix an A5 BSOD?
> If so, can i get some help to patch ACPI?

Yes, this patching fix A5 bsod
You need ask for someone to fix your acpi table or learn how to DIY, see attachemnt "before and after"
patching is not easy, if you forget return something from method you will get another BSOD, so be accurate
Mov AX, 0xDEAD has attached files to this post

- ⇗ gigabyte.rar

## Page 2

#16

infuscomus

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #15

> > Zitat von ⇗ infuscomus im Beitrag ¶ #14

> > Would patching like this help to fix an A5 BSOD?
> > If so, can i get some help to patch ACPI?

> Yes, this patching fix A5 bsod
> You need ask for someone to fix your acpi table or learn how to DIY, see attachemnt "before and after"
> patching is not easy, if you forget return something from method you will get another BSOD, so be accurate

could you patch my ACPI Table for me please? you seem to know what you're doing and I don't want to break things, so I'd appreciate it.
is the ACPI Table stored in UEFI?
my motherboard is an ASRock AB350 Fatal1ty Gaming K4 - did you need UEFI file?

#17

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #16

> could you patch my ACPI Table for me please? you seem to know what you're doing and I don't want to break things, so I'd appreciate it.

sorry, i don't do that.

> Zitat von ⇗ infuscomus im Beitrag ¶ #16

> is the ACPI Table stored in UEFI?

yes, dsdt binary table stored in uefi, short "how-to find,extract and decompile acpi tables" is ⇗ here

#18 | deSSy2724 | So, we need to patch all the mentioned instructions or some of them (depending on the configuration), is that right? Can we do it both after and before win XP installation and could this solutuin or similar work with win 98SE?

#19

diderius6

⇗ @Mov AX, 0xDEAD
Do you think it is possible, just do make a small hack to acpi.sys in XP SP3, so that it does not worry about "wrong" acpi 2.0 syntax from Bios?
have a nice day
Dietmar
PS: Windows XP implements ACPI 1.0b and section 8.3 of Acpi 2.0 specification
⇗ https://www.uefi.org/sites/default/files...rces/ACPI_2.pdf
Hyperthreading works with ACPI 1.0b version
Hyperthreading starts with XP SP1.

#20

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #19

> @Mov AX, 0xDEAD
> Do you think it is possible, just do make a small hack to acpi.sys in XP SP3, so that it does not worry about "wrong" acpi 2.0 syntax from Bios?

probably yes, but this will be not simple hack
1) code example from my gigabyte bios:

    Method (ARPC, 4, Serialized)
                {
                    ADBG (Concatenate ("NRPN: ", ToHexString (Arg0)))
                    Switch (ToInteger (Arg0))
                    {
                        Case (0x04)
                        {
    ....

This method ARPC called from other method _INI, so WinXP will parse this part
ToHexString & ToInteger are new syntax, we need to skip it some way.
ToHexString(ARG0) mean ARG0(maybe integer/string) => convert to String=>Concatenate ("NRPN: "+"0xYYYYZZZZ")
ToInteger(ARG0) mean ARG0(maybe integer/string/buffer/etc) "0x000XXYY"=> convert to Integer=>Case(integer expected)
we cannot just skip these command because they are parts of expressions and do some things with converting data/change types
acpi.sys need new logic to skip these command and do equalent actions
2) deny winxp parsing any _INI methods, winxp will skip parsing most of code, but winxp run not only _INI method, theres is other methods and i do not know how, when and what is runned (_sta,_sun,_crs,_srs and many other), and if vendor added debug lines with new syntax (like gigabyte did) to some of these method we get 0xa5 error again.
EDIT: gigabyte used in _crs new syntax too (

    Device (EPC)
            {
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    [b]CreateQWordField[/b] (RBUF, \_SB.EPC._Y3B._MIN, EMIN)  // _MIN: Minimum Base Address

Also skipping _INI may have some effects with devices.
This method may work for some motherboards without patching acpi tables if vendor not much modified acpi code

#21

diderius6

Hi all,
now I understand, how to fix Acpi DSDT table for to overcome 0xA BSOD in XP.
Extract body of Raw section under GUID: C118F50D-391D-45F4-B3D3-11BC931AA56D in Bios,
recompile with iasl -d (newest version), mod, compile and flash back to the same raw body.
A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.
And also to fix the not working USB from Intel from chipset z170 up to z390 via Bios mod.
This means: In my next holidays in about a month I will give it a try,
how to make this for other Bios also,
have a nice day
Dietmar

#22

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #21

> Hi all,
> A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.

1)my example is not best method, change only parts with reserved method/keywords "_ini", "_crs", "_sta", "_srs", "_hid", "_cid", "_adr", "_uid", "_reg", "_psw", "_ejd", "_prw", "_pr0", "_pr1", "_pr2", "_psc", "_ps0", "_ps1", "_ps2", "_ps3", "_off", "_on_", "_tmp", "_ej0", "_ej1", "_ej2", "_ej3", "_ej4", "_dis", "_wak", "_lck", "_pts", "_si_", "_sst", "_ddn", "_prt", "_bbn", "_s0_", "_s1_", "_s2_", "_s3_", "_rmv", "_irc", "_rmv", "_sun", "_al0-_al9", "_psl", "_rmv",
2) ignore _DSM, windows xp doesnt use it

#23

Pill Monster

⇗ @deSSy2724:
Hi, just to clear up a couple of things....

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?

Both partitions can reside on same drive as long as it is MBR & motherboard supports legacy boot mode.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 2. Does XP 32bit support only MBR..... would it work if one partition of the same drive is partitioned as MBR (for XP) and the second partition of the same drive partitioned as GPT (for Win 10)? And is there any issues with SSD and MBR?

XP supports GPT also but for data only. Meaning your XP boot drive has to be MBR but you could have a couple of GPT drives as well for games, movies, porn...:P etc if you wanted.
No issues with SSD & MBR.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?

Absolutely. I have installed XP many times on various machines from USB flash drives, even back in early 2000's. WinFlash was used to make the USB install image. (I prefer Rufus these days).
The caveat here is the flash drive usually must be plugged into a native AMD/Intel USB 2.0 port (meaning no 3rd party controllers such as ASmedia/JMicron etc unless you want to slipstream).
Early editions of XP discs didn't contain USB drivers for some vendors which contributed to the "XP doesn't support USB boot" stories...

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 4. If 2.2 TB HDD is the limit for the 32 bit OS, can we split a 4/6/8 TB HDD/SDD to multiple 2TB partitions or is that still not possible/usable with 32bit OS-es?

2.2TB is more a limit of 512b sectors combined with 32bit hardware. However, plug in an 4K Advanced Format drive that 32bit 2.2TB limitation will turn into a 32bit 16TB limitation. Check your I/O controller specs if in doubt.

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?

Source material which contains the words "officially" or "by default" can usually be ignored. That includes Wikipedia and fair bit of Microsoft's own doco.....
Case in point, below:
⇗
⇗ https://docs.microsoft.com/en-us/windows...ows-and-gpt-faq
^I had to chuckle....because not 3 hours ago I did exactly this for a client. I cloned an offline HP GPT drive containing bad sectors onto a new hard drive, then booted off the cloned drive. :D

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?

Whatever the chipset maker supports, aka Intel, AMD, ASUS, Gigabyte, Asmedia, Renasonce, Realtek, and the like. As mentioned earlier "officially" can usually be ignored..
Companies such as HP, Dell, Lenovo, Fujitsu etc are all OEM's which means they can provide drivers for the originally installed OS only. Going to HP for drivers is akin to obtaining drivers from Windows Update - the last place end users should be looking for drivers. :)

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> 6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
> Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?

The Northbridge devices are the same across all AMD boards, or all Intel boartds with same chipset, however the Southbridge can have different hardware which is vendoe specific, by vendor I mean ASUS/MSI/GA....
Eg, Gigabyte MB with 666 Special Quad SLI (made up platform) may have a Jmicron SATA controller while Asus version has Asmedia. Best to check specs..
Edit by Fernando: Fully quoted post replaced by directly addressing to the thread opener (to save space)

#24

zir_blazer

> Zitat von ⇗ diderius6 im Beitrag ¶ #19

> PS: Windows XP implements ACPI 1.0b
> Hyperthreading works with ACPI 1.0b version
> Hyperthreading starts with XP SP1.

If I recall correctly, Windows XP supports a hybrid halfway between ACPI 1.0b and 2.0 (Or was 1.0b with some 2.0 features?). Recall seeing some old PowerPoint presentation about ACPI covering that.

> Zitat von ⇗ Pill Monster im Beitrag ¶ #23

> XP supports GPT also but for data only. Meaning your XP boot drive has to be MBR but you could have a couple of GPT drives as well for games, movies, porn...:P etc if you wanted.
> No issues with SSD & MBR.

Only Windows XP x64 supports GPT, for data only as you said. However, standard WXP 32 Bits is MBR only.

#25

diderius6

Hi all,
does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?
In this case, hyperthreading should work also.
And it would be a nice base for a step by step test, which device on Asrock motherboard is not compatible with the acpi.sys driver from XP
Dietmar
PS:⇗ @Mov AX, 0xDEAD You had the idea, to test a very early Bios on those Z170 boards.
Do you found one, where ACPI is possible for XP without any modd?
I just find, that with the checked version of acpi.sys from XP you can start a windbg session.
Hard job, but via this way you can repair step by step the Bios DSDT table.
After long search I found the whole Checked Version of XP SP3, containing also the wished acpi.sys checked version.
Now fun can start..
⇗ https://archive.org/download/somewinxpdownloads
The full symbols for windbg are also there.

#26

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #25

> Hi all,
> I just find, that with the checked version of acpi.sys from XP you can start a windbg session.
> Hard job, but via this way you can repair step by step the Bios DSDT table.
> After long search I found the whole Checked Version of XP SP3, containing also the wished acpi.sys checked version.
> Now fun can start..

checked version helps for reversing, it still usual version and no support acpi2.0+ syntax

#27

diderius6

⇗ @Mov AX, 0xDEAD
This is clear for me. I only want to have a tool, with which I can see, what is going on via ACPI in XP.
And this is, what I have been looking for. With Windbg you can now debug direct ACPI:
⇗ https://docs.microsoft.com/en-us/windows...ging-extensions
And, have you ever had an XP SP3 on a z170 board, where ACPI works without any mod?
This would be very helpfull to understand, which component of the board with BSOD 0xA is faulty in DSDT table,
Dietmar

#28

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #27

> And, have you ever had an XP SP3 on a z170 board, where ACPI works without any mod?
> This would be very helpfull to understand, which component of the board with BSOD 0xA is faulty in DSDT table,
> Dietmar

I have gigabyte h110m hd2 board, first version bios (F1) doesnt use acpi2.0 commands in critical for winxp parts of dsdt table. next versions (f20 for kabylake support) start using new syntax, i never had about special winxp compatible bioses.
I see that moving blocks to expression "if os >=vista do {....}" solve problem 0xa5 with any bios

#29

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #27

> This is clear for me. I only want to have a tool, with which I can see, what is going on via ACPI in XP.

there no magic, acpi.sys doesnt know nothing about new acpi commands and when it found it at time of parsing, it generate 0x000000A5 error with 4 subcodes (errcode, adress, global code error from ntstatus.h, method where parser found problem)
in my case was (0x03,adr,0xC0140001 ,_INI)

#30

XPLives

> Zitat von ⇗ diderius6 im Beitrag ¶ #21

> Hi all,
> now I understand, how to fix Acpi DSDT table for to overcome 0xA BSOD in XP.
> Extract body of Raw section under GUID: C118F50D-391D-45F4-B3D3-11BC931AA56D in Bios,
> recompile with iasl -d (newest version), mod, compile and flash back to the same raw body.
> A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.

How about a simpler quicker fix for acpi.sys. Can you modify the 2K, XP, and 2K3 acpi.sys files to just do a proper shutdown only? Currently NO ACPI install method does not do an automatic shutdown. It must be a manual power down to turn the system off.
The ACPI BIOS fix may take you some extra time as you said to analyze a working tutorial. But a shutdown acpi.sys fix for NT5.X OS would be handy to have. Restarting the computer is not an issue. Standby should not work or be present. I haven't tested hibernate but I assume this might not require ACPI since it seems to save an image to the hard disk of equal size to the visible memory installed and then you can power the system off and when the system is rebooted it will reload the entire image back so I think hibernate is not affected. I am unsure about the Intel Speed Step as I lock down my CPU Core Ratio in the BIOS so I am unaware if NO ACPI affects this feature.

> Zitat von ⇗ diderius6 im Beitrag ¶ #21

> And also to fix the not working USB from Intel from chipset z170 up to z390 via Bios mod.
> This means: In my next holidays in about a month I will give it a try, how to make this for other Bios also,

Can you explain the Intel USB fix? Are you saying you can make the Intel USB 3.0 xHCI XP driver from scratch?
If so then take a longer holiday break to complete it.

## Page 3

#31

XPLives

>>Hi all,
does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?
I am not aware of any.<<
Maybe going back to Z87/Z97 Asrock motherboard you can compare with Z170 what changed in the BIOS that broke XP ACPI compatibility?
There also exists DDR3 Z170 Motherboards which SkyLake supports DD3L and PCI slots before full DDR4 support required for Kaby Lake, Coffee Lake, -> Cannon Lake+
Compare the Z87/Z97 Fatal1ty Professional with the Z170 Fatal1ty Gaming i7 (Fernando and I have this same MB). This is the first motherboard which I did all original XP testing for SkyLake and was successful but using the no ACPI method. This is also where the USB 2.0 eHCI was officially removed and causing the start of the USB 2.0 compatibility issues so I had to come up with workarounds which I later put into the guide.
⇗ [Guide] How to install Windows XP OS on Modern Hardware - Z170 Z270 SkyLake Kaby Lake
I will be testing my older Z87 MB that I bought used to do some testing with XP and USB 2.0 eHCI ports. I am repairing / troubleshooting a Z68 MB at the moment.

#32

diderius6

Hi ⇗ @Mov AX, 0xDEAD
"I have gigabyte h110m hd2 board, first version bios (F1) doesnt use acpi2.0 commands in critical for winxp parts of dsdt table."
This I understand and also your nice idea to keep acpi2.0 commands away from acpi.sys of XP and give full Acpi support to higher OS.
But I do not know, how to do the same for an other Bios, for example to my Asrock fatal1ty z370 gaming k6 Bios.
How do you know, where and how to make this about 600 changes in DSDT table?
Did you copy the DSDT table from Bios F1 to Bios F20? This would be interesting, if BSOD for Acpi is gone then.
So I come to another idea. The Bios gigabyte h110m hd2 board, first version bios (F1) gives no BSOD 0xA5.
May be, there are only one or two devices on this motherboard, which gives this BSOD with next Bios f20.
And this can be tested, just to switch them off in Bios, if possible.
And the reason for this BSOD can be found via windbg and checked version of acpi.sys.
Your BSOD happens because of method _INI.
Have you tested, if this is the only method, which causes Acpi BSOD?
I know from acpi "compatible" Bios for XP, that in log file of acpi there have been other errors reported too,
but they do nothing bad to XP,
Dietmar

#33

Fernando

> Zitat von ⇗ diderius6 im Beitrag ¶ #25

> does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?

As you can see in my signature, my main PC has an ASRock Z170 chipset mainboard. Several months ago I tried to get Windows XP installed onto it by booting off the XP SP3 CD and finally succeeded without having customized the XP image regarding ACPI. All I did was hitting F5 and/or F7 during the textmode part of the XP installation and altering the ACPI settings there.
Due to the fact, that I could not use my USB connected input devices, I stopped my tests.

#34

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #32

> Hi @Mov AX, 0xDEAD
> May be, there are only one or two devices on this motherboard, which gives this BSOD with next Bios f20.
> And this can be tested, just to switch them off in Bios, if possible.
> ...
> Your BSOD happens because of method _INI.
> Have you tested, if this is the only method, which causes Acpi BSOD?

- acpi code in dsdt table is independ of enabled/disabled device, it is static and maded at time of creation bios
- i have no tested other methods because i isolate ALL new code (exception _dsm), my "own" overkill way and i do not recommend it

#35

diderius6

Hi all,
I just find this:
⇗ https://docs.microsoft.com/en-us/windows...cpi/winacpi-osi
This is really nice: Acpi can decide for itself, which version of Acpi it want to use in
building DSDT table in Bios, just chose XP ("Windows 2001"). This is the way, Bios manufacturer use it.
Waaoh, this looks like a Bios hack and may be a fake copy can be handed over direct to
`HKLM\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004\00000000`
hex copy in registry from Bios in XP, without any Bios mod
Dietmar

#36

diderius6

Here comes the complete list of opcodes, used bei ACPI 2.0 in DSDT table:

    ACPI Type 2 Opcodes

    ASL Statement	Description
    Acquire	Acquire a mutex
    Add	Add two values
    And	Bitwise And
    Buff	Convert data type to buffer
    Concatenate	Concatenate two strings, integers or buffers
    ConcatenateResTemplate	Concatenate two resource templates
    CondRefOf	Conditional reference to an object
    Decrement	Decrement a value
    DecStr	Convert data type to decimal string
    DerefOf	Dereference an object reference
    Divide	Divide
    FindSetLeftBit	Index of first least significant bit set
    FindSetRightBit	Index of first mo st significant bit set
    FromBCD	Convert from BCD to numeric
    HexStr	Convert data type to hexadecimal string
    Increment	Increment a value
    Index	Reference the nth element/byte/character of a package, buffer or string
    Int	Convert data type to integer
    LAnd	Logical And
    LEqual	Logical Equal
    LGreater	Logical Greater
    LGreaterEqual	Logical Not less
    LLess	Logical Less
    LLessEqual	Logical Not greater
    LNot	Logical Not
    LNotEqual	Logical Not equal
    LoadTable	Load Table from RSDT/XSDT
    LOr	Logical Or
    Match	Search for match in package array
    Mid	Returns a portion of buffer or string
    Mod	Modulo
    Multiply	Multiply
    NAnd	Bitwise Nand
    NOr	Bitwise Nor
    Not	Bitwise Not
    ObjectType	Type of object
    Or	Bitwise Or
    RefOf	Reference to an object
    ShiftLeft	Shift value left
    ShiftRight	Shift value right
    SizeOf	Get the size of a buffer, string, or package
    Store	Store value
    String	Copy ASCII string from buffer
    Subtract	Subtract values
    ToBCD	Convert numeric to BCD
    Wait	Wait
    Xor	Bitwise Xor

Some of them are not in ACPI 1, for example ConcatenateResTemplate, but seems to work also with XP.
You can overcome in BIOS with the nice idea from ⇗ @Mov AX, 0xDEAD
Dietmar
EDIT by Fernando: The list has been put into a "spoiler" (to save space)

#37

diderius6

Here the same for ACPI 1 (all known by XP in BIOS DSDT table):

    ASL Statement 	Description
    Acquire 	Acquire a synchronization object
    Add 	Add two values
    ASL Statement 	Description
    And 	Bitwise And
    Concatenate 	Concatenate two strings
    CondRefOf 	Conditional reference to an object
    Decrement 	Decrement a value.
    Divide 	Divide
    FindSetLeftBit 	Index of first set Lsb
    FindSetRightBit 	Index of first set Msb
    FromBCD 	Convert from BCD to numeric
    Increment 	Increment a value
    Index 	Reference the nth element of a package
    LAnd 	Logical And
    LEqual 	Logical Equal
    LGreater 	Logical Greater
    LGreaterEqual 	Logical Not less
    LLess 	Logical Less
    LLessEqual 	Logical Not greater
    LNot 	Logical Not
    LNotEqual 	Logical Not equal
    Load 	Load differentiating definition block
    LOr 	Logical Or
    Match 	Search for match in package array
    Multiply 	Multiply
    NAnd 	Bitwise Nand
    NOr 	Bitwise Nor
    Not 	Bitwise Not
    ObjectType 	Type of object
    Or 	Bitwise Or
    RefOf 	Reference to an object
    SizeOf 	Get the size of a buffer, string, or package
    ShiftLeft 	Shift value left
    ShiftRight 	Shift value right
    Store 	Store value
    Subtract 	Subtract values
    ToBCD 	Convert numeric to BCD
    Wait 	Wait
    XOr 	Bitwise Xor

EDIT by Fernando: The list has been put into a "spoiler" (to save space)

#38

diderius6

And some opcodes are renamed from
ACPI "old 2" > ACPI 2

    Buff > ToBuffer
    DecStr > ToDecimalString
    HexStr > ToHexString
    Int > ToInteger
    String > ToString

The right side above opcodes (from Acpi 2) are all known by XP in DSDT table,
so no need to fix them in DSDT table
Dietmar
`Copy > CopyObject` (may be not known by XP)

#39

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #38

>     Buff > ToBuffer
>     DecStr > ToDecimalString
>     HexStr > ToHexString
>     Int > ToInteger
>     String > ToString

> `Copy > CopyObject` (may be not known by XP)

there no renames, ToBuffer and other are new acpi 2.0 opcodes, check ⇗ amlcode.h, winxp accept only 1.0b opcodes

#40 | diderius6 | Hi, yes, this are new and first arrive in ACPI 2. BUT in the Bios F1 of your motherboard from Gigabyte they are all present (for example HexString) and give no BSOD x0A5 there as you told us, Dietmar
#41 | diderius6 | The only opcode, which has to be disabled in Bios DSDT table for XP seems to be CopyObject Dietmar

#42

diderius6

Hi,
in DSDT table from Bios 410 for Asus z170-k I found

    If (_OSI ("Windows 2001 SP2"))
                    {
                        Store (0x07D2, OSYS)
                    }

I think, this Bios looks, if XP SP2 is to be installed and loads then only ACPI code,
compatible for XP SP2 (XP SP3 also I think),
have a nice evening
Dietmar
EDIT: By passing the string "Windows 2001" into the _OSI method, the BIOS indicates to the operating system that the BIOS is aware of and compatible with the ACPI implementation and feature set of Windows XP. Windows XP will then reject all I/O reads or writes from BIOS ASL code to addresses on the blocked ports list and generate an error in the system event log.
Ok, this makes sense for the methode from @Mov AX, 0xDEAD.
When XP cant stop I/O reads or writes from crazy BIOS even it told to XP Store (0x07D2, OSYS),
then you have to block all this AHCI 2.0 question from Bios in Bios itself.
The underlying reason may be, that newer Bios can not identify, that the OS is XP.

#43

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #40

> Hi,
> yes, this are new and first arrive in ACPI 2.
> BUT in the Bios F1 of your motherboard from Gigabyte they are all present (for example HexString)
> and give no BSOD x0A5 there as you told us,

because these commands belong to some custom methods/submethods (winxp do not call their)
after version F1 these method started using in _INI too as subcall (see _INI of devices NVM1,NVM2,NVM3, at end they call subproc ARPC(), arpc() use new ToHexString and ToInteger)
ACPI virtual machine in windows is interpretator, it not check all code, only needed parts, we can hide nuclear bomb inside acpi code and windows will never find it ))

#44

diderius6

Hi all,
today I get the mainbord gigabyte GA-H110M-S2H
very similar to gigabyte GA-H110M-HD2
My mainboard has no PCI slot, no intern parallel port header
and 2 USB 2.0 internal more.
All other is the same.
I fetch the whole content from the 25B64CSIG Bios chip on this board with
EEprom flasher CH341A.
The Bios chip is soldered and it takes 3 tries to connect it direct ON the board.
In CH341A - USB Programmer 1.30 the Bios chip gets name GD25Q64.
The yellow LED on CH341A blinks only, when you read from the chip, NOT when it is only connected.
I read it 3 times and verify, all ok.
Now I make a try to flash the Bios back to version F1, which is only possible through hardware flash.
I hope, that the UEFI tool is right, that all Bios information starts from 200000h
because I do not want to lose my MAC adress etc.
No I am looking about the ME region
⇗ Intel Management Engine: Drivers, Firmware & System Tools
Dietmar
Edit: The Bios on this board is latest version F25.
When I try to reflash to F1, compi told: "Bios is outdatet, update to newest version" so the Website from Gigabyte tells truth, brrr.
Flash back to Vers. F1 only possible with CH341A.

#45

diderius6

⇗ @Mov AX, 0xDEAD
Hi, the Bios from the Gigabyte board seems to be encoded.
How is it possible, to write the DSDT table back to such a Bios?
Have a nice evening
Dietmar
PS: The Uefitool can extract and decode the DSDT table, but nothing insert or delete there.
Only UEFITool_0.25.1_win32 can write DSDT Table back in raw mode.
Now I have Bios original from my mainboard ver. F25 with the DSDT table from Biosversion F1 inserted.
Now cross finger, if Compi will boot again. In other case I have to flash the whole original Bios back.

## Page 4

#46

diderius6

Hm,
I succeed to flash the Bios Chip F25 with DSDT table from F1 Version Bios.
Compi starts, but shows BSOD 0xA5 like before with F25 Bios?!
So, this is strange for me
Dietmar
EDIT: I reread again with the EEprom writer the Bios chip.
Uefitool shows, that indeed now DSDT table from Bios ver. F1 was build in.
Then I flashed the Biosship with whole F1 Bios from Gigabyte webside.
Now motherboard does start, but no post, nothing on screen.
Ok, I am going to flash original Bios file back and tomorrow I
try the DSDT2 file from @Mov AX, 0xDEAD.

#47

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #45

> @Mov AX, 0xDEAD
> Now I have Bios original from my mainboard ver. F25 with the DSDT table from Biosversion F1 inserted.

> Zitat von ⇗ diderius6 im Beitrag ¶ #45

> I am going to flash original Bios file back and tomorrow I try the DSDT2 file

Hi,
Do not do that, acpi tables hardcoded to RAM/IO/DEVICE ranges depend on bios revision
F1 is old release for skylake
F25 is latest release wiith new GUI and suport for kabylake
you need decompile/change/compile/flash f25 version of tables
main problem is decompiling with external links with various number of arguments, i made custom file for my f24 bios:

    External (AL6F, MethodObj, 0)
    External (HLVT, MethodObj, 0)
    External (P0L6, MethodObj, 0)
    External (P1L6, MethodObj, 0)
    External (P2L6, MethodObj, 0)
    External (PS0X, MethodObj, 0)
    External (PS2X, MethodObj, 0)
    External (PS3X, MethodObj, 0)
    External (_SB_.PCI0.GFX0.GSCI, MethodObj, 0)
    External (_SB_.PCI0.GFX0.IUEH, MethodObj, 1)
    External (_SB_.PCI0.PAUD.PUAM, MethodObj, 0)
    External (_SB_.PCI0.PEG0.HPME, MethodObj, 0)
    External (_SB_.PCI0.PEG1.HPME, MethodObj, 0)
    External (_SB_.PCI0.PEG2.HPME, MethodObj, 0)
    External (_SB_.PCI0.XHC_.DUAM, MethodObj, 0)
    External (_SB_.PCI0.XHC_.RHUB.INIR, MethodObj, 0)

why 1 on IUEH ? because i've checked all methods from all acpi files to find count of arguments of external things (iasl will report as "Warning: Unknown method, guessing 0 arguments" ) and found Method (IUEH, 1, Serialized) in SDDT-SaSsdt table
EDIT by Fernando: The code has been put into a "spoiler" (to save space)

#48

diderius6

⇗ @Mov AX, 0xDEAD,
thank you very much for help.
Yes, I see this warning message from compiler iasl after compiling DSDL table from my F25 Bios.
I just flash my original F25 back to the board and is awake to life again:).
Interesting thing: When I compare whole Bios content before flashing and after compi started, I noticed, that the compi changes data in Bios chip, about 133000 Byte. This I never noticed before.
So this just means, the Bios is open field for compi, brrr..
Dietmar

#49

diderius6

First I do binary compare of my DSDT.raw table
with the DSDT.raw table from F25 from Gigabyte website.
They are 100% identic.
Now fun starts,
I mod my DSDT.dsl table with copy and past left to right side via Beyond compare
and DSDT2.dsl from ⇗ @Mov AX, 0xDEAD
Dietmar

#50 | diderius6 | 9 compiler errors.. will be a hard search^^ Now I get error message 6088 "Object is not accessible from this scope ^ (WANX)"

#51

Mov AX, 0xDEAD

Hi all,
Found interesting bug in one device in dsdti table for kabylake+ gigabyte's bioses (in skylake bioses this device not presented), device is IOTR (I/O Trap), it report to windows about claimed I/O adresses, method _CRS() load settings from special memory and report 0xFE adresses (254) starting from 0xFF00.
WinXP x32 show claimed region correctly belong to "mothebvoard resource", but show conflict with pci host bridge (and VGA card too)
Win7 also show claimed region but no conflicts.
I've patched this device to return empty list of resources Local0 = ResourceTemplate () { } return(Local0) and problem is gone

#52 | diderius6 | Yessa, after 14 hours work I succeed to compile back my DSDT table with about 600 new entries. What a crazy work, Dietmar
#53 | diderius6 | Even I do to 100% 1 by 1 the steps from DSDT2, after flashing the new Bios I get still 0xA5 BSOD. Nice idea, but does not work for me until now Dietmar

#54

diderius6

Waaoh new day nice day,
in next try I succeed to install XP SP3 with full ACPI support on my gigabyte ga-h110m-s2h Bios vers. F25 !!!
I forget, that with else you have always to return the value ZERO,
when the condition If ((OSYS >= 0x07D6))
is not met, when a value is overgiven,
thanks a lot ⇗ @Mov AX, 0xDEAD
Dietmar
PS: This was the first time, that I saw the entry ACPI Multiprocessor PC
in device manager with new processor skylake, kabylake, coffee lake.
Shut down works also⇗ because of Acpi.

#55

diderius6

Hi all,
now I try the same for the latest Bios Z37GK63.20 for asrock fatal1ty z370 gaming k6 mainboard.
May be, some steps can be automated in correcting DSDT *.dsl file, until now I do all by hand
Dietmar
Look for the key-words in *.dsl file from DSDT table and put then always the question before each

    If ((OSYS >= 0x07D6))
         {

         }

and if a value is asked also always answer with

    Else
                    {
                        Return (Zero)
                    }

On the Gigabyte DSDT table you have to do this 66 times.
Key words are:

- ConcatenateResTemplate
- CreateQWordField
- ToBuffer
- ToDecimalString
- ToHexString
- ToInteger (no need to be modded in XP in Method (_DSM )
- ToString
- CopyObject

and dont forget for example to copy all from DSDT2
External (P0L6, MethodObj) // 0 Arguments // From external reference file
EDIT by Fernando: Text slighly re-formatted (to save space and for better readability)

#56

Mov AX, 0xDEAD

⇗ @diderius6:
i think this is not correct if method must return Buffer, Zero is 0 (Integer)
correct is:

    Return (Buffer (One)
     {
      0x00
     })

> or maybe

    Return (ResourceTemplate ()
      {
      } )

p.s maybe acpi.sys tract zero as null buffer, who knows...

#57

diderius6

Hi ⇗ @Mov AX, 0xDEAD,
do you noticed any strange behavior of XP, when you overcome a lot of instructions from DSDT with If ((OSYS >= 0x07D6))?
And have you tested your nice method on another compi with XP?
For me it is also interesting to know, if one can switch between acpi pc and standard pc, for to compare benchmarks without new installing whole xp.
I think, when you have an Acpi pc, switching is always possible when you change hal.dll and ntoskrnl.exe (is this enough?)
Dietmar

#58

deSSy2724

Congratulation Dietmar...... can you confirm if Hyper Threading is working and does the OS and other programs like CPU-Z detect the correct number of threads for your i5 8700K( 6 cores /12 threads) and does Intel Speedstep work (auto clock/downclock).
I think, both of those feautures should be tied to ACPI.....

#59

diderius6

Hi,
for the 1151 platform I have only a Celeron 3900,
this has no Hyperthreading. But I think it works.
This Bios mod makes a problem I think with the timer.
Via changing computer Acpimultiprocessor->Standard PC this is gone, so it really belongs to the modded DSDT table.
In the original source code from DSDT table stands at a lot of places

    Local0 = Buffer (0x02)
                        {
                             0x79, 0x00
                        }

⇗ @Mov AX, 0xDEAD changed this always against

    Local0 = ResourceTemplate ()
    {
    }

Because I do not understand the ASL Syntax I have no idea, what this is doing.
And he deleted at a lot of places `ADBG (Concatenate...`
lines
for example
`ADBG (Concatenate ("CNRSs ", ToDecimalString (Timer)))`
May be this is the reason for the Timer problem,
Dietmar

#60

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #59

> This Bios mod makes a problem I think with the timer.
> Via changing computer Acpimultiprocessor->Standard PC this is gone, so it really belongs to the modded DSDT table.
> And he deleted at a lot of places ADBG (Concatenate... lines
> for example
> ADBG (Concatenate ("CNRSs ", ToDecimalString (Timer)))

- what is problem with timer ?
- adbg is text debug message to COM port/RAM/etc and nothing more
we cannot keep this line as is, because ToDecimalString is new command

## Page 5

#61

Mov AX, 0xDEAD

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #58

> Congratulation Dietmar...... can you confirm if Hyper Threading is working and does the OS and other programs like CPU-Z detect the correct number of threads for your i5 8700K( 6 cores /12 threads) and does Intel Speedstep work (auto clock/downclock).
> I think, both of those feautures should be tied to ACPI.....

- intel speedstep work, official method to enable - power saving mode must be ON
- i dont have HT cpu so cannot report
I found some of power management problem, in ThrotleStop i see cpu is 50-60% of time in C0 power state, task manager cpu utilization is 0%. ThrotleStop also report about 0% time in any power saving states C1,C2,.. state.
In win7 power states are normal, 2-6% in C0 and 95% in C7

#62

diderius6

Hi ⇗ @Mov AX, 0xDEAD,
I deleted in DSDT2 from you the device LPTE, because my mainboard does not have.
After this crazy 14 hour fight with the compiler I can check, that all other is to 100% identic with your DSDT2 file.
When I open the game "Moorhuhn", the wings of the Mill rotate more than 10 times faster than before
and no "Moorhuhn" can be seen.
The browser firefox vers. 52 is much slower than before.
Version 13.0 of firefox works normal.
I am happy for help,
because I want to mod Bios for other compis too,
Dietmar
PS: Sound, network, everything works with this ACPI DSDT table.

#63

diderius6

Hi all,
I found out, that with the modded DSDT table in Bios (Acpi) all programs work normal for about 1 second, but then changes behavior.
I disabled energy management in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\intelppm setting start to 4 (disabled), but this does not change anything,
Dietmar
PS: I think, during the mod of the DSDT table we disable something, that is necessary for ACPI to work.

#64

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #63

> I found out, that with the modded DSDT table in Bios (Acpi) all programs work normal for about 1 second, but then changes behavior

confirm same problem, windows return wrong timer to applications
⇗
i think this can be fixed, just need find proper way

#65

diderius6

The use of
/usepmtimer
in boot.ini
does not help
Dietmar
PS: Also not helps

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\HAL]
    "14140000FFFFFFFF"=dword:00000010

EDIT2: I delete in DSDT table from Bios the whole device HPET and flash Bios new.
But the time is as wrong as before (negativ values, brr..), nothing changed. XP SP2 does not make use of HPET in Acpi,
but XP SP3 does.

#66

Mov AX, 0xDEAD

perftimer reset about every 3.5s, i have сhecked FACP table, resolution of pm timer (TMR_VAL_EXT) is 24 bit, i think:
- winxp use PM Timer (because this utility show 3.5Mhz)
- overflow 24bit is 4 secs, overflow 32bits is 20 mins
- winxp read it as 32 bit and doesnt care about high 8 bit (they are zero, this leads to negative result of operation currentime()-previoustime())
in FACP exist interesting bit USE_PLATFORM_CLOCK=1 (OSPM use HPET (if exist) or ACPI PM Timer)

#67

diderius6

    4.7.3.3 Power Management Timer (PM_TMR)
    Register Location:<PM_TMR_BLK> System I/O Space
    Default Value: 00h
    Attribute: Read-Only
    Size: 32-bits

This read-only register returns the current value of the power management timer (PM timer).
The FACP table has a flag called TMR_VAL_EXT that an OEM sets to indicate a 32-bit PM
timer or reset to indicate a 24-bit PM timer. When the last bit of the timer toggles the
TMR_STS bit is set. This register is accessed as 32-bits.
This register contains optional features enabled or disabled within the FACP table. If the
FACP table indicates that the feature is not supported as a fixed feature, then software treats
these bits as ignored.

    TMR_VAL_EXT

A zero indicates TMR_VAL is implemented as a 24-bit
value. A one indicates TMR_VAL is implemented as a 32-
bit value. The TMR_STS bit is set when the most
significant bit of the TMR_VAL toggles.

#68

diderius6

Indeed is this flag TMR_VAL_EXT in Bios from my Gigabyte H110m board set to 0 and interpreted as 32 bit gives crazy results for the clock.

    Signature "FACP"
    Length	0x00000114 (276)
    Revision	0x06 (6)
    Checksum	0xA4 (164)
    OEM ID	"ALASKA"
    OEM Table ID	"A M I"
    OEM Revision	0x01072009 (17244169)
    Creator ID	"AMI "
    Creator Revision	0x00010013 (65555)
    Firmware Control	0xBA7A5C40 - FACS
    DSDT Address	0xBA3FA1E8 - DSDT
    Interrupt Mode	0x01 (1) - Multiple APIC
    PM Profile	0x01 (1)
    SCI Interrupt	0x0009 (9)
    SMI Port	0x000000B2 (178)
    ACPI Enable	0xA0 (160)
    ACPI Disable	0xA1 (161)
    S4 Request	0x00 (0) - Not supported
    PSTATE_CNT	0x00 (0)
    PM1a_EVT_BLK	0x00001800 (6144)
    PM1b_EVT_BLK	0x00000000 (0) - Not supported
    PM1a_CNT_BLK	0x00001804 (6148)
    PM1b_CNT_BLK	0x00000000 (0) - Not supported
    PM2_CNT_BLK	0x00001850 (6224)
    PM_TMR_BLK	0x00001808 (6152)
    GPE0_BLK	0x00001880 (6272)
    GPE1_BLK	0x00000000 (0) - Not supported
    PM1_EVT_LEN	0x04 (4)
    PM1_CNT_LEN	0x02 (2)
    PM2_CNT_LEN	0x01 (1)
    PM_TMR_LEN	0x04 (4)
    GPE0_BLK_LEN	0x20 (32)
    GPE1_BLK_LEN	0x00 (0)
    GPE1_BASE	0x10 (16)
    CST_CNT	0x00 (0)
    P_LVL2_LAT	0x0065 (101) - C2 state not supported
    P_LVL3_LAT	0x0039 (57)
    FLUSH_SIZE	0x0400 (1024)
    FLUSH_STRIDE	0x0010 (16)
    DUTY_OFFSET	0x00 (0)
    DUTY_WIDTH	0x00 (0) - Duty cycle not supported
    DAY_ALRM	0x0D (13)
    MON_ALRM	0x00 (0) - Month alarm not supported
    CENTURY	0x32 (50)
    IAPC_Boot_Arch	0x12 0x00
    Reserved	0x00 (0)
    Flags	0x0003C4A5
      WBINVD	1 - WBINVD instruction fully supported
      WBINVD_Flush	0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1)
      PROC_C1	1 - C1 power state: all processors
      P_LVL2_UP	0 - C2 power state: UP system only
      PWR_BUTTON	0 - Power button supported as fixed feature
      SLP_BUTTON	1 - Sleep button not support or handled by ASL code
      FIX_RTC	0 - Fixed register support RTC wake
      RTC_S4	1 - RTC wakeup support: S1, S2, S3, S4
      TMR_VAL_EXT	0 - 24bit PM Timer
      DCK_CAP	0 - Docking not supported
      RESET_REG_SUP	1 - Reset Register supported
      SEALED_CASE	0 - System is not sealed
      HEADLESS	0 - Not headless mode
      CPU_SW_SLP	0 - Normal method to write SLP_TYPx
      PCI_EXP_WAK	1 - PM1 block support PCIE wakeup status/enable bits
      USE_PLATFORM_CLOCK	1 - OSPM use HPET (if exist) or ACPI PM Timer
      S4_RTC_STS_VALID	1 - RTC_STS flag is valid when resume from S4
      REMOTE_POWER_ON_CAPABLE	1 - System compatible with remote power on
      FORCE_APIC_CLUSTER_MODEL	0 - Cluster destination model not required
      FORCE_APIC_PHYSICAL_DESTINATION_MODE	0 - Physical destination mode not required
    RESET_REG	IO: 0xCF9, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Undefined
    RESET_VALUE	0x06 (6)
    Reserved	0x00 0x00 0x01
    X_FIRMWARE_CTRL	0x0000000000000000
    X_DSDT	0x00000000BA3FA1E8
    X_PM1a_EVT_BLK	IO: 0x1800, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1b_EVT_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1a_CNT_BLK	IO: 0x1804, BitWidth: 0x10 (16), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1b_CNT_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
    X_PM2_CNT_BLK	IO: 0x1850, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Byte
    X_PM_TMR_BLK	IO: 0x1808, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Dword
    X_GPE0_BLK	IO: 0x1880, BitWidth: 0x80 (128), BitOffset: 0x00 (0), AccessSize: Byte
    X_GPE1_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Byte
    SLEEP_CONTROL	Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined
    SLEEP_STATUS	Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined

#69 | Mov AX, 0xDEAD | forced do not use pm_timer, now moorhuhn works ): ⇗ WinXP SP(?) auto uses pm_timer instead RDTSC if found FACP table version 2 or higher (skylake has 6 version) USE_PLATFORM_CLOCK=1 in FACP Flags, switch /usepmtimer need to force using acpi timer if USE_PLATFORM_CLOCK=0
#70 | diderius6 | @ Mov AX, 0xDEAD, oh, this is really nice. How do you reach this? Have a nice day Dietmar
#71 | Mov AX, 0xDEAD | ...24bit timer is OK on previous chipsets, windows xp has logic to handle it, something wrong on new platform, maybe windows no receive event about handle carry...
#72 | diderius6 | Hi, may be something is blocked now in DSDT table, what ACPI from XP needs for the timer. Some instructions from Acpi 2.0 XPSP3 understands also, Dietmar

#73

diderius6

Hi,
the problem may be in
USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer
This bit is set to 1 on the gigabyte board Bios.
In this case, XP is asked for the time of the HPET timer.
But no version of XP has a working HPET timer, crazy XP shows HPET in device manager, but does not have,
only Vista and higher, even the board has a HPET timer.
So, may be to set this value back to 0 can solve the problem.
I do not know, where the flags from FACP are stored in Bios,
but give it a try to change this single bit from 1 to 0,
Dietmar
USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer
USE_PLATFORM_CLOCK 1 - OSPM use HPET or ACPI PM Timer

#74

diderius6

Yessaa, I got it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
after crazy search in Bios from Giga board I succeed to change ONE bit
in FACP from
USE_PLATFORM_CLOCK 1 - OSPM use HPET or ACPI PM Timer
to
USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer
as you can see with rw-everything.
Now ALL works in ACPI, fun can start for other Bios too
Dietmar
diderius6 has attached images to this post ⇗ yessaaaa.jpg

#75

diderius6

How I make this:
With Uefi tool search in Bios file GUID
16D0A23E-C09C-407D-A14A-AD058FDD0CA1
PE32 image section
extract body
search for the flags from rw-everything Acpi FACP in reverse order
Flags 0x0003C4A5
->search A5C40300 with Hexeditor
change
A5C40300 against
A5440300 with hexeditor
save and rebuild
PE32 image section with Uefitool replace body
and flash Bios.
I found this Byte change, during disassemble FACP.aml
change 1 to 0 in FACP.dsl via
Use Platform Timer (V4) : 1
->Use Platform Timer (V4) : 0
compile with Iasl to FACPmod.aml
and compare with FACP.aml
Only look with Hexeditor Winhex, what happens to A5C40300, it changes to A5440300.

## Page 6

#76

Mov AX, 0xDEAD

i was right, HAL doesnt receive call from acpi.sys about carry handle
acpi.sys register ISR/DPC handler for hardware interrupt, check that interrupt was caused carry situation and call hal.dll to increase high 8 bit counter every 4 sec. this works well on virtual winxp (under qemu), but not on real hardware.
i want to dig deeper and currently build uart<->rs232 converter to normal kernel windbg debugging instead slow and ugly "intel system debugger"

#77

diderius6

⇗ @Mov AX, 0xDEAD
do you think, that in the DSDT table the question
If ((OSYS >= 0x07D6))
blocks any important information for XP?
I understand, that for example XP does not understand for example CreateQWordField, but in ACPI 1.b this can be simulated with CreateDWordField.
And in machine language it becomes equal
Dietmar

#78

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #77

> @Mov AX, 0xDEAD
> do you think, that in the DSDT table the question
> If ((OSYS >= 0x07D6))
> blocks any important information for XP?

I can run winxp with original DSDT table, it still has bug with timer and Plug-n-Play/Resourse Management subsystem works different.
WinXP for main acpi device *PNP0C08* assign only one irq #15
Win7 assign large list #81-#190 (110 irqs !) to same device

#79

diderius6

In the Bios mod for the Asus z370 Apex X for XP
I found FACP with hex values for flags
A5 02 03 00. Also A5 02 03 00 for all other Bios vers. for this board.
This means, there the platformtimer is always reset zu 0
Dietmar
EDIT: On the Bios F1 for the giga m110 board where XP works as you told me,
the platformtimer is 1,
as you can see via
A5 86 03 00. The same in Bios ver. F25.
When the second, here 86 is >= 80,
the platformtimer is set to 1
and if <80 platformtimer is set to 0.
When I flash the Bios F1 to my giga board, compi does not boot at all,
may be because of newer rev number of the board.
EDIT: In all Bios version for Asus H110M Plus the same flags from FACP are used as for the giga board:
A5 86 03 00, means platformtimer is set to 1 there too.
EDIT2: In all Bios version for Asus Z170-K the same flags from FACP are used as for the giga board:
A5 86 03 00, means platformtimer is set to 1 there also.
EDIT3: In Bios ver. 1.0 from asrock fatal1ty z370 gaming k6
FACP flags are A5 C4 03 00, means platformtimer is set to 1.
In newest Bios vers. 3.2 for this board
FACP flags are A5 40 03 00, means platformtimer is reset to 0.
EDIT4: Interesting, if there is a working XP SP3 with Acpi in whole world:)),
where the PM_timer works, where in FACP the flag platformtimer is set to 1.

#80

diderius6

Hi,
does anybody here know,
where the DSDT table in Bios for
Asus Z97-K stays?
I cant found,
it seems not to be a *.raw file
Dietmar
EDIT: I found myself:
Go to AmiBoardInfo in Bios file with Uefitool, then Compressed section, then PE32 image section,
extract body.
Then with Winhex editor look for DSDT (ALASKA) entry.
This is beginning of Hexblock.
The end of Hexblock is at FFFF (end after PINI).
This block you copy to DSDT.dat and disassamble it with
iasl -d DSDT.dat to DSDT.dsl .

#81

diderius6

From the critical Acpi2.0 test words I found in DSDT for Asus Z97-K
ConcatenateResTemplate (NOT in z97)
CreateQWordField (NOT in z97 for 32 bit XP)
ToBuffer (NOT in z97)
ToDecimalString (NOT in z97)
ToHexString (in Method (_WAK) 2 times there in ADBG)
ToInteger (only in Method(_DSM), Method(_SDD), Method(STRT) (Timer TPMR??), Method(CRYF) )
ToString (NOT in z97)
CopyObject (NOT in z97)

#82

diderius6

On the giga board I enabled
ToInteger in Method(STRT) for XP, because this works also on the Asus z97-k board.
Interesting, no BSOD 0xA5 happens!
And I set in FACP again the platformtimer to 1.
But the PM_timer does not work at all,
Dietmar
PS: May be, XP does not give BSOD 0xA5 with the critical word from ACPI2.0 ToInteger.

#83

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #82

> On the giga board I enabled
> ToInteger in Method(STRT) for XP, because this works also on the Asus z97-k board.
> Interesting, no BSOD 0xA5 happens!

because winxp doesnt parse this method (this method not used in _ini, _crs and other parsed methods)

#84 | diderius6 | ⇗ @Mov AX, 0xDEAD, can you please write a list, which method winxp parse? I search a lot, but I can not find any information about that, Dietmar

#85

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #84

> @Mov AX, 0xDEAD,
> can you please write a list,which method winxp parse?

i know only about keywords, some are methods, other are names of devices/reserved names/etc
¶ Windows XP SP3 32bit and modern PC parts (2)

#86

diderius6

Ok, when I delete in DSDT from the giga board
Method (RDCA, 5, Serialized)
If ((OSYS >= 0x07D6)) before
Switch (ToInteger (Arg4))
XP starts normal.
But when I delete all
If ((OSYS >= 0x07D6)) before
any ToInteger
( in Method (_CRS, 0, Serialized)
If ((OSYS >= 0x07D6)) stays before
Switch (ToInteger (SDS7))
I got BSOD.
This I do not understand, because nothing from all on the list
for keywords
Dietmar

#87 | diderius6 | The BSOD came from Method (ARPC, 4, Serialized) ARPC is not listed in the keywords, Dietmar

#88

diderius6

On the giga board from Acpi 2.0 can be ignored for XP SP3
Method (STRD, 3, Serialized)
Method (THDH, 1, Serialized)
Method (THDD, 1, Serialized)
Method (ADDB, 3, Serialized)
Method (TP7D, 6, Serialized)
Method (_DDN, 0, NotSerialized) (???)
Method (RDCA, 5, Serialized)
Method (VMMH, 2, Serialized)
Method (TBTD, 1, Serialized)
Method (TBTF, 1, Serialized)
Method (GUAM, 1, Serialized)
Method (NTFY, 1, Serialized)
Method (WIST, 0, Serialized)
Method (WGST, 0, Serialized)
Method (IICB, 2, Serialized)
Method (STRT, 3, Serialized)
Method (GRID, 1, Serialized)
Method (CDEP, 1, Serialized)
Method (CDEG, 1, Serialized)
Method (CRYF, 3, Serialized)
Method (TPTS, 1, Serialized)
These are all methods, where no need for
If ((OSYS >= 0x07D6))
Dietmar
EDIT: Only 23 times
If ((OSYS >= 0x07D6))
has to be extra inserted in DSDT table for the giga board for to start XP SP3.
EDIT2: Strange is for me, that _CRS and _DDN can also be ignored sometimes.
May be it is, because a condition before ACPI 2.0 reserved word is not fullfilled.
Or the device int3472 does not exist on this motherboard.

#89 | diderius6 | Gives BSOD on the giga board Acpi 2.0 for ToInteger for XP SP3 Method (HCID, 1, Serialized)

#90

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #87

> The BSOD came from
> Method (ARPC, 4, Serialized)
> ARPC is not listed in the keywords,

you need check where this method called, and this will be _INI

> Zitat von ⇗ diderius6 im Beitrag ¶ #89

> Gives BSOD
> on the giga board Acpi 2.0 for ToInteger for XP SP3
> Method (HCID, 1, Serialized)

called from _CID & _HID

## Page 7

#91 | diderius6 | Hi, interesting question, if it is possible to translate for example ToInteger (in one block) into language from Acpi 1.b, using only its vocabulary Dietmar
#92 | diderius6 | Ok, lets start fun for Bios modding to have XP Acpi support for the Asrock fatal1ty z370 gaming k6 board. I am not good in Bios modding, but much better than a week ago:))!

#93

diderius6

First I make a list of all the methods,
where the reserved word from ACPI 2.0
ToInteger
stays in DSDT table of Asrock fatal1ty z370 gaming k6 board
Bios vers. Z37GK63.20 (newest, with support for 9900k).
The 9900k runs under XP SP3 on this board, I have tested.
This list is very similar to the giga board:
Method (RDCA, 5, Serialized)
Method (ARPC, 4, Serialized) patch need
Method (VMMH, 2, Serialized)
Method (_CRS, 0, Serialized) patch need
Method (TBTD, 1, Serialized)
Method (TBTF, 1, Serialized)
Method (GUAM, 1, Serialized)
Method (NTFY, 1, Serialized)
Method (TBON, 0, Serialized) is new
Method (WIST, 0, Serialized)
Method (WGST, 0, Serialized)
Method (IICB, 2, Serialized)
Method (GRID, 1, Serialized)
Method (HCID, 1, Serialized) patch need
Method (CDEP, 1, Serialized)
Method (CDEG, 1, Serialized)
Method (HIDW, 4, Serialized) is new
Method (ECRD, 1, Serialized) is new
Method (ECWT, 2, Serialized) is new
Method (STRT, 3, Serialized)
Method (CRYF, 3, Serialized)
Method (TPTS, 1, Serialized)
I think, patch can be done
Dietmar

#94

diderius6

Methods for the other 7 reserved words from Acpi 2.0 are
Method (STRD, 3, Serialized)
Method (THDH, 1, Serialized)
Method (THDD, 1, Serialized)
Method (_INI, 0, NotSerialized) patch need
Method (VMMH, 2, Serialized)
Method (ADDB, 3, Serialized)
Method (TP7D, 6, Serialized)
Method (_DDN, 0, NotSerialized) patch need (?)
I double checked both lists,
thats all:))!

#95

diderius6

Bios to have full XP Acpi support for the
Asrock fatal1ty z370 gaming k6 board
is ready.
But now I am too tired for to test,
wait for tomorrow
Dietmar

#96 | infuscomus | can this ACPI mod work for AMD boards too?

#97

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #96

> can this ACPI mod work for AMD boards too?

sure

#98

diderius6

Hi all,
I can not update my Bios on
asrock fatal1ty z370 gaming k6.
When I try to flash Bios direct on
Bios ship with CH341A,
program told me: OTG secured..brrr
When I try to flash it via Instant Flash
I was told:
"You select a ROM image with the same version of current BIOS.
Please select a newer version of ROM image to flash BIOS."
Grrr^^, I think I am the master of compi and not vice versa
Dietmar
PS: Any idea?
The Bios Chip on the Asrock board is MX25L12873F. I have some empty chips of this type here.
EDIT: I flash the compi back to Bios vers. 3.1.
Then again I try with my modded vers. Bios 3.2.
Hm, now compi tells, secure check of Bios fails..

#99 | Lost_N_BIOS | ⇗ @diderius6 - Use CH341A. You mentioned CH341A programmer, do you not have one now? If you have, put BIOS rom in CH341A, erase, then blank check, then write/verify If you do not have CH341A, you can use this method - ⇗ [GUIDE] Grub Fix Intel FPT Error 368 - BIOS Lock Asus/Other Mod BIOS Flash

#100

diderius6

I have CH341A. It shows OTG secured.
I even can not READ the Bios and this is my biggest problem, becaus if something went wrong I do not have a valid copy of Bios.
When I use FPTw.exe I get
Error 367: [FPTw.exe] cannot be run on the current platform.
Please contact your vendor.
I have XP SP3 32 bit,
Dietmar

#101

Lost_N_BIOS

Ohh, this BIOS is soldered on and not removable like old Asrock, sorry I missed that until now! Do you have SOIC8 test clip cable? If yes, use that instead of SPI Cables
For FPT you need to use a specific version for V11 ME FW, here is that package - ⇗ https://mega.nz/#!GRFHjQyY!OyVZDCdMQmWku...aSvA2vsQd51wxDI
Use FPT from inside Flash Programming Tool/Win32 folder, put your modbios into that folder and then from that WIN32 folder run your command prompt (Select that folder, hold shift and press right click, then select run command prompt here)
And to flash, following my guide, you will need these variables to unlock in GRUB >> (Never mind, checked and BIOS Lock is disabled by default, SMI Lock not present)
Flash away, but make backup first as mentioned in the guide! Use these commands to make there backups (one contains LAN MAC ID, other system details, then ME)
FPTw.exe -gbe -d gbe.bin
FPTw.exe -bios -d biosreg.bin
FPTw.exe -me -d me.bin
Then you can flash, using this command
FPTw.exe -bios -f modbiosfilenamehere.bin

#102

diderius6

⇗ @Lost_N_BIOS
I did all, that you tell.
Still
Error 367: [FPTw.exe] cannot be run on the current platform.
Please contact your vendor.
Can this version of FPTw.exe work on XP SP3?
Dietmar

#103

diderius6

I have Hexeditor WinHex and I can work with it.
In one of the tutorials is written,
that the Byte for the security check is at the very beginning.
This are my first 1024 (dec) bytes of my modded Bios file

    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5AA5F00F030004000802105A30033100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5009C24
    214260ADB7B9C4C7FFFFFFFF000000000002FF0F0300FF0101000200FF7F0000FF7F0000FF7F0000FF7F0000FF7F0000FF7F0000
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FA000000D400000098000000000000001011000000000FFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00009000
    00010000000000000000000000000000000001000001000000000000000000000000000000000300000100000000000000000000
    00000000000001000001000000000000000000000000000000000100000100000000000000000000000000000000010000010000
    0000000000000000000000000000010002000000700000010302000064000000000000002A3F0000030000000C00000030000000
    0000000000000000440000000F5F000000005400000000000E00000000000000441F0000C117540000000000000000000F5F0000
    91F00AFFF7FCFCFC0000000000000000000000000008000000000000001800000000000000000000000000000018000000000000
    4700000080030000000000003B0090008000000012000010000064020000000000F4610919000000795555551F0100000307010A
    0002000009000F020000FF000F0000C86586000000000000040F000000004000F43294000018000000000000FFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00100000128011A095020000
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

#104

Lost_N_BIOS

Try the DOS version in that package instead of the win32 file, that will eliminate any possible XP issue (it may not be compatible with XP, I am not sure, so DOS version will fix that/
Here is DOS bootable guide I wrote for someone else for another issue, copy into USB again all files from "USB Boot" folder after you run the HP tool - ⇗ <Request> Flagship X470 Gaming 7 Wifi Motherboard BIOS Fix
Put DOS FPT and BIOS on root of USB too, then boot to dos and run those same commands except using FPT.exe instead of FPTw.exe
The guides do not apply to your BIOS, Asrock changed their protections, here is discussion about that and test fix on post #22
But you have to use FPT, so that needs to be solved first, which I think you are right XP maybe the issue there. For now, lets stick to what I mentioned, and try to get this done in DOS w/ FPT, or setup a quick Win7-Win10 system disk and install Intel ME drivers, then you can use Win32 FPT
⇗ [PROBLEM] Flashing a modded ASRock Z370 MB BIOS (2)

#105 | diderius6 | ⇗ @Lost_N_BIOS Just now I am setting up a win7 32bit OS on the asrock fatal1ty z370 gaming k6 board. First of all I want to make a full, valid copy of its now original Bios 3.1 version Dietmar

## Page 8

#106

Lost_N_BIOS

That will work, if you can't get DOS going. I gave two command to make backup for you in first FPT commands given, this backs up BIOS region and GBE, so you will have copies of LAN MAC ID and rest of system details usually in padding region within the BIOS region.
Rest you cannot backup easily, and do not need to (FD and ME), well maybe you can also backup ME if settings allow >> FPTw.exe -me -d me.bin
I will edit that into previous post too, so all three backup commands are there in one place for you.

#107

diderius6

⇗ @Lost_N_BIOS
Waaoh, all your steps in
"For FPT you need to use a specific version for V11 ME FW, here is that package - ⇗ https://mega.nz/#!GRFHjQyY!OyVZDCdMQmWku...aSvA2vsQd51wxDI
Use FPT from inside Flash Programming Tool/Win32 folder, put your modbios into that folder and then from that WIN32 folder run your command prompt (Select that folder, hold shift and press right click, then select run command prompt here)
And to flash, following my guide, you will need these variables to unlock in GRUB >> (Never mind, checked and BIOS Lock is disabled by default, SMI Lock not present)
Flash away, but make backup first as mentioned in the guide! Use these commands to make there backups (one contains LAN MAC ID, other system details, then ME)
FPTw.exe -gbe -d gbe.bin
FPTw.exe -bios -d biosreg.bin
FPTw.exe -me -d me.bin
Then you can flash, using this command
FPTw.exe -bios -f modbiosfilenamehere.bin "
work at once:))!
Bios is now flashed on asrock fatal1ty z370 gaming k6 to my modded XP acpi friendly version!
With win7 I can test this, using RW-everything,
that indeed I have now vers. 3.2 and my modded DSDT table.
Win7 starts with the modded Bios,
but install of XP gives BSOD 0xA5 because of missing
Acpi compatibilty.
Some more handwork for this Bios mod is needed,
but this is normal^^,
Dietmar

#108

diderius6

Still get BSOD 0xA5 not Acpi compatibel during install of XP.
XP without ACPI starts with this modded Bios.
I load the DSDT table here up,
one before mod DSDT
and one after mod DSDT2
I did all as for the giga board,
so at the moment I am out of ideas.
May be, that one of the methods here call also _ini
for example, different to the giga board
Dietmar

#109 | Lost_N_BIOS | Great you got it flashed finally! Sorry I can't help with rest of the issues you guys are way above my skill-set with this XP work you're doing! Keep those (BIOSreg and GbE) backups safe, in case you find later you need to correct/put back in your UUID, serial, or LAN MAC ID

#110

diderius6

Exact BSOD is

    0x000000A5 (0x00000011, 0x00000008, 0xF6D23200, 0x20181031)

Dietmar

#111 | diderius6 | Hi, does somebody know, how many cpu s are supported from XP SP3 professional? 8 cores for sure, but 16 cores too? Dietmar
#112 | Lost_N_BIOS | Luckily this is the correct thread to fix that A5 error

#113

XPLives

⇗ @diderius6
I am pretty certain it can support as many cores as possible as long as it resides in 1 CPU chip.
So if in the future Intel releases a 128 Core / 256 Thread CPU called the i128-128000K CPU socket LGA 2048 it will work with XP.
Only limit for XP Pro is Dual CPUs. But I haven't seen any consumer Dual socket CPU motherboards sold that could take advantage of it except workstation.
16 Cores would work for sure if it existed in Cannon Lake. Even some older X79 MB had CPUs with more cores running XP.
I think the only issue if ACPI is related to the HyperThreading you are experiencing and as a result you won't have the fake Logical Cores show only the Real Physical ones on the i9-9900K.
If a 16 Core / 32 Thread CPU was released today for Coffee Lake you will see the 16 Cores for sure in XP. The only problem would be no applications for XP are written specifically for using that many cores but the OS can still shift some of the processes to each core manually with Affinity so maybe a special program to shift processes to each individual core starting from last core sequence. I've seen the 6 Cores working but the first 2 cores usually has more CPU Usage then the rest. Only way to force all cores to 100% is to use Prime95. So if the Threads are not showing then it is probably an ACPI related issue. Maybe ask the motherboard manufacturer instead to do ACPI v1.0 selectable option in BIOS would be easier.

#114

diderius6

⇗ @XPLives
Thank you very much for answer.
My problem with the Asrock board is now,
that I can not flash one Bios version after the other without any risk,
as on the nice gigabyte board,
because when at one time the board from Asrock says nothing,
because of bricked Bios,
I have a big problem,
because I cant flash the Bios chip direct back via
CH341A, even the flasher supports the Bios chip MX25L12873F from the Asrock board,
Dietmar

#115

Lost_N_BIOS

⇗ @diderius6 - Chip can be flashed with CH341A, you only need SOIC8 test clip cable Or to flash in a modified BIOS that does not have the lock you mentioned.
Please explain that message in exact detail, and I will find in BIOS and see if I can disable that for you or give you command to use in grub to unlock it without a BIOS mod.
If I can, you'll only need to be sure to make same edit each time on your future BIOS flashes, so it remains unlocked or change after each future BIOS update via grub if that way works.
I'm betting we can fix this, so you don't need to purchase SOIC8 test clip cable, but I'd order one now anyway so you have for future use with your CH341A

#116 | diderius6 | The message stand on top of the side from flasher: Secured OTP[img]⇗ [/img] And even the yellow LED is blinking you even can not read from the chip Dietmar ⇗ http://www.macronix.com/Lists/Applicatio...ntroduction.pdf

#117

Lost_N_BIOS

⇗ @diderius6 - Do you have SPI/I2C/TTL mode jumper placed on your programmer, instead of direct programmer (Default position) Secured OTP area can only be written to once, you do not need to read or write to that area anyway. Select the other tab (Main memory) and dump or program BIOS.
If it fails to let you that way, then edit options to show only main memory only >> Operate >> Operate Option >> 25\26 Chips >> Programming Range (select Main Memory Only)

#118

diderius6

⇗ @Lost_N_BIOS
Thank you, I try.
I have another good news:
I noticed, that on the Asrock board
the DSDT table from Bios vers. 3.1
and DSDT table from Bios vers 3.2 are 100% identic.
So I can make all valuable tests with vers. 3.1 and in case of
emergeny flash back the original Bios vers. 3.2 as long as I can
start compi
Dietmar

#119 | Lost_N_BIOS | I'm sure it will work for you now, the programmer I mean. As for your BIOS table info, that is good find for you too, makes things easier

#120

diderius6

Hi,
for to make things easier for full Acpi support under XP,
I patch the calling function and
not the called function.
Example from the giga board Bios:

    calling function  _INI
    called function  ARPC:

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                    ...
                       ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))
                    ...
                    }

to

                   Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                    ...

                        If ((OSYS >= 0x07D6))
                        {
                            ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))
                        }
                    ...
                    }

Dietmar

## Page 9

#121

diderius6

I still get BSOD 0xA5, no compatible ACPI, on my asrock fatal1ty z370 gaming k6 board.
May be, there are also other reasons, why this BSOD can happen,
even when no reserved word from Acpi 2.0 is offered to XP SP3.
I load here the original DSDT file and the modified DSDT2 file up,
may be, someone has a look on it
Dietmar

#122

XPLives

⇗ @diderius6
Are you doing a fresh XP OS install each time you test or using the old previous install?
If not then try a clean install. The ACPI seems finicky about tampering with any settings or using an old install after modding the BIOS.
What stage of install does the A5 error occur?
During DOS stage, GUI stage, or 1st Windows Desktop OOBE stage?

#123

diderius6

⇗ @XPLives,
yes, I always make a brandnew install of XP SP3.
And the BSOD 0xA5 appears always at the same place,
always the same message.
This "always the same message" makes me think,
that is something different than the reserved Acpi orders from Acpi 2.0.
Today I try to patch also the device IOTR, it is in the DSDT list
because ⇗ @Mov AX, 0xDEAD told about bug for XP in this device.
But I do not understand how to patch this, with
"I've patched this device to return empty list of resources Local0 = ResourceTemplate () { } return(Local0) and problem is gone"
Dietmar

#124

diderius6

⇗ @XPLives
Interesting idea to see, what other versions of windows,
Vista and win7 say to this Bios, before and after mod.
win7 has no problem, but tells in device manager,
that the ME cant be installed (teedriver.sys driver).
I think in win7 is also a list, where you can see, what happens during boot.
Via this way I think came Mov AX, 0xDEAD to the idea,
that something is wrong with device IOTR, not only in XP.
Vista I have not tested.
I try to disable device IOTR.
Something like this will give happyness:)),
meaning full Acpi support for XP on any mainboard
Dietmar
PS: The BSOD 0xA5 not compatible Bios happens always on first text mode install,
after the driver for ntfs is loaded.
EDIT: The problem with IOTR (PNP0C02) can also make the problem with the clock on XP!

#125

XPLives

⇗ @diderius6
Okay you are confirming Text Stage 1 or 2? It sounds like Text Stage 1 after Reboot?
Text Stage 1: Okay so A5 happens after it copies a few files quickly, Reboots, A5 Error?
Or
Text Stage 2:Copies a few files, Reboots,
Copies hundreds of files could take minutes, Reboots
then A5 Error?
Okay that is helpful. Then if it cannot be done in BIOS maybe make ACPI driver modified files to ignore it?
Did F7 method install successfully for XP?
Testing Z87 this weekend to see if ACPI is XP compatible.

#126 | diderius6 | The BSOD happens before first reboot. I can install everything from XP, using USB stick or CD without Acpi, hit F5 and chose MPS multiprocessor Dietmar
#127 | diderius6 | Next try, but still BSOD x0A5 on XP SP3 on Asrock fatal1ty z370 gaming k6 with 9900k cpu Dietmar
#128 | diderius6 | I change the 9900k cpu on the asrock fatal1ty z370 gaming k6 against Celeron G4900 with only 2 cores. Same BSOD 0xA5 Dietmar

#129

diderius6

⇗ @XPLives
"CPU Core Ratio from Auto to Manual setting of 8 for 800 MHz
Then Change CPU Cores from Auto to 1 for Single Core"
I did, but still BSOD 0xA5,
brrr..
Dietmar
PS: Tomorrow I set up a Windbg connection for Acpi debug with the debug checked build files for XP.
I never did this before, but because I think I do everything correct, exakt like on the giga board,
something other is disturbing XP doing full Acpi.

#130

diderius6

I just make a checke, if for example has influence on the build raw file from DSDT.
External (_SB_.PCI0.GFX0.IUEH, MethodObj) // 1 Arguments // From external reference file
As long as there is no warning from the compiler, all External are automatically linked.
I tested the builded binaries, one time with // From external reference file
and one time without.
They are to 100% identic.
So, no room is left for having done a mistake on the asrock board during patch of Acpi 2.0 reserved words,
something other is going on,
Dietmar

#131

diderius6

From Microsoft about BSOD 0xA5 (0x00000011,..)

    (0x000000011, Parameter2, Parameter3, Parameter4):

    The system cannot enter ACPI mode. There are many reasons for this, including:

        The system cannot initialize the AML interpreter.
        The system cannot find the Root System Description table.
        The system cannot allocate a critical driver.
        The system cannot load the Root System Description table.
        The system cannot load device descriptor blocks.
        The system cannot connect an interrupt vector.
        The SCI_EN (system control interrupt enable request) cannot be set (see 0x00000001).
        The ACPI Table checksum is incorrect.

    ACPI
     is a hierarchical arrangement of tables, each one building upon the
    next to define the complete capabilities of the system and of every
    device in the system. ACPI starts by looking for the Root System
    Description table, which points to the next table, which points to the
    next table, and so on. Usually, the 0x000000011 error occurs because
    these tables are damaged or missing.

#132

diderius6

Hi,
I can not install the checked version of acpi.sys for XP SP3 on the giga board,
it crashes.
This is really funny, the cat bites in its tail:)),
how can then Acpi debug for XP SP3 been made possible?
Dietmar

#133

diderius6

With the original free acpi.sys in Windbg with

    0: kd> !amli lc
    *Ctxt=ffffffff89c28000, ThID=ffffffff89c42a98, Flgs=A--C-----, pbOp=ffffffff89b91088, Obj=\_SB.PCI0._INI
    AMLI_DBGERR: SIG_CTXT does not match (89c28008)

Any idea, how and what can be seen this way?
Dietmar

#134

XPLives

⇗ @diderius6
Full extraction of binaries for ACPI from Z77 XP SP3 Compatible
Maybe some changes can be applied to Z370?

    OSI` ._OSI.
    Windows 2001.p.Ñ.OSYS ._OSI.
    Windows 2001 SP1.p.Ñ.OSYS ._OSI.
    Windows 2001 SP2.p.Ò.OSYS ._OSI.
    Windows 2001.1.p.Ó.OSYS ._OSI.
    ACPI 2.0 supported - April 13, 2001

    Windows 2006.p.Ö.OSYS ._OSI.
    ACPI 3.0 supported - Revision 3.0b,  October 10, 2006

    Windows 2009
    ACPI 4.0 supported -  June 16, 2009

Maybe this indicates ACPI v4.0 supported so no problems dealing with XP SP3.
Download Z77 XP Compatible ACPI Binaries to examine:
⇗ [GUIDE] Windows XP ACPI BSOD A5 Error (2)
Later ACPI v5.0+ started ACPI compatibility issues.
Revision 5.0, December 6, 2011
Revision 5.0a, November 13, 2013

#135

diderius6

Yes, this is what ⇗ @Mov AX, 0xDEAD told. The reserved Acpi2.0 word "ToInteger" appears
only in the _DSM method.
So this is necessary for Acpi support for XP SP3,
but may be not enough
Dietmar
Edit: In most cases the reserved word "ToInteger"
can be deleted, because the variable is of type integer.
Example from Bios of Asus z170-k

                    Switch (SDS7)
                        Case (One)

Same line Bios from gigabyte

    Switch (ToInteger (SDS7))
                            Case (One)

## Page 10

#136

diderius6

I make a new check for reserved words from Acpi >1.b
these are about (>) 20 reserved words which make BSOD for XP,
when they are in a parsed method or its connected parts. Until now I found in Bios only first 9 ones:

    TOINTEGER
    ConcatenateResTemplate
    CREATEQWORDFIELD
    TOBUFFER
    TOHEXSTRING
    TOSTRING
    TODECIMALSTRING
    COPYOBJECT
    QWORD

    CONCATENATETEMPLATE
    VARIABLEPACKAGE
    EXTERNAL
    MID
    MOD
    CONTINUE
    LOADTABLE
    TIMER
    DATAREGION
    FIELDCONNECTION
    FIELDEXTACCESS

Method (_DSM ) can be always ignored for XP. Also those Method(), which are never called.

#137

diderius6

Hi,
on the Gigabyte board this nice hack in DSDT works:
Replace all
`Switch (ToInteger (..))`
with
`Switch (..)`
This means: On the giga board the
ONLY commands from Acpi2.0
have to be patched are:
CreateQWordField
ConcatenateResTemplate
PS: The iasl compiler cries, that he does not know, if this is an Integer, but continues setting it to Integer,
without any error!

#138

diderius6

Here comes working DSDT table for XP SP3 32 bit, board gigabyte ga-h110m-s2h
with very small patches in DSDT2,
DSDT is original DSDT from F25 Bios.
diderius6 has attached files to this post

- ⇗ gigaXP.rar

#139

diderius6

For the first time I get an other BSOD^^ 0xA5 on Biosmod for the Asrock fatal1ty z370 gaming k6 board.
I think, I am only one step away for to have full Acpi support for XP SP3 on this board
Dietmar

    0x000000A5 (0x00000002, Parameter2, Parameter3, Parameter4):
    This error is defined as ACPI root PCI resource failure. To discover what
    current resources are being used by PCI devices, ACPI must be able to
    query the CRS descriptor in the ACPI namespace. This error occurs if the
     BIOS lacks a pointer to the list, or if the list is empty, or if the
    list contains errors or conflicts.

SOLVED with new acpi.sys. Use the DSDt2 table from connected file for to have full Acpi XP SP3 on Asrock fatal1ty z370 gaming k6 board.
diderius6 has attached files to this post

- ⇗ k6Z370XPSP3Acpi.rar

#140

diderius6

ACPI_BIOS_ERROR (0xA5)
The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:
PARAMETERS
1 -
VALUES:
1 : ACPI_ROOT_RESOURCES_FAILURE.
ACPI cannot find the SCI Interrupt vector in the resources handed
to it when ACPI is started.
2 - ACPI's deviceExtension
3 - ACPI's ResourceList
4 -
VALUES:
0 : No resource list found
1 : No IRQ resource found in list
END_VALUES
2 : ACPI_ROOT_PCI_RESOURCE_FAILURE
ACPI could not process the resource list for the PCI root buses
2 - The ACPI Extension for the PCI bus.
3 -
VALUES:
0 : ACPI cannot convert the BIOS' resource list into the proper
format. This probably represents a flaw in the BIOS' list
encoding procedure.
4 - Pointer to the QUERY_RESOURCES irp
1 : ACPI cannot convert the BIOS' resource list into the proper
format. This probably represents a flaw in the BIOS' list
encoding procedure.
4 - Pointer to the QUERY_RESOURCE_REQUIREMENTS irp
2 : ACPI found an empty resource list.
4 - 0
3 : ACPI could not find the current bus number in the CRS.
4 - Pointer to the PNP CRS descriptor
Other : Any other value is a pointer to the Resource List for PCI.
This indicates that there is an overlap between the list of
resources that PCI claims to decode and the list of memory
regions reported by the E820 BIOS interface.
4 - Pointer to the E820 Memory Table
END_VALUES
3 : ACPI_FAILED_MUST_SUCCEED_METHOD
ACPI tried to run a control method while creating device extensions
to represent the ACPI namespace, but this control method failed.
2 - The ACPI Object that was being run
3 - return value from the interpreter
4 - Name of the control method (in ULONG format)
4 : ACPI_PRW_PACKAGE_EXPECTED_INTEGER
ACPI evaluated a _PRW and expected to find an integer as a
package element.
2 - The ACPI Extension for which the _PRW belongs to
3 - Pointer to the method
4 - The DataType returned (see amli.h)
5 : ACPI_PRW_PACKAGE_TOO_SMALL
ACPI evaluated a _PRW and the package that came back failed to
contain at least 2 elements. The ACPI specification requires that
two elements to always be present in a _PRW.
2 - The ACPI Extension for which the _PRW belongs to
3 - Pointer to the _PRW
4 - Number of elements in the _PRW
6 : ACPI_PRx_CANNOT_FIND_OBJECT
ACPI tried to find a named object named, but could not find it.
2 - The ACPI Extension for which the _PRx belongs to
3 - Pointer to the _PRx
4 - Pointer to the name of the object to look for
7 : ACPI_EXPECTED_BUFFER
ACPI evaluated a method and expected to receive a Buffer in return.
However, the method returned some other data type
2 - The ACPI Extension for which the method belongs to
3 - Pointer to the method
4 - The DataType returned (see amli.h)
8 : ACPI_EXPECTED_INTEGER
ACPI evaluated a method and expected to receive an Integer in return.
However, the method returned some other data type
2 - The ACPI Extension for which the method belongs to
3 - Pointer to the method
4 - The DataType returned (see amli.h)
9 : ACPI_EXPECTED_PACKAGE
ACPI evaluated a method and expected to receive a Package in return.
However, the method returned some other data type
2 - The ACPI Extension for which the method belongs to
3 - Pointer to the method
4 - The DataType returned (see amli.h)
0xA : ACPI_EXPECTED_STRING
ACPI evaluated a method and expected to receive a String in return.
However, the method returned some other data type
2 - The ACPI Extension for which the method belongs to
3 - Pointer to the method
4 - The DataType returned (see amli.h)
0xB : ACPI_EJD_CANNOT_FIND_OBJECT
ACPI cannot find the object referenced to by an _EJD string
2 - The ACPI Extension for which which the _EJD belongs to
3 - The status returned by the interpreter
4 - Name of the object ACPI is trying to find
0xC : ACPI_CLAIMS_BOGUS_DOCK_SUPPORT
ACPI provides faulty/insufficient information for dock support
2 - The ACPI Extension for which ACPI found a dock device
3 - Pointer to the _EJD method
4 -
VALUES:
0: Bios does not claim system is dockage
1: Duplicate device extensions for dock device
END_VALUES
0xD : ACPI_REQUIRED_METHOD_NOT_PRESENT
ACPI could not find a required method/object in the namespace
This is the bugcheck that is used if a vendor does not have an
_HID or _ADR present
2 - The ACPI Extension that ACPI needs the object for
3 - The (ULONG) name of the method ACPI looked for
4 -
VALUES:
0: Base Case
1: Conflict
END_VALUES
0xE : ACPI_POWER_NODE_REQUIRED_METHOD_NOT_PRESENT
ACPI could not find a requird method/object in the namespace for
a power resource (or entity other than a "device"). This is the
bugcheck used if a vendor does not have an _ON, _OFF, or _STA present
for a power resource
2 - The NS PowerResource that ACPI needs the object for
3 - The (ULONG) name of the method ACPI looked for
4 -
VALUES:
0: Base Case
END_VALUES
0xF : ACPI_PNP_RESOURCE_LIST_BUFFER_TOO_SMALL
ACPI could not parse the resource descriptor
2 - The current buffer that ACPI was parsing
3 - The buffer's tag
4 - The specified length of the buffer
0x10 : ACPI_CANNOT_MAP_SYSTEM_TO_DEVICE_STATES
ACPI could not map determine the system to device state mapping
correctly.
2 - The ACPI Extension for which ACPI is trying to do the mapping
3 -
VALUES:
0 : The _PRx mapped back to a non-supported S-state
4 - The DEVICE_POWER_STATE (ie: x+1)
1 : ACPI cannot find a D-state to associate with the S-state
4 - The SYSTEM_POWER_STATE that is causing the problem
2 : The device claims to be able to wake the system when the
system is in this S-state, but the system doesn't actually
support this S-state.
4 - The SYSTEM_POWER_STATE that is causing the problem
END_VALUES
0x11 : ACPI_SYSTEM_CANNOT_START_ACPI
The system could not enter ACPI mode
2 -
VALUES:
0 : System could not initialize AML interpreter
1 : System could not find RSDT
2 : System could not allocate critical driver structures
3 : System could not load RSDT
4 : System could not load DDBs
5 : System cannot connect Interrupt vector
6 : SCI_EN never becomes set in PM1 Control Register
7 : Table checksum is incorrect
3 - Pointer to the table that had a bad checksum
4 - Creator Revision
8 : Failed to load DDB
3 - Pointer to the table that ACPI failed to load
4 - Creator Revision
9 : Unsupported Firmware Version
3 - FADT Version
0xA : System could not find MADT
0xB : System could not find any valid Local SAPIC structures in
the MADT
0xC: The OS is not capable of supporting active docking on this platform
0xD: Some of the specified system sleep states are not supported on this platform
END_VALUES
0x14 : ACPI_PNP_RESOURCE_LIST_LENGTH_TOO_LARGE
ACPI could not parse the resource descriptor, the length exceeds
MAXULONG.
2 - The current buffer that ACPI was parsing
3 - The buffer's tag
4 - Pointer to a variable containing ULONGLONG length of the buffer
0x15 : ACPI_TABLE_LOADTABLE
ACPI had a fatal error when processing a LoadTable instruction
2 - AML Context (!amli r Context)
3 -
VALUES:
1 : Failed to load the table
2 : Parameter Path String Object was not found
3 : Failed to insert ParameterData into ParameterPathString
4 : Out of System Memory
END_VALUES
4 - NT status code
0x16 : ACPI_ILLEGAL_PARENT
ACPI had a fatal error when processing an xSDT. An object was
declared as a child of a parent that cannot have children.
2 - Pointer to the parent NSOBJ
3 - Pointer to the illegal child NSOBJ
0x17 : ACPI_INVALID_GPE_INDEX
ACPI had a fatal error when processing a GPE index. An invalid
index was specified.
2 - GPE Bit Index.
0x1000 : ACPI_BIOS_USING_OS_MEMORY
ACPI had a fatal error when processing a memory operation region.
The memory operation region tried to map memory that has been
allocated for OS usage.
2 - The high portion of the physical address of the memory region.
3 - The low portion of the physical address of the memory region.
4 - The length of memory being mapped.
0x2001 : ACPI_FAILED_PIC_METHOD
ACPI tried to evaluate the PIC control method but failed
2 - InterruptModel (Integer)
3 - return value from interpreter
4 - Pointer to the PIC control method
0x10001 : ACPI_CANNOT_ROUTE_INTERRUPTS
ACPI tried to do interrupt routing, but failed
2 - Pointer to the device object
3 - Pointer to the parent of the device object
4 - Pointer to the PRT
0x10002 : ACPI_PRT_CANNOT_FIND_LINK_NODE
ACPI could not find the link node referenced in a _PRT
(This code exists in Windows 2000, but is obsolete in XP)
2 - Pointer to the device object
3 - Pointer to the string name ACPI is looking for, but could not find.
4 - Pointer to the PRT. Dump this with !acpikd.nsobj
0x10003 : ACPI_PRT_CANNOT_FIND_DEVICE_ENTRY
ACPI could not find a mapping in the _PRT package for a device
(This code exists in Windows 2000, but is obsolete in XP)
2 - Pointer to the device object
3 - The Device ID / Function Number. This DWORD is encoded
as follows: Bits 5:0 are the PCI Device Number, Bits 8:6 are
the PCI function number.
4 - Pointer to the PRT. Dump this with !acpikd.nsobj
0x10005 : ACPI_PRT_HAS_INVALID_FUNCTION_NUMBERS
ACPI found an entry in the _PRT for which the function ID isn't
all F's. The generic format for a _PRT entry is that the device
number is specified, but the function number isn't. If it isn't
done this way, then the machine vendor can introduce dangerous
ambiguities.
(This code exists in Windows 2000, but is obsolete in XP)
2 - Pointer to the PRT object. Dump this with !acpikd.nsobj
3 - Pointer to the current PRT Element. This is an index into the PRT.
4 - The DeviceID/FunctionID of the element. This DWORD is
encoded. Bits 15:0 are the PCI Function Number.
Bits 31:16 are the PCI Device Number.
0x10006 : ACPI_LINK_NODE_CANNOT_BE_DISABLED
ACPI found a link node, but cannot disable it. Link nodes must
be disable to allow for reprogramming
2 - Pointer to the link node. This device is missing the _DIS method.
0x10007 :
The _PRT contained a reference to a vector not described in the
I/O APIC entries MAPIC table.
2 - The vector that couldn't be found
0x10008 :
The ACPI SCI interrupt level is invalid.
0x10009 :
The FADT could not be located.
0x1000a :
The RSDT\XSDT could not be located.
0x1000b :
The ACPI table length was out of sync with the table revision
2 - The ACPI table signature
3 - pointer to the ACPI table
0x1000c :
_DSM method for interrupts returned malformed data.
2 - Revision ID
3 - Function Index
0x1000d :
A device used both GPE and GPIO interrupts, which is not supported.
2 - The ACPI Extension for the device
3 -
VALUES:
0 : _PRW specified with no wake-capable interrupts and at least one
GPIO interrupt
1 : Since there are wake-capable interrupts, _PRW should specify a
GpeInfo value of 0xffffffff
0x20000 :
The PM_TMR_BLK entry in the Fixed ACPI Description Table doesn't
point to a working ACPI timer block.
2 - The I/O port in the Fixed Table
END_VALUES
DESCRIPTION
This bug check covers a great variety of ACPI problems. If a kernel debugger
is attached, use "!analyze -v". This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.
If Parameter 1 equals 0x02, the ACPI BIOS could not process the resource list for the PCI root buses. In this case, Parameter 3 specifies the exact problem, and the remaining parameters have the following definitions.
Parameter 2 Parameter 3 Parameter 4
The ACPI extension for the PCI bus A pointer to the resource list for PCI A pointer to the E820 memory table
Cause
The list of resources that PCI claims to decode overlaps with the list of memory regions that the E820 BIOS interface reports.
This kind of conflict is never permitted.

#141 | YuriyCN | Motheboard Gigabyte H110M-DS2 (socket 1151, DDR4) BIOS v1, v2, v3 - i installed WinXP SP3. There were no problems. It was only necessary to install AHCI driver for SATA hard disc drive. v20,v21...v25 - WinXP is not installed. Errors in ACPI.
#142 | diderius6 | ⇗ @YuriyCN Just look at my DSDT2 table in gigaXP.rar . I think, you can integrate it direct in your Bios v>=20 and BSOD for Acpi for XP SP3 is gone Dietmar

#143

diderius6

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Sun Dec  9 23:58:56.687 2018 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols
    Executable search path is: C:\localsymbols
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp.080413-2111
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
    System Uptime: not available
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Sun Dec  9 23:59:03.781 2018 (UTC + 1:00):
    *** Fatal System Error: 0x000000a5
                           (0x00000002,0x89A839D0,0xE134F008,0x898ADCA8)

    Sun Dec  9 23:59:03.796 2018 (UTC + 1:00): Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows XP 2600 x86 compatible target at (Sun Dec  9 23:59:03.984 2018 (UTC + 1:00)), ptr64 FALSE
    Loading Kernel Symbols
    .......................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck A5, {2, 89a839d0, e134f008, 898adca8}

    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    Probably caused by : ACPI.sys ( ACPI!ACPIRangeValidatePciResources+129 )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    8052b5dc cc              int     3
    kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    ACPI_BIOS_ERROR (a5)
    The ACPI Bios in the system is not fully compliant with the ACPI specification.
    The first value indicates where the incompatibility lies:
    This bug check covers a great variety of ACPI problems.  If a kernel debugger
    is attached, use "!analyze -v".  This command will analyze the precise problem,
    and display whatever information is most useful for debugging the specific
    error.
    Arguments:
    Arg1: 00000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
    	ACPI could not process the resource list for the PCI root buses
    Arg2: 89a839d0, The ACPI Extension for the PCI bus.
    Arg3: e134f008,
    Arg4: 898adca8

    Debugging Details:
    ------------------

    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0

    ACPI_EXTENSION:  89a839d0 -- (!acpikd.acpiext 89a839d0)

    ACPI_RESCONFLICT:  e134f008 -- (!acpiresconflict e134f008 898adca8)
    Number of arguments found = 1. 2 arguments expected
    Usage: acpiresconflict  [DeviceExtension] [IoResList] [e820Info]

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA5

    PROCESS_NAME:  System

    LOCK_ADDRESS:  8055b560 -- (!locks 8055b560)
    The state of the ACPI locks is:
      - Build Queue Lock is not owned
      - Button Lock is not owned
      - Device Tree Lock is not owned
      - Fatal Lock is not owned
      - Power Lock is not owned
      - Get Lock is not owned
      - Power Queue Lock is not owned
      - Thermal Lock is not owned
      - Update Flags Lock is not owned
      - Worker Lock is not owned

    PNP_TRIAGE:
    	Lock address  : 0x8055b560
    	Thread Count  : 1
    	Thread address: 0x89a677b0
    	Thread wait   : 0x56

    LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

    STACK_TEXT:
    bacc2cf8 804f8df9 00000003 bacc3054 00000000 nt!RtlpBreakWithStatusInstruction
    bacc2d44 804f99e4 00000003 e134f1d0 00000000 nt!KiBugCheckDebugBreak+0x19
    bacc3124 804f9f33 000000a5 00000002 89a839d0 nt!KeBugCheck2+0x574
    bacc3144 ba7870bb 000000a5 00000002 89a839d0 nt!KeBugCheckEx+0x1b
    bacc3184 ba7985a8 89a839d0 e134f008 89a52e38 ACPI!ACPIRangeValidatePciResources+0x129
    bacc31b8 ba77fe12 00000000 89a52e38 89a52ecc ACPI!ACPIBusIrpQueryResourceRequirements+0x110
    bacc31e8 804ef18f 899a91f8 ba79500c bacc3264 ACPI!ACPIDispatchIrp+0x15a
    bacc31f8 80592b63 bacc3264 bacc3294 00002000 nt!IopfCallDriver+0x31
    bacc3224 805933cc 899a91f8 bacc3240 bacc3294 nt!IopSynchronousCall+0xb7
    bacc3268 8058f1fc 899a91f8 bacc3294 8996c1d0 nt!PpIrpQueryResourceRequirements+0x38
    bacc328c 80591ce2 00000000 800001e4 00000000 nt!PiQueryResourceRequirements+0x1c
    bacc337c 8059222b 8996c1d0 00000000 00000000 nt!PipProcessNewDeviceNode+0x84a
    bacc35d0 804f68d3 89a52008 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
    bacc3614 804f6b78 00000000 00000000 8008fca0 nt!PipDeviceActionWorker+0xad
    bacc362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
    bacc3690 80699f70 80084000 bacc36ac 00034000 nt!IopInitializeBootDrivers+0x376
    bacc3838 806983d3 80084000 00000000 89a677b0 nt!IoInitSystem+0x712
    bacc3dac 805cff64 80084000 00000000 00000000 nt!Phase1Initialization+0xac7
    bacc3ddc 805460de 8069790c 80084000 00000000 nt!PspSystemThreadStartup+0x34
    00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI!ACPIRangeValidatePciResources+129
    ba7870bb 56              push    esi

    SYMBOL_STACK_INDEX:  4

    SYMBOL_NAME:  ACPI!ACPIRangeValidatePciResources+129

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  480252b1

    FAILURE_BUCKET_ID:  0xA5_ACPI!ACPIRangeValidatePciResources+129

    BUCKET_ID:  0xA5_ACPI!ACPIRangeValidatePciResources+129

    Followup: MachineOwner
    ---------

    kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    ACPI_BIOS_ERROR (a5)
    The ACPI Bios in the system is not fully compliant with the ACPI specification.
    The first value indicates where the incompatibility lies:
    This bug check covers a great variety of ACPI problems.  If a kernel debugger
    is attached, use "!analyze -v".  This command will analyze the precise problem,
    and display whatever information is most useful for debugging the specific
    error.
    Arguments:
    Arg1: 00000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
    	ACPI could not process the resource list for the PCI root buses
    Arg2: 89a839d0, The ACPI Extension for the PCI bus.
    Arg3: e134f008,
    Arg4: 898adca8

    Debugging Details:
    ------------------

    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0

    ACPI_EXTENSION:  89a839d0 -- (!acpikd.acpiext 89a839d0)

    ACPI_RESCONFLICT:  e134f008 -- (!acpiresconflict e134f008 898adca8)
    Number of arguments found = 1. 2 arguments expected
    Usage: acpiresconflict  [DeviceExtension] [IoResList] [e820Info]

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA5

    PROCESS_NAME:  System

    LOCK_ADDRESS:  8055b560 -- (!locks 8055b560)
    The state of the ACPI locks is:
      - Build Queue Lock is not owned
      - Button Lock is not owned
      - Device Tree Lock is not owned
      - Fatal Lock is not owned
      - Power Lock is not owned
      - Get Lock is not owned
      - Power Queue Lock is not owned
      - Thermal Lock is not owned
      - Update Flags Lock is not owned
      - Worker Lock is not owned

    PNP_TRIAGE:
    	Lock address  : 0x8055b560
    	Thread Count  : 1
    	Thread address: 0x89a677b0
    	Thread wait   : 0x56

    LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

    STACK_TEXT:
    bacc2cf8 804f8df9 00000003 bacc3054 00000000 nt!RtlpBreakWithStatusInstruction
    bacc2d44 804f99e4 00000003 e134f1d0 00000000 nt!KiBugCheckDebugBreak+0x19
    bacc3124 804f9f33 000000a5 00000002 89a839d0 nt!KeBugCheck2+0x574
    bacc3144 ba7870bb 000000a5 00000002 89a839d0 nt!KeBugCheckEx+0x1b
    bacc3184 ba7985a8 89a839d0 e134f008 89a52e38 ACPI!ACPIRangeValidatePciResources+0x129
    bacc31b8 ba77fe12 00000000 89a52e38 89a52ecc ACPI!ACPIBusIrpQueryResourceRequirements+0x110
    bacc31e8 804ef18f 899a91f8 ba79500c bacc3264 ACPI!ACPIDispatchIrp+0x15a
    bacc31f8 80592b63 bacc3264 bacc3294 00002000 nt!IopfCallDriver+0x31
    bacc3224 805933cc 899a91f8 bacc3240 bacc3294 nt!IopSynchronousCall+0xb7
    bacc3268 8058f1fc 899a91f8 bacc3294 8996c1d0 nt!PpIrpQueryResourceRequirements+0x38
    bacc328c 80591ce2 00000000 800001e4 00000000 nt!PiQueryResourceRequirements+0x1c
    bacc337c 8059222b 8996c1d0 00000000 00000000 nt!PipProcessNewDeviceNode+0x84a
    bacc35d0 804f68d3 89a52008 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
    bacc3614 804f6b78 00000000 00000000 8008fca0 nt!PipDeviceActionWorker+0xad
    bacc362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
    bacc3690 80699f70 80084000 bacc36ac 00034000 nt!IopInitializeBootDrivers+0x376
    bacc3838 806983d3 80084000 00000000 89a677b0 nt!IoInitSystem+0x712
    bacc3dac 805cff64 80084000 00000000 00000000 nt!Phase1Initialization+0xac7
    bacc3ddc 805460de 8069790c 80084000 00000000 nt!PspSystemThreadStartup+0x34
    00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI!ACPIRangeValidatePciResources+129
    ba7870bb 56              push    esi

    SYMBOL_STACK_INDEX:  4

    SYMBOL_NAME:  ACPI!ACPIRangeValidatePciResources+129

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  480252b1

    FAILURE_BUCKET_ID:  0xA5_ACPI!ACPIRangeValidatePciResources+129

    BUCKET_ID:  0xA5_ACPI!ACPIRangeValidatePciResources+129

    Followup: MachineOwner
    ---------

    kd> !lm
    No export lm found
    kd> lm
    start    end        module name
    804d7000 806e4000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
    806e4000 80704d00   hal        (deferred)
    ba3ba000 ba3d3b80   Mup        (deferred)
    ba3d4000 ba400980   NDIS       (deferred)
    ba401000 ba417880   KSecDD     (deferred)
    ba418000 ba43b180   Fastfat    (deferred)
    ba43c000 ba44df00   sr         (deferred)
    ba44e000 ba46db00   fltMgr     (deferred)
    ba46e000 ba723000   iaStor     (deferred)
    ba723000 ba748700   dmio       (deferred)
    ba749000 ba767880   ftdisk     (deferred)
    ba768000 ba778a80   pci        (deferred)
    ba779000 ba7a6d80   ACPI       (pdb symbols)          c:\symbols\acpi.pdb\3E23085EEF9C4EB5AC40C386278F6D7E1\acpi.pdb
    ba8a8000 ba8b1180   isapnp     (deferred)
    ba8b8000 ba8c2580   MountMgr   (deferred)
    ba8c8000 ba8d4c80   VolSnap    (deferred)
    ba8d8000 ba8e0e00   disk       (deferred)
    ba8e8000 ba8f4180   CLASSPNP   (deferred)
    bab28000 bab2e800   firadisk   (deferred)
    bab30000 bab34d00   PartMgr    (deferred)
    bacb8000 bacbb000   BOOTVID    (deferred)
    bada8000 bada9b80   kdcom      (deferred)
    badaa000 badab100   WMILIB     (deferred)
    badac000 badad700   dmload     (deferred)
    kd> !devnode
    Dumping IopRootDeviceNode (= 0x89a52008)
    DevNode 0x89a52008 for PDO 0x89a8a2c0
      Parent 0000000000   Sibling 0000000000   Child 0x89a52ba8
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[04] = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[03] = DeviceNodeStarted (0x308)
      StateHistory[02] = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[01] = DeviceNodeStarted (0x308)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      StateHistory[07] = Unknown State (0x0)
      StateHistory[06] = Unknown State (0x0)
      StateHistory[05] = Unknown State (0x0)
      Flags (0x00000131)  DNF_MADEUP, DNF_ENUMERATED,
                          DNF_IDS_QUERIED, DNF_NO_RESOURCE_REQUIRED

#144

diderius6

The BSOD on the asrock board with
ACPI_RESCONFLICT: e134f008 -- (!acpiresconflict e134f008 898adca8)
Number of arguments found = 1. 2 arguments expected
Usage: acpiresconflict [DeviceExtension] [IoResList] [e820Info]
remembers me at
"There is a critical error in the BIOS, in the ACPI setup under SSDT7.
I have taken the liberty to fix it on my machine, but I don't know where to report the bug, so here goes.
There are 3 big screwups on methods that require two arguments, being passed as a method with one argument and then a "hanging" argument. I am not sure how this was implemented, but it's total garbage.
For example \_SB.SGOV requires two arguments, but in positions where it SHOULD be invoked, \_SB.GGOV is invoked instead, and only takes ONE argument. So, instead of passing two arguments, one argument is given, and one argument is just hanging in the middle of nowhere, causing compilation errors in BIOS.
There are many instances of this behavior for example:
\_SB.GGOV (0x02010014)
OLDV
must be changed to:
\_SB.SGOV (0x02010014, OLDV)
⇗ https://rog.asus.com/forum/showthread.ph...at-I-have-fixed
Dietmar

#145

diderius6

Hi,
I installed the Acpi Bios 1704 for Asus Apex X motherboard,
modded by Elmor for XP
⇗ https://community.hwbot.org/topic/174849...#comment-516868
Then I installed there the full XP SP3 debug version. I can see on this z370 chipset now
all Acpi devices and HT with all cores from 8700k.
Elmor used another method for modding the Bios.
And I think, he also changed the about 7 SSDT tables,
which makes BSOD until now on my asrock fatal1ty z370 gaming k6 board
Dietmar
EDIT: The same problem with the timer appears on this Bios mod from Elmor.
This is interesting, seems my hack for the timer has not reached hwbot.
FACP Flags is A5 86 03 00 so, clock is set to 1, needs to be 0.
This can be done by changing this Hexvalues to A5 06 03 00
EDIT2: I can not find the FACP table in Bios on the Asus Apex X board. Any help is welcome.

#146

diderius6

    Windbg messages for Asrock 370 board. It seems, it is not a real Acpi problem.
    It seems, that there happens overlapping in memory. Any idea?

    kd> ACPI: E820 Entry 0 (type 1) (0-9c400) overlaps

    0: kd> !acpiresconflict e100da30 8a0cdb50
    acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
    acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
    acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
    acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
    acpiresconflict:
    acpiresconflict:  No PCI _CRS problems / conflicts were found

    typedef struct _ACPI_BIOS_MULTI_NODE {
        PHYSICAL_ADDRESS    RsdtAddress;    // 64-bit physical address of RSDT
        ULONGLONG           Count;
        ACPI_E820_ENTRY     E820Entry[1];
    } ACPI_BIOS_MULTI_NODE, *PACPI_BIOS_MULTI_NODE;

    0: kd> !RSDT
    RSDT - HEADER - ffffffffbbea5028
      Signature:               RSDT
      Length:                  0x00000078
      Revision:                0x01
      Checksum:                0xd2
      OEMID:                   ALASKA
      OEMTableID:              A M I
      OEMRevision:             0x01072009
      CreatorID:               MSFT
      CreatorRev:              0x00010013
    RSDT - BODY - ffffffffbbea504c
       @(000000007dfb3180) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc0b0) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc118) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc160) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc200) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc240) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdc5e8) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdf750) Rev: 000 Len: 00000000 TableID:
       @(000000007dfdf788) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe0440) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe0488) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe1c38) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe1f18) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe1fb0) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe20f8) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2610) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2900) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2938) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2990) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2a38) Rev: 000 Len: 00000000 TableID:
       @(000000007dfe2a70) Rev: 000 Len: 00000000 TableID:

#147

Mov AX, 0xDEAD

Hi,
Some info about bug with Acpi Timer on Skylake+ platforms:
- XP preSP2 uses TSC, not affected
- XP SP2,SP3 uses acpi timer, affected
- Vista search for HPET Timer and uses it, frequency is 14.31818 MHz (4 x freq of Acpi timer), not affected
- Vista uses acpi timer if didn't find HPET, affected
- Win7+ check quality of processor counter (TSC), skylake+ cpus have constant rate counter, so these OSes use TSC and not affected. Unlike XP, processor raw frequency divided to 1024, for example 3600Mhz/1024=3.579545Mhz (avoid arithmetic 32bit overflow in old-gen apps ?)
- If Win7+ forced to not use TSC (bcdedit.exe /set useplatformclock true), it search for HPET and uses it, not affected
- If Win7+ forced to not use TSC and didn't find HPET, it uses acpi timer, affected
Regarding acpi specs and intel specs on pch chipset, acpi timer generates hardware SCI interrupt (IRQ #9) if TMR_EN bit is SET. This bit is SETted on live system, but windows doesnt receive any interrupts. Near to TMR_EN exist PWRBTN_EN bit (generates SCI at power button press), and if we press button, windows receive interrupt (surprise!)
I came to the conclusion that this is a bug at the platform level. Maybe bios doesnt set some hardware regs or intel forget to say something about additional requirements, who knows....
EDIT: this is not platform bug, acpi timer just disabled in chipset by BIOS

#148

diderius6

⇗ @Mov AX, 0xDEAD
hi,
on hwbot.org they told,
that the z270 Asus Apex IX has from
beginning full XP Acpi support and also a board
from Gigabyte Z370X SOC Force LN2. The Asus z270 Apex IX board I will test in next days.
The board from gigabyte is not sold on the normal market, just for overclockers.
I wonder, if another table for example SSDT in Bios
has to do with the pm_timer.
And maximal unclear is for me, why I have no success with ACPI on my Asrock z370 board.
The bios DSDT table is nearly one by one like the Bios DSDT table from gigabyte H110M-S2H.
May be, another device is called, where until now I do not prevent it from reserved words from Acpi 2.0,
have a nice evening
Dietmar

#149

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #148

> @Mov AX, 0xDEAD
> I wonder, if another table for example SSDT in Bios
> has to do with the pm_timer.

acpi specs dont say anything about controling timer in acpi tables, timer is hardware level
OS can only:
1) route interrupt to itself(SCI mode) or to bios (SMI)
2) disable or enable interrupts
p.s. because win7+ use TSC and we all have "right" cpus, no need anymore to fix this buggy timer, just patch os/bios to avoid using it

#150

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #148

> And maximal unclear is for me, why I have no success with ACPI on my Asrock z370 board.
> The bios DSDT table is nearly one by one like the Bios DSDT table from gigabyte H110M-S2H.
> May be, another device is called, where until now I do not prevent it from reserved words from Acpi 2.0,

New syntax will generate A5(03,xxxx,С014001,yyyy) error, if you have other errcodes this not directed linked to new syntax
I dont know much more about res conflicts at acpi level, but acpi 2 has important difference comparing to 1.1b - Integer implemenation. All integers in acpi 2.0 are 64 bit, so we can define QWORD fields and read/write to it from integer variables. In WinXP integers are 32 bit and it support only one "64 bit" QWordMemory instruction and i dont understand how this OS set/read 64 bits fields inside this structure.

## Page 11

#151

diderius6

Windbg on the Asrock z370 tells always the same:

    0: kd> !pcitree
    PciFdoExtensionListHead forward pointer is NULL, list is empty
    0: kd> !pci
    PCI Segment 0 Bus 0
    00:0  8086:3e0f.08  Cmd[0006:.mb...]  Sts[2090:c....]  Intel Host Bridge  SubID:1849:3e0f
    02:0  8086:3e93.00  Cmd[0007:imb...]  Sts[0010:c....]  Intel VGA Compatible Controller  SubID:1849:3e93
    14:0  8086:a2af.00  Cmd[0006:.mb...]  Sts[0290:c....]  Intel Class:c:3:30  SubID:1849:a2af
    14:2  8086:a2b1.00  Cmd[0006:.mb...]  Sts[0010:c....]  Intel Other Signal Processing Controller  SubID:1849:a2b1
    16:0  8086:a2ba.00  Cmd[0004:..b...]  Sts[0010:c....]  Intel Other Communications Controller  SubID:1849:a2ba
    17:0  8086:a282.00  Cmd[0007:imb...]  Sts[02b0:c6...]  Intel Class:1:6:1  SubID:1849:a282
    1b:0  8086:a2e7.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x1-0x1
    1c:0  8086:a290.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x2-0x2
    1c:1  8086:a291.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x3-0x3
    1c:2  8086:a292.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x4-0x4
    1c:4  8086:a294.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x5-0x5
    1d:0  8086:a298.f0  Cmd[0007:imb...]  Sts[0010:c....]  Intel PCI-PCI Bridge 0->0x6-0x6
    1f:0  8086:a2c9.00  Cmd[0007:imb...]  Sts[0200:.....]  Intel ISA Bridge  SubID:1849:a2c9
    1f:2  8086:a2a1.00  Cmd[0006:.mb...]  Sts[0000:.....]  Intel Other Memory Controller  SubID:1849:a2a1
    1f:3  8086:a2f0.00  Cmd[0006:.mb...]  Sts[0010:c....]  Intel Class:4:3:0  SubID:1849:1221
    1f:4  8086:a2a3.00  Cmd[0003:im....]  Sts[0280:.....]  Intel SMBus Controller  SubID:1849:a2a3
    1f:6  8086:15b8.00  Cmd[0006:.mb...]  Sts[0010:c....]  Intel Ethernet Controller  SubID:1849:15b8

I think, the total absent of the pci list depends on

    Sat Dec 15 21:01:10.421 2018 (UTC + 1:00): ACPI: E820 Entry 0 (type 1) (0-9c400) overlaps
    ACPI: PCI  Entry 9 Min:10000 Max:1ffff Length:10000 Align:1

#152

diderius6

I just noticed,
that in the Bios mod 1704 for Asus Apex X from Elmor
you cant switch off the pm_timer.
Even in Bios it is set to A5 02 03 00,
the compi always use A5 82 03 00,
so at the moment no clock and no correct working
of Acpi in XP SP3 on Asus Apex X because of crazy not
working pm_timer.
In this case, only the HAL.dll hack for to use always the system clock works,
because in registry the value in FACP A5 02 03 00is always overwritten by Bios with A5 82 03 00,
even you set it to unwritable(!)
Dietmar
PS: I set the pm_timer to 32 bit in Bios. Also not helps. Any flag I can set in Bios from FACP,
only the pm_timer is unstoppable.

#153

Pill Monster

> Zitat von ⇗ diderius6 im Beitrag ¶ #152

> I just noticed,
> that in the Bios mod 1704 for Asus Apex X from Elmor
> you cant switch off the pm_timer.
> Even in Bios it is set to A5 02 03 00,
> the compi always use A5 82 03 00,
> so at the moment no clock and no correct working
> of Acpi in XP SP3 on Asus Apex X because of crazy not
> working pm_timer.
> In this case, only the HAL.dll hack for to use always the system clock works,
> because in registry the value in FACP A5 02 03 00is always overwritten by Bios with A5 82 03 00,
> even you set it to unwritable(!)
> Dietmar
> PS: I set the pm_timer to 32 bit in Bios. Also not helps. Any flag I can set in Bios from FACP,
> only the pm_timer is unstoppable.

Enabling HPET just allows it to be used by OS, it doesn't force the OS to use it. Use of HPET depends on OS version and boot loader options.
bcdedit /set useplatformclock yes Forces the use of the platform clock as the system's performance counter.
bcdedit /set disabledynamictick yes Forces the OS to use Dynamic TSC. (Windows 8 and above)...

#154

diderius6

[img]⇗ [/img]Hi,
I just installed XP SP1 :))
on the Asus Apex X motherboard.
Oh, the timer works there normal!
So, it depends on something in XP SP3
Dietmar

#155 | @rne | Nice to see progress. That would also be very helpful for all overclockers focusing on budget mainboards without any extra XP compatible bios from vendor

#156

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #154

> I just installed XP SP1 :))
> So, it depends on something in XP SP3

because sp1 can use TSC or old i8059 i8253 timer only

#157

diderius6

From Wikipedia:
If the ACPI is not set up correctly the OS cannot list the HPET. And the BIOS and OS developers don't see the need to get Real Time support. So the HPET is only there to satisfy the system's high speed needs. If the HPET is set up correctly in the ACPI from BIOS then the ACPI MMIO page of the first HPET chip should be at 0xFED00000 and the second HPET at page 0xFED80000 (see the discussion for further information).
In terms of physical embodiment in Windows XP SP3, the IRQ0 and IRQ8 are typically mapped to a "High Precision Event Timer" when using the ACPI HAL (version 5.1.2600.5512), albeit that the QueryPerformanceFrequency API call returns a value related to the rated processor clock speed (for example, 2.6 GHz) or PMTIMER (3.579545 MHz) rather than the Intel HPET spec'd value of 15 MHz that you would get using Windows Vista.
The ACPI timer is an additional system timer that is required as part of the ACPI specification. This timer is also
known as the power management (PM) timer or the chipset timer. It has a 24-bit counter that increments at
3.579545MHz (three times the PIT frequency).
The timer can be programmed to generate an interrupt when its high-order bit changes value.
There is no counter input register; the counter always rolls over.
That is, when the counter reaches the maximum, 24-bit binary value, it goes back to zero and continues counting from there.
I think, take a look at!
HPET in XP does not exist. In version XP SP >=2 it is the pm_timer,
as you can see in the MHZ values in the Win-timer
Dietmar

#158

diderius6

I found an interesting bit in
the 22 flags in FACP (beginning with rev. 5 of FACP):
HW_REDUCED_ACPI A one indicates that the ACPI Hardware Interface (chapter 4)
is not implemented. Software-only alternatives are used for
supported fixed-features defined in chapter 4.
5.1.1.1 Runtime Reduced Hardware Support
This feature automatically supports reduced hardware platforms without any code changes. The reduced hardware support is dynamically enabled via the HW_REDUCED_ACPI flag in the revision 5 FADT. If this flag is set, ACPICA will not attempt to initialize or use any of the usual ACPI hardware. Note, when this flag is set, all of the following ACPI hardware is assumed to be not present and is not initialized or accessed:
General Purpose Events (GPEs)
Fixed Events (PM1a/PM1b and PM Control)
Power Management Timer and Console Buttons (power/sleep)
Real-time Clock Alarm
Global Lock
System Control Interrupt (SCI)
The FACS is assumed to be non-existent
So, just a try on the Asrock z370 board, setting this flag to 1
Dietmar

#159

diderius6

Here comes the FACP table from asus Apex X with modded Bios from Elmor ,
extracted direct with iasl.exe.
rw-everything does not show these interesting bits in FLAGS. And write you can nearly nothing.

    /*
     * Intel ACPI Component Architecture
     * AML/ASL+ Disassembler version 20181031 (32-bit version)
     * Copyright (c) 2000 - 2018 Intel Corporation
     *
     * Disassembly of FACP.dat, Tue Dec 18 16:03:00 2018
     *
     * ACPI Data Table [FACP]
     *
     * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
     */

    [000h 0000   4]                    Signature : "FACP"    [Fixed ACPI Description Table (FADT)]
    [004h 0004   4]                 Table Length : 00000084
    [008h 0008   1]                     Revision : 02
    [009h 0009   1]                     Checksum : EE
    [00Ah 0010   6]                       Oem ID : "ALASKA"
    [010h 0016   8]                 Oem Table ID : "A M I "
    [018h 0024   4]                 Oem Revision : 01072009
    [01Ch 0028   4]              Asl Compiler ID : "AMI "
    [020h 0032   4]        Asl Compiler Revision : 00010013

    [024h 0036   4]                 FACS Address : 8EB97EC0
    [028h 0040   4]                 DSDT Address : 8E7701E8
    [02Ch 0044   1]                        Model : 00
    [02Dh 0045   1]                   PM Profile : 01 [Desktop]
    [02Eh 0046   2]                SCI Interrupt : 0009
    [030h 0048   4]             SMI Command Port : 000000B2
    [034h 0052   1]            ACPI Enable Value : A0
    [035h 0053   1]           ACPI Disable Value : A1
    [036h 0054   1]               S4BIOS Command : 00
    [037h 0055   1]              P-State Control : 00
    [038h 0056   4]     PM1A Event Block Address : 00001800
    [03Ch 0060   4]     PM1B Event Block Address : 00000000
    [040h 0064   4]   PM1A Control Block Address : 00001804
    [044h 0068   4]   PM1B Control Block Address : 00000000
    [048h 0072   4]    PM2 Control Block Address : 00001850
    [04Ch 0076   4]       PM Timer Block Address : 00001808
    [050h 0080   4]           GPE0 Block Address : 00001880
    [054h 0084   4]           GPE1 Block Address : 00000000
    [058h 0088   1]       PM1 Event Block Length : 04
    [059h 0089   1]     PM1 Control Block Length : 02
    [05Ah 0090   1]     PM2 Control Block Length : 01
    [05Bh 0091   1]        PM Timer Block Length : 04
    [05Ch 0092   1]            GPE0 Block Length : 20
    [05Dh 0093   1]            GPE1 Block Length : 00
    [05Eh 0094   1]             GPE1 Base Offset : 10
    [05Fh 0095   1]                 _CST Support : 00
    [060h 0096   2]                   C2 Latency : 0065
    [062h 0098   2]                   C3 Latency : 0039
    [064h 0100   2]               CPU Cache Size : 0400
    [066h 0102   2]           Cache Flush Stride : 0010
    [068h 0104   1]            Duty Cycle Offset : 00
    [069h 0105   1]             Duty Cycle Width : 00
    [06Ah 0106   1]          RTC Day Alarm Index : 0D
    [06Bh 0107   1]        RTC Month Alarm Index : 00
    [06Ch 0108   1]            RTC Century Index : 32
    [06Dh 0109   2]   Boot Flags (decoded below) : 0012
                   Legacy Devices Supported (V2) : 0
                8042 Present on ports 60/64 (V2) : 1
                            VGA Not Present (V4) : 0
                          MSI Not Supported (V4) : 0
                    PCIe ASPM Not Supported (V4) : 1
                       CMOS RTC Not Present (V5) : 0
    [06Fh 0111   1]                     Reserved : 00
    [070h 0112   4]        Flags (decoded below) : 000394A5
          WBINVD instruction is operational (V1) : 1
                  WBINVD flushes all caches (V1) : 0
                        All CPUs support C1 (V1) : 1
                      C2 works on MP system (V1) : 0
                Control Method Power Button (V1) : 0
                Control Method Sleep Button (V1) : 1
            RTC wake not in fixed reg space (V1) : 0
                RTC can wake system from S4 (V1) : 1
                            32-bit PM Timer (V1) : 0
                          Docking Supported (V1) : 0
                   Reset Register Supported (V2) : 1
                                Sealed Case (V3) : 0
                        Headless - No Video (V3) : 1
            Use native instr after SLP_TYPx (V3) : 0
                  PCIEXP_WAK Bits Supported (V4) : 0
                         Use Platform Timer (V4) : 1
                   RTC_STS valid on S4 wake (V4) : 1
                    Remote Power-on capable (V4) : 1
                     Use APIC Cluster Model (V4) : 0
         Use APIC Physical Destination Mode (V4) : 0
                           Hardware Reduced (V5) : 0
                          Low Power S0 Idle (V5) : 0

    [074h 0116  12]               Reset Register : [Generic Address Structure]
    [074h 0116   1]                     Space ID : 01 [SystemIO]
    [075h 0117   1]                    Bit Width : 08
    [076h 0118   1]                   Bit Offset : 00
    [077h 0119   1]         Encoded Access Width : 00 [Undefined/Legacy]
    [078h 0120   8]                      Address : 0000000000000CF9

    [080h 0128   1]         Value to cause reset : 06
    [081h 0129   2]                     Reserved : 0000
    [083h 0131   1]                     Reserved : 00

    Raw Table Data: Length 132 (0x84)

        0000: 46 41 43 50 84 00 00 00 02 EE 41 4C 41 53 4B 41  // FACP......ALASKA
        0010: 41 20 4D 20 49 20 00 00 09 20 07 01 41 4D 49 20  // A M I ... ..AMI
        0020: 13 00 01 00 C0 7E B9 8E E8 01 77 8E 00 01 09 00  // .....~....w.....
        0030: B2 00 00 00 A0 A1 00 00 00 18 00 00 00 00 00 00  // ................
        0040: 04 18 00 00 00 00 00 00 50 18 00 00 08 18 00 00  // ........P.......
        0050: 80 18 00 00 00 00 00 00 04 02 01 04 20 00 10 00  // ............ ...
        0060: 65 00 39 00 00 04 10 00 00 00 0D 00 32 12 00 00  // e.9.........2...
        0070: A5 94 03 00 01 08 00 00 F9 0C 00 00 00 00 00 00  // ................
        0080: 06 00 00 00                                      // ....

#160

diderius6

I succeed to set this bit,
but the timer still does not work
Dietmar

    /*
     * Intel ACPI Component Architecture
     * AML/ASL+ Disassembler version 20181031 (32-bit version)
     * Copyright (c) 2000 - 2018 Intel Corporation
     *
     * Disassembly of FACP.dat, Tue Dec 18 17:06:14 2018
     *
     * ACPI Data Table [FACP]
     *
     * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
     */

    [000h 0000   4]                    Signature : "FACP"    [Fixed ACPI Description Table (FADT)]
    [004h 0004   4]                 Table Length : 00000084
    [008h 0008   1]                     Revision : 02
    [009h 0009   1]                     Checksum : 8C
    [00Ah 0010   6]                       Oem ID : "ALASKA"
    [010h 0016   8]                 Oem Table ID : "A M I "
    [018h 0024   4]                 Oem Revision : 01072009
    [01Ch 0028   4]              Asl Compiler ID : "AMI "
    [020h 0032   4]        Asl Compiler Revision : 00010013

    [024h 0036   4]                 FACS Address : 8EB9AEC0
    [028h 0040   4]                 DSDT Address : 8E7731E8
    [02Ch 0044   1]                        Model : 00
    [02Dh 0045   1]                   PM Profile : 01 [Desktop]
    [02Eh 0046   2]                SCI Interrupt : 0009
    [030h 0048   4]             SMI Command Port : 000000B2
    [034h 0052   1]            ACPI Enable Value : A0
    [035h 0053   1]           ACPI Disable Value : A1
    [036h 0054   1]               S4BIOS Command : 00
    [037h 0055   1]              P-State Control : 00
    [038h 0056   4]     PM1A Event Block Address : 00001800
    [03Ch 0060   4]     PM1B Event Block Address : 00000000
    [040h 0064   4]   PM1A Control Block Address : 00001804
    [044h 0068   4]   PM1B Control Block Address : 00000000
    [048h 0072   4]    PM2 Control Block Address : 00001850
    [04Ch 0076   4]       PM Timer Block Address : 00001808
    [050h 0080   4]           GPE0 Block Address : 00001880
    [054h 0084   4]           GPE1 Block Address : 00000000
    [058h 0088   1]       PM1 Event Block Length : 04
    [059h 0089   1]     PM1 Control Block Length : 02
    [05Ah 0090   1]     PM2 Control Block Length : 01
    [05Bh 0091   1]        PM Timer Block Length : 04
    [05Ch 0092   1]            GPE0 Block Length : 20
    [05Dh 0093   1]            GPE1 Block Length : 00
    [05Eh 0094   1]             GPE1 Base Offset : 10
    [05Fh 0095   1]                 _CST Support : 00
    [060h 0096   2]                   C2 Latency : 0065
    [062h 0098   2]                   C3 Latency : 0039
    [064h 0100   2]               CPU Cache Size : 0400
    [066h 0102   2]           Cache Flush Stride : 0010
    [068h 0104   1]            Duty Cycle Offset : 00
    [069h 0105   1]             Duty Cycle Width : 00
    [06Ah 0106   1]          RTC Day Alarm Index : 0D
    [06Bh 0107   1]        RTC Month Alarm Index : 00
    [06Ch 0108   1]            RTC Century Index : 32
    [06Dh 0109   2]   Boot Flags (decoded below) : 0012
                   Legacy Devices Supported (V2) : 0
                8042 Present on ports 60/64 (V2) : 1
                            VGA Not Present (V4) : 0
                          MSI Not Supported (V4) : 0
                    PCIe ASPM Not Supported (V4) : 1
                       CMOS RTC Not Present (V5) : 0
    [06Fh 0111   1]                     Reserved : 00
    [070h 0112   4]        Flags (decoded below) : 001386A5
          WBINVD instruction is operational (V1) : 1
                  WBINVD flushes all caches (V1) : 0
                        All CPUs support C1 (V1) : 1
                      C2 works on MP system (V1) : 0
                Control Method Power Button (V1) : 0
                Control Method Sleep Button (V1) : 1
            RTC wake not in fixed reg space (V1) : 0
                RTC can wake system from S4 (V1) : 1
                            32-bit PM Timer (V1) : 0
                          Docking Supported (V1) : 1
                   Reset Register Supported (V2) : 1
                                Sealed Case (V3) : 0
                        Headless - No Video (V3) : 0
            Use native instr after SLP_TYPx (V3) : 0
                  PCIEXP_WAK Bits Supported (V4) : 0
                         Use Platform Timer (V4) : 1
                   RTC_STS valid on S4 wake (V4) : 1
                    Remote Power-on capable (V4) : 1
                     Use APIC Cluster Model (V4) : 0
         Use APIC Physical Destination Mode (V4) : 0
                           Hardware Reduced (V5) : 1
                          Low Power S0 Idle (V5) : 0

    [074h 0116  12]               Reset Register : [Generic Address Structure]
    [074h 0116   1]                     Space ID : 01 [SystemIO]
    [075h 0117   1]                    Bit Width : 08
    [076h 0118   1]                   Bit Offset : 00
    [077h 0119   1]         Encoded Access Width : 00 [Undefined/Legacy]
    [078h 0120   8]                      Address : 0000000000000CF9

    [080h 0128   1]         Value to cause reset : 06
    [081h 0129   2]                     Reserved : 0000
    [083h 0131   1]                     Reserved : 00

    Raw Table Data: Length 132 (0x84)

        0000: 46 41 43 50 84 00 00 00 02 8C 41 4C 41 53 4B 41  // FACP......ALASKA
        0010: 41 20 4D 20 49 20 00 00 09 20 07 01 41 4D 49 20  // A M I ... ..AMI
        0020: 13 00 01 00 C0 AE B9 8E E8 31 77 8E 00 01 09 00  // .........1w.....
        0030: B2 00 00 00 A0 A1 00 00 00 18 00 00 00 00 00 00  // ................
        0040: 04 18 00 00 00 00 00 00 50 18 00 00 08 18 00 00  // ........P.......
        0050: 80 18 00 00 00 00 00 00 04 02 01 04 20 00 10 00  // ............ ...
        0060: 65 00 39 00 00 04 10 00 00 00 0D 00 32 12 00 00  // e.9.........2...
        0070: A5 86 13 00 01 08 00 00 F9 0C 00 00 00 00 00 00  // ................
        0080: 06 00 00 00                                      // ....

#161 | diderius6 | Yessa, I succeed to hack hal.dll to use the RTC clock on XP SP3, now I have full ACPI support on the Asus Apex X board Dietmar diderius6 has attached images to this post ⇗ sp3cool.jpg

#162

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #161

> Yessa, I succeed to hack hal.dll to use the RTC clock
> on XP SP3, now I have full ACPI support on the Asus Apex X board
> Dietmar

can you upload your hal.dll mod for others to try?

#163

diderius6

Hi, I make a try.
I do not know, what Fernando tells about this.
But when my file will be deletet, I can write a short tutorial
how to reach this,
Dietmar
diderius6 has attached files to this post

- ⇗ HAL.rar

#164

diderius6

Yessa,
9900k works also
with full Acpi support in XP SP3,
showing and working 16 Threads on
Asus Apex X
Dietmar
diderius6 has attached images to this post ⇗ 9900kAcpiXPSP3.jpg

#165 | XPLives | That is good news. I was going to suggest octacore test since hexacore no problem. Asus Apex X is a Z370 board? Can this be back ported to Z170? Did you force ACPI to use software mode as default?

## Page 12

#166

diderius6

Hi, I look,
how to enable RTC clock in hal.dll.
The idea for this hack came from Mov AX, 0xDEAD
but there are a lot of different hal.dll on the market.
This one works for the german Version XP SP3 32 bit professional,
yes, the Apex board is z370,
Dietmar
PS: Not easy to port a working Acpi DSDT to another platform.
I have no success with my Asrock k6 board, even I try a lot.
Until now, it works only, when there is a previous version of a board,
which works with Acpi on XP. May be other places have to be changed also, not only DSDT, may be even not in the pure Bios region.

#167

XPLives

I successfully tested Haswell Z87 / Broadwell Z97 branch. No ACPI issues. Windows 2000, XP, and 2003 have no problems. This is the final generation before SkyLake started the ACPI issue in XP. Maybe the key is in Z97 and Z170 differences to fix ACPI for XP.
[16 Month time gap]
Z 97 - May 12, 2014 (XP ACPI compatible)
X 99 - August 2014 (Should be XP compatible with ACPI) <--- Future test maybe hidden ACPI secret only 1 year+ difference.
Z170 - September 1, 2015 (XP ACPI issues begin)

#168

diderius6

The most common problems for Acpi
are just the use of reserved words from Acpi 2.0.
At github they told, that Bios manufactures start with using
Acpi 2.0 reserved vocabularies from January 2006.
But I also think, that most mainboard (Bios?) manufactures
do not have a look for XP compability now.
So it is a very hard job,
to make anything work for XP
Dietmar
PS: When I look at all the different Bios z97 - z370 from different manufacturers,
I come to the idea, that they use an automated program
for building Bios, because they are all nearly identic.

#169 | XPLives | I discovered in Z87 and Z97 SATA IDE Compatibility Mode exists in BIOS but I will need to find a method to port this MOD to Z170, Z270, Z370, and Z390 chipsets. This will make XP SATA installation without the need of AHCI slipstream first method. Laptops could use this to install XP lacking an optical disc drive requirement. This will solve the headaches many are experiencing since USB installation on SkyLake+ can be problematic and fail. Do you have any expertise?

#170

diderius6

I make an XP.iso using nlite,
with ALL the ahci drivers from fernando.
So, this problem is gone for me.
On some boards there is an Asmedia driver for AHCI.
With this driver, IDE is possible.
But before you have to integrate this driver from Asmedia
Dietmar

#171

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #169

> This will make XP SATA installation without the need of AHCI slipstream first method. Laptops could use this to install XP lacking an optical disc drive requirement. This will solve the headaches many are experiencing since USB installation on SkyLake+ can be problematic and fail

maybe is it time to forget ancient methods and requirements ?
today no need prepare media for installing windows in "MS Way", we have modern&fast equalents to install xp (easy2boot, firadisk, winntsetup, yumi, ...). installing from usb3 disk, installing on ahci controller - no problem

#172

Mov AX, 0xDEAD

Moved to ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware #4
There many unresolved problems running Windows XP x32 on sky/kaby/coffee lake hardware
my own list:
- ACPI BSOD:
.......... 0xA5 (0x03, X, 0xС0140001, Z) ACPI 2.0 syntax, 99% solved (custom acpi.sys), 1% - "QWordAcc" still 32bit only
.......... 0xA5 (0x02, X ,Y ,Z) error in ACPIRangeValidatePciResources, PCI vs E820 list conflict, solved (custom acpi.sys)
.......... 0xA5 (0x11, 0x08 ,Y ,Z) error in ACPIInitializeDDB, solved (custom acpi.sys)
.......... other possible BSODs, unresolved
- all integers in original ACPI 1.0 XP are 32 bits, ACPI 2.0 requires all ints to be 64 bits, unresolved. Acpi.sys from Longhorn v.5048 has 64 bit integers and compatible win Winxp
- Broken acpi pm_timer, solved (custom hal.dll, forced to use TSC counter) or enable hidden bios option "TCO Timer"
- Acpi tables patcher at boot time like Chameleon/Clover, solved,( ⇗ http://reboot.pro/topic/22051-acpi-patcher-at-boot-time)
- CPU in C0 power state 50-60% of time even without cpu load, solved (custom intelppm.sys, 1) only C1 c-state or 2) C1/С7s/C10 c-states)
- USB 3.x drivers for integrated intel chipsets, solved (patched AMD USB3 driver)
- Resource manager show conflict VGA card with ACPI IOTR/IOTraps device, solved 1) manual patching dsdt or 2) custom acpi.sys
- UEFI x64 Boot, partial solved for WinXP x64 only (bootmgr from vista beta+vesa vga driver)
- NVMExpress drivers, partial solved (modified OFA 1.3/1.5 driver+storport.sys from windows 2003)
- Access to additional 3TB+ Disks/GPT partitions, solved (Paragon GPT Loader)
- Boot from GPT partitions, unresolved (require uefi boot support first)
- TRIM support in NTFS/Storport/??? driver unresolved
- Kernel debug with WinDBG/KD over LAN/USB3.0 connection solved, (⇗ https://github.com/MovAX0xDEAD/KDNET)

#173 | diderius6 | "ACPI BSODs not related with acpi.2.0 syntax solved, using custom acpi.sys" hihi;).. may be because of some strange reasons XP thinks, the Bios is from earlier than 1999, Dietmar

#174

XPLives

Yes for desktop there is Asmedia but laptops typically have only one Intel SATA controller now so this will allow more users to install XP with only the Intel SATA port. Also because the Intel SATA in IDE Compatibility allows swapping of the drive from one machine to another. You cannot do this with different SATA AHCI setups. So once you've installed XP in IDE mode or SATA IDE mode you can move the installed XP OS to another machine which can be Z170, Z270, Z370, or Z390 and it will boot. No need to reinstall from scratch.
In addition Windows 2000 works and install this way much easier.
This is why it is needed for both laptops and desktops.
The code is in the BIOS but I need someone to help copy this from Z97 to Z170 BIOS for testing.

#175

XPLives

⇗ @Mov AX, 0xDEAD
Sometimes the ancient method works the best.
Intel xHCI USB 3.0 does not support XP. Many laptops do not have an optical disc drive or only a single SATA port and some only have 1 USB port such as tablets or maybe no USB ports or defective/bad USB ports.
Adding the SATA IDE Compatibility mode to the BIOS would allow them to install directly off their own internal storage drive and not need to use a USB port.
Any older OS that predates SATA might also install successfully using this method.
Windows 2000 can be easily installed aside from XP and 2003 in this manner. No more iaStor.sys is corrupted.
These USB methods have issues on some desktops/laptops and is not 100% guaranteed either which causes the chicken or the egg issue if they cannot install XP whereas SATA IDE Compatibility mode allows them to install 2K, XP, or 2003 in DOS before updating to the SATA AHCI driver post install via Device Manager / registry update. No optical or USB storage device will be necessary. Avoids the Intel USB 3.0 xHCI compatibility issue with certain XP boot devices failing to install to completion. Also unnecessary to waste a USB stick solely for installing the OS when it can be installed in DOS on the same storage drive if prepartitioned properly.
Installing from internal SATA SSD in DOS is many times faster than from any USB flash drive which can fail or have multiple steps which may cause user confusion/errors during the install process. No need to use nLite or slipstream the correct Hardware ID before hand. The USB install might also occupy the C: or Partition 1 during destination selection.
Guarantees the ability to move an existing Windows 2000, XP, and 2003 install from one machine to another without reinstalling from scratch in SATA AHCI Mode to use. I can swap an XP install from Pentium 1 to Z97 and works.
⇗ https://www.winhistory.de/more/386/xpmini.htm.en
No more BSOD 7B installation headaches since the BIOS will support both methods of booting XP. One could then use only 1 installed copy of XP to move among Z68-Z390 machines at will not restricted. This means installing 2000, XP, and 2003 onto one drive and storing all the OS files on the same drive and not ever needing 3 USB sticks or 3 separate CDs to deal with.
Using an XP NO ACPI install would method would then work on all systems regardless of ACPI issues.
Current XP ACPI fixes in Z170+ BIOSes still requires more technical experience to solve than a typical user will want to deal with.
End goal is more XP installs as a result of the simplification of the install process means more users interested in 2000, XP, and 2003 and older pre-SATA OS means more users visiting this site and further progression or interest in help tackling the ACPI issue. One day Intel USB 4.0 will arrive and the same USB installers will fail or the authors of these USB installers no longer care about XP. Most of these USB installer tools don't even work inside XP anymore and require Windows 7+ to create the USB install image. This BIOS Mod will work as a future safeguard/buffer while it is still possible and much more easily accomplished.

#176 | diderius6 | I also think, that XP install direct via CD is best Dietmar

#177

diderius6

I just noticed,
that the english version (for multiprocessor acpi)
of hal.dll and the german hal.dll in XP SP3 32 bit
are identic. Because of this,
my hack hal.dll works on any XP SP3,
just install XP, after this rename hal.dll in WINDOWS\System32 to halori.dll
and copy my hal.dll there,
now timer works correct,
Dietmar

#178

XPLives

Yes Dietmar only because it's more reliable and not dependent on the USB and cannot die unless SATA dies first. USB can change to 4.0, 5.0, and break compatibility again which will happen in the future.
I am working on a pure DOS install method for XP to avoid USB devices entirely and no optical disc drive needed just 98SE DOS and XP folder copied to the drive. But I am trying to find a way to create a native AHCI SATA detection similar to IDE mode but many attempts failed. But if I succeed then no more need to slipstream SATA as XP will autodetect SATA controller.
I think I need some program to read the SATA Controller Hardware ID and pass this and rewrite the hive so that when XP OS on SSD/HDD moved into a new system it will scan and alter the "registry" to change only the Hardware ID bits then it will load the OS with no problem. I don't have any registry hacking experience to do this but I have compared the Registry before Floppy installed slipstreamed SATA AHCI driver and after during the setup phase so I can do comparison of what bytes need to be changed. If you know of a program that can read the SATA Hardware ID each time and change these bits in the Registry it might be possible to make XP work on all SATA systems even during the install.

#179

diderius6

Hi,
much more easy is to build an XP.iso
using nlite 1.4.9.3 and add ALL ahci drivers
from Fernando.
I load it up here,
just integrate those drivers with nlite and build iso with nlite,
thats all
Dietmar
diderius6 has attached files to this post

- ⇗ AHCI32bit.rar

#180 | XPLives | That will only work for "known" SATA controllers but we need one that can work with even future unknown without modifying. Vista uses one that detects for all AHCI even unknown ones so can be moved to a different system. IDE does the same with the newer SATA controllers using IDE compatibility mode past 2001. I just need a tool to read this in DOS and inside preload of XP once installed to overwrite registry bits of the SATA Hardware ID location. It will do it at each boot up so it will always check and use the current one connected so as long as SATA is supported into the future this should work even when both of us are long gone. But your idea I have tested with a few chipsets inserted before but only can work for the XP installing phase but not after post SATA AHCI install you cannot move the XP install after installation to another chipset with SATA AHCI and boot. 7B will result each time.

## Page 13

#181

diderius6

May be,
all AHCI drivers are the same.
In this case, make try with generic number for AHCI in TXTSETUP.OEM

    [HardwareIds.SCSI.iaAHCI]
    id = "PCI\CC_010601","iaStor"

Dietmar

    TXTSETUP.OEM

    [Disks]
    disk0 = "AHCI Installation Disk", \iaAHCI.inf, \

    [Defaults]
    SCSI = iaStor

    [SCSI]
    iaStor = "AHCI Installation Disk", iaStor

    [Files.SCSI.iaAHCI]
    inf	= disk0, iaAHCI.inf
    driver	= disk0, iaStor.sys, iaStor

    [HardwareIds.SCSI.iaAHCI]
    id = "PCI\CC_010601","iaStor"

    [Config.iaStor]
    value = "", tag, REG_DWORD, 1b
    value = "", ErrorControl, REG_DWORD, 1
    value = "", Group, REG_SZ, "SCSI Miniport"
    value = "", Start, REG_DWORD, 0
    value = "", Type, REG_DWORD, 1

and add PCI\CC_010601 to iaAHCI.inf,
test, if you can delete all the other entries for example PCI\VEN_8086&DEV_A282&CC_0106
I am not sure about all syntax in TXTSETUP.OEM and *.inf
because of this some handwork is needed.

#182

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #175

> One day Intel USB 4.0 will arrive and the same USB installers will fail or the authors of these USB installers no longer care about XP.Most of these USB installer tools don't even work inside XP anymore and require Windows 7+ to create the USB install image

maybe is it time to check how work these installers ? they will still work with usb 4 and usb 5 too and still installing xp.

> Zitat von ⇗ XPLives im Beitrag ¶ #175

> https://www.win-raid.com/t4092f45-Guide-How-to-install-Windows-XP-OS-on-Modern-Hardware.html

#1 -- Internal SATA optical disc drive - CD, DVD, or Blu-ray
#2 -- CD-RW disc for nLite slipstreaming of the SATA AHCI driver into your XP burned install disc
#4 -- Desktop motherboard with a rear PS/2 physical port
#5 -- PS/2 keyboard
you are crazy, for installing window xp need nothing of these, why people buy that ?
p.s. want ide compatibilty bios mod on ahci-only hardware (skylake+)? good luck )

#183

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #181

> May be,
> all AHCI drivers are the same.
> In this case, make try with generic number for AHCI in TXTSETUP.OEM
> [HardwareIds.SCSI.iaAHCI]
> id = "PCI\CC_010601","iaStor"

pci\cc_010601(or pci\cc_0106) should work as uni solution, but probably only for intel chipsets because iastor.sys

#184

XPLives

⇗ @Mov AX, 0xDEAD
These optical drives have more uses than you can imagine. They buy it so they can play and rip their Blu-ray movies in XP. Not just for installing the OS.
Can be used to install any older OS the proper way not just XP, Vista, Windows 7, Windows 10 on pre USB systems with SATA only or IDE interface.
PS/2 keyboard - because it works on all Operating Systems and that is all you need to install every OS. You can even use a PS/2 to USB Keyboard adapter which works the same.
In my case I use a 5 Pin DIN to PS/2 to PS/2 port adapter with an old IBM AT keyboard. It doesn't matter if it is 5 PIN DIN or USB as long as it is connected to the PS/2 port.
No need to deal with USB ports not working with the USB mouse properly. This is especially true with using Windows 98 when the cursor cannot be controlled.
These tools should be needed for any user who is new to XP to complete it. It's more straightforward and if you can't afford these tools then maybe you should create your own thread page to help assist for a pure USB XP install method that you believe in so much. Write up the best installer program and version#, download link to that program that works inside Windows 98SE or 2000 and can create a USB XP installer from scratch to any USB device.
From what I have seen and tested most only work in Windows 7 or Windows 10 to use this program. The older XP versions might corrupt the USB flash drive in my own tests as I lost a 4GB flash drive that cannot be restored or worse accidentally corrupt another USB external drive that is still connected in my case a 2TB external USB drive. So if you can guarantee a fool proof USB XP Installer program that can work inside Windows 2000, XP, and 2003 and not need Vista, Windows 7, or 8.X, or 10 to generate the full USB XP OS installer I want you to write it up in a new thread with all the details so you can take credit for it. That way if any problems you can answer how to fix it since you have more experience dealing with USB installers than most of us. I found many problems which I listed above so this will be helpful if your statement is that strong on this you should create it.
Other USB problems:
How would you install XP onto a laptop missing USB ports or all defective?
How would you install XP on a SkyLake, Kaby Lake, or Coffee Lake Laptop or tablet with just 1 USB port that does NOT have USB 2.0 ports but only Intel USB 3.0 ports?
SATA IDE Compatibility mode:
Z87 and Z97 support this SATA IDE Compatibility mode. This is not the IDE 40 Pin controller on the motherboard. You are using SATA only ports and SATA storage devices.
I hope you understand this and if you do if you are saying it is not possible to transfer and copy the BIOS storage module from one generation over to Z170 BIOS to do a test then explain why it would not work or why not even try to see what happens? I can do the testing since I have two BIOS sockets to attempt any BIOS testing or if you can show how to transfer the Storage Module from one chipset to another I will attempt the testing.
Is it more than just the code that has been removed in SkyLake+?
Why does this still work on Z87 and Z97 and not in Z170 if you understand it well enough to explain in more detail than good luck response which isn't helpful?

#185

XPLives

Dietmar,
I have tried that method (cc_010601) in an earlier test a few weeks ago it does not work before I stopped because it is a "Compatible IDs".
Mov AX, 0xDEAD
( pci\cc_0106) should work as uni solution, but probably only for intel chipsets because iastor.sys
This method ( pci\cc_0106) I also tried this a few weeks ago before stopping the tests to emulate how Vista method works but also failed.
The reason is CC_0106 is not visible to XP because it is a "Compatible IDs" and the driver only sees "Hardware IDs" in XP during boot.
Since Hardware IDs are not common among all the Intel SATA Controllers you cannot do a global detection.
That is why Vista can do it natively since CC_106 exists on all Intel SATA controllers and Vista+ is programmed to accept "Compatible IDs" not just "Hardware IDs". If there is a way to brute force XP code to accept "Compatible IDs" for Boot storage device than this will work for all Intel SATA and can be made for all AMD SATA as well.

#186

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #184

> @Mov AX, 0xDEAD
> Is it more than just the code that has been removed in SkyLake+?
> Why does this still work on Z87 and Z97 and not in Z170 if you understand it well enough to explain in more detail than good luck response which isn't helpful?

Intel's PCH specification on 100+ series chipsets:
The PCH SATA controller support two modes of operation, AHCI mode using memory
space and RAID mode. The PCH SATA controller no longer supports IDE legacy mode
using I/O space. Therefore, AHCI software is required.
IviBridge/SandyBridge/etc:
Standard ATA Emulation
The PCH contains a set of registers that shadow the contents of the legacy IDE
registers. The behavior of the Command and Control Block registers, PIO, and DMA
data transfers, resets, and interrupts are all emulated.

#187

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #185

> This method ( pci\cc_0106) I also tried this a few weeks ago before stopping the tests to emulate how Vista method works but also failed.
> The reason is CC_0106 is not visible to XP because it is a "Compatible IDs" and the driver only sees "Hardware IDs" in XP during boot.
> Since Hardware IDs are not common among all the Intel SATA Controllers you cannot do a global detection.
> That is why Vista can do it natively since CC_106 exists on all Intel SATA controllers and Vista+ is programmed to accept "Compatible IDs" not just "Hardware IDs". If there is a way to brute force XP code to accept "Compatible IDs" for Boot storage device than this will work for all Intel SATA and can be made for all AMD SATA as well.

one of compatible id for intel works in xp without any hacks, my setup in TXTSETUP.SIF (windows xp sp1 32 bit):
[HardwareIdsDatabase]
PCI\VEN_8086&CC_0104 = "IaStor"
PCI\VEN_8086&CC_0106 = "IaStor"
tested on ivybridge and skylake, all works well, setup phase see all disks

#188

diderius6

I noticed,
when you set in Bios, Acpi FACP table flag
HARDWARE_REDUCED_ACPI to 1 (enable)
Win 10 64 bit cries on next start: Problems with Acpi..
So this simple means, Win 10 is more prickly
with Acpi than XP, brrr..
Dietmar
Edit: When I set back this flag to 0,
all is ok and Win 10 starts normal with the modded Bios
from Elmor. So I have XP 32 bit with full Acpi (16 threads), sound, USB 3.1 via Asmedia, booting from Samsung 970 pro nvme.
And Win 10 64 bit on the same compi with 9900k cpu.
3d mark 2001 is more than 25 % faster on XP than on win10^^.
Prime95 shows on XP with 16 threads after 20 min 54 degrees max Temperature
and on Win10 55 degrees. Hm, for what I need win10?!

#189

XPLives

⇗ @Mov AX, 0xDEAD
Where are you placing your TXTSETUP.SIF? Are you using this only for new XP setup?
I have a similar one for installing Z68, Z170, Z370. This only could be used for installing XP onto one machine but not migrate.
After XP is installed in SATA AHCI on SkyLake you then move the hard drive / SSD to the Ivy Bridge computer and try booting in SATA AHCI mode it should do BSOD 7B or a Reboot Loop.
Try testing that and you will find it does not do universal SATA AHCI detection moving the drive with XP already installed one one system with a different chipset.
That is why IDE or SATA IDE Mode will work between multiple chipsets without a problem.

#190 | XPLives | Dietmar, Hmmm... I wonder if Windows 10's newer updates causing it? Try installing the first Windows 10 release? Anniversary and later versions known to break compatibility with older programs. Spectre and Meltdown patch also. My SkyLake worked with Windows 10 Anniversary Edition with ACPI, with XP - NO ACPI, Vista, and Windows 7 with ACPI.

#191

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #189

> This only could be used for installing XP onto one machine but not migrate.
> After XP is installed in SATA AHCI on SkyLake you then move the hard drive / SSD to the Ivy Bridge computer and try booting in SATA AHCI mode it should do BSOD 7B or a Reboot Loop.

why you need install first on skylake and then copy on ivy ? why not install on ivy natively ?
there are too many diff chipsets (non-intel including), where os will get bsod

#192

Mov AX, 0xDEAD

> Zitat von ⇗ XPLives im Beitrag ¶ #189

> @Mov AX, 0xDEAD
> Where are you placing your TXTSETUP.SIF? Are you using this only for new XP setup?

for texmode setup phase
for gui phase need usual *.inf

#193

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #188

> 3d mark 2001 is more than 25 % faster on XP than on win10^^.

try post 2001 games, more fps in vista+, starcraft 2, dishonored...

#194

diderius6

⇗ @Mov AX, 0xDEAD
"boot acpi table patcher like chameleon&clover"
I heard some times ago about a tool for XP,
for to test Acpi compability for new Bios.
This would be really nice, to have a test tool for Acpi compability XP,
like Qemu,
Dietmar
PS: Interesting would be, if DSDT alone makes or destroys Acpi compability in XP.
I come to the idea, because I found in DSDT for the Apex IX board an extra entry,
when I compare it with the nearly identic DSDT table for the Asrock k6 board.

Apex IX

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Local0 = GPCL ()
                    If ((OSYS >= 0x07D9))
                    {
                        CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                        PBMX = ((Local0 >> 0x14) - 0x02)
                        CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
                        PBLN = ((Local0 >> 0x14) - One)
                    }
                    Else
                    {
                        CreateWordField (XBUF, \_SB.PCI0._Y01._MAX, PBM2)  // _MAX: Maximum Base Address
                        PBM2 = ((Local0 >> 0x14) - 0x02)
                        CreateWordField (XBUF, \_SB.PCI0._Y01._LEN, PBL2)  // _LEN: Length
                        PBL2 = ((Local0 >> 0x14) - One)
                    }

Asrock k6

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Local0 = GPCL ()
                    CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                    PBMX = ((Local0 >> 0x14) - 0x02)
                    CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
                    PBLN = ((Local0 >> 0x14) - One)

#195

diderius6

I tried to generate an XP friendly DSDT table,
with the disassembler command from a version of iasl from 2012.
iasl -2 -d 320.raw
But then I get a strange message
"Could not parse ACPI tables, AE_ALREADY_EXISTS"
This looks, if there is the belonging *.dsl file,
but it isnt
Dietmar

## Page 14

#196

diderius6

Boottime is 5 sec
for XP SP3 on Asus Apex X
have a nice day
Dietmar
PS: I install XP direct from CD to the nvme disk:))!
diderius6 has attached images to this post ⇗ XPSP3Acpiboot970pro.jpg

#197

Mov AX, 0xDEAD

> Zitat

> CPU in C0 power state 50-60% of time even without cpu load, unresolved

I think because cpu0cst acpi table declare only MWAIT way to halt processor, old HLT doesnt work
If i disable mwait cpu's support in bios, even win7 cannot enter c1+ states

#198 | diderius6 | Interesting would be also, if it is possible to build an generic DSDT table for XP SP3, with minimal entries, Dietmar

#199

Mov AX, 0xDEAD

i've played with win8 and power states:
cpu C1 - works
acpi C2 - broken
acpi C3 - broken
cpu MWAIT - works (enter only C7s and C10)
seems _CST/_OSC/xxx tables contain only mwait correct states, remains are broken.
p.s. very simple implementation of mwait in Haiku OS:

    int dummy;
    monitor(&dummy, 0, 0);
    mwait(sCStates[state].fCode | subState, MWAIT_INTERRUPTS_BREAK);

where "state" is selected from C1 to C10

#200

Mov AX, 0xDEAD

> Zitat

> CPU in C0 power state 50-60% of time even without cpu load, unresolved

Resolved, now C0 is about zero
Solution: forced to use C1 idle state only, need custom intelppm.sys
⇗

#201

diderius6

⇗ @Mov AX, 0xDEAD
I read from Acpi specification,
that only C0 and C1 have to be implemented.
Have you tried to change energy-options in XP and look what happens?
Some time ago I hear, that when you chose there "laptop",
that XP installed less devices via Acpi.
Still I am looking for a minimal DSDT for XP.
Is it enough, to change all Acpi tables from one XP-Acpi friendly bios Bios to another Acpi unfriendly Bios?
The most important question for the beginning is, where stays all the information about numerating
and setting the PCI devices, that are called via acpi. And what is the minimal list for those Acpi-pci devices.
Will this work? May be yes, because without any Acpi this tables are ignored.
Dietmar
PS: Here are the installations files for nvme.
Integrate them in XP installations CD via nlite.
After txt setup you have to copy storport.sys to windows\system32\drivers,
because you will see BSOD 0x7B, because XP does not copy this file for strange reasons during
install.
Until now, I do not see anyone, who succeed with this in XP SP3 32 bit, only me.
But it works!
You also can install them via *.inf on running XP, dont forget to copy storport.sys to windows\system32\drivers
and at once you will see your nvme disk, no matter what brand.
diderius6 has attached files to this post

- ⇗ nvme.rar

#202

diderius6

Hi,
I just noticed, that acpi.sys in XP posready 2009
is 5.2.3790.1830, which means win2003 version.
There are big differences between XP and win2003 in Acpi,
for example win2003 does not look at the registry for the Acpi tables
but XP does
Dietmar
EDIT: Install of XP posready 2009 on the Asrock k6 board gives
the same BSOD 0xA5 on the modded Bios, like real XP SP3.
So, something is not ok with the Acpi tables in settings PCI resources
in my modded DSDT table.

#203

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #201

> @Mov AX, 0xDEAD
> I read from Acpi specification,
> that only C0 and C1 have to be implemented.
> Have you tried to change energy-options in XP and look what happens?
> Some time ago I hear, that when you chose there "laptop", that XP installed less devices via Acpi.

C2&C3 also implemented
c1 is two cpu instructions "sti then halt", с2, с3 is external acpi controlled logic.
energy options affect speedshift/c1e, so cpu will down clock or not, i dont see any other changes
p.s. again, we have broken acpi hardware/bios support in skylake+

#204

Mov AX, 0xDEAD

i've played with 2nd variant, cpu and package enter more deeper states then c1:
C1->C1
broken acpi C2->mwait C7s
broken acpi C3->mwait C10
⇗
Now power states transitions look like win7+ )

#205

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #202

> Hi,
> I just noticed, that acpi.sys in XP posready 2009
> is 5.2.3790.1830, which means win2003 version.
> There are big differences between XP and win2003 in Acpi,
> for example win2003 does not look at the registry for the Acpi tables
> but XP does

it is still acpi 1.1b implemenation and 32 bit integers, no big diff for me

#206 | diderius6 | I just noticed, that the driver on the posready 2009 CD acpi.sys is 5.2.3790.1830 which is really different but after install it shows, that it is changed to 100% to the acpi.sys driver from XP SP3 5.1.2600.5512 Dietmar

#207

diderius6

Hi,
I extracted all 23 (!) Acpi tables via rw-everything from the XP-friendly Bios
from Elmor from the Asus Apex X motherboard.
The same I will do for the Acpi tables from the asrock fatal1ty z370 gaming k6 board.
First then I make a short compare with each other.
After this I replace one by one of the tables from the Apex board to the Bios of the Asrock
via Uefi tool.
Dont know, if this has a chance to work for XP Acpi on the Asrock board,
Dietmar

#208

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #207

> Hi,
> I extracted all 23 (!) Acpi tables via rw-everything from the XP-friendly Bios
> from Elmor from the Asus Apex X motherboard.

I saw this bios, it is unusual, for diff OSes it create diff resource templates (XBUF vs BUF0) and rename fields, for winxp it select template without QWORDmemory region

#209 | Mov AX, 0xDEAD | Dietmar, can you check c-states statistics on your cpu/mb combination ? p.s. i only know "throttlestop utility" to display such info

#210

diderius6

I think, the change of all the Acpi tables on the Asrock board
is not a good idea. 23 tables for Asus Apex and 26 tables for Asrock.
Because there is no flash back, you can desolder the chip,
when something goes wrong.
Desoldering would be not a problem,
I have this Bios chip here in fresh.
But I do not succeed to make an backup from all content of this Bios chip from Asrock
Dietmar
PS: I try "throttlestop utility" on the Apex X xp-friendly board.

## Page 15

#211

diderius6

I do not find a working version of throttlestop for 9900k under XP.
The last version 8.4.8.0, which works for XP, shows: cpu not supported
Dietmar
EDIT: I found vers. 8.505.
The exe file I copied to folder of version 8.7
and voila, works:)).
diderius6 has attached images to this post ⇗ throttle1.jpg ⇗ throttle2.jpg

#212

diderius6

I try a new way:)).
The error message from Windbg told,
that there is a ressource conflict between
PCI list via Acpi (somewhere in CRS_) and the list in Bios (without any acpi?) E820.
Small hack in acpi.sys using Ida pro looking for the string "ACPIRangeValidatePciResources"
and when it is not a real conflict, then this is all
Dietmar

#213

diderius6

E820 from Apex board

    Range       Address             Length          Type
    0	0000000000000000  000000000009C400  1:Available
    1	000000000009C400  0000000000003C00  2:Reserved
    2	00000000000E0000  0000000000020000  2:Reserved
    3	0000000000100000  000000008004E000  1:Available
    4	000000008014E000  0000000000001000  4:ACPI NVS
    5	000000008014F000  0000000000001000  2:Reserved
    6	0000000080150000  000000000CCF8000  1:Available
    7	000000008CE48000  00000000018EA000  2:Reserved
    8	000000008E732000  0000000000043000  3:ACPI Reclaim
    9	000000008E775000  00000000003F2000  4:ACPI NVS
    10	000000008EB67000  0000000000C3B000  2:Reserved
    11	000000008F7A2000  000000000005E000  1:Available
    12	0000000100000000  000000076F000000  1:Available
    13	000000008F800000  0000000000800000  2:Reserved
    14	00000000E0000000  0000000010000000  2:Reserved
    15	00000000FE000000  0000000000011000  2:Reserved
    16	00000000FEC00000  0000000000001000  2:Reserved
    17	00000000FED00000  0000000000001000  2:Reserved
    18	00000000FEE00000  0000000000001000  2:Reserved
    19	00000000FF000000  0000000001000000  2:Reserved

E820 from the asrock board

     Range       Address             Length          Type
    0	0000000000000000  000000000009C400  1:Available
    1	000000000009C400  0000000000003C00  2:Reserved
    2	00000000000E0000  0000000000020000  2:Reserved
    3	0000000000100000  0000000076873000  1:Available
    4	0000000076973000  0000000000001000  4:ACPI NVS
    5	0000000076974000  0000000000001000  2:Reserved
    6	0000000076975000  0000000005AEF000  1:Available
    7	000000007C464000  0000000001A1A000  2:Reserved
    8	000000007DE7E000  0000000000132000  1:Available
    9	000000007DFB0000  00000000003D5000  4:ACPI NVS
    10	000000007E385000  0000000000C79000  2:Reserved
    11	000000007EFFE000  0000000000001000  1:Available
    12	0000000100000000  000000076F000000  1:Available
    13	000000007EFFF000  0000000011001000  2:Reserved
    14	00000000E0000000  0000000010000000  2:Reserved
    15	00000000FE000000  0000000000011000  2:Reserved
    16	00000000FEC00000  0000000000001000  2:Reserved
    17	00000000FED00000  0000000000001000  2:Reserved
    18	00000000FEE00000  0000000000001000  2:Reserved
    19	00000000FF000000  0000000001000000  2:Reserved

    Error on Asrock board at 89a839d0, The ACPI Extension for the PCI bus, Pointer to E820 list

    Fatal System Error: 0x000000a5
    (0x00000002,0x89A839D0,0xE134F008,0x898ADCA8)

#214

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #211

> I do not find a working version of throttlestop for 9900k under XP.
> and voila, works:)).

"works by default"
very interesting why on gigabyte h110 acpi c2&c3 is broken in any OS

#215

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #212

> Small hack in acpi.sys using Ida pro looking for the string "ACPIRangeValidatePciResources"
> and when it is not a real conflict, then this is all

yes , it is possible, but better to step debug all ACPIRangeValidatePciResources, proc in not big
hint: probably cmp al,1 - compare by resource type, 2 - irq 3 - mem 1 - i/o port
E820 is just list of mem regions free/reserved, i dont understand how this list linked to pci mem resources or acpi mem resources
e820 reported by bios int15 to windows loader
acpi mem resources reported by enumeratung all devices in acpi code and call "_crs" to each
pci mem resources reported by enumerating all devices on pci bus (but only if driver loaded and device enabled i think)

#216

diderius6

I think, if a region in the list of e820 is marked as reserved
and Acpi wants to put a pci device there,
exact this crash 0xA5, 0x02,.. happens,

    typedef struct _ACPI_BIOS_MULTI_NODE {
        PHYSICAL_ADDRESS    RsdtAddress;    // 64-bit physical address of RSDT
        ULONGLONG           Count;
        ACPI_E820_ENTRY     E820Entry[1];
    } ACPI_BIOS_MULTI_NODE, *PACPI_BIOS_MULTI_NODE;

Dietmar
PS: Is it possible to edit the e820 list by hand?
EDIT: It seems, that acpi.sys from XP SP3 only looks for
RSDT, DSDT, FADT, FACS tables.
EDIT2: I found, that the e820 table in win7 is a little bit different from that in XP.

#217

diderius6

The only difference in the allocation of memory via _crs
between the Apex and the Asrock Bios is,
that on the Apex board the declaration for high memory (64 bit) is missed for OSYS <0x07D9
(XP, Vista)

                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                        0x0000000000000000, // Granularity
                        0x0000000000010000, // Range Minimum
                        0x000000000001FFFF, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000000000010000, // Length

#218

diderius6

Hm, may be this is important:
Via this way I think, XP comes in contact with the reserved word CreateQWordField,
because the if else construction is not correct in the Bios from Gigabyte and Asrock,
only on Apex board:

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Local0 = GPCL ()
                    CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                    PBMX = ((Local0 >> 0x14) - 0x02)
                    CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
                    PBLN = ((Local0 >> 0x14) - One)
                    If ((OSYS >= 0x07D6))
                    {
                        If ((M64L == Zero))
                        {
                        CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)  // _LEN: Length
                        MSLN = Zero
                    }
                    Else
                    {
                        CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)  // _LEN: Length
                        CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)  // _MIN: Minimum Base Address
                        CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)  // _MAX: Maximum Base Address
                        M2LN = M64L /* External reference */
                        M2MN = M64B /* External reference */
                        M2MX = ((M2MN + M2LN) - One)
                        }
                    }

                    Return (BUF0) /* \_SB_.PCI0.BUF0 */
                }

#219

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #216

> PS: Is it possible to edit the e820 list by hand?

no, list generated by int15h handler in 16bit asm code
but you can compare parsing result in xp and vista+ acpi.sys (ACPIRangeValidatePciResources)
seems in xp very strict checking

#220 | diderius6 | May be I found the reason, why they introduce xbuf on the Apex board: The word QWordMemory is a reserved word. And it stands in buf0 but not in xbuf so XP can meet it on 64 bit Bios Dietmar

#221

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #218

> Hm, may be this is important:
> Via this way I think, XP comes in contact with the reserved word CreateQWordField,
> because the if else construction is not correct in the Bios from Gigabyte and Asrock,
> only on Apex board:

>                         If ((OSYS >= 0x07D6))
>                         {
>                           If ((M64L == Zero))
>                            {
>                             CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)  // _LEN: Length
>                             MSLN = Zero

maybe this is problem too, on ivy this part is right:

     If (((MM64 == Zero) || (OSYS <= 0x07D3)))
                    {
                        CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)  // _LEN: Length
                        MSLN = Zero
                    }

M64L/MM64 is field meaning 64-bit OS or 64 access
|| - logical OR
so on ivy _Y0F under xp is still qword template, but we create only DWORD field
on skylake+ under xp acpi skip declaring lengh of resource because "If ((OSYS >= 0x07D6))" skipped

#222 | Mov AX, 0xDEAD | _yof is empty resource, even on win7 64, so lengh is always zero and this is not source of problem: ⇗

#223

diderius6

Hi,
I found with Ida pro and the acpi.pdb original file for my acpi.sys

>     ACPIRangeValidatePciResources(x,x)    .text 0001DF92 0000013A R . . . B T .

>     .text:0001DF92 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
>     .text:0001DF92
>     .text:0001DF92 ; Attributes: bp-based frame
>     .text:0001DF92
>     .text:0001DF92 ; int __stdcall ACPIRangeValidatePciResources(int,ULONG_PTR BugCheckParameter2,int)
>     .text:0001DF92 _ACPIRangeValidatePciResources@8 proc near

>     .text:0001DF92 ; CODE XREF: ACPIBusIrpQueryResources(x,x)+10D p
>     .text:0001DF92                                         ; ACPIBusIrpQueryResourceRequirements(x,x)+10B
>     p ...
>     .text:0001DF92
>     .text:0001DF92 var_18          = dword ptr -18h
>     .text:0001DF92 BugCheckParameter4= dword ptr -14h
>     .text:0001DF92 var_10          = dword ptr -10h
>     .text:0001DF92 var_C           = dword ptr -0Ch
>     .text:0001DF92 var_8           = dword ptr -8
>     .text:0001DF92 var_1           = byte ptr -1
>     .text:0001DF92 BugCheckParameter2= dword ptr  8
>     .text:0001DF92 arg_8           = dword ptr  0Ch
>     .text:0001DF92
>     .text:0001DF92                 mov     edi, edi
>     .text:0001DF94                 push    ebp
>     .text:0001DF95                 mov     ebp, esp
>     .text:0001DF97                 sub     esp, 18h
>     .text:0001DF9A                 push    ebx
>     .text:0001DF9B                 mov     ebx, [ebp+arg_8]
>     .text:0001DF9E                 push    esi
>     .text:0001DF9F                 xor     esi, esi
>     .text:0001DFA1                 cmp     ebx, esi
>     .text:0001DFA3                 mov     [ebp+var_8], esi
>     .text:0001DFA6                 jnz     short loc_1DFB0
>     .text:0001DFA8                 push    esi
>     .text:0001DFA9                 push    2
>     .text:0001DFAB                 jmp     loc_1E0AB
>     .text:0001DFB0 ; ---------------------------------------------------------------------------
>     .text:0001DFB0

>     .text:0001DFB0 loc_1DFB0: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+14 j
>     .text:0001DFB0                 lea     eax, [ebp+var_18]
>     .text:0001DFB3                 push    eax
>     .text:0001DFB4                 call    _OSReadAcpiConfigurationData@4 ; OSReadAcpiConfigurationData(x)
>     .text:0001DFB9                 test    eax, eax
>     .text:0001DFBB                 jl      loc_1E0C6
>     .text:0001DFC1                 mov     eax, [ebp+var_18]
>     .text:0001DFC4                 add     eax, 28h
>     .text:0001DFC7                 cmp     [ebx+1Ch], esi
>     .text:0001DFCA                 push    edi
>     .text:0001DFCB                 mov     [ebp+BugCheckParameter4], eax
>     .text:0001DFCE                 lea     edi, [ebx+20h]
>     .text:0001DFD1                 mov     [ebp+var_10], esi
>     .text:0001DFD4                 jbe     loc_1E0BB
>     .text:0001DFDA

>     .text:0001DFDA loc_1DFDA: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+10A j
>     .text:0001DFDA                 cmp     [edi+4], esi
>     .text:0001DFDD                 mov     [ebp+var_C], esi
>     .text:0001DFE0                 jbe     loc_1E089
>     .text:0001DFE6                 lea     esi, [edi+14h]
>     .text:0001DFE9

>     .text:0001DFE9 loc_1DFE9: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+EF j
>     .text:0001DFE9                 mov     al, [esi-0Bh]
>     .text:0001DFEC                 cmp     al, 1
>     .text:0001DFEE                 mov     [ebp+var_1], al
>     .text:0001DFF1                 jz      short loc_1DFF7
>     .text:0001DFF3                 cmp     al, 3
>     .text:0001DFF5                 jnz     short loc_1E03E
>     .text:0001DFF7

>     .text:0001DFF7 loc_1DFF7: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+5F j
>     .text:0001DFF7                 mov     eax, [esi+0Ch]
>     .text:0001DFFA                 sub     eax, [esi+4]
>     .text:0001DFFD                 mov     ecx, [esi+10h]
>     .text:0001E000
>     .text:0001E000 loc_1E000:                              ; DATA XREF: ACPIBuildThermalZoneExtension(x,x,x)+163↑o
>     .text:0001E000                                         ; ACPIDispatchAddDevice(x,x)+16D↑o
>     .text:0001E000                 sbb     ecx, [esi+8]
>     .text:0001E003                 mov     edx, [esi-4]
>     .text:0001E006                 add     eax, 1
>     .text:0001E009                 adc     ecx, 0
>     .text:0001E00C                 xor     ebx, ebx
>     .text:0001E00E                 cmp     eax, edx
>     .text:0001E010                 jnz     short loc_1E016
>     .text:0001E012                 cmp     ecx, ebx
>     .text:0001E014                 jz      short loc_1E01C
>     .text:0001E016

>     .text:0001E016 loc_1E016: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+7E j
>     .text:0001E016                 inc     [ebp+var_8]
>     .text:0001E019                 mov     [esi-4], eax
>     .text:0001E01C

>     .text:0001E01C loc_1E01C: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+82 j
>     .text:0001E01C                 cmp     dword ptr [esi], 0
>     .text:0001E01F                 jnz     short loc_1E02A
>     .text:0001E021                 inc     [ebp+var_8]
>     .text:0001E024                 mov     dword ptr [esi], 1
>     .text:0001E02A

>     .text:0001E02A loc_1E02A: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+8D j
>     .text:0001E02A                 mov     eax, [esi]
>     .text:0001E02C                 mov     ebx, [ebp+arg_8]
>     .text:0001E02F                 dec     eax
>     .text:0001E030                 test    [esi+4], eax
>     .text:0001E033                 jz      short loc_1E03E
>     .text:0001E035                 inc     [ebp+var_8]
>     .text:0001E038                 mov     dword ptr [esi], 1
>     .text:0001E03E

>     .text:0001E03E loc_1E03E: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+63 j

>     .text:0001E03E ; ACPIRangeValidatePciResources(x,x)+A1 j
>     .text:0001E03E                 cmp     [ebp+var_1], 6
>     .text:0001E042                 jnz     short loc_1E05F
>     .text:0001E044                 mov     eax, [esi+4]
>     .text:0001E047                 sub     eax, [esi]
>     .text:0001E049                 mov     ecx, [esi-4]
>     .text:0001E04C                 inc     eax
>     .text:0001E04D                 xor     edx, edx
>     .text:0001E04F                 cmp     eax, ecx
>     .text:0001E051                 jnz     short loc_1E059
>     .text:0001E053                 xor     ecx, ecx
>     .text:0001E055                 cmp     ecx, edx
>     .text:0001E057                 jz      short loc_1E05F
>     .text:0001E059

>     .text:0001E059 loc_1E059: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+BF j
>     .text:0001E059                 inc     [ebp+var_8]
>     .text:0001E05C                 mov     [esi-4], eax
>     .text:0001E05F

>     .text:0001E05F loc_1E05F: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+B0 j

>     .text:0001E05F ; ACPIRangeValidatePciResources(x,x)+C5 j
>     .text:0001E05F                 cmp     [ebp+var_1], 3
>     .text:0001E063                 jnz     short loc_1E075
>     .text:0001E065                 lea     eax, [ebp+var_8]
>     .text:0001E068                 push    eax
>     .text:0001E069                 push    [ebp+BugCheckParameter4]
>     .text:0001E06C                 push    [ebp+var_C]
>     .text:0001E06F                 push    edi
>     .text:0001E070                 call    _ACPIRangeValidatePciMemoryResource@16 ; ACPIRangeValidatePciMemoryResource(x,x,x,x)
>     .text:0001E075

>     .text:0001E075 loc_1E075: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+D1 j
>     .text:0001E075                 inc     [ebp+var_C]
>     .text:0001E078                 mov     eax, [ebp+var_C]
>     .text:0001E07B                 add     esi, 20h
>     .text:0001E07E                 cmp     eax, [edi+4]
>     .text:0001E081                 jb      loc_1DFE9
>     .text:0001E087                 xor     esi, esi
>     .text:0001E089

>     .text:0001E089 loc_1E089: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+4E j
>     .text:0001E089                 mov     eax, [edi+4]
>     .text:0001E08C                 shl     eax, 5
>     .text:0001E08F                 inc     [ebp+var_10]
>     .text:0001E092                 lea     edi, [edi+eax+8]
>     .text:0001E096                 mov     eax, [ebp+var_10]
>     .text:0001E099                 cmp     eax, [ebx+1Ch]
>     .text:0001E09C                 jb      loc_1DFDA
>     .text:0001E0A2                 cmp     [ebp+var_8], esi
>     .text:0001E0A5                 jz      short loc_1E0BB
>     .text:0001E0A7                 push    [ebp+BugCheckParameter4] ; BugCheckParameter4
>     .text:0001E0AA                 push    ebx             ; BugCheckParameter3
>     .text:0001E0AB

>     .text:0001E0AB loc_1E0AB: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+19 j
>     .text:0001E0AB                 push    [ebp+BugCheckParameter2] ; BugCheckParameter2
>     .text:0001E0AE                 push    2               ; BugCheckParameter1
>     .text:0001E0B0                 push    0A5h            ; BugCheckCode
>     .text:0001E0B5                 call    ds:__imp__KeBugCheckEx@20 ; __declspec(dllimport) KeBugCheckEx(x,x,x,x,x)
>     .text:0001E0BB

>     .text:0001E0BB loc_1E0BB: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+42 j

>     .text:0001E0BB ; ACPIRangeValidatePciResources(x,x)+113 j
>     .text:0001E0BB                 push    esi
>     .text:0001E0BC                 push    [ebp+var_18]
>     .text:0001E0BF                 call    ds:__imp__ExFreePoolWithTag@8 ; __declspec(dllimport) ExFreePoolWithTag(x,x)
>     .text:0001E0C5                 pop     edi
>     .text:0001E0C6

>     .text:0001E0C6 loc_1E0C6: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+29 j
>     .text:0001E0C6                 pop     esi
>     .text:0001E0C7                 pop     ebx
>     .text:0001E0C8                 leave
>     .text:0001E0C9                 retn    8
>     .text:0001E0C9 _ACPIRangeValidatePciResources@8 endp ; sp =  4
>     .text:0001E0C9

#224

Mov AX, 0xDEAD

    cmp [ebp+var_8], esi

this generate resource conflict if mismatch
ps. use Graph view, much better )

#225

diderius6

:-),
how can
cmp [ebp+var_8], esi
be set to be always true
thanks
Dietmar

## Page 16

#226 | diderius6 | Just delete this line "cmp [ebp+var_8], esi" and the compi always jump to "loc_1E0BB"? By the way, interesting, here you can see, how the BSOD 0xA5 is made;) Dietmar

#227

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #226

> Just delete this line "cmp [ebp+var_8], esi"
> and the compi always jump to "loc_1E0BB"?

replace jz(XXh) => jmp (EBh)

#228 | diderius6 | ⇗ @Mov AX, 0xDEAD Yesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaa::::)))) nice work together;)! Dietmar diderius6 has attached images to this post ⇗ yippppiieee.jpg
#229 | diderius6 | pm_timer on the Asrock board also does not work, only with customized hal switching to RTC clock, Dietmar
#230 | diderius6 | Hexeditor 75F87414FF75 -> 75F8EB14FF75

#231

diderius6

When you start with the normal, unmodded DSDT table and the new acpi.sys on the Asrock board
you get BSOD
0x000000A5 (0x00000011, 0x00000008, 0xB7B07200, 0x20160422)
Interesting, that the teedriver.sys (yellow questionmark) does not work on the Asrock board under win7.
May be, win7 has also problems with overlapping of Acpi PCI devices and the e820 table.
With XP, no yellow questionmark is now left for all systemdevices, stable, fast, nice:)), lan, sound, nvme, USB3.1, serial com1,
no extra pci-e card
Dietmar
EDIT: I am right: win7 is not able to ACPI Reclaim memory on the Asrock in e820 table, exact as XP. It may be a problem in main Bios.
The problem are the low numbers in the e820 table in Asrock board 0000000000100000 0000000076873000 1:Available
but Acpi asks for the same (higher) free memory as on the Apex board 0000000000100000 000000008004E000 1:Available

#232

diderius6

    000000008E732000  0000000000043000  3:ACPI Reclaim  on Apex board in e820

    with RSDT start ACPI Table Address   0 : 8E73F160

and for Asrock:

    000000007DFB0000  00000000003D5000  4:ACPI NVS on Asrock board in e820

     with RSDT start ACPI Table    ACPI Table Address   0 : 7DFB0180

which is just mixed NVS <->Reclaim, according to the following:
Type 3 "ACPI reclaimable" memory regions may be used like (and combined with) normal "available RAM" areas as long as you're finished using the ACPI tables that are stored there (i.e. it can be "reclaimed").
Types 2, 4, 5 (reserved, ACPI non-volatile, bad) mark areas that should be avoided when you are allocating physical memory.

#233

diderius6

And another strange thing on the Asrock board:
in RSDT ACPI Table Address 0 : 7DFB0180
in XSDT ACPI Table Address 0 : 000000007DFD9FA8
the other tables in RSDT, XSDT have identic numbers, only number 0 above not.
Nearly the same happens on the Apex board.
EDIT: Correct is always the value in the XSDT table.

#234

diderius6

With the customized acpi.sys I get on the Apex X board with newest Bios 1801
BSOD
0x000000A5 (0x00000011, 0x00000008, 0xB7AB6200, 0x20160422)
nearly the same as on the Asrock board.
This means, Asus gives up XP friendly Bios and now it has to be patched preventing reserved word from Acpi 2.0
exact like the Bios from Gigabyte, Asrock..
Dietmar
PS: I think, that now all DSDT tables can be made XP friendly!
EDIT: When I flash back to the Bios from Elmor for the Apex X board, the compi starts also with the customized acpi.sys, meaning new acpi.sys do nothing bad.

#235

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #234

> BSOD
> 0x000000A5 (0x00000011, 0x00000008, 0xB7AB6200, 0x20160422)

_ACPIInitializeDDB after calling _AMLILoadDDB
_AMLILoadDDB call "Load" of each table in rsdt list *imho*

#236

diderius6

⇗ @Mov AX, 0xDEAD
the 3. place in this BSOD is the Pointer to the table that ACPI failed to load.
Is it an generalic message, that any of the table(s) listet in RSDT have an error?
What does "ACPI failed to load" mean: checksum incorrect, table not at this place..
I do not find any related to the adress B7AB6200. In the e820 list this memory space is also not listet.
It is not an overlap in memory,
Dietmar
EDIT: I found with Ida pro, that for example checksum of table from RSDT failed before BSOD A5 (0x11..).

#237 | diderius6 | waaoh, full XP Acpi support with newest Bios 1801 on the APEX X board^^. And this without any modification of Bios, Dietmar diderius6 has attached images to this post ⇗ acpi3.jpg
#238 | diderius6 | 75F87414FF -> 75F8EB14FF 84C07508FF -> 84C0EB08FF 59597C21A1 -> 59597C00A1

#239

diderius6

On Compis,
with XP Acpi unfriendly Bios you still have to disable reserved words from Acpi2.0.
I tested this on my Asrock board with the original DSDT table.
Again I get the well known BSOD because of XP unknow words
0x000000A5 (0x00000003, xxxx, 0xС0140001, yyyy)
Dietmar

#240

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #238

> 84C07508FF77 -> 84C0EB08FF77
> 597C21A1FCE6 -> 597C00A1FCE6

you dont know what table generate error and what inside table is problem
skip error handling is not very good solution )

## Page 17

#241

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #236

> @Mov AX, 0xDEAD
> the 3. place in this BSOD is the Pointer to the table that ACPI failed to load.
> What does "ACPI failed to load" mean: checksum incorrect, table not at this place..
> I do not find any related to the adress B7AB6200. In the e820 list this memory space is also not listet.
> EDIT: I found with Ida pro, that for example checksum of table from RSDT failed before BSOD A5 (0x11..).

3rd argument can point to anything in RAM, it just hint to human (or some util) who save full memory dump
checksum error is a5 (0x11, 0x7), you have error with _AMLILoadDDB
maybe it load table, then parse aml codes, then do some else, who knows...

#242

diderius6

⇗ @Mov AX, 0xDEAD
I think, when you really want to know what is going on,
so to skip the error message is best what you can do,
because now you can use the full set of commands from windbg and amli.
In the real situation.
Before I was not able for example to have a look at the pcitree.
When I see, that on the Asrock board win7 also cant save memory for Acpi,
the situation is there the same as for xp.
What can happen bad? I think, the tables from Acpi have no influence to anything,
can be just deleted if they are loaded once. And the device works or not.
Dietmar
PS: Interesting, if there is a difference in the acpi.sys from xp, vista, win7, win8, win10
or if they are all nearly the same. The Bios is for all of them identic, also for Linux or Macintosh.
Real errors in the Acpi tables will appear everywhere. And xp can live without any Acpi.
All what gives those A5 BSODs here is a conflict between the Acpi in Bios and the "Acpi" from xp.
EDIT: I noticed, that on the Apex X board with the Bios 1801 for Apex X all works better than before with Bios mod from Apex IX.
This belongs to XP and win10, because now nothing is changed in Bios.
EDIT2: Have a look, how stupid acpi.sys looks at this Acpi tables: If the checksum for example is ok..
⇗ https://www.techrepublic.com/article/cor...ws-xp-machines/

#243

diderius6

I noticed a really crazy behavior on the Asrock board (called from rw-everything direct in Bios, because Acpi in XP at this time not works)
Before hack acpi.sys

    RSDT:

    [000h 0000   4]                    Signature : "RSDT"    [Root System Description Table]
    [004h 0004   4]                 Table Length : 00000078
    [008h 0008   1]                     Revision : 01
    [009h 0009   1]                     Checksum : 46
    [00Ah 0010   6]                       Oem ID : "ALASKA"
    [010h 0016   8]                 Oem Table ID : "A M I "
    [018h 0024   4]                 Oem Revision : 01072009
    [01Ch 0028   4]              Asl Compiler ID : "MSFT"
    [020h 0032   4]        Asl Compiler Revision : 00010013

    [024h 0036   4]       ACPI Table Address   0 : 7DFB0180
    [028h 0040   4]       ACPI Table Address   1 : 7DFDA0C0
    [02Ch 0044   4]       ACPI Table Address   2 : 7DFDA128
    [030h 0048   4]       ACPI Table Address   3 : 7DFDA170
    [034h 0052   4]       ACPI Table Address   4 : 7DFDA210
    [038h 0056   4]       ACPI Table Address   5 : 7DFDA250
    [03Ch 0060   4]       ACPI Table Address   6 : 7DFDA5F8
    [040h 0064   4]       ACPI Table Address   7 : 7DFDD760
    [044h 0068   4]       ACPI Table Address   8 : 7DFDD798
    [048h 0072   4]       ACPI Table Address   9 : 7DFDE450
    [04Ch 0076   4]       ACPI Table Address  10 : 7DFDE498
    [050h 0080   4]       ACPI Table Address  11 : 7DFDFC48
    [054h 0084   4]       ACPI Table Address  12 : 7DFDFF28
    [058h 0088   4]       ACPI Table Address  13 : 7DFDFFC0
    [05Ch 0092   4]       ACPI Table Address  14 : 7DFE0108
    [060h 0096   4]       ACPI Table Address  15 : 7DFE0620
    [064h 0100   4]       ACPI Table Address  16 : 7DFE0910
    [068h 0104   4]       ACPI Table Address  17 : 7DFE0948
    [06Ch 0108   4]       ACPI Table Address  18 : 7DFE09A0
    [070h 0112   4]       ACPI Table Address  19 : 7DFE0A48
    [074h 0116   4]       ACPI Table Address  20 : 7DFE0A80

    Raw Table Data: Length 120 (0x78)

After hack and XP writes to its registry (means build new (!))

    RSDT

    Signature	"RSDT"
    Length	0x00000078 (120)
    Revision	0x01 (1)
    Checksum	0xF2 (242)
    OEM ID	"ALASKA"
    OEM Table ID	"A M I "
    OEM Revision	0x01072009 (17244169)
    Creator ID	"MSFT"
    Creator Revision	0x00010013 (65555)
    Entry0	0x8E7DC180 (FACP)
    Entry1	0x8E8050B0 (APIC)
    Entry2	0x8E805118 (FPDT)
    Entry3	0x8E805160 (FIDT)
    Entry4	0x8E805200 (MCFG)
    Entry5	0x8E805240 (SSDT)
    Entry6	0x8E8055E8 (SSDT)
    Entry7	0x8E808750 (SSDT)
    Entry8	0x8E80AD48 (HPET)
    Entry9	0x8E80AD80 (SSDT)
    Entry10	0x8E80BA38 (UEFI)
    Entry11	0x8E80BA80 (SSDT)
    Entry12	0x8E80D230 (AAFT)
    Entry13	0x8E80D510 (LPIT)
    Entry14	0x8E80D5A8 (SSDT)
    Entry15	0x8E80D6F0 (SSDT)
    Entry16	0x8E80DC08 (SSDT)
    Entry17	0x8E80DEF8 (DBGP)
    Entry18	0x8E80DF30 (DBG2)
    Entry19	0x8E80DF88 (DMAR)
    Entry20	0x8E80DFF8 (WSMT)

The checksum changes and all adresses.
This simple means, in the fight of AcpiBios against XPAcpi,
XP ignores Bios and lift all adresses. The relation between tables changes also.
Dietmar
EDIT: This brings me to the idea, how to make any Bios XP Acpi friendly.
XP tells you, what to do:)!

#244 | diderius6 | On the Apex Board XP now generates with 3 steps modified acpi.sys also own new RSDT table, but very similar to RSDT table before, dictated from Bios. The pm_timer again not works. So this belongs to Bios, how it treats timer, Dietmar

#245

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #237

> waaoh,
> full XP Acpi support with newest Bios 1801 on the APEX X board^^.
> And this without any modification of Bios,
> Dietmar

can this be replicated for other boards?
I'm very interested in this.

#246 | diderius6 | yes
#247 | diderius6 | Recept on post 238 works also for english version of acpi.sys in XP SP3, XP SP2, XP SP1, XP SP0 (gold) Dietmar
#248 | diderius6 | 8700k needs good cooling, but in single core speed it is faster than 9900k Dietmar diderius6 has attached images to this post ⇗ 8700kAcpiAsrockXP.jpg

#249

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #243

> The checksum changes and all adresses.
> This simple means, in the fight of AcpiBios against XPAcpi,
> XP ignores Bios and lift all adresses. The relation between tables changes also.

I was wrong about _AMLILoadDDB, it load only one table - DSDT !
_AMLILoadDDB-> _LoadDDB->
-> _ValidateTable
-> _NewObjOwner
-> _PushCall
-> _PushScope
-> _SyncLoadDDB
one of subproc probably return nonzero => _AMLILoadDDB generate 0xA5 kernelfault
0x000000A5 (0x00000011, 0x00000008, 0xB7B07200, 0x20160422)
0x20160422 - Compiler Version
0xB7B07200 - pointer to DSDT in memory

#250

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #247

> Recept on post 238 works also for
> english version of acpi.sys in XP SP3, XP SP2, XP SP1, XP SP0 (gold)
> Dietmar

any chance i could get a copy of your acpi.sys mod to try out for myself?

#251

diderius6

Hi, it is german version, so it will not work.
Open with Hexeditor your acpi.sys
and look for Hex values in post 238,
change them
Dietmar
PS: I just succeed to slipstream with nlite boot CD,
installed XP SP3 direct to nvme disk on Asrock board.
Nice, full boottime is now 3 sec:)).

#252

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #251

> Hi, it is german version, so it will not work.
> Open with Hexeditor your acpi.sys
> and look for Hex values in post 238,
> change them
> Dietmar

OK, Thanks

#253

diderius6

⇗ @Mov AX, 0xDEAD
I just see,
that you updated your list for XP.
ACPI BSOD:
.......... 0xA5 (0x03, X, 0xС0140001, Z) ACPI 2.0 syntax, 99% solved (custom acpi.sys)
This acpi.sys I have not seen until now;)
Dietmar

#254

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #253

> This acpi.sys I have not seen until now;)

I dont plan public it yet, sorry

#255

diderius6

I have found already:)
Dietmar
EDIT: With Acpi A5 errors I solved all, only problem is now,
that my bootdevice is gone with BSOD 0x7B, I think most famous BSOD in history:)),
Dietmar
PS: Hm, what can make ACPI with underlying wrong DSDT table (reserved words from Acpi2.0), that the boot device is gone?
The boot device has to be rescued, other is unimportand. One step..
and 0xA5 Acpi error is history.
EDIT2: Oh, it seems to be nice antihack in acpi.sys from Microsoft, against people like me^^.

## Page 18

#256 | diderius6 | Hihi, I try other way:))..

#257

diderius6

XP SP3 words acpi

    Debug   XOr Wait    ToBCD   Subtract    Store   SizeOf  ShiftRight  ShiftLeft
    RefOf   B   Package OSI Or  ObjectType  Not NOr NAnd    Multiply
    CBCBCC  Match   LOr LNot    LLess   LGreater    LEqual  CC  LAnd
    Index   Increment   FromBCD FindSetRightBit CS  FindSetLeftBit  CCSS
    Divide  DerefOf Decrement   sS  CondRefOf   Concatenate Buffer  And CCS
    Add SW  Acquire While   Unload  Stall   Sleep   Signal  Return  Reset   S
       Release SC  Notify  NoOp    NS  Load    C   If  BDC Fatal   Else
    BreakPoint  Break   NBDB    NBW PowerResource   NBCC    OperationRegion
    Mutex   Method  NNB IndexField  NB  Field   Event   Device
    CreateWordField CCCN    CreateField CreateDWordField    CreateByteField
    CCN CreateBitField  NNCB    BankField   N   Scope   NO  Name    NN  Alias

Vista words acpi

    Debug   XOr Wait    ToString    ToInteger   ToHexString ToDecimalString ToBuffer
    ToBCD   Timer   Subtract    Store   SizeOf  ShiftRight  ShiftLeft   RefOf
    B   Package OSI Or  ObjectType  Not NOr NAnd    Multiply    Mod CCCS
    Mid CBCBCC  Match   LOr CCCCCC  LoadTable
    LNot    LLess   LGreater    LEqual  CC  LAnd    Index   Increment
    FromBCD FindSetRightBit FindSetLeftBit  CCSS    Divide  DerefOf
    Decrement   CS  CopyObject  sS  CondRefOf   ConcatenateResTemplate
    Concatenate Buffer  And CCS Add SW  Acquire While   Unload  Stall
    Sleep   Signal  Return  Reset   S   Release SC  Notify  NoOp    NS  Load
    C   If  BDC Fatal   Else    Continue    BreakPoint  Break
    NBDB    NBW PowerResource   NBCC    OperationRegion Mutex   Method  NNB
    IndexField  NB  Field   Event   Device  CreateWordField CCCN
    CreateField CreateQWordField    CreateDWordField    CreateByteField CCN
    CreateBitField  NNCB    BankField   N   Scope   NO  Name    NN  Alias

13 words, which amli interpreter has to learn
Dietmar

#258

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #257

> 13 words, which amli interpreter has to learn

14 QwordConst , it's not keyword, but it has own bytecode, some like var = 0x1111222233334444
15 DATA_REGION, 0x5b88 very rare not implemented

#259

diderius6

⇗ @Mov AX, 0xDEAD
in a first try I set only one reserved word "ToInteger" before word "Debug" in acpi.sys of XP.
Do you think it is possible?
My problem is, that there are 2 offsetvalues:

    .rdata:000348A4 aTointeger      db 'ToInteger',0        ; DATA XREF: .data:off_37820
    .rdata:000348AE                          align 10h

    .data:00037820 off_37820       dd offset aTointeger    ; DATA XREF: .data:00037BC4
    .data:00037820                                                       ; "ToInteger"
    .data:00037824                 db  99h ; Ö
    .data:00037825                 db    0
    .data:00037826                 db    0
    .data:00037827                 db    0

    .data:00037BC4                 dd offset off_37820

thanks a lot
Dietmar

#260

diderius6

YesssssssssssssssssssssssssaaaaaaahHHHHh:))
I succeed to integrate reserved word "ToInteger" in amli interpreter in acpi.sys
from XP SP3.
This is for me like I reach a new level,
what a crazy work,
Dietmar
PS: I understand, how the amli interpreter works and also, how it is implemented.
The test I did:
On the Asrock board I installed the original Bios. With acpistep3.sys I get there the
the BSOD for "reserved words"
0xA5 (0x03, X, 0xС0140001, Z)
Then I put in my modded DSDT table all the "ToInteger" words back, that I eliminated before.
And it boots:))!

#261

diderius6

CreateQWordField I cant integrate in acpi.sys of XP SP3 until now.
It seems, that the Interpreter amli from XP cant build an 64 Bit field.
Vista can, the version from Vista from May 2005 (Longhorn) also cant.
The error message BSOD has changed.
The remaining reserved words in DSDT, that you have to isolate by hand in DSDT
are now CreateQWordField , QWordMemory, CopyObject. This lasts about 5 min:)).
BSOD
0x000000A5 (0x00000003, X, 0xC0000034, Y)
Dietmar

#262

diderius6

Here are my DSDT tables for the Asrock fatal1ty z370 gaming k6 board.
Dsdt is original and DSDT2 is modded table, which works in XP SP3 with the acpi.sys driver
with only 3 small changes, as I write here before.
Not so much differences are left, when you take a look at.
Now I look at the C0, C1, C2.. states,
because I noticed, that 70 % of time the compi is in C0 state,
gives about 50 Watt without any load, brrr:)),
Dietmar
diderius6 has attached files to this post

- ⇗ XPDSDTasrockfatal1tyz370gamingk6.rar

#263

diderius6

Here is my try with Ida pro for reserved word CreateQwordField.
I did a nice hack, because its name is so long I
deleted ShiftRight and ShiftLeft in acpi.sys of XP SP3 (because they do not appear in Bios)
and connected them afterwards:)).
The values I take from Vista.

    .rdata:0002B7D8 aCreateqwordfie db 'CreateQWordField',0 ; DATA XREF:
    .data:off_2D190 o
    .rdata:0002B7E9                 db    0 <-- should be align 10h
    .rdata:0002B7EA                 db    0
    .rdata:0002B7EB                 db    0
    .rdata:0002B7EC                 db    0
    .rdata:0002B7ED                 db    0
    .rdata:0002B7EE                 db    0
    .rdata:0002B7EF                 db    0

    .data:0002D190                                         ; "CreateQWordField"
    .data:0002D194                 db  8Fh ; Å
    .data:0002D195                 db    0
    .data:0002D196                 db    0
    .data:0002D197                 db    0

    .data:0002D518                 dd offset off_2D190

#264

diderius6

Now I think,
it belongs to the integration of CreateQWordField
in acpi.sys from XP.
May be, I did something wrong (I noticed, that the "align" mark is gone,
and I got instead 7 zeros).
Or maybe, the amli Interpreter can not work at all
with 64 Bit
Dietmar
The driver acpi.sys with the integrated CreateQWordField shows BSOD,
even when no CreateQWordField is in the DSDT table.
This was other with integrated "ToInteger" reserved word in acpi.sys.
PS: It seems, that my Ida pro version can not generate *.sys files for XP. Is there a program, which can do this?

#265

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #264

> Now I think,
> it belongs to the integration of CreateQWordField
> in acpi.sys from XP.
> May be, I did something wrong (I noticed, that the "align" mark is gone,
> and I got instead 7 zeros).
> Or maybe, the amli Interpreter can not work at all
> with 64 Bit
> Dietmar
> The driver acpi.sys with the integrated CreateQWordField shows BSOD,
> even when no CreateQWordField is in the DSDT table.
> This was other with integrated "ToInteger" reserved word in acpi.sys.
> PS: It seems, that my Ida pro version can not generate *.sys files for XP. Is there a program, which can do this?

maybe try relyze to reassemble? - ⇗ https://www.relyze.com/overview.html
also, you might want to try CFF Explorer - ⇗ https://ntcore.com/?page_id=388
to realign the file and recalculate the checksums after you edit the file

#266

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #262

> Now I look at the C0, C1, C2.. states,
> because I noticed, that 70 % of time the compi is in C0 state,

welcome to club )
check pm

#267

diderius6

May be this hack will work:
DefCreateDWordField := CreateDWordFieldOp SourceBuff ByteIndex NameString
CreateDWordFieldOp := 0x8A
DefCreateQWordField := CreateQWordFieldOp SourceBuff ByteIndex NameString
CreateQWordFieldOp := 0x8F --> 0x8A
Dietmar
EDIT: Or even more easy, change in DSDT table
CreateQWordField --> CreateDWordField
This I will test now.
EDIT: Both ideas do not work on Asrock board.

#268

diderius6

⇗ @Mov AX, 0xDEAD
I do not take notice about the 70% in C0 state,
because I work with a Celeron.
There the powerconsumption is always low.
This changes a lot with 8700k.
It is like a test for good cooler;)
Dietmar

#269

diderius6

⇗ @Mov AX, 0xDEAD
This powerconsumption I like much more:))!
Very interesting, how you reached this, which programs you use.
I think it would be a whole course in programming
Dietmar
EDIT: ⇗ @Mov AX, 0xDEAD
Did you use this?
"You're on the right track for Windows XP. If you read the documentation for the PROCESSOR_POWER_POLICY structure (⇗ http://msdn.microsoft.com/en-us/library/...v=vs.85%29.aspx), you'll notice next to DisableCStates that it says "Reserved; set to zero." In other words, you can't use that. Skip down to the section under Policy and read what it has to say. You have to disable the individual C-states that offend you:"
Policy[0].AllowPromotion = 1
Policy[1].AllowPromotion = 0; // Disable's C2
Policy[2].AllowPromotion = 0; // Disable's C3
diderius6 has attached images to this post ⇗ lowC0state.jpg

#270 | diderius6 | To integrate the reserved word "ToInteger" in acpi.sys from XP SP3 works. It has also the correct code, DefToInteger := ToIntegerOp Operand Target ToIntegerOp := 0x99 Dietmar

## Page 19

#271

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #269

> Did you use this?
> Policy[0].AllowPromotion = 1
> Policy[1].AllowPromotion = 0; // Disable's C2
> Policy[2].AllowPromotion = 0; // Disable's C3

No, i already wrote about power states on my skylake - acpi C2/C3 hardware (or bios or some poor documented bios setting) is broken for any OS, only cpu still can do it (itself, two asm commands, without external dependies). windows think that platform support c2/c3 and use it, but cpu do not enter these modes properly and windows never know what doing a semi-useless job (30-40% cpu in power saving mode, thank for this at least)

#272

diderius6

When I integrate (to 100% correct) the reserved word from Acpi2.0 "CopyObject" with code 9Dh
in acpi.sys from XP SP3 I get the famous BSOD
0x0000007B (0xB84C7524, 0xC0000034, 0x00000000, 0x00000000)
which is is not direct related to Acpi
Dietmar
EDIT: Now I think, via this way you can find all the reserved words, when acpi.sys XP SP3 meet them, crashes.
The other reserved words, for example ToInteger, are just ignored from amli XP SP3.

#273

diderius6

This is, what amli interpreter Acpi1 understands:

    ACPI Machine Language (AML) Specification 16-257
    Intel/Microsoft/Toshiba
    Table 16-2 AML Byte Stream Byte Values
    Byte Value
    (in Hex)
    Meaning Fixed List Arguments Variable List
    Arguments?
    0x00 ZeroOp Nothing No
    0x01 OneOp Nothing No
    0x02 - 0x05 Null -- --
    0x06 AliasOp Name Name No
    0x07 Null -- --
    0x08 NameOp Name Data No
    0x09 Null -- --
    0x0A ByteOp ByteConst No
    0x0B WordOp WordConst No
    0x0C DWordOp DWordConst No
    0x0D StringOp AsciiChar [AsciiChar ...] NullChar No
    0x0E - 0F Null -- --
    0x10 ScopeOp Name Yes
    0x11 BufferOp ByteConst Yes
    0x12 PackageOp ByteConst Yes
    0x13 Null -- --
    0x14 MethodOp Name Byte Yes
    0x15 - 0x2D Null -- --
    0x2E (.) DualNamePrefix NameSeg NameSeg --
    0x2F (/) MultiNamePrefix Byte NameSeg [NameSeg ...] No
    0x30 - 0x5a Null -- --
    0x5B ([) ExtendedOperator
    Prefix
    Byte --
    0x5B 0x01 MutexOp Name Byte No
    0x5B 0x02 EventOp Name No
    0x5B 0x10 ShiftRightBitOp OpCode SuperName No
    0x5B 0x11 ShiftLeftBitOp OpCode SuperName No
    0x5B 0x12 CondRefOfOp OpCode SuperName No
    0x5B 0x13 CreateFieldOp OpCode OpCode OpCode SuperName No
    0x5B 0x20 LoadOp Name No
    0x5B 0x21 StallOp OpCode No
    0x5B 0x22 SleepOp OpCode No
    0x5B 0x23 AcquireOp SuperName No
    0x5B 0x24 SignalOp SuperName No
    0x5B 0x25 WaitOp SuperName WordConst No
    0x5B 0x26 ResetOp SuperName No
    0x5B 0x27 ReleaseOp SuperName No
    0x5B 0x28 FromBCDOp OpCode SuperName No
    0x5B 0x29 ToBCD OpCode SuperName No
    0x5B 0x2A UnloadOp OpCode No
    Advanced Configuration and Power Management Interface Specification 16-258
    Intel/Microsoft/Toshiba
    Byte Value
    (in Hex)
    Meaning Fixed List Arguments Variable List
    Arguments?
    0x5B 0x31 DebugOp Nothing No
    0x5B 0x32 FatalOp Nothing No
    0x5B 0x80 OpRegionOp Name Byte OpCode OpCode No
    0x5B 0x81 FieldOp Name Byte Yes
    0x5B 0x82 DeviceOp Name Yes
    0x5B 0x83 ProcessorOp Name Byte Dword Byte Yes
    0x5B 0x84 PowerResOp Name Name Word Yes
    0x5B 0x85 ThermalZoneOp Name Yes
    0x5B 0x86 IndexFieldOp Name Name Byte Yes
    0x5B 0x87 BankFieldOp Name Name Dword Byte Yes
    0x5C (\) RootNamePrefix Name --
    0x5D Null -- --
    0x5E (^) ParentNamePrefix Name --
    0x5F Null -- --
    0x60 (`) Local0 Nothing No
    0x61 (a) Local1 Nothing No
    0x62 (b) Local2 Nothing No
    0x63 (c) Local3 Nothing No
    0x64 (d) Local4 Nothing No
    0x65 (e) Local5 Nothing No
    0x66 (f) Local6 Nothing No
    0x67 (g) Local7 Nothing No
    0x68 (h) Arg0 Nothing No
    0x69 (i) Arg1 Nothing No
    0x6A (j) Arg2 Nothing No
    0x6B (k) Arg3 Nothing No
    0x6C (l) Arg4 Nothing No
    0x6D (m) Arg5 Nothing No
    0x6E (n) Arg6 Nothing No
    0x6F Null -- --
    0x70 StoreOp OpCode SuperName No
    0x71 RefOfOp SuperName No
    0x72 AddOp OpCode OpCode SuperName No
    0x73 ConcatOp OpCode OpCode SuperName No
    0x74 SubtractOp OpCode OpCode SuperName No
    0x75 IncrementOp SuperName No
    0x76 DecrementOp SuperName No
    0x77 MultiplyOp OpCode OpCode SuperName No
    0x78 DivideOp OpCode OpCode SuperName SuperName No
    0x79 ShiftLeftOp OpCode OpCode SuperName No
    0x7A ShiftRightOp OpCode OpCode SuperName No
    0x7B AndOp OpCode OpCode SuperName No
    ACPI Machine Language (AML) Specification 16-259
    Intel/Microsoft/Toshiba
    Byte Value
    (in Hex)
    Meaning Fixed List Arguments Variable List
    Arguments?
    0x7C NAndOp OpCode OpCode SuperName No
    0x7D OrOp OpCode OpCode SuperName No
    0x7E NOrOp OpCode OpCode SuperName No
    0x7F XOrOp OpCode OpCode SuperName No
    0x80 NotOp OpCode SuperName No
    0x81 FindSetLeftBitOp OpCode SuperName No
    0x82 FindSetRightBitOp OpCode SuperName No
    0x83 - 0x85 Null -- --
    0x86 NotifyOp SuperName ByteConst No
    0x87 SizeOfOp Name No
    0x88 IndexOp OpCode OpCode No
    0x89 MatchOp OpCode OpCode OpCode OpCode OpCode No
    0x8A DWordFieldOp OpCode OpCode SuperName No
    0x8B WordFieldOp OpCode OpCode SuperName No
    0x8C ByteFieldOp OpCode OpCode SuperName No
    0x8D BitFieldOp OpCode OpCode SuperName No
    0x8E ObjTypeOp Name No
    0x8F Null -- --
    0x90 LAndOp OpCode OpCode No
    0x91 LOrOp OpCode OpCode No
    0x92 LNotOp OpCode No
    0x93 LEQOp OpCode OpCode No
    0x93 0x92 LNotEQOp OpCode OpCode No
    0x94 LGOp OpCode OpCode No
    0x94 0x92 LLEQOp OpCode OpCode No
    0x95 LLOp OpCode OpCode No
    0x95 0x92 LGEQOp OpCode OpCode No
    0x96 - 9F Null -- --
    0xA0 IfOp OpCode Yes
    0xA1 ElseOp Nothing Yes
    0xA2 WhileOp OpCode Yes
    0xA3 NoOp Nothing No
    0xA4 ReturnOp OpCode No
    0xA5 BreakOp Nothing No
    0xA6 - 0xCB Null -- --
    0xCC BreakPointOp Nothing No
    0xCD - 0xFE Null -- --
    0xFF OnesOp Nothing No

#274

diderius6

And this in Acpi 2:

    AML Byte Stream   Byte Values

    Value (Hex) 	Name
    0x00 	       ZeroOp
    0x01 	       OneOp
    0x06 	       AliasOp
    0x08 	       NameOp
    0x0A 	       BytePrefix
    0x0B 	       WordPrefix
    0x0C 	       DWordPrefix
    0x0D 	       StringPrefix
    0x0E 	       QWordPrefix
    0x10 	        ScopeOp
    0x11 	        BufferOp
    0x12 	        PackageOp
    0x13 	        VarPackageOp
    0x14 	        MethodOp
    0x2E (.) 	        DualNamePrefix
    0x2F (/) 	        MultiNamePrefix
    0x30-0x39 ('0'-'9') 	DigitChar
    0x41-0x5A (A-Z) 	NameChar
    0x5B ([) 	        ExtOpPrefix
    0x5B 0x01 	MutexOp
    0x5B 0x02 	EventOp
    0x5B 0x12 	CondRefOfOp
    0x5B 0x13 	CreateFieldOp
    0x5B 0x1F   	LoadTableOp
    0x5B 0x20 	LoadOp
    0x5B 0x21 	StallOp
    0x5B 0x22 	SleepOp
    0x5B 0x23 	AcquireOp
    0x5B 0x24 	SignalOp
    0x5B 0x25 	WaitOp
    0x5B 0x26 	ResetOp
    0x5B 0x27 	ReleaseOp
    0x5B 0x28 	FromBCDOp
    0x5B 0x29 	ToBCD
    0x5B 0x2A 	UnloadOp
    0x5B 0x30 	RevisionOp
    0x5B 0x31 	DebugOp
    0x5B 0x32 	FatalOp
    0x5B 0x33 	TimerOp
    0x5B 0x80 	OpRegionOp
    0x5B 0x81 	FieldOp
    0x5B 0x82 	DeviceOpList
    0x5B 0x83 	ProcessorOp
    0x5B 0x84 	PowerResOp
    0x5B 0x85 	ThermalZoneOpList
    0x5B 0x86 	IndexFieldOp
    0x5B 0x87 	BankFieldOp
    0x5B 0x88 	DataRegionOp
    0x5C (\) 	       RootChar
    0x5E (^) 	        ParentPrefixChar
    0x5F(_) 	      NameChar
    0x60 (`) 	Local0Op
    0x61 (a) 	Local1Op
    0x62 (b) 	Local2Op
    0x63 (c) 	Local3Op
    0x64 (d) 	Local4Op
    0x65 (e) 	Local5Op
    0x66 (f) 	Local6Op
    0x67 (g) 	Local7Op
    0x68 (h) 	Arg0Op
    0x69 (i) 	Arg1Op
    0x6A (j) 	Arg2Op
    0x6B (k) 	Arg3Op
    0x6C (l) 	Arg4Op
    0x6D (m) 	Arg5Op
    0x6E (n) 	Arg6Op
    0x70 	StoreOp
    0x71 	RefOfOp
    0x72 	AddOp
    0x73 	ConcatOp
    0x74 	SubtractOp
    0x75 	IncrementOp
    0x76 	DecrementOp
    0x77 	MultiplyOp
    0x78 	DivideOp
    0x79 	ShiftLeftOp
    0x7A 	ShiftRightOp
    0x7B 	AndOp
    0x7C 	NandOp
    0x7D 	OrOp
    0x7E 	NorOp
    0x7F 	        XorOp
    0x80 	NotOp
    0x81 	FindSetLeftBitOp
    0x82 	FindSetRightBitOp
    0x83 	DerefOfOp
    0x84 	ConcatResOp
    0x85 	ModOp
    0x86 	NotifyOp
    0x87 	SizeOfOp
    0x88 	IndexOp
    0x89 	MatchOp
    0x8A 	CreateDWordFieldOp
    0x8B 	CreateWordFieldOp
    0x8C 	CreateByteFieldOp
    0x8D 	CreateBitFieldOp
    0x8E 	TypeOp
    0x8F 	         CreateQWordFieldOp
    0x90 	LandOp
    0x91 	LorOp
    0x92 	LnotOp
    0x92 0x93 	LNotEqualOp
    0x92 0x94 	LLessEqualOp
    0x92 0x95 	LGreaterEqualOp
    0x93 	LEqualOp
    0x94 	LGreaterOp
    0x95 	LLessOp
    0x96 	ToBufferOp
    0x97 	ToDecimalStringOp
    0x98 	ToHexStringOp
    0x99 	ToIntegerOp
    0x9C 	ToStringOp
    0x9D 	CopyObjectOp
    0x9E 	MidOp
    0x9F 	        ContinueOp
    0xA0 	IfOp
    0xA1 	ElseOp
    0xA2 	WhileOp
    0xA3 	NoopOp
    0xA4 	ReturnOp
    0xA5 	BreakOp
    0xCC 	BreakPointOp
    0xFF 	        OnesOp

#275

diderius6

Hi,
in eventmanager from XP on the Asrockboard I get this message:
AMLI: ACPI-BIOS versucht, einen ungültigen Speicherbereich
"OpRegion" bei Adresse 0x5000 mit einer Länge von 0x1000 zu erstellen.
Dieser Bereich fällt in den vom Betriebssystem geschützten Speicheradressbereich (0x0 - 0x9c400).
This is nice, because now I know the device,
that is doing the problem from the very first beginning with overlapping memory from e820 table and Acpi, it is the serial COM 1 port, ACPI\PNP0501
listet in DSDT for the Asrock Bios with

    Device (UAR1)
                    {
                        Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)  // _HID: Hardware ID
                        Name (_UID, Zero)  // _UID: Unique ID
                        Name (LDN, 0x02)
                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If ((IOST & One))
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                        {
                            ^^SIO1.DCNT (Zero, Zero)
                        }

                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            Return (^^SIO1.DCRS (Zero, Zero))
                        }

                        Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
                        {
                            ^^SIO1.DSRS (Arg0, Zero)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            StartDependentFn (0x00, 0x00)
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03F8,             // Range Minimum
                                    0x03F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02F8,             // Range Minimum
                                    0x02F8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x03E8,             // Range Minimum
                                    0x03E8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {4}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x02E8,             // Range Minimum
                                    0x02E8,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQNoFlags ()
                                    {3}
                                DMA (Compatibility, NotBusMaster, Transfer8, )
                                    {}
                            }
                            EndDependentFn ()
                        })
                        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                        {
                            Return (GPRW (0x17, 0x04))
                        }
                    }

What I dont see in this list is, why ACPI is doing this and from where I can see this before.
I come to the idea with this device, because after this message in eventmanager the COM 1 port was disabled. So it is a real error from Acpi,
Dietmar

#276

diderius6

Hi,
I make a test, if it is possible to give during start XP another list of Acpi tables than those Acpi tables, written in Bios.
Yesssssaaahh, it can be done:))!
I change with Winhex in XP in the registry of the Asrock board in hardware\Acpi\FADT the binary code for the timer
A5C40300 against
A5440300.
Then I shut the compi down.
Normally, at boottime always the Acpi tables are written new via Bios (means 44 --> C4), I tested this.
Winserver 2003 looks at Bios for DSDT, FADT.. but XP looks at registry.
This XP I copy file by file to a kangaroo USB stick, which can be set write protect.
Then I change with Winhex the first 512 Bit (MBR) of the kangoroo against the first 512 Bit MBR of the harddisk. This is the nice trick from s4e.
Then I set the kangoroo to write protect, choose via F11 the bootmenue of the Asrock board and start from the writeprotected kangoroo.
Because the USB stick has no drivers for USB, after first boot the contact is lost and because the signatur and everything else is exact the same as from harddrive, XP now choses the harddisk and boots to XP.
In registry on harddisk Bios has rewritten like normal 44 --> C4 in FADT.
But the to ram loaded registry from kangoroo has at this place still the 44 code. So, the normall hal.dll thinks via "Bios" make use of the RTC timer and so without customized hal.dll the clock works
Dietmar

#277

diderius6

Hi,
does somebody know, why it is not possible to do USB boot to XP since z170 chipset? usbstor.sys is needed and usbd.sys,
it can be given by hand, I do.
I know, that there are no drivers vor the Intel USB devices.
This is so strange.
But for example on the Asus z87i-pro I can boot XP from the Asmedia chip ASM1042 with 300 Mbyte/s from usb stick.
And the drivers for ASM1142, 2142, 3142 work all with XP
Dietmar

#278

diderius6

I set up a windbg session on the Asrock board with USB 3.1chip ASM3142,
for to see, what is going on.
I boot XP SP3 from an WD harddisk, 2 TB formatted with Fat32,
which boots my Asus z87i-pro board from USB with Asmedia ASM1042 chip .
Before I put there the newest drivers vers. 1.16.54.1 for all asmedia chips on this
usb harddisk. Still it boots the z87i-pro board.
By the way, the brandnew driver 1.16.55.1 from Asmedia gives on XP bluesreen.
Here is the result:

>     BugCheck 7B, {b9cc7524, c0000034, 0, 0}

>     Probably caused by : ntkrpamp.exe ( nt!IopMarkBootPartition+f5 )

>       DevNode 0x89b0eb60 for PDO 0x89b0e030
>                 InstancePath is "PCI\VEN_1B21&DEV_0612&SUBSYS_06121849&REV_02\4&12e73dd2&0&00E1"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED

>     DevNode 0x89b0fdd0 for PDO 0x89b10670
>                 InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED

>      DevNode 0x89c46828 for PDO 0x89c46970
>         InstancePath is "Root\LEGACY_ASMTHUB3\0000"
>         ServiceName is "asmthub3"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)

>     DevNode 0x89c465e8 for PDO 0x89c46730
>         InstancePath is "Root\LEGACY_ASMTXHCI\0000"
>         ServiceName is "asmtxhci"
>         State = DeviceNodeStarted (0x308)

>     DevNode 0x89c44dc8 for PDO 0x89c44f10
>         InstancePath is "Root\LEGACY_USBHUB\0000"
>         ServiceName is "usbhub"
>         State = DeviceNodeStarted (0x308)

>         DevNode 0x89c44b88 for PDO 0x89c44cd0
>         InstancePath is "Root\LEGACY_USBSTOR\0000"
>         ServiceName is "USBSTOR"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)

#279

diderius6

I see, that the needed drivers for USB all start very early exact as I want,
setting in registry start = 0 and group System Reserved.
But VEN_1B21&DEV_0612, which is the AHCI controller from Asmedia
does not start (normal, because no driver, but unimportant, because we boot from USB device)
and
VEN_1B21&DEV_2142 which stands for the USB 3.1chip "ASM3142"
also not, which is probably the reason for BSOD 0x7B here,
but I do not understand why this happens,
because all other drivers started as you can see
and when boot from normal harddisk, this Asmedia ASM3142 works on XP SP3
Dietmar

#280

diderius6

>     0: kd> !DevNode 0x89b0fdd0
>     DevNode 0x89b0fdd0 for PDO 0x89b10670
>       Parent 0x89b0c708   Sibling 0000000000   Child 0000000000
>       InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
>       State = DeviceNodeInitialized (0x302)
>       Previous State = DeviceNodeUninitialized (0x301)
>       StateHistory[00] = DeviceNodeUninitialized (0x301)
>       StateHistory[19] = Unknown State (0x0)
>       StateHistory[18] = Unknown State (0x0)
>       StateHistory[17] = Unknown State (0x0)
>       StateHistory[16] = Unknown State (0x0)
>       StateHistory[15] = Unknown State (0x0)
>       StateHistory[14] = Unknown State (0x0)
>       StateHistory[13] = Unknown State (0x0)
>       StateHistory[12] = Unknown State (0x0)
>       StateHistory[11] = Unknown State (0x0)
>       StateHistory[10] = Unknown State (0x0)
>       StateHistory[09] = Unknown State (0x0)
>       StateHistory[08] = Unknown State (0x0)
>       StateHistory[07] = Unknown State (0x0)
>       StateHistory[06] = Unknown State (0x0)
>       StateHistory[05] = Unknown State (0x0)
>       StateHistory[04] = Unknown State (0x0)
>       StateHistory[03] = Unknown State (0x0)
>       StateHistory[02] = Unknown State (0x0)
>       StateHistory[01] = Unknown State (0x0)
>       Flags (0x000022f0)  DNF_ENUMERATED, DNF_IDS_QUERIED,
>                           DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED,
>                           DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_HAS_PROBLEM
>       CapabilityFlags (0x00002000)  WakeFromD3
>       Problem = CM_PROB_NOT_CONFIGURED

#281

diderius6

    Problem = CM_PROB_NOT_CONFIGURED

    From Microsoft:

    CM_PROB_NOT_CONFIGURED

    Error Code

    This function is reserved for system use.

    There
     is a device on the system for which there is no ConfigFlags registry
    entry. This means no driver is installed. Typically this means an INF
    file could not be found.

Aha, this may be the reason, because the ASM3142 is not the ASM1042,
even they use the same drivers. Needs to feed registry from XP with correct values for ASM3142
Dietmar

#282

diderius6

Not works.
I doublechecked all the handmade entries in registry.
The Asus z87i-pro board boots at once to USB3 (300MByte/s) with this entries,
but the Asrock z370 board not.
Something other is preventing USB boot on Asmedia chip ASM3142 on the Asrock board.
Any help is welcome.
Here are the registry entries from usbstor, asmtxhci and asmthub3.
They can be used to make XP USB3 boot work
Dietmar

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 02:29
>     Wert 0
>       Name: Type
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 1
>       Name: Start
>       Typ: REG_DWORD
>       Daten: 0x0

>     Wert 2
>       Name: ErrorControl
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 3
>       Name: ImagePath
>       Typ: REG_EXPAND_SZ
>       Daten: system32\DRIVERS\USBSTOR.SYS

>     Wert 4
>       Name: DisplayName
>       Typ: REG_SZ
>       Daten: USB-Massenspeichertreiber

>     Wert 5
>       Name: Group
>       Typ: REG_SZ
>       Daten: System Reserved

>     Wert 6
>       Name: Tag
>       Typ: REG_DWORD
>       Daten: 0x1

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 02:55
>     Wert 0
>       Name: 0
>       Typ: REG_SZ
>       Daten: USB\Vid_0bda&Pid_0152&MI_00\6&2182afbe&0&0000

>     Wert 1
>       Name: Count
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 2
>       Name: NextInstance
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 3
>       Name: 1
>       Typ: REG_SZ
>       Daten: USB\Vid_1058&Pid_25a2\57584631414237524541354A

>     Wert 4
>       Name: 2
>       Typ: REG_SZ
>       Daten: Root\LEGACY_USBSTOR\0000

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 01:56
>     Wert 0
>       Name: Type
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 1
>       Name: Start
>       Typ: REG_DWORD
>       Daten: 0x0

>     Wert 2
>       Name: ErrorControl
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 3
>       Name: Tag
>       Typ: REG_DWORD
>       Daten: 0x12

>     Wert 4
>       Name: ImagePath
>       Typ: REG_EXPAND_SZ
>       Daten: system32\DRIVERS\asmtxhci.sys

>     Wert 5
>       Name: DisplayName
>       Typ: REG_SZ
>       Daten: ASMedia XHCI Service

>     Wert 6
>       Name: Group
>       Typ: REG_SZ
>       Daten: System Reserved

>     Wert 7
>       Name: BootFlags
>       Typ: REG_DWORD
>       Daten: 0x10

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci\Enum
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 02:55
>     Wert 0
>       Name: Count
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 1
>       Name: NextInstance
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 2
>       Name: 0
>       Typ: REG_SZ
>       Daten: PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4

>     Wert 3
>       Name: 1
>       Typ: REG_SZ
>       Daten: Root\LEGACY_ASMTXHCI\0000

>     Wert 4
>       Name: 2
>       Typ: REG_SZ
>       Daten: PCI\VEN_1B21&DEV_1142&SUBSYS_85BF1043&REV_00\4&2816a63a&0&00E4

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci\Security
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 03.06.2018 - 18:34
>     Wert 0
>       Name: Security
>       Typ: REG_BINARY
>       Daten:
>     00000000   01 00 14 80 90 00 00 00 - 9c 00 00 00 14 00 00 00  ................
>     00000010   30 00 00 00 02 00 1c 00 - 01 00 00 00 02 80 14 00  0...............
>     00000020   ff 01 0f 00 01 01 00 00 - 00 00 00 01 00 00 00 00  ÿ...............
>     00000030   02 00 60 00 04 00 00 00 - 00 00 14 00 fd 01 02 00  ..`.........ý...
>     00000040   01 01 00 00 00 00 00 05 - 12 00 00 00 00 00 18 00  ................
>     00000050   ff 01 0f 00 01 02 00 00 - 00 00 00 05 20 00 00 00  ÿ........... ...
>     00000060   20 02 00 00 00 00 14 00 - 8d 01 02 00 01 01 00 00   ...............
>     00000070   00 00 00 05 0b 00 00 00 - 00 00 18 00 fd 01 02 00  ............ý...
>     00000080   01 02 00 00 00 00 00 05 - 20 00 00 00 23 02 00 00  ........ ...#...
>     00000090   01 01 00 00 00 00 00 05 - 12 00 00 00 01 01 00 00  ................
>     000000a0   00 00 00 05 12 00 00 00 -                          ........

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 01:54
>     Wert 0
>       Name: Type
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 1
>       Name: Start
>       Typ: REG_DWORD
>       Daten: 0x0

>     Wert 2
>       Name: ErrorControl
>       Typ: REG_DWORD
>       Daten: 0x1

>     Wert 3
>       Name: Tag
>       Typ: REG_DWORD
>       Daten: 0x11

>     Wert 4
>       Name: ImagePath
>       Typ: REG_EXPAND_SZ
>       Daten: system32\DRIVERS\asmthub3.sys

>     Wert 5
>       Name: DisplayName
>       Typ: REG_SZ
>       Daten: ASMedia USB3.1 Hub Service

>     Wert 6
>       Name: Group
>       Typ: REG_SZ
>       Daten: System Reserved

>     Wert 7
>       Name: BootFlags
>       Typ: REG_DWORD
>       Daten: 0x10

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3\Enum
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 05.01.2019 - 02:55
>     Wert 0
>       Name: Count
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 1
>       Name: NextInstance
>       Typ: REG_DWORD
>       Daten: 0x3

>     Wert 2
>       Name: 0
>       Typ: REG_SZ
>       Daten: USB\ASMEDIAROOT_Hub\5&efb7b49&0&0

>     Wert 3
>       Name: 1
>       Typ: REG_SZ
>       Daten: Root\LEGACY_ASMTHUB3\0000

>     Wert 4
>       Name: 2
>       Typ: REG_SZ
>       Daten: USB\ASMEDIAROOT_Hub\5&14349c16&0&0

>     Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3\Security
>     Klassenname: <KEINE KLASSE>
>     Letzter Schreibzugriff: 03.06.2018 - 18:37
>     Wert 0
>       Name: Security
>       Typ: REG_BINARY
>       Daten:
>     00000000   01 00 14 80 90 00 00 00 - 9c 00 00 00 14 00 00 00  ................
>     00000010   30 00 00 00 02 00 1c 00 - 01 00 00 00 02 80 14 00  0...............
>     00000020   ff 01 0f 00 01 01 00 00 - 00 00 00 01 00 00 00 00  ÿ...............
>     00000030   02 00 60 00 04 00 00 00 - 00 00 14 00 fd 01 02 00  ..`.........ý...
>     00000040   01 01 00 00 00 00 00 05 - 12 00 00 00 00 00 18 00  ................
>     00000050   ff 01 0f 00 01 02 00 00 - 00 00 00 05 20 00 00 00  ÿ........... ...
>     00000060   20 02 00 00 00 00 14 00 - 8d 01 02 00 01 01 00 00   ...............
>     00000070   00 00 00 05 0b 00 00 00 - 00 00 18 00 fd 01 02 00  ............ý...
>     00000080   01 02 00 00 00 00 00 05 - 20 00 00 00 23 02 00 00  ........ ...#...
>     00000090   01 01 00 00 00 00 00 05 - 12 00 00 00 01 01 00 00  ................
>     000000a0   00 00 00 05 12 00 00 00 -                          ........

#283

diderius6

Small success

    DevNode 0x89c03ee8 for PDO 0x89c042e0
              InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\3&37f6853e&0&00E4"
              ServiceName is "asmtxhci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)

      DevNode 0x87c72e78 for PDO 0x87c75df8
                InstancePath is "USB\ASMEDIAROOT_Hub\4&290a3674&0&0"
                ServiceName is "asmthub3"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)

Only usbstor is loaded, but does not start
Dietmar

    0: kd> !devnode usbstor
    DevNode 0xbab28000 for PDO 0x98284657
      Parent 0x00000004   Sibling 0x00905a4d   Child 0x00000003
      InterfaceType 0x98284656  Bus Number 0x9834658d
    Duplicate PDO 0x98284656  InstancePath is ""
      ServiceName is ""
      TargetDeviceNotify List - f 0x68636952  b 0x98284657
      State = Unknown State (0x40)
      Previous State = Unknown State (0x0)
      StateHistory[00] = Unknown State (0x0)
      StateHistory[19] = Unknown State (0x20534f44)
      StateHistory[18] = Unknown State (0x206e6920)
      StateHistory[17] = Unknown State (0x6e757220)
      StateHistory[16] = Unknown State (0x65622074)
      StateHistory[15] = Unknown State (0x6f6e6e61)
      StateHistory[14] = Unknown State (0x63206d61)
      StateHistory[13] = Unknown State (0x72676f72)
      StateHistory[12] = Unknown State (0x70207369)
      StateHistory[11] = Unknown State (0x685421cd)
      StateHistory[10] = Unknown State (0x4c01b821)
      StateHistory[09] = Unknown State (0xcd09b400)
      StateHistory[08] = Unknown State (0xeba1f0e)
      StateHistory[07] = Unknown State (0xd8)
      StateHistory[06] = Unknown State (0x0)
      StateHistory[05] = Unknown State (0x0)
      StateHistory[04] = Unknown State (0x0)
      StateHistory[03] = Unknown State (0x0)
      StateHistory[02] = Unknown State (0x0)
      StateHistory[01] = Unknown State (0x0)
      Flags (0000000000)
      UserFlags (0xcb462713)  DNUF_WILL_BE_REMOVED, DNUF_DONT_SHOW_IN_UI,
                              DNUF_SHUTDOWN_QUERIED
                              Unknown flags 0xcb462700
      CapabilityFlags (0x010e00e0)  DockDevice, UniqueID,
                                    SilentInstall, NoDisplayInUI
                                    Unknown flags 0x010c0000
      DisableableDepends = 15460 (from children)

#284

diderius6

    : kd> lm
    start    end        module name
    804d7000 806e5000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
    806e5000 8070a400   hal        (deferred)
    ba36d000 ba386b80   Mup        (deferred)
    ba387000 ba3b3980   NDIS       (deferred)
    ba3b4000 ba3ca880   KSecDD     (deferred)
    ba3cb000 ba3ee180   Fastfat    (deferred)
    ba3ef000 ba400f00   sr         (deferred)
    ba401000 ba420b00   fltMgr     (deferred)
    ba421000 ba6d6000   iaStor     (deferred)
    ba6d6000 ba6fba00   dmio       (deferred)
    ba6fc000 ba71ad80   ftdisk     (deferred)
    ba71b000 ba72ba80   pci        (deferred)
    ba72c000 ba74b000   asmthub3   (deferred)
    ba74b000 ba7a7000   asmtxhci   (deferred)
    ba8a8000 ba8b1300   isapnp     (deferred)
    ba8b8000 ba8c2580   MountMgr   (deferred)
    ba8c8000 ba8d5200   VolSnap    (deferred)
    ba8d8000 ba8e0e00   disk       (deferred)
    ba8e8000 ba8f4180   CLASSPNP   (deferred)
    bab28000 bab2d500   USBSTOR    (deferred)
    bab30000 bab34d00   PartMgr    (deferred)
    bacb8000 bacbb000   BOOTVID    (deferred)
    bada8000 bada9b80   kdcom      (deferred)
    badaa000 badab100   WMILIB     (deferred)
    badac000 badad280   USBD       (deferred)
    badae000 badaf700   dmload     (deferred)

#285

XPLives

⇗ @diderius6
Dietmar,
Z87/Z97 and possibly X99 is the last chipset to work using on XP with USB on Intel USB ports.
SkyLake removed the eHCI which killed off USB 2.0 that XP understands. This is the reason why only a pure Intel USB 3.0 xHCI driver is necessary to boot XP off SkyLake, Kaby Lake, and Coffee Lake from Intel USB 3.0 xHCI ports. Even the USB 2.0 fake ports will not function.
I thought you had no issues booting from a USB Flash Drive to XP on Z170, Z270, Z370, Z390 Chipsets using Asmedia USB port?
What is the importance of you booting XP off NVMe?
Can you boot to Windows 2000 or 98SE DOS off this NVMe like SATA can?
Also Server 2003 boots in 3-6 seconds for me off SATA.
Would be faster operation if we image XP to SSD and load XP image from SSD to the Ramdrive to boot.

## Page 20

#286

diderius6

I can use all the Asmedia chips in XP.
And few days ago I believed, that also boot XP from USB3 was no problem,
because this summer I tested this one time on the nice Asus z87i-pro board
and it works at once.
Now I see, that the problem is, that usbstor.sys does not like to start
on chipsets >=z170 for some strange reasons.
It is not clear for me. The driver has an coinstaller,
but when you once have made the harddisk usb friendly with this coinstaller, where is the problem?
No board from Skylake, Kabylake, Coffee lake works until now for USB boot for XP as I have to see.
Even the Apex X board, which can boot nearly everything, does not start usbstor.sys.
There is a strange connection between usbstor.sys and usbd.sys, one cant live without the other.
Long time ago I make some test with win98SE. I can boot it via USB:)),
but this was 10 years and more ago.
Now the only chance for USB boot is the method from s4e, have a look at reboot.pro
I tested it there for older motherboards with no NVME support at all and it works on nearly all boards,
even 10 years old.
The s4e method works for ANY driver
Dietmar

#287 | XPLives | ⇗ @diderius6 But you tested NVMe only for XP? Can you boot to Windows 2000 or 98SE DOS off the NVMe like a SATA SSD can? I already know USB can boot 98SE that's always worked for me but what about the NVMe?

#288

diderius6

⇗ @XPLives for this you need a driver nvme.
Very hard job, to make this work in XP. Now we have, thanks a lot to Kai.
And until now I have not seen anybody with
booting XP direct via nvme with this driver, only me.
Kai make this for win2003.
When somebody is good in C programming,
it is possible to write a driver nvme.sys for the scsiport modell.
Then, ntboodd will work also and you have nvme from XP on any compi,
Dietmar

#289

diderius6

With s4e method it works
DevNode 0x89c39bb0 for PDO 0x89c39e50
InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\3&37f6853e&0&00E4"
ServiceName is "asmtxhci"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeStarted (0x308)
DevNode 0x87c69338 for PDO 0x87c6c478
InstancePath is "USB\ASMEDIAROOT_Hub\4&290a3674&0&0"
ServiceName is "asmthub3"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeStarted (0x308)
DevNode 0x87c598d8 for PDO 0x87c5c7c8
InstancePath is "USB\VID_1058&PID_25A2\57584631414237524541354A"
ServiceName is "USBSTOR"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x87a7d5d0 for PDO 0x87a8a0d0
InstancePath is "USBSTOR\Disk&Ven_WD&Prod_Elements_25A2&Rev_1021\57584631414237524541354A&0"
ServiceName is "disk"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)

#290

diderius6

Yessssaaaaahhh :))
first direct USB3.1 boot on the Asrock fatal1ty z370 gaming k6 board
Dietmar
EDIT: Just boot from Kanguru USB stick.
EDIT2: USB3.1 boot via SSD and full Acpi support on the Asrock board,
feels very fast.
diderius6 has attached images to this post ⇗ asrockUSBboot31.jpg ⇗ kanguruUsb31boot.jpg ⇗ USB31bootSSD.jpg

#291 | diderius6 | Hi, is there a generic Bios patch, that allows to start the ehci (USB 2) driver on XP, Vista? Dietmar

#292

XPLives

⇗ @diderius6
I noticed a few issues. I always enjoy seeing your bare bones test bed. But maybe add a cardboard box underneath MB to protect the desk from unnecessary scratching.
On the BIOS go to the iGPU change shared memory from 1.5GB to 32MB. Some MB only allow 64MB or 128MB minimum. No need to suck up 1GB+ memory from OS.
Intel HD Graphics 4200+, 530+ don't support XP so it is wasted entirely.
I use 32MB only on the Ivy Bridge with the HD 4000 and it is a beauty. ;)
3.43GB of RAM available on mine. If someone can make Intel HD Graphics 630 emulate HD 4000 compatibility then we have a gold mine.
1.94GB of RAM available is too much lost!!! (1.49GB? That means 1.5GB shared memory) Integrated Graphics Disable Auto Memory and set manual to the lowest possible.
For benchmark install Gavotte Ramdisk and repeat the Crystal DiskMark 3GB Ramdisk test. :)

#293

diderius6

⇗ @XPLives
I do not use any linux for this USB 3.1 boot.
Only the 2 original drivers ASMedia USB 3.0+3.1 Drivers v1.16.54.1 WHQL for Win7 for the Asmedia chip
and set in each *.inf
StartType = 0
LoadOrderGroup = System Reserved
Then I put all USB.sys from XP SP3 files into directory Windows\system32\drivers.
Also in all its *.inf I set the same values as above and copy all *.inf to Windows\inf folder.
Two things are important:
1.) After you installed the Asmedia driver, you have to connect your USB device to
the 3.1 USB port. When it is recogniced,
look in registry, if HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor
ist set to start=0 and Group System Reserved. The entry for Group you need to do by hand.
The same you have to look for the two entries of the asmedia drivers there:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3]
Now comes the part, which makes me like crazy:
The usbstor.sys driver only starts, when it sees another drive from the boot device.
It is like the cat bites in its tail, when the boot device is usb.
2.) But small trick helps: Connect any other usb device to the same 3.1 chip, asmedia has 2 ports.
An USB mouse can do this job.
During boot, the usb boot device "sees" its partner and only then starts usbstor.sys.
And then it uses usbstor.sys for itself:))
Dietmar

#294 | diderius6 | Hi all, I just ordered EVGA Z390 Dark motherboard via Amazon. I will install there ACPI XP with really all drivers for XP, given the real power and make a compare with Win10^^ Dietmar PS: I just hear, that wine 4 works with DirectX 12.
#295 | diderius6 | Just in this moment my EVGA Z390 Dark motherboard arrives from USA. Now fun starts with XP on it, have a nice sunny day, Dietmar
#296 | diderius6 | Evga presents an XP friendly Bios with full ACPI support for the z390 dark 1E399092.bin Dietmar

#297

diderius6

After very good results for speed test in any situation,
and long life,
I just ordered an
Intel Optane SSD 905P 960GB, PCIe 3.0 x4 (SSDPED1D960GAX1)
and will install XP SP3 on nvme on it.
In few days I report about,
Dietmar

#298

diderius6

Oha,
I just noticed, that the timer in the original XP Bios from EVGA for the z390 dark motherboard not works.
And also compi stays always in C0 state, brrr.
And the most crazy thing: This happens also in Win10, power consumption on 9900k always about 27 Watt..
Now I chance all against my modified
acpi.sys
hal.dll
intelppm.sys
and all is nice:
Full ACPI support with Hyperthreading, Timer works, powerconsumption on 9900k about 2 Watt:)).
This simple means,
we, Mov AX, 0xDEAD and me Dietmar
are better
Dietmar

#299

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #298

> Now I chance all against my modified
> acpi.sys
> hal.dll
> intelppm.sys

any chance i could try out your modified drivers for myself? or PM me the necessary hex edits you did for me to test the edits myself?

#300

RayeR

Hi, very interesting thread and congrats to diderius6 for his effort and reporting progress.
Just an idea, instead of patching ACPI tables (which may get harder and harden in the future) would be possible to replace AMLI - acpi.sys by opensource counterpart from ReactOS? It seems they use ACPICA and it should be much more up to date than obsolete WXP original file. But I can imagine that it would be a hard work, probably the kernel intrface of ROS is not exactly same as WXP...
I also read somewhere that years ago some part of MS Windows sources had leaked (not sure if it was W2K/XP or other version) so if we could get acpi.sys sources it would be possibe to upgreade to implement newer 2.0 functions. If not maybe still possible to write some driver/filter that will be called before acpi.sys it will transform necessary things 2.0 to 1.0 and pass it further to original aspi.sys. But just thinking no idea if such hook possible and how hard to code it... I personally still run old good Sandybridge on a compatible MB but good luck to your work.

## Page 21

#301

Mov AX, 0xDEAD

> Zitat von ⇗ RayeR im Beitrag ¶ #300

> replace AMLI - acpi.sys by opensource counterpart from ReactOS? It seems they use ACPICA and it should be much more up to date than obsolete WXP original file. But I can imagine that it would be a hard work, probably the kernel intrface of ROS is not exactly same as WXP...

MS uses own implementation of acpi and it very far from acpica, and yes, acpi.sys is not just acpi driver, it also implement some pnp/pci/resource functions and connected with kernel/hal

> Zitat von ⇗ RayeR im Beitrag ¶ #300

> I also read somewhere that years ago some part of MS Windows sources had leaked (not sure if it was W2K/XP or other version) so if we could get acpi.sys sources it would be possibe to upgreade to implement newer 2.0 functions. If not maybe still possible to write some driver/filter that will be called before acpi.sys it will transform necessary things 2.0 to 1.0 and pass it further to original aspi.sys.

- part of nt4 and win200 sources leaked, mainly user-mode, drivers not leaked
- this is impossible because we cannot emulate new commands by old acpi 1.0 syntax. we cannot skip new commands because logic will destroyed

#302

diderius6

⇗ @Mov AX, 0xDEAD
May be it is possible,
to modify acpi.sys from XP in this way, that it just ignores the 3 keywords, which gives BSOD.
CopyObject
CreateQWordField
QwordConst
Another, really hard way would be, to teach acpi.sys the 14 words from Acpi 2.0,
have a nice evening,
Dietmar

#303

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #302

> @Mov AX, 0xDEAD
> Another, really hard way would be, to teach acpi.sys the 14 words from Acpi 2.0,

hard but possible, it may take some weeks digging in IDA if you know 80386 asm

#304

diderius6

Today I make a new acpi.sys for XP SP3 32 bit.
It works on AMD, Intel motherboards,
for all languages,
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#305

diderius6

⇗ @Mov AX, 0xDEAD
Oh, I just see, that you updated your acpi.sys for XP SP3 32 bit,
so that the error
0x000000A5 (0x00000003, xxxx, 0xС0140001, yyyy)
is gone.
This patch would be really nice, because this means no modding
of Bios any longer needed because of unknown ACPI 2.0 words
Dietmar
PS: With simple unconditional forced jmp (EB) I overcome
0x000000A5 (0x00000011, ...
0x000000A5 (0x00000002, ...
0x000000A5 (0x00002001, ...
0x000000A5 (0x00000008, ...
But this does not work for error
0x000000A5 (0x00000003, ...
Until now, I do not noticed any side effects,
but who knows^^..

#306

Mov AX, 0xDEAD

Exploring acpi.sys on Windows Longhorn betas:
4008 - integers are 32 bit, support most of acpi 2.0 opcodes (except CopyObject, Timer, QWordConst)
***
4042 - last version with 32 bit integers
4051 - first version with 64 bit integers
***
4074 - support new opcode CopyObject
***
5048 - import table match win xp !!!
***
5342 - support new opcode Timer and QWordConst, PDB published on Microsoft SYMBOL Server
5365 - integers are 32/64 (switched depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types, PDB published
Qemu Acpi 1.0 tests:
5048 + WinXP = acpi correct
5048 + Longhorn = acpi correct
Qemu Acpi 2.0 tests:
5048, 5112, 5219 = bsod 0xA5 (0x14, xxx, 0x8A, yyy)
5259 = random bsods with error code or without
5342 = acpi correct, installer unstable
5365 = acpi correct
Skylake Acpi 2.0 hardware:
4008<->5342= bsod 0xA5 (0x03, xxx, C0140008, yyy)
5365 = acpi correct

#307 | diderius6 | ⇗ @Mov AX, 0xDEAD "i'e played little with longhorn betas:" Yesss, the idea is clear because 100% match of problem. Only, how to overcome this, is other question Dietmar

#308

RayeR

Hi, thanks for clarification.
Just a question to this statement: " this is impossible because we cannot emulate new commands by old acpi 1.0 syntax"
I don't know how much new and old ACPI differs but I belive it should be possible to emulate new functions by old functions. E.g. if there was added some function to work with 64bit operands it could be broken to 32bit operations in osme auxiliary function. Like in C I could code my own libC functions with bare C code or old libC functions to implement new libC functions. But maybe I'm wrong and new ACPI is too different...
BTW
another idea that could help with managing of your ACPI patches. I found that Apple MAC comunity uses a nice tool called MACiASL. It bundles iALS with some editor, patch engine and GUI. The idea is you can create text file patches for specific BIOS/motherboard to share and contribute by other users. They can then choose and download specific patches and apply them to theirs own DSDT (or could be on BIOS image for this purpose). Some patterns that needs to be replaced are generic in various BIOS ACPI tables so this can save some work and could extend patches for other motherboards...
⇗ http://www.macbreaker.com/2014/03/how-to...th-maciasl.html

#309

Mov AX, 0xDEAD

> Zitat von ⇗ RayeR im Beitrag ¶ #308

> They can then choose and download specific patches and apply them to theirs own DSDT (or could be on BIOS image for this purpose). Some patterns that needs to be replaced are generic in various BIOS ACPI tables so this can save some work and could extend patches for other motherboards...

this method is low effective, since the skylake+ bioses has a huge number of new acpi 2.0 commands in many places and the generic patterns will have to replace a lot of lines with their acpi 1.0 equivalents, which still need to be written.

#310

diderius6

History of Windows Vista ( aka Longhorn) is really interesting:)).
It started in 1999 (!) on the files from XP.
Later, they make a mix of XP and Winserver 2003, which makes it instabil.
After version 4094 they make a brake and decided to take only Win2003 SP1 as base for Vista.
So, Vista is an ideal candidate for XP SP4^^
Dietmar

#311

diderius6

⇗ @Mov AX, 0xDEAD
Have you tried Longhorn versions > 5048
for import table match XP?
They are still downloadable
Dietmar
PS: 5384?
EDIT: Nice, 5048 boots XP SP3

#312

Mov AX, 0xDEAD

> Zitat

> Have you tried Longhorn versions > 5048

not yet, i have links to download only 5112(beta1), 5219(beta2), 5229(beta2)

> Zitat von ⇗ diderius6 im Beitrag ¶ #311

> PS: 5384?

vista beta2, big mismath import table like usual vista

#313 | diderius6 | Make try with ⇗ https://winworldpc.com/product/windows-l...-vis/post-reset Dietmar

#314

diderius6

Latest Windows Longhorn (6.0.5840.16384) (rc2)
does not work, needs other ntoskernel,
Dietmar
Edit: 5536, 5384, 5342 the same, also not work.
PS: 5048 on
normal Bios vers. 106 on EVGA z390 dark gives the same BSOD as for you
0xA5 (0x03, xxx, C0140008, yyy)
This sounds like, that least one vocabel from the DSDT table acpi.sys 5048 does not like.
But this is a big step forward.
Ok, small hack, that compi jumps over this deathzone:)) gives now
0x000000A5 (0x00010006, ..., ..., ...)
EDIT2: Next Hack with jump over next deathzone, now compi hangs during boot
after drvmain.sdb , yes this hangs at acpi.sys
AppPatch/drvmain.sdb
DRIVERS/ACPI.sys

#315 | Mov AX, 0xDEAD | ¶ Windows XP SP3 32bit and modern PC parts (21)

## Page 22

#316

diderius6

I can install normal (my own) Vista 32 bit on the EVGA dark z390 motherboard with Bios 106,
without any BSOD (no mouse, brrr:-)).
So they change something in Acpi from version 5048 to last Vista 2006.
This means, there is hope for XP SP4 (Vista^^)
Dietmar
PS: The Bios 106 from the EVGA board contains the ACPI 2.0 words
QwordMemory (and QwordAcc).
This may be the reason for BSOD, because this words do not appear in the Assembler Source
of acpi.sys 5084 (Qword...).

#317

diderius6

Microsoft Windows Vista (''Longhorn'' 6.0.5270.9)
acpi.sys some changes in Hal.dll and ntoskrnl.exe
Dietmar
EDIT: Also some changes needed for acpi.sys in
hal.dll and ntoskrnl.exe for Windows Vista (''Longhorn'' 6.0.5259.0) ,
the same for
Microsoft Windows Vista (''Longhorn'' 6.0.5231.0),
Microsoft Windows Vista (''Longhorn'' 6.0.5219.0)
Microsoft Windows Vista (''Longhorn'' 6.0.5112.0)
Microsoft Windows Vista (''Longhorn'' 6.0.5365.8)
Microsoft Windows Vista (''Longhorn'' 6.0.5472.5)

#318 | Mov AX, 0xDEAD | .del

#319

diderius6

The ACPI 2.0 word Qword..
I do not find in any acpi.sys.
Only the word CreateQwordField.
So, this are 2 different vocabularies,
Dietmar
PS: An the Asus Apex 10 Bios there was a work around as I remember
for XP and Vista for the Qword..
but not for CreateQwordField.

#320

diderius6

When I try to install Vista (calls itself Longhorn^^) 5048 via DVD
on real Evga dark z390 with Bios 106 motherboard,
I get in the very beginning the same BSOD as under XP:
0xA5 (0x03, xxx, C0140008, yyy)
So, it is related to this acpi.sys from 5048
Dietmar
PS: Now hard works start, to find the first Vista, which installs Vista without this BSOD
on this board.
Then you compare this acpi.sys with this BSOD as above vs first acpi.sys without this BSOD,
all under Vista setup.

#321 | diderius6 | Yepp , Microsoft Windows Vista (''Longhorn'' 6.0.5472.5) installs Vista 32 Bit without BSOD on real Evga dark z390 with Bios 106 Dietmar

#322

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #321

> Microsoft Windows Vista (''Longhorn'' 6.0.5472.5) installs Vista 32 Bit without BSOD

5342.2 - bsod
5365.8 - ?
5381.1 - ?
5384.4 - acpi corect

#323

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #319

> The ACPI 2.0 word Qword..
> I do not find in any acpi.sys.

#define AML_QWORD_OP 0x0e
you will never found it, because it has no text presentation, it is opcode for storing 64 bit integer constants
see amlcode.h, it show all you need

#324 | diderius6 | 5384.4 acpi correct I can just confirm:)), 5365.8 acpi also correct, so this is the very first version without any BSOD 5342.2 - same BSOD as before, I just can confirm. This is last version of Vista with BSOD. Dietmar

#325

diderius6

A difference, that I can see at once between this 2 acpi.sys is,
that the Acpi.sys which works, has extra connections to ntoskrnl.exe
via
ETW EventEnabled
ETW Register
ETW Write
Dietmar
PS: But I do not think, that this is the reason why no BSOD.

#326

diderius6

I changed in acpi.sys (5048)

    8BFF558BEC8B4D0C85C98B45148B50187D218B550885D289482074058B4210EB0233C0
    5051526A0368A5000000FF154C620300C74018020000005283C01050E836FFFFFF5DC3

against (from acpi.sys 5365)

    8BFF558BEC8B4D0C85C98B45148B50187D218B550885D289482074058B4210EB0233C0
    5051526A0368A5000000FF15AC420300C74018020000005283C01050E850FFFFFF5DC3

But this gives during start of XP SP3 BSOD 0x7B
Dietmar
EDIT: This you can forget: This BSOD routine is absolut identic, only the adresses changed.

#327

diderius6

The 5048 acpi.sys boots the Asus Apex X (Bios 1901) XP SP3 with full Acpi support
without any modification.
So, for some motherboards no hack at all is needed in acpi.sys.
About the Asus board: They isolate Qword.. in Bios for XP and Vista.
So, may be the Amli Interpreter has a problem with this word.
And it has been undiscovered in so many versions of Vista, because 2006
was no Bios with Acpi 2.0 on the market
Dietmar
PS: Idea from this is: What did change in Amli Interpreter from version
5342.2 to 5365.8 . My favorit is QwordConstant.
If we cant overcome this: The only word in DSDT what has to be isolatet is Qword..
And this would be in the same time the test, if the idea about Qword is right.
EDIT: The problem with timer (needs modified hal.dll) and with Power states (needs modified intelppm.sys)
is the same as before with 5048 acpi.sys. So, this acpi.sys solves only BSOD A5.

#328

diderius6

New acpi.sys for XP SP3 32 bit,
all languages and compis.
Please tell me results for making things better
Dietmar
EDIT: The problem is more complex:
On my asrock fatal1ty z370 gaming k6
with acpi.sys 5048 I get again
BSOD 0xA5 (0x03, xxx, C0140008, yyy).
And in its Bios I isolated ALL CreateQwordField
and CopyObject instructions.
EDIT2: The problem may be really in QwordConstant:
acpi.sys from XP has no problem with this word.
But acpi.sys 5048 has.
This I know, because in DSDT table from the asrock fatal1ty z370 gaming k6
there appear QwordMemory and QwordAcc. I do not isolate them.
XP boots.
And may be because of QwordMemory and QwordAcc
BSOD 0xA5 (0x03, xxx, C0140008, yyy)
with acpi.sys 5084 on the Asrock board.
So, at the moment, acpi.sys 5084 is worse than my modded acpi.sys before.
diderius6 has attached files to this post

- ⇗ acpi.rar

#329 | diderius6 | acpi.sys from Windows Vista (Longhorn) 3683 also match all dependencies from ntoskrnl.exe and hal.dll but it is from 2002 (!) and looks like XP pur, Dietmar

#330

diderius6

acpi.sys from Microsoft Windows Vista (''Longhorn'' 6.0.4011.0)
gives during Vista install on my Asrock board the known error 0xA5 (0x2..).
This BSOD I know, it is the same as from XP SP3 normal acpi.sys.
So, this Vista acpi.sys is not better than the one for XP
Dietmar

## Page 23

#331 | diderius6 | I just isolate the Acpi 2.0 word QwordAcc in Bios 3.20 of the Asrock board. The QwordMemory word stays in Bios. This gives the same BSOD 0xA5 (0x03, xxx, C0140008, yyy) as before on ahci.sys 5084 Dietmar

#332

diderius6

Now I isolate Acpi 2.0 word QwordAcc in Bios 3.20 of the Asrock board and
also word QwordMemory at all its places in Bios.
The resultat is a changed BSOD
0x000000A5 (0x00000003, xxx, 0xC0000034, yyy).
One thing you can see from this: QwordMemory and QwordAcc are not the (only) reason
for BSOD 0x000000A5 (0x00000003 on acpi.sys 5048.
Dietmar
EDIT: When I start with this modified Bios and use my own, modified acpi.sys,
which works for this board, I get now BSOD 0x7b,
so this happens because I isolate QwordMemory in Bios.
There is other important information in this large block with QwordMemory,
which I block. So even Win7 does not want to start from this Bios.
I Flash Bios back, now all ok again.

#333

diderius6

May be, nearly all Bios
have real errors.
Very critical acpi.sys gives them all together out as 0x000000A5 (0x00000003, xxx, C0140008, yyy).
And the only thing, why this error goes away is,
that newer acpi.sys from Vista are more error tolerable
Dietmar

#334

diderius6

After a lot of problems,
I succeed to install Windows Vista (''Longhorn'' 6.0.4011.0)
on the EVGA dark z390 motherboard via installed XP SP3 on it and the Asmedia AHCI connectors.
So acpi.sys 4011 shows no errror in correct Bios
Dietmar
EDIT: The acpi.sys 4011 has also a new dependency on ntoskrnl.exe and also one to hal.dll.
When I try to start XP SP3 with this acpi.sys 4011 I get BSOD 0x7B.
EDIT2: acpi.sys 4008 has no (!) new dependency on ntoskrnl.exe but one to hal.dll,
which gives BSOD 0x7B on try to boot XP SP3.
EDIT3: acpi.sys 3718 has no extra dependencies, but also no ACPI 2.0 in it.
No BSOD but hangs on boot XP SP3.

#335 | infuscomus | I tested ACPI beta 5048 7E BSOD specific to acpi.sys

#336

diderius6

⇗ @infuscomus
The BSOD 7E can happen,
when you have a driver for your harddisk AHCI,
that is similar to the right driver.
For example you use DEV_A353
but the real name is DEV_A352
Dietmar
EDIT: The reason can be in this case something complete different:
When you change acpi.sys, whole structure how windows loads drivers,
changed. So, this alone can make this BSOD.
For to test this, you have to open HIVE "system" in WINDOWS\system32\config
(from your XP with acpi.sys vers 5048)
in another XP and import with regedit from commandline to HKLM (load structure).
When you named the HIVE system for example otto,
you find otto under HKLM of your working XP.
Delete there key MountedDevices (in otto).
After deleting, mark otto blue (with mouseclick on it), go up left corner "Struktur entfernen" (in German).
Then, on your connected XP with acpi.sys 5048 the chances are automaticall stored.
EDIT: BSOD 7E can have a lot of reasons. To me happend the same BSOD with newer versions
of acpi.sys from Win2003.

#337 | infuscomus | It's the ACPI(beta) driver, not AHCI

#338

diderius6

I noticed a difference between acpi.sys XP SP3 and acpi.sys 5048 on the Asus Apex X board, both work on unmodded Bios, here vers. 1704.
The 5048 acpi.sys tries to install a device via acpiec.sys (from XP) but failed to do this:
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Yellow questionmark in device manager: No error, but device does not start.
I just checked, this device is indeed in the DSDT table from Bios 1701 of the Asus Apex X board.
This device does not appear in XP acpi.sys list.
This again makes me think, that nothing importand changed in those acpi.sys,
only the acpi.sys 5048 works more correct as the one from XP
Dietmar
PS: The work together from acpi.sys with acpiec.sys is unclear for me. How can each driver know,
which device is for what driver, when they share one DSDT table???
The driver acpiec.sys is in folder drivers of XP SP3.

#339

diderius6

⇗ @Mov AX, 0xDEAD
Vista 5365 - integers are 32/64 (selectable depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types,
PDB published.
Nice finding, this overcomes any problems with 32 bit <-> 64 bit in acpi.sys.
Which version of Windbg do you use for this (Server under XP Windbg?) and where to you find the acpi.pdb for the 5365 version?
Did you understand, how the select mechanism for V1, V2 works (can it easy be faked, meaning always V1=32) and the following "Dynamic conversion of types" and can it be implemented (set V1=32) in 5048 acpi.sys version?
Dietmar

#340 | diderius6 | ⇗ @Mov AX, 0xDEAD Do you think, that 5365 acpi.sys still works, when you just cancel extra questions (dependencies) to XP ha.dll and XP ntoskrnl.exe in it Dietmar
#341 | infuscomus | You can try using blackwingcat's PEMaker to edit the import table? ⇗ http://blog.livedoor.jp/blackwingcat/archives/1313117.html although, I don't know if this will work.

#342

diderius6

⇗ @infuscomus
Waaoh, this is really a nice tool,
thank you very much
Dietmar
PS: At once I come to the idea, to make the INTEL 219 lan driver
to work with XP via this tool.
EDIT: My problem is now, that I do not understand, HOW I can modify the import table from acpi.sys 5048
with this tool. I cant see any option to modify this importlist, only can see it.

#343

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #339

> @Mov AX, 0xDEAD
> Vista 5365 - integers are 32/64 (selectable depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types,
> PDB published. Nice finding, this overcomes any problems with 32 bit <-> 64 bit in acpi.sys.
> Which version of Windbg do you use for this (Server under XP Windbg?) and where to you find the acpi.pdb for the 5365 version?
> Did you understand, how the select mechanism for V1, V2 works (can it easy be faked, meaning always V1=32) and the following "Dynamic conversion of types" and can it be implemented (set V1=32) in 5048 acpi.sys version?
> Dietmar

- any windbg has symbol downloader tool, just C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk.exe /v acpi.sys, result in c:\windows'symbol\
- if revision=v1, all internal integers operation are 32 width, this is compatibility mode with old bioses (acpi 1.x only ???), we still can use all qword* opcodes, i think if we need access to 64bit things, we access only low 32 dword, high is forced to zero
- if revision=v2, all ints are 64bit, no limitation, full access to any field/mem
- "Dynamic conversion of types" is not integer conv, this is conversion string to buffer or vice versa or some else, i see this conv in handlers of two opcodes: Index(), LogOp(and,or,not)

#344

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #340

> when you just cancel extra questions (dependencies) to XP ha.dll and XP ntoskrnl.exe in it

remove import, remove call in code and place some code (emulate orig logic) instead, you need be asm hacker to do this...

#345

diderius6

⇗ @Mov AX, 0xDEAD
Yes, but the nice thing in this would be,
that you can use the original, last vista acpi.sys
Dietmar
PS: I take a look at this extra functions in ntoskrnl.exe and hal.dll.
I do not think, that they are really needed for working acpi.sys.

## Page 24

#346 | diderius6 | May be it is not so difficult: Just take import list from acpi.sys 5048 and replace with it import list from acpi.sys 5365 Dietmar

#347

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #342

> @infuscomus
> Waaoh, this is really a nice tool,
> thank you very much
> Dietmar
> PS: At once I come to the idea, to make the INTEL 219 lan driver
> to work with XP via this tool.
> EDIT: My problem is now, that I do not understand, HOW I can modify the import table from acpi.sys 5048
> with this tool. I cant see any option to modify this importlist, only can see it.

I think PEMaker 0.82 is bugged - use PEMaker 0.60
select english
under Import TBL tab - the button ?? next to replace button is delete button - you can delete imports this way
there is another tool - PETool 0.0.5 that can add exports too if you need it
⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/

#348

diderius6

⇗ @infuscomus
yessa ,
Version PEMKR031 works,
I can edit the Importtable from acpi.sys 5365,
now really fun starts,
Dietmar

#349

diderius6

Yessa, all missmatched dependencys killed from acpi.sys 5365 to
ntoskrnl.exe from XP SP3.
Dependency Walker shows this,
nice,
wow,
now
hal.dll
Dietmar
Edit: hal.dll is also freed from all evil!

#350

diderius6

Not work, acpi.sys 5365 shows BSOD 0x7b,
sniff
Dietmar
⇗
EDIT: The fun is not over,
because I just notice, that acpi.sys 5365 has some more and also some missing components
comparing with acpi.sys from XP SP3.

#351

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #349

> Yessa, all missmatched dependencys killed from acpi.sys 5365 to
> Edit: hal.dll is also freed from all evil!

It reminds me of a runner, who gets shot off one foot after the other )
When you kill import, loader will not reference some function to external dll, and when this function called inside acpi.sys, it will call/jmp to zero or something like that.
example:
KeStartDynamicProcessor not exist in winxp kernel, you killed import, you need write own func inside acpi.sys or avoid calling it.
some funcs like EtwRegister is useless trash and we can avoid calling it without any problem
you can't skip important func like IoConnectInterruptEx, it register ISR handler to interrupt processing, as we know acpi has own interrupt/irq line and need this handler

#352 | diderius6 | Yes, I think this is true. I changed all 67 dependencies, the file acpi.sys from 5365 looks now identic like this one from XP, but still gives at boot BSOD 0x7b, Dietmar

#353

diderius6

No, the Tool is not such stupid.
It also cancel the function call in its routine,
when it is deleted from Importtable.
I make a check:
My last acpi.sys build from 5365 with about 100 changes.
And compare with original acpi.sys 5365.
call ds:KeStartDynamicProcessor
is gone in the modified one
Dietmar
PS: But I understand now, why I get BSOD 0x7B.
The Tool killes all dependencys to hal.dll, I checked this with IDA, crazy,
even they are still shown. But IDA pro shows at once, no dependencies left for hal.dll, brrr..
EDIT: Even I think, you can really make an working acpi.sys via this tool, in the end all the new progress from Vista is gone,
it is a clone from the XP acpi.sys with some new opcodes for XP routines.
EDIT2: For to understand, what is going on, I added the function KeFlushWriteBuffer,
which is normally not in acpi.sys from XP to acpi.sys from XP, ntoskrnl knows about it.
Again the strange thing happens: I got BSOD 0x7B and the dependency for ALL functions on hal.dll are
gone again, brr.
diderius6 has attached files to this post

- ⇗ acpiTEST.rar

#354 | infuscomus | We could try adding forwarded exports to XP ntoskrnl using PETool 0.0.5 - possibly?
#355 | infuscomus | I made an attempt at forwarded exports for ACPI 5365 - but I'm not sure how well I did. I think I messed up XP hal.dll - or not? need to test ⇗ https://ufile.io/mjsgw0r9 fixed pshed dll ⇗ https://ufile.io/toamtpf4

#356

diderius6

⇗ @infuscomus
I make a try similar to this yesterday also.
I put acpi.sys 5365 together with ntoskrnl from its Vista
and all the dll, that I found via Dependency Walker.
But even in this way it becomes Vista:)),
compi always cries, a dll is missing,
Dietmar
PS: I do not think, that the PE Tool from Blackwingcat is so bad.
I take a look with Beyond Compare 2 to it, what happens.
3 sections are always like cut out, changed, but nothing more.
So, even the tool deleted all dependencies to hal.dll,
that Ida Pro cant find them (they are reall gone, I checked),
there is a chance to give them back after operation.
I will make a test today: I take the working acpi.sys from XP
and delete one of its functions and give it after back with the Tool.
Via this way you can precise see, where the Tool went wrong.

#357

diderius6

⇗ @infuscomus
With the tool
Dependecy Walker
you can see, what went wrong in your forwarding,
Dietmar
PS: The idea is nice, only I think then you need a lot of other dll from Vista.

#358

diderius6

It seems, that the Pe-Tool only cancels the name of the dependency,
the dependencies itself as .idata are still at there place.
Ida Pro looks only for the names of dependencies (blind),
but Dependency Walker looks at real dependencies (good).
May be, when you add a new function, there is not enough place in "subtable" aka Pe-Tool.
Not easy to delete a function and then add another,
because which function is not needed,
Dietmar
EDIT: In XP SP3, the Pe-Tool does not work correct.
For to test this, I first delete function KfAcquireSpinLock
and then add it again. Gives just BSOD 0x7B.
A check with Beyond Compare 2 shows, that there are only minimal
differences between the original acpi.sys and this "new" build acpi.sys.
EDIT2: May be, the tool changed the functions against them from Win2000?!

#359 | infuscomus | can you compare the files i have made to yours? - are we getting the same problem? ⇗ https://ufile.io/l2nq5ng9 p.s - I tried to integrate files into install media, i got ntkrnlmp.exe error code 7 in textmode
#360 | diderius6 | When you look at acpi.sys with Dependency Walker, you can see, that some forwarded functions to ntoskrnl.exe are red, means not correct Dietmar

## Page 25

#361 | diderius6 | Yeaaah, I just get the version 0.82 to work. And voila, now the dependency to hal.dll is kept, lets see, if mody mody modified acpi.sys boots XP Dietmar
#362 | infuscomus | do you get strange errors like this? ⇗
#363 | diderius6 | ⇗ @infuscomus No, my problem was, that all was green, but even then modified acpi.sys does not work Dietmar EDIT: Njet, again BSOD 0x7B, brrr..
#364 | diderius6 | Oh, I think I am only 1 step away from break through: Now I get BSOD FC (...) hihi, interesting.. in not executable memory.. Dietmar EDIT: I think this is the fault of the Pe-tool 0.82. It changes adresses and so follows this BSOD in XP. ⇗
#365 | infuscomus | could these files be made to work? ⇗ https://ufile.io/l2nq5ng9 or is this the wrong solution for this problem?
#366 | diderius6 | Forwarding is not correct done. I do not know, if with this forwarding tool Pe 005 it is easier than with 0.82 version from Blackwingcat. I think, the PETool 0.82 does not work correct with XP Dietmar
#367 | infuscomus | If forwarding is not the right solution, any other ideas?

#368

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #364

> Oh, I think I am only 1 step away from break through:
> Now I get BSOD FC (...) hihi, interesting.. in not executable memory..
> Dietmar
> EDIT: I think this is the fault of the Pe-tool 0.82. It changes adresses and so follows this BSOD in XP.

maybe set execute flag for that section? I'm just guessing

#369

diderius6

This is very difficult,
to write own code for acpi.sys. I tried to integrate word "ToInteger" in normal acpi.sys from XP.
This is really crazy work.
For me, using the 0.82 PE-Tool with edit Import Functions, was "best result"
no BSOD, but you can see the running pixel for ever^^
Dietmar
EDIT: Problem is, that I do not understand why and how the Pe-Tool changes adresses.
For me this makes no sense: When you delete a function and afterward add it again,
why should change anything???

#370

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #369

> This is very difficult,
> to write own code for acpi.sys. I tried to integrate word "ToInteger" in normal acpi.sys from XP.
> This is really crazy work.
> For me, using the 0.82 PE-Tool with edit Export Functions, was "best result"
> no BSOD, but you can see the running pixel for ever^^
> Dietmar
> EDIT: Problem is, that I do not understand why and how the Pe-Tool changes adresses.
> For me this makes no sense: When you delete a function and afterward add it again,
> why should change anything???

I mainly used PEMaker 0.82 to remove imports
Try this tool for adding exports maybe? - you might have better luck with this
⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/
I used this to add new export functions

#371

diderius6

I find out,
what the 0.82 tool did.
For this I produce a *.lst file via Ida Pro before
and one *.lst file after deleting and adding the same function
in original acpi.sys from XP. This 2 textfiles I compare with Beyond Compare 2.
The tool changes
KfReleaseSpinLock <-> WRITE_PORT_ULONG
If all adresses would be changed correct also,
then this would be not a problem.
But it is.
So, may be the tool can be forced to let the adresses combined with the function names
unchanged,
Dietmar
PS: This finding gives me hope:-)!

#372 | infuscomus | have you tried PETool 0.0.5? does it produce the same result as PEMaker 0.82?

#373

diderius6

No, at the moment I have not tried.
The problem is with forwarding, that you have to find all
the dlls, that match the "new" kernel.
With the 0.82 tool, you need nothing, even not the files hal.dll and ntoskrnl.exe.
where the acpi.sys depends on.
I begin to understand, how this tool works.
It is like a text based program.
It delets for you functions and put them in,
without any knowing of the functions itself.
It just operates on their names and adresses.
So, in principle this is a nice idea and much less complicate as
I thought in the beginning.
I wonder, why Blackwingcat does not support it any more,
0.82 is from 2012.
And it does not matter if the operating system is NT4, win2000, XP, Vista, Win7..
because their structure is identic
Dietmar

#374 | diderius6 | Yesssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaa XP SP3 boots with modified acpi.sys via PE-Tool 0.82. You only have to force the PE-Tool, not to change in each function its raw adress Dietmar

#375

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #374

> Yesssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaa
> XP SP3 boots with modified acpi.sys via PE-Tool 0.82.
> You only have to force the PE-Tool,
> not to change in each function its raw adress
> Dietmar

well done!
I'm happy to hear you have got it working,
I'd love to try it out myself (I do hope this solves my 7B BSOD)

## Page 26

#376

diderius6

Now I notice,
that acpi.sys 5365 has much more dependencies than acpi.sys from XP SP3.
NTOSKRNL.EXE
PSHED.DLL
HAL.DLL
BOOTVID.DLL
KDCOM.DLL
CLFS.SYS
CI.DLL
WMILIB.SYS
And the Pe-Tool 0.82 seems not to like to work with Vista,
Dietmar
EDIT: Lucky, that this is only true for 0.82 version. 0.60 version of the Pe-Tool works also for Vista files.

#377

diderius6

Next try with acpi.sys 5365 for XP SP3 boot,
but gives BSOD 0x7B
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#378 | infuscomus | I tried it out, I got - file acpi.sys is corrupted - in textmode setup edit: missing - RtlInvertRangeListEx
#379 | infuscomus | maybe we can use the reactOS ACPI driver?

#380

diderius6

To modify the DSDT table on XP to an XP friendly DSDT version works,
if you succeed to load this table to registry (HIVE system to ram) before boot.
I tested this with the flag for the legacy timer via s4e method, works.
On Win2003 this is other situation,
because DSDT is not stored in registry,
only read direct from Bios
Dietmar

#381

diderius6

⇗ @Mov AX, 0xDEAD
Do you find out,
why acpi.sys 5048 and all those acpi.sys versions for Vista around crashes on XP unfriendly Bios
always with the same BSOD
0xA5 (0x03, xxx, C0140008, yyy)
When something went wrong, this BSOD takes you to the adress,
where this BSOD happens.
At which part of the DSDT table happens this, when acpi.sys reads DSDT?
The ACPI 2.0 words, which make problems for acpi.sys from XP
CopyObject
CreateQwordfield
QwordConst
are already integrated in acpi.sys 5048,
so this "always the same BSOD" may have a reason,
which can be easy overcome
Dietmar
EDIT: NTStatus Code
C0140008 STATUS_ACPI_INVALID_ARGTYPE An argument with an incorrect type was specified
It is in ntstatus.h .
May be small hack in ntoskrnl.exe and this is gone?

#382

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #380

> To modify the DSDT table on XP to an XP friendly DSDT version works,
> if you succeed to load this table to registry (HIVE system to ram) before boot.
> I tested this with the flag for the legacy timer via s4e method, works.
> On Win2003 this is other situation,
> because DSDT is not stored in registry,
> only read direct from Bios
> Dietmar

Do you mean just edit SETUPREG.HIV or something else?

#383 | infuscomus | ⇗ @diderius6 my test of ACPI 5048 on AMD ⇗ edit: I also tested reactos ACPI driver in virtualbox - 7B BSOD edit2: reactos ACPI and ATAPI in virtualbox - no 7B in XP textmode - I might try this on real hardware

#384

diderius6

⇗ @infuscomus
No, it is the part of registry, called "system".
C:\WINDOWS\system32\config system
If you want, you can send to me this file "system" from your AMD 350 motherboard.
I will delete there key MountedDevices and I look for
the asmedia 106x driver, if it is correct integrated there
Dietmar
dietmar.stoelting@t-online.de

#385

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #384

> @infuscomus
> No, it is the part of registry, called "system".
> C:\WINDOWS\system32\config system
> If you want, you can send to me this file "system" from your AMD 350 motherboard.
> I will delete there key MountedDevices and I look for
> the asmedia 106x driver, if it is correct integrated there
> Dietmar
> dietmar.stoelting@t-online.de

I've never gotten XP to successfully install on this AMD 350 Motherboard, so I don't have a config system file to show you.

#386

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #381

> why acpi.sys 5048 and all those acpi.sys versions for Vista around crashes on XP unfriendly Bios
> always with the same BSOD
> 0xA5 (0x03, xxx, C0140008, yyy)

search acpi.sys for "C0140008" string, error in _ValidateArgTypes, _CreateField or _ObjTypeSizeOf
ValidateArgTypes is called after every opcode, it check arg type vs some string code "D", "C", "I", "..." (for example argument ToInteger() can has only 3 types: Integer,String,Buffer and coded as "D")

#387 | diderius6 | I just got the nice information, that acpi.sys from Winserver 2003 R2 (5.2.3790.16384 ) has all Acpi 2.0 words integrated Dietmar PS: This file match the importtable from XP.

#388

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #387

> I just got the nice information,
> that acpi.sys from Winserver 2003 R2 (5.2.3790.16384 )
> has all Acpi 2.0 words integrated
> Dietmar
> PS: This file match the importtable from XP.

can it work?

#389

diderius6

I just test 2 different versions of acpi.sys Win Server 2003 R2 (2003 R2 5.2.3790.16384 and 2003 R2 5.2.3790.3959 )
They give both BSOD 0x7B on XP SP3.
I think, it is because the load process of DSDT table is different
between XP and Win2003.
Win 2003 takes it from Bios and XP from registry.
At the moment,
they can only boot Win2003
Dietmar
EDIT: Interesting is this for sure:
I also test acpi.sys from winserver 2003 SP1 5.2.3790.1830,
this gives old know BSOD A5.

#390 | infuscomus | I can install and boot XP with 2003 ACPI in a virtualbox VM

## Page 27

#391

diderius6

I make an USB boot with newest acpi.sys from Winserver 2003, for to overcome BSOD 0x7B.
Does anybody know,
what this message mean?
I have never seen before
Dietmar
⇗
EDIT: 0x7E( 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred.
This may be the old problem of really uncorrect Bios on the Asrock board.
DSDT writes in reserved memory (it is the adress for the COM1 port).
EDIT2: No, it is the fault of acpi.sys from win2003. On the EVGA Dark z390 board with XP friendly Bios
I get BSOD 0xD1 (0x28, 0x02,0x00,0xblabla)
Bug Check 0xD1: DRIVER_IRQL_NOT_LESS_OR_EQUAL
The DRIVER_IRQL_NOT_LESS_OR_EQUAL bug check has a value of 0x000000D1. This indicates that a kernel-mode driver attempted to access pageable memory while the process IRQL that was too high.
EDIT3: acpi.sys 5.2.3790.3959 boots XP friendly Bios.
But on other Bios gives A5 0x11 BSOD. This is the same BSOD, as acpi.sys from XP SP3 gives.
May be the problem with unknow words from ACPI 2.0 is gone in latest acpi.sys from win2003.
But other problems remain.
acpi.sys 5.2.3790.3959 is more complex than from XP. So, easy hack isnt.

#392

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #391

> EDIT: 0x7E( 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred.
> This may be the old problem of really uncorrect Bios on the Asrock board.
> DSDT writes in reserved memory (it is the adress for the COM1 port).

I got this exact error using ACPI 5048
⇗ @diderius6 can you test reactOS ACPI driver for results?
infuscomus has attached files to this post

- ⇗ reactos-acpi.zip

#393

diderius6

⇗ @infuscomus
I just test the acpi.sys from Reactos on XP SP3.
The importtable match with XP.
But on XP unfriendly and on XP friendly Bios
I always get BSOD 0x7B.
I take a closer look at this acpi.sys from reactos.
It works not via strings like "ToInteger".
But may be this is the future
Dietmar
EDIT: Also BSOD 0x7B for USB boot.
Interesting would be, how this acpi.sys from reactos
will work on a Win2003 installation.

#394

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #393

> I just test the acpi.sys from Reactos on XP SP3.
> The importtable match with XP.
> But on XP unfriendly and on XP friendly Bios
> I always get BSOD 0x7B.
> I take a closer look at this acpi.sys from reactos.
> It works not via strings like "ToInteger".
> But may be this is the future
> Dietmar

I got the same result with my test - BSOD 7B
⇗ @diderius6 maybe try to compile reactos ACPI driver code with windows DDK?

#395 | diderius6 | It will not work, because it is complete different compiler surrounding, Dietmar
#396 | infuscomus | GCC compiled reactos ACPI - no 7B BSOD in virtualbox
#397 | diderius6 | I make some more tests with the newest acpi.sys from WinServer 2003 on XP unfriendly Bios. With first variant I get BSOD A5 (0x11, 0x08,..) with second BSOD A5 (0x02,..). It is exact the same behavior as with acpi.sys from XP SP 3 Dietmar
#398 | infuscomus | ⇗ @diderius6 this compiled reactos ACPI driver works in virtualbox (compiled with GCC) - can you test for result?

#399

diderius6

⇗ @infuscomus
Is it another acpi.sys,
than you send to me?
The one you send, gives always
BSOD 0x7B
Dietmar
Edit: Which cpu is on your mainboard asrock fatal1ty ab350 gaming k4?
You can just flash an older BIOS, look for this on website from Asrock
for compability for your cpu.

#400 | infuscomus | my CPU is a Ryzen 5 2400g - in case running natively cannot work and I have to switch to virtualization with PCI Passthrough

#401

diderius6

⇗ @infuscomus
After some problems because of 3.3 V against 1.8 V on ch341a programmer and versions problems (for me ONLY vers. 118 (!) and 140 work correct). I read Bios chip 4 times out with this 2 versions and compare with Winhex.
Then I compare those files with original Bios P4.60 from the asrock website with Beyond Compare 2.
Because the blocks are identic, I can see that only the special information for example MAC number for board is different.
Now I am 99% sure, that I get all information from the Bios on my motherboard asrock fatal1ty ab350 gaming k4.
I succeed to read out its Bioschip 25Q128FWSQ with Bios Vers. 4.60 on this asrock fatal1ty ab350 gaming k4 board.
This is the oldest Bios version, that supports Ryzen 5 2400g,
Dietmar
PS: Because processor 1700 arrives only tomorrow, then fun continues for ACPI boot XP SP3 on this board.
I read on different russian websites, that until now nobody succeeds with this.

#402 | infuscomus | I wish you good luck.

#403

diderius6

⇗ @infuscomus
I succeed to install XP SP3,
but only without ACPI.
This was really a hard job. No mouse, no USB,
no AHCI.. No PS\2 y-cable possible, only keyboard. But nvme works.
I noticed, that there are errors in the DSDT table.
A variable in CreateQwordfield is without name.
I do nvme boot on this board, because before I have no AHCI driver.
Later I noticed, that the SATA slots on the board are wrong numerated.
The 2 Asmedia Sata slots are the first 2 in the row with the 4(!)
Acpi boot via nvme gives BSOD 0x7E (C0000005,..).
I am quite sure, that this happens because real errors in the DSDT table.
I tried Bios 4.60, 2.50, 3.40 all the same.
A repair of the DSDT table will make acpi boot,
it is not the fault of modified acpi.sys
Dietmar
⇗

#404

infuscomus

⇗ @diderius6
Nice!
you've gone further than I ever did, I seem to always get 7B BSOD even with only ASMedia SATA ports connected.
did you use SATA CD drive? - I will have to go get one - before I only used a USB CD (actually iodd 2531 with XP ISO)
Do Fernando's AMD USB 3.1 drivers work?
for amd SATA try AMD AHCI Driver v1.2.1.321 for W2k3 x86 WHQL with HWID INF edit (add 7901 and 43B7) and win2003 storport.sys file?

#405 | diderius6 | ⇗ @infuscomus I use the Asmedia driver which I send to you and make with them via Nlite a setup CD. Still there is hope for full XP SP3 on this board :)) Dietmar

## Page 28

#406 | infuscomus | ⇗ @diderius6 which version of ASMedia SATA driver should I use? 3.2.0.0? earlier version?
#407 | diderius6 | For me works the Asmedia driver, which I send to you, Dietmar

#408

diderius6

⇗ @Mov AX, 0xDEAD
How is progress on your tool,
which changes XP unfriendly DSDT table to XP friendly one?
And how does it work,
XPbadDSDT.dsl -> XPgoodDSDT.dsl
or in *.raw modus?
I am so curious, how you ban the A5 0x11 errors
and A5 0x02.
Do you just encapsule them via
If ((OSYS >= 0x07D6))
{
..error in XP..
}
have a nice day
Dietmar
EDIT: Is there a possibility, to tell the amli assembler, to produce only ACPI 1.b code?
It should be possible, because as I understand AMLI works as interpreter.
So, make it to work like in German "Dolmetscher".

#409

diderius6

First results on the Asrock fatal1ty ab350 gaming k4 board with latest Bios 5.40
Works (stable) in XP SP3
harddisk, CD-rom (on asmedia AHCI 106x)
keyboard PS/2
mouse PS/2 (via y-cable only AUTO in Bios)
network
sound
graphiccard
USB 3.1 (40MByte/s)
Not works:
APIC mode (only PIC mode)
USB 3.0
ACPI
nvme (it is because of a conflict between scsiport.sys and storport.sys (message nvme device cannot start).
XP can handle both, but not on all boards at the same time. nvme boot also not works BSOD 0x7B.
Sata AHCI AMD Ven_1022&Dev_43B7. I found a driver, but ntoskrnl.exe has 2 not matching dependencies.
Interesting, the 950 pro (with own legacy nvme Bios)
can stay at boot time together with harddisk.
Nearly all other compis fail (Asus Apex X not fails)
Dietmar
PS: I have not seen any AMD USB 3.0 driver for the AB350 chipset for XP 32 bit, Ven_1022&Dev_145C .
⇗

#410 | infuscomus | ⇗ @diderius6 Can USB/AHCI work with existing Fernando drivers with INF mod? (add hwids to INF)

#411

diderius6

AHCI driver for the asmedia 106x ship
I just send to you.
The USB drivers, that are here in the forum,
work only for Win7.
I have not seen them for XP
Dietmar
PS: Board is nice and stable. Only missing USB in XP. Acpi can be done with some more work.

#412

diderius6

Yessa,
I check with dependency walker
the USB files.
And I found one, compiled for WIN7,
which works for XP:)).
Only a little bit faster than USB 2.0
but now I have USB on this board also!!!
Dietmar
EDIT: The normal installer does not work. Cries, not for this OP..
But doing by hand via *.inf works.
It is driver for Ven_1022&Dev_43BB
cool..
diderius6 has attached files to this post

- ⇗ AMD USB 3.1 drivers v1.0.2.0 WHQL.rar

#413

infuscomus

⇗ @diderius6
Working USB!
Nice!
There are newer drivers on these forums - v1.0.5.3 - you might get better performance with new version?
for AMD AHCI try Universal ATA driver for Windows NT3.51/NT4/2000/XP/2003/Vista/7/ReactOS
With PATA/SATA/AHCI support
⇗ http://alter.org.ua/soft/win/uni_ata/

#414

diderius6

I make a try to edit the DSDT table from this board Asrock fatal1ty ab350 gaming k4:
Because I get BSOD A5 (0x2001), which means "ACPI tried to evaluate the PIC control method but failed."
So I change in DSDT table
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
\_SB.DSPI ()
\_SB.PCI0.NAPE ()
}
PXXX (Arg0)
}
against
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If ((OSVR >= 0x0C))
{
If (Arg0)
{
\_SB.DSPI ()
\_SB.PCI0.NAPE ()
}
PXXX (Arg0)
}
}
Now I am just flashing the BIOS via CH341a writer,
because flash on compi told me:
Checksum incorrect
Dietmar
EDIT: Compi survives the crazy flash procedure, but BSOD remains the same.
So, maybe it is not the direct fault of the _PIC: Interrupt Model , but something in its pointers went wrong.
EDIT2: I make a check with the new Bios, if my changes are put in. Yes, they are.
Now I think, the method _pic is never called, because I do not find any "_pic" call in DSDT table else, hmm.
So, the error is in a pointer for the interrups.
EDIT3:
_PIC Method
The
\
_PIC optional method is to report to the BIOS the current interrupt model used by the OS.
This control method returns nothing. The argument passed into the method signifies the interrupt model OSPM
has chosen, PIC mode, APIC mode, or SAPIC mode.
Notice that calling this method is optional for OSPM.
If the method is never called, the BIOS must assume PIC mode.
It is important that the BIOS save the value passed in by OSPM for later use during wake operations.
_PIC(x):_PIC(0)=> PIC Mode
_PIC(1) => APIC Mode
_PIC(2) => SAPIC Mode_PIC(3-n)=> Reserved
This may be indeed the reason for this BSOD A5 0x2001. XP uses high irqs, so it makes use of the APIC method.
A try with PIC methode fails then.
EDIT4: Yesssa, I was right. When I chose "ACPI - PC" during setup hitting F5, XP takes ACPI+PIC mode.
This BSOD is gone:)). What a crazy job, to fix step by step a buggy DSDT table. And this is not the fault of XP but
goes to the manufacturers.

#415

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #414

> EDIT4: Yesssa, I was right. When I chose "ACPI - PC" during setup hitting F5, XP takes ACPI+PIC mode.
> This BSOD is gone:)). What a crazy job, to fix step by step a buggy DSDT table. And this is not the fault of XP but
> goes to the manufacturers.

⇗ @diderius6
Wait, so do I just need to press F5 and force use of ACPI PC in setup? or is a BIOS mod still needed for ACPI?

#416

diderius6

⇗ @infuscomus
I try to make the DSDT table of the Asrock fatal1ty ab350 gaming k4 board
XP friendly.
Until now, I solved only one BSOD A5 0x2001 during edit DSDT table.
Then appears next BSOD A5 0x02,
so it is a really hard way to happyness:))
Dietmar

#417 | infuscomus | ⇗ @diderius6 any chance I could test your nvme driver on my PC for XP? same motherboard so it should work, right?

#418

diderius6

Yes, it works, but the problem is,
when it is used together with a scsiport device,
on the fatal1ty ab350 gaming k4 nvme under XP does not work
together with harddisk.
You can integrate the nvme driver in the setup CD from
XP SP3 via nlite. But then you also have to copy storport.sys in the setup CP
by hand, using makecab.exe.
After first TXT install of XP, you have to copy by hand again the driver storport.sys
into windows\system32\drivers because XP didnt do that alone,
Dietmar
diderius6 has attached files to this post

- ⇗ nvme.rar

#419

diderius6

Today I make a try to install an own edit, full DSDT table into XP SP3
without using Bios. Because I notice, there is no tool to flash Bios from AMD..
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004
This key is always build new during start of an ACPI XP. In it is the hexcode of the full DSDT table.
When you have a working ACPI XP, you can make a copy file by file of it.
May be windows\system32\config folder with all its content is enough.
The problem is, that there is no file HKEY_LOCAL_MACHINE\HARDWARE
because it is build new on every boot via Bios.
So, you need this copy from config.
And now the crazy part happens: Boot this XP on a compi with a XP friendly Bios
and change after boot to desktop on running machine the whole content with your wished DSDT hex-file in
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004
Then shut compi down.
When you make a copy of XP as described above,
you have this new DSDT file in its registry.
Then you have to boot XP writeprotected (only possible on Fat32, because then Bios has no chance to overwrite your DSDT table)
and you will have your own DSDT table loaded to ram via XP, reading from registry DSDT table.
And you can check, what happens.
The problem on an compi with an ACPI XP unfriendly Bios is,
that you get always BSOD 0xA5.
But now you can work step by step
against those BSODS 0xA5 via windbg
Dietmar
EDIT: On an Intel board, you can make a test with empty DSDT table, just integrate 00000000000..(with the right number of zeroes as the size of your normal DSDT table(!) is) with Uefi-Tool as *.raw body for DSDT table at
C118F50D-391D-45F4-B3D3-11BC931AA56D
and I think, compi will boot XP with DSDT from to ram loaded registry as written above.
I have not tested this because no time just now and there it is some risk, that your Bios is broken!!!
Never I would make that test without a motherboard with working BIOS flash back possibility.
EDIT2: May be it is really a crazy (good?!) idea. I just tried to integrate a *.raw filled with zeroes as "DSDT" table.
You can integrate it into the Biosfile with Uefi-Tool. But I dont know what happens, because the dependencies
to other tables in Bios are gone also. Tomorrow I make a try on the Asus Apex X board, because it has Bios flashback,
which works to 99%. A question, if this works is, at which Time the DSDT table is loaded.
I think the normal way is: Bios writes DSDT to registry and then XP reads and loads DSDT table from registry.
And if Bios cant write registry because write protected, XP reads in any case DSDT table from registry.

#420

infuscomus

⇗ @diderius6
maybe you can change the permissions for the DSDT registry key so it can not be overwritten?
⇗ https://www.askvg.com/windows-tip-take-o...m-command-line/
edit: for XP textmode setup, you can add DSDT registry key into setupreg.hiv in \ControlSet001\Hardware Profiles\0000\SYSTEM\
For GUI phase of setup - add DSDT to hivesys.inf

## Page 29

#421 | diderius6 | ⇗ @infuscomus Thanks for help, I will test all:)) Dietmar

#422

infuscomus

⇗ @diderius6
This might be an XP friendly DSDT table for AMD AM4 - It does not use CreateQWordField
it's from an ASUS Prime B350 PLUS - BIOS 0805
infuscomus has attached files to this post

- ⇗ Section_Raw_DsdtAsl_body.zip

#423

diderius6

⇗ @infuscomus
Yes, this is interesting, because they change CreateQWordField against CreateDWordField.
So may be, the whole DSDT table is XP friendly.
This would be the first time for an B350 chipset.
Needs to be tested
Dietmar
PS: Until now, I do not understand, why there are so many BSOD
on neuer DSDT table in the form A5 0x02.
This means always conclict with pci devices,
Dietmar
PS: ⇗ @Mov AX, 0xDEAD wrote, that he overcomes this BSOD with his modified acpi.sys.
My modified acpi.sys does not always work correct against this BSOD.
May be, a lot of devices are just ignored from special acpi.sys.
EDIT: Newest Bios 4602 this board has CreateQWordField in DSDT table. So may be, only their old DSDT tables are XP friendly.
Yes, oldest Bios 406 has also only CreateDWordField in its DSDT table.

#424 | infuscomus | ⇗ @diderius6 did you manage to load custom DSDT table in registry? or do we have to go with a BIOS mod?

#425

diderius6

Today I have had long school.
Until now, I do not try.
But I am sure, it will work.
I just find out, that also for your motherboard
old BIOS has no CreateQwordfield in it,
so may be it becomes XP unfriendly only in last time.
This would be a big help
Dietmar

#426 | infuscomus | I tested XP setup in my HTPC which has a Fatal1ty X370 Gaming-ITX/ac motherboard in it with original release BIOS on it. I got a 7E BSOD in acpi.sys I checked with clean install media - same error 7E

#427

diderius6

I try to understand, why all this BSODs via acpi.sys happen.
For this, I find the tool OZMTool_v0.3_win
which works not in XP (but in Win7).
With this tool you can also extract DSDT.aml
raw files from older Bios, which are build for Acpi 1.b (XP friendly).
Then I compare the *.dsl from 2 Asrockboards.
XP friendly (AM3+) : Asrock 970 Pro3 R2.0
XP unfriendly (AM4) : Asrock fatal1ty ab350 gaming k4
Because I noticed, that all Intel DSDT tables are nearly identic but
different to the AMD DSDT tables.
First XP BSOD on Asrock fatal1ty ab350 gaming k4 is A5 0x2001
This goes to a mismach IRQ table (pic: 16 irqs, apic also higher irqs allowed).
When I compare those methods, I see, that those DSDT tables from AMD are also very similar.
XP friendly:

        Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
        {
            If (Arg0)
            {
                DBG8 = 0xAA
                \_SB.IRQC ()
            }
            Else
            {
                DBG8 = 0xAC
            }

            PICM = Arg0
        }

XP unfriendly

        Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
        {
            If (Arg0)
            {
                \_SB.DSPI ()
                \_SB.PCI0.NAPE ()
                DBG8 = 0xAA
            }
            Else
            {
                DBG8 = 0xAC
            }

            PICM = Arg0
        }

Method IRQC is renamed to DSPI , but identic.
So, just delete `\_SB.PCI0.NAPE ()`
hard way, but I do not know other
Dietmar

#428

diderius6

I start XP (on my XP friendly asrock fatal1ty z370 gaming k6).
Then I zero out DSDT in its registry (0000 stays in DSDT binary).
After this I read DSDT out with REWrite everything.
This shows the normal DSDT table.
Then I disconnect power, for to give XP no chance to write anything back from ram
to registry.
From this XP I make a bit to bit copy on an optane USB device, which can be set writeprotect (mechanic).
Then I start XP via this writeprotected device. (By the way, I noticed, that with XP SP3 is also writeprotect boot
possible on NTFS).
But very strange to me, this XP boots normal via s4e method.
This means the following: The DSDT from Bios is written to registry in a later boot phase,
not in first. Because if Bios would write DSDT to registry in early bootphase,
it cant, because there is the writeprotect device, which works alone in this phase.
Then, without any DSDT table in registry XP would crash(?!), who knows..
My previos test with the timer bit in FADT is other. This table speaks with hal.dll
in a very early bootphase. So, this can be faked easy.
Because of this result, it is more difficult to present XP a modified DSDT table during boot.
It happens in second bootstage and because of this, you have to force acpi.sys to make use of this place in
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\ and not from Bios! But how?
Dietmar
EDIT: acpi.sys is loaded during first bootphase. And BSOD A5 (not compatible Acpi) happens at the end of this first phase.
Strange, may be acpi.sys from XP SP3 reads now DSDT table like WinServer2003 only direct from Bios?
And at the place HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\ stays only a not needed copy?
EDIT2: "If the HARDWARE_REDUCED_ACPI flag is set, all fields relating to the ACPI Hardware Specification are ignored by the operating system." And this bit is in FADT. But I have no idea, if acpi.sys from XP take notice from this flag.
May be the acpi.sys from Vista take notice? No, flag works only from Windows 8 up.

#429

infuscomus

⇗ @diderius6
clover boot loader can apparently modify ACPI tables before passing to the OS - This adds a layer of complexity to getting this to work - I've never done this myself so I don't know if this will work.
edit: arch linux can do the same thing? ⇗ https://wiki.archlinux.org/index.php/DSDT
edit2: maybe try acpi.sys from SP1 or SP2 and see if these old versions read DSDT from registry?

#430 | infuscomus | ⇗ @diderius6 If I have to go with the modded BIOS flash option - what should I use to flash? this? CH341A 24 25 Series EEPROM Flash BIOS USB Programmer SOIC8 SOP8 Clip Adapter ⇗ https://www.ebay.com.au/itm/CH341A-24-25...6gAAOSw1Exb6p24

#431

diderius6

Yes, this one. But this programs in 3 Volt.
You need an extra adapter, that fits in first one,
which makes 3->1.8 Volt,
Dietmar
⇗ https://www.ebay.de/i/372582467330?chn=ps
is all what you need:)). The following contents have been linked to this post:

#432 | infuscomus | ⇗ @diderius6 OK, Thanks - I will get the one you recommend. also, do you know if the BIOS chip on the AB350 Gaming K4 is an Aptio V? If is is, there is a BIOS flash utility on the AMI website that might be worth a look?

#433

diderius6

⇗ @infuscomus
The Bios chip on my Asrock AB350 Gaming K4 is a Winbond 25Q128FWSQ, 1.8 Volt(!).
In the description (down) is written, how to patch the DSDT table in registry.
It should work in XP, Win7..
This is a little bit strange for me. May be the used program makes a hirachie in to prefer DSDT table from Bios
over the DSDT table from Bios. It works, but until now for me it is unclear how and why.
⇗ http://notebookequus.blogspot.com/2008/0...dsdt-table.html
Dietmar

#434 | infuscomus | ⇗ @diderius6 maybe it needs to be put in registry like this exactly? HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_\01072009 Winbond 25Q128FWSQ is flash ROM and AMI Aptio V is firmware? - I thought AMI flash utility might work without needing to brute force with EPROM programmer?

#435

diderius6

To override/overload DSDT on Windows XP/Vista/7, use asl.exe from microsoft ASL compiler:

    C:\Programme\Microsoft ASL Compiler v4.0>asl /?
    Microsoft ACPI Source Language Assembler Version 4.0.0NT [Aug 28 2009, 18:36:36]

    Copyright (c) 1996,2009 Microsoft Corporation
    Compliant with the ACPI 4.0 Specification

    Usage:
    asl /?
    asl [/nologo] /d <BinFile>
    asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
    asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]

    asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <A
    SLFile>
    asl [/nologo] [/loadtable [-v] [-d]] <AMLFile>

            ?            - Print this help message.
            nologo       - Supress logo banner.
            Fo=<AMLFile> - Override the AML file name in the DefinitionBlock.
            Fa=<ASMFile> - Generate .ASM file with the name <ASMFile>.
            Fl=<LSTFile> - Generate .LST file with the name <LSTFile>.
            Fn=<NSDFile> - Generate NameSpace Dump file with the name <NSDFile>.
            d            - Dump the binary file in text form.
            u            - Unassemble AML file to an .ASL file (default)
                           or a .LST file.
            tab=<TabSig> - Unassemble ASL table to an .ASL file (default)
                           or a .LST file.
                           Dump non ASL table to an .TXT file.
                           If <TabSig> is '*', all tables are dump to ACPI.TXT.
                           <TabSig> can also be the physical address of the table.
            c            - Create binary files from tables.
            loadtable [-v] [-d] <AMLFile>
                         - overload existing table with one in the given AML file.
                           <-d> - delete overridden tables
                           <-v> - Verbose

Dietmar

## Page 30

#436 | infuscomus | ⇗ @diderius6 where can i download microsoft asl compiler?
#437 | Lost_N_BIOS | ⇗ @infuscomus - ⇗ http://www.acpi.info/toolkit.htm ⇗ https://acpica.org/downloads/binary-tools ⇗ https://docs.microsoft.com/en-us/previou...n550976(v=vs.85)

#438

infuscomus

⇗ @Lost_N_BIOS
1st link
Thats the Intel version, I'm looking for the Microsoft one.
2nd link
Link is dead - 404
edit: it's in WDK 10 - I'll go grab that

#439

Lost_N_BIOS

⇗ @infuscomus - first link >> Microsoft ASL Assembler/Compiler - link works but doesn't lead to a proper download due to MS is lazy
Second link works fine, and I downloaded the file just fine too, here is the direct link from that page, if you still can't download let me know and I will upload it for you - ⇗ https://acpica.org/sites/acpica/files/iasl-win-20190405.zip
Third link, that's weird, this one is 404 and it was working for me when I gave you the link??!

#440 | infuscomus | ⇗ https://acpica.org/sites/acpica/files/iasl-win-20190405.zip this is the Intel assembler, not the Microsoft one. I managed to get the Microsoft assembler from the windows driver kit.
#441 | Lost_N_BIOS | Glad you were able to get it finally. Please upload a copy and post link here for others, thanks. I'll grab a copy too and keep in case anyone asks me for link later

#442

infuscomus

uploaded here so you don't need to download WDK to get it
infuscomus has attached files to this post

- ⇗ microsoft-asl.zip

#443

diderius6

Here is the whole compiler
Dietmar
diderius6 has attached files to this post

- ⇗ microsoft_asl_compiler-v4-0-0.rar

#444

diderius6

I just check via Multimeter,
that this pin order is correct
for the Bios of the Asrock fatal1ty ab350 gaming k4 board
Dietmar
EDIT: The empty pin is also Ground.
⇗

#445 | diderius6 | Here is photo from Bios on Asrock fatal1ty ab350 gaming k4 board and the 9 pin connector Dietmar ⇗

#446

diderius6

The first and biggest problem of the Asrock fatal1ty ab350 gaming k4 board
via XP install is,
that the crazy Bios always tries to install a pic modell for IRQ
and not APIC (higher irqs are allowed).
This you can see, hitting F5.
On modern XP SP3 only Standard PC works (PIC, noAcpi, one processor).
I have a special XP CD, where I can chose also Compac 100% multiprocessor
(PIC, no ACPI, multiprocessor, but compi hangs on reboot).
So, a lot more is bad with its Bios (vers. 5.40, 3.40, 2.50)
Dietmar

#447 | infuscomus | ⇗ @diderius6 can we load a DSDT table from an AM3 motherboard? or would it break everything?

#448

diderius6

⇗ @infuscomus
I think, compi will not start.
I have done this before to start compi with DSDT from other compi via ch341a epromer , but this was a nearly identic PC,
same chipset, same processor.
There to change DSDT works.
But here we have other situation, new chipset, processor..
I think, we can only use AM3(+) DSDT table for to compare with new DSDT from AM4 chipset.
By the way, now I understand, why I nowhere have seen a compi with AM4 chipset, which boots real XP SP3.
So I think, I am really first one, but I only succeed with "Standard PC", means no ACPI, only PIC model, only one processor.
Dietmar

#449

diderius6

In boot.ini (with "Standard PC") from Asrock fatal1ty ab350 gaming k4 board I add one extra line
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntosacpi.exe /HAL=halacpi.dll /PCILOCK
I put in folder windows\system32\ halacpi.dll and ntosacpi.exe (renamed from Acpi-Multiprocessor XP SP3).
Result is BSOD 0x7B.
But via this way you can enable via COM1 a windbg session
and work step by step against BSODs (comparing DSDT AM4 with DSDT AM3+)
Dietmar
EDIT: And I copy acpi.sys to folder windows\system32\drivers.

#450 | infuscomus | ⇗ @diderius6 where do I find the DSDT table in an AM3+ ROM? the GUID for AM4 shows nothing

## Page 31

#451

diderius6

DSDT from AM3+ is in AmiBoardInfo.
Crazy to find.
I use the tool OZMTtoolv0.3.
This tool works in Win7 32 bit,
but not in XP
Dietmar
diderius6 has attached files to this post

- ⇗ OZMTtoolv0.3.rar

#452

diderius6

Now I also succeed to extract DSDT raw table direct from AM3+ Bios.
Search for text DSDT (disable "unicode" in search), find AmiBoardInfo, "PE32 image section", extract body,
look in file for DSDT with Winhex, this is the start of the DSDT raw table
and end is PCI0SBRGSIOWh. (with the point at the end) (this is direct before Hexvalues F7F8F4)
Dietmar
Edit: For me is AmiBoardInfo at guid 9F3A0016-AE55-4288-829D-D22FD344C347

#453 | infuscomus | Nice work! I can extract DSDT from AM3+ BIOS now

#454

diderius6

I just compare DSDT from very first BIOS of
ROG-CROSSHAIR-VI-EXTREME-ASUS-0401
X470 Taichi Ultimate(1.10)ROM
and the first Bios 2.50 for the Asrock fatal1ty ab350 gaming k4 board.
They are all VERY similar,
meaning problems with XP SP3
will be everywhere the same for AMD ryzen,
Dietmar
EDIT: But I can install full ACPI Vista 32 bit
on the Asrock fatal1ty ab350 gaming k4 board
so, there is still hope for full XP .
EDIT2: I also compare XP friendly Bios for AM3+. They are nearly identic.
So, lets make a try to use XP friendly DSDT from AM3+ for AM4.
EDIT3: Interesting candidate for DSDT from other compi is the board asus a320m-c.
It has AM4, but first version has no Ryzen support (R2 has). It comes direct before Ryzen.
In its very first Bios A320M-C-SI-0401.CAP (Oct. 2016) DSDT I found, that _pic methode (IRQs) is the same as for XP friendly Bios in their DSDT table.

#455

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #454

> EDIT3: Interesting candidate for DSDT from other compi is the board asus a320m-c.
> It has AM4, but first version has no Ryzen support (R2 has). It comes direct before Ryzen.
> In its very first Bios A320M-C-SI-0401.CAP (Oct. 2016) DSDT I found, that _pic methode (IRQs) is the same as for XP friendly Bios in their DSDT table.

Cool,
can we load this DSDT through registry, or is a BIOS mod the only way that works properly?

#456

diderius6

⇗ @infuscomus
Today I make a try to load the DSDT table from A320M-C-SI-0401.CAP via the Microsoft tool
to the Asrock fatal1ty ab350 gaming k4 board.
For to reach this, I use a full Acpi Multiprocessor XP installation from an AM3+ board MSI 760GMA-P34 (FX),
which has also the Asmedia Sata AHCI ASM106x.
I add an extra boot.ini entry (for to have the possibility to switch to "Standard PC")
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntnoacpi.exe /HAL=halnoacp.dll
Dietmar
EDIT: I can not start with the XP from AM3+ chipset.
And this is, even I do not change anything in DSDT.
On the XP from AM3+ chipset I replace ntoskrnl.exe and hal.dll to the versions of "Standard PC".
The Asrock fatal1ty ab350 gaming k4 starts with this XP, but hangs during last stage of boot.
So, other things also do not work for XP on this board, for example safe boot does not work
and I see no entry for bootlog after hitting F8.
EDIT2: The Asrock fatal1ty ab350 gaming k4 has 2 different problems with XP SP3:
1.) The compi starts always in PIC mode (hangs during enable APIC). Hm, which table is it?
2.) ACPI is broken, this belongs to the DSDT table.

#457 | infuscomus | ⇗ @diderius6 Don't you need to run sysprep on XP before moving it across machines? or am I wrong about that?

#458

diderius6

⇗ @infuscomus
With long training I succeed to move XP from one machine to the other without any tool.
And this can be also done for Vista and Win7 or Win10. Win8 I never tried.
As long as the Windows version is only at one compi at a time, it does not break Microsoft license.
Today I was hit by a new problem: A Bios, that does not work in APIC mode under XP, only PIC mode.
Little bit like stoneage.. I have not seen this in the last 18 years
Dietmar
PS: Interesting, if it is because Ryzen processor.
There are other AM4 processors on the market for example AMD A8 9600, much cheaper and slower.
I will test in next days this 9600 cpu.

#459

diderius6

I just found Bios version 1.30 for the Asrock fatal1ty ab350 gaming k4.
There, the IRQ table in Bios is other.
This is nearly the only difference to Bios 2.50.
I am just flashing
Dietmar
PS: May be problem to flash back to newer Bios,
because in Bios 1.30 is no instant-flash program integrated.

#460 | infuscomus | ⇗ @diderius6 do you have the right CPU for that BIOS? I only have a ryzen 5 2400G so I doubt it will work for me.
#461 | diderius6 | Yes, I have Ryzen 1700. I checked for this before, that I get CPU for ALL Bioses Dietmar
#462 | infuscomus | ⇗ @diderius6 can I have this BIOS? I would like to extract DSDT and try registry method to load DSDT

#463

diderius6

⇗ @infuscomus,
with this 1.3 Bios is the same as before.
Under XP it will not allow you to work in APIC mode,
only PIC. This is a serious problem, because of it only
one core of the cpu can work in XP SP3.
And I was right, you cant flash back to higher BIOS,
because no flash program in this Bios version,
Dietmar
But anyway, here it is
diderius6 has attached files to this post

- ⇗ AB35G4_1.rar

#464 | infuscomus | ⇗ @diderius6 Thanks very much

#465

infuscomus

⇗ @diderius6
in AB350 gaming k4 BIOS 1.30 _PIC is
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
\_SB.DSPI ()
\_SB.PCI0.NAPE ()
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}
in XP Friendly 970A-G3.1
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
\_SB.IRQC ()
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}
have you tried replacing _PIC function?
or if your up for taking a risk, replace entire DSDT with known XP friendly?
infuscomus has attached files to this post

- ⇗ XPFRIENDLYDSDT.zip

## Page 32

#466

diderius6

I think,
really XP friendly would be
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}
But at the moment I try to get out of Bios 1.30:))
Dietmar

#467 | infuscomus | ⇗ @diderius6 did you manage to update from BIOS 1.30?
#468 | diderius6 | Until now not, I wait for my 1.8 Volt Epromer, have a nice day, Dietmar

#469

diderius6

My 1.8 Volt Epromer arrives, 3 of them.
But I cannot flash the chip 25q128fwsq with the ch341a and adapter for 1.8 V.
I build my nice, perfect working cablemanagment:)), see photo,
but does not help.
I can read the chip out 2 times,
but even I tested all versions of the ch341a,
no success. I cant even blank the whole chip,
some numbers remain, as I can see with reading.
"Best" results gives vers. 1.29
may be something killed the Bioschip
Dietmar
EDIT: I tested pin 1..8, they work. The connector to motherboard are 2 USB connectors.
⇗

#470 | infuscomus | ⇗ @diderius6 have you bricked your BIOS?

#471

diderius6

I think yes.
I get 2 brandnew Bios chips 25q128fwsq.
Without(!!!) the 1.8V adapter (only ch341a)
and Version 1.40 of the flashtool I can load
my image (5.4 Bios with own settings) back.
Soon I desolder broken chip against this one
Dietmar
EDIT: I just try the same with the second, brandnew 25Q128FWSQ chip.
The adapter 1.8V does not work at all. But without adapter (only ch341a vers 1.4) I succeed to
write my image 5.4 Bios back, crazy.
I disconnect all and connect again and read with version 1.4 the complete
brandnew (both) out. This I store as new image and compare with Winhex,
100% match (on both). Ok, I am going to solder:)).

#472

infuscomus

⇗ @diderius6
maybe try grub2 method to load DSDT? (to avoid bricking BIOS in the future)
⇗ https://www.linuxquestions.org/questions...ion-4175593071/
⇗ https://forums.opensuse.org/showthread.p...use-custom-dsdt
did you want to try the DSDT from that asus 320m-c bios you found?
p.s - I have not had much luck loading DSDT in XP registry

#473

diderius6

This Bioschip is really crazy.
I succeed to solder in a brandnew, with my image 5.4 flashed chip.
All pins work, no short cut.
But compi does not start.
When I read out this chip with epromer,
it gives crazy values, complete different from
before soldering
Dietmar
EDIT: The brandnew, now soldered chip, shows exact the behavior from original Bios chip before.
This simple means, you cant flash this Bios chip with this Epromer, no matter if 1.8V adapter or not.
EDIT: The original, now outsoldered Bioschip can be read and written new.
But only from original Epromer (ver. 1.40) without the Adapter. This means also,
my image ist faulty, which I get from insoldered chip.
So, maybe you can use the Epromer for this chip, when it is not connected to the board.
EDIT2: The original Bios chip can be cleared and rewritten. But it shows after errors. This does not happen to
the brandnew Bios chip (before been soldered). This simply means, this Epromer killed the insoldered, original
Bioschip, brrr... and the 1.8 V adapter does not work for this Bios chip 25Q128FWSQ, no matter if it is in the board or outside and brandnew.

#474 | diderius6 | Has anybody here in the forum success with the 1.8V adapter for flashing Bios with ch341a epromer? I do not mean only to copy, but to write full content to any Bioschip Dietmar
#475 | infuscomus | ⇗ @diderius6 did your BIOS backup somehow get corrupted?

#476

diderius6

⇗ @infuscomus
I make 2 copies of Bios 5.4 with different versions (1.8, 1.4) of the ch341a program. Between I shut down all.
Each copy was verifyied during reading and I compare the copies with Winhex after.
All 100% ok. So, may be the ch341a killed not only the insoldered original Bios,
because I also doublecheck the brandnew Bioschip with my copy of 5.4 , before I solder it in.
Compi does not boot, insoldered Bioschip has different content compared
with start values: Large fiels seems to be FF or 00 and only some other crazy bits,
Dietmar
PS: The conclusion is easy: For the Bios chip 25Q128FWSQ you need a professional Epromer (500 Euro)
and I think it works only outside the compi. I tried to awake the Bioschip to new life, running on compi full power on.
I can write, but veryfing with different Eprom program vers. show errors after about 5%. (I run them about 10 times.)
This was the first time since 1982, that I really succeed to kill a compi.
In the afternoon I try another AMD AM4 board ASUS PRIME B350-PLUS for to boot with XP SP3 with the same 1700 cpu.
EDIT: I also try the original 3.4 Bios from Webside with all program versions ch341a.
I can flash it always, but veryfieing shows always errors at about 5%. The 1.8V adapter is complete useless, this one can program 16KB 24 Eproms.

#477

diderius6

I just notice, that the AMD AM4 board ASUS PRIME B350-PLUS
has the same Bios chip 25Q128FWSQ, brrr..
Dietmar
EDIT: This board with the same Ryzen 1700 cpu shows exact the same behavior as the asrock fatal1ty ab350 gaming k4.
Bios can only install XP SP3 in PIC mode (means only 1 cpu core).
And the Acpi errors are also the same A5 (0x2001).
And you have a problem to install XP at all,
because no Asmedia 106x Sata slots on this board.
Until now, I do not have a generic AHCI XP driver for AMD boards, even this would be possible.
I try nvme boot with "Standard PC", but this gives also BSOD 0x7B as on the Asrock board,
even the nvme disk is recogniced correct
Dietmar
PS: In next days I get another AM4 board ASUS A320M-C R2.0.
And also another AM4 cpu AMD A8 9600, which is complete other cpu than Ryzen.

#478

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #477

> Until now, I do not have a generic AHCI XP driver for AMD boards, even this would be possible.

can you test with this driver?
Universal ATA driver for Windows NT3.51/NT4/2000/XP/2003/Vista/7/ReactOS
With PATA/SATA/AHCI support
⇗ http://alter.org.ua/soft/win/uni_ata/

#479

diderius6

⇗ @infuscomus
Yes, I will try. First you have to build a txtsetup.oem for this driver.
Maybe, it can be done easier: Just add the Ven&Dev number for this special AHCI adapter
to the txtsetup.oem and the *.inf file of the intel AHCI driver
Dietmar
EDIT: "Just add the Ven&Dev number for this special AHCI adapter
to the txtsetup.oem and the *.inf file of the intel AHCI driver" does not work for AMD AHCI.
Gives BSOD 0x7B (driver not there).
EDIT2: First try with the uniata.sys gives also BSOD 0x7B.
I do not know, why this happens, because the right ven&dev of the AMD AHCI
are already in the *.inf file for XP.
May be, that you can install this driver from running XP.
But the settings in TXTSETUP.OEM are unclear for me.
The driver uniata.sys is loaded during XP setup, as I can see.

#480 | infuscomus | ⇗ @diderius6 you can also edit txtsetup.sif manually - i do that sometimes

## Page 33

#481

diderius6

This is what I try with the uniata driver.
But gives BSOD 0x7B.
Any help is welcome,
if I do something wrong
Dietmar
diderius6 has attached files to this post

- ⇗ uniata.rar

#482

infuscomus

⇗ @diderius6
Does uniata work if installed once XP is booted? - boot with NVME driver (no ACPI)
I added some HWIDs and edited registry keys in TXTSETUP.OEM - try it
infuscomus has attached files to this post

- ⇗ uniata.zip

#483

diderius6

⇗ @infuscomus
Also with new txtsetup.oem I get BSOD 0x7B on the Asus AMD board,
means, at the moment I can not install any kind of XP there.
But today I ordered new eprom programer TTL866 II plus (only(!) II plus version supports 1.8 Volt Bios chips)
and with its help I will reanimate my asrock fatal1ty ab350 gaming k4 board.
There I installed XP. And from running XP I can try normal *.inf install
via device manager for the AMD SATA AHCI slots Ven_1022&Dev_43B7
Dietmar

#484 | infuscomus | ⇗ @diderius6 Does this mean the cheap BIOS flash kit I bought is useless for ab350 gaming k4?
#485 | infuscomus | ⇗ @diderius6 I asked about the grub2 method over at reboot.pro ⇗ http://reboot.pro/topic/22016-can-grub4d...ble-like-grub2/ I will try this method when I have time to test it

#486

diderius6

Yes, it even can destroy your Bios on the mainboard.
I tried really everything: Put CMOS battery out, in,
Power on (stand by), Power on(full)...brrr.
The 1.8V adapter is useless,
I do not succeed to write 1 bit to the Bios chip with it.
Version 1.29 of the Tool works best.
It recognices the Bios chip correct.
But maybe the writer itself killed the Bios,
because even chip is recogniced it uses to much voltage
Dietmar
PS: Interesting, if the Bios chip can be reanimated with tl866 II Plus programer.

#487

diderius6

Here is a new acpi.sys
which based on Vista 5048.
It works on a lot of new Intelboards for XP SP3 32 bit,
without need to modify anything in Bios. It has all the new words from ACPI 2.0 integratet.
On Ryzen board I get BSOD 0x7E (C0000005,..)
which I think belongs to PIC mode (no APIC in Bios for XP).
But there is still hope, that this kind of acpi.sys
supports in future ALL boards with full ACPI support,
APIC and multiprocessors, because Vista do this
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#488

diderius6

I just test this acpi.sys on ASUS PRIME A320M-C R2 for XP SP3 install
with AMD 9600 cpu.
Here I get other BSOD 0xA5( 0x0000000D,..)
interesting, this I never had before
Dietmar
0xA5 (0x0000000D, Parameter2, Parameter3, Parameter4):
There are many objects that must be defined in the ACPI namespace, and one or more of these was not found. This error generally occurs if either the _HID or _ADR object is missing. An _ADR is used to define the address of a device on its parent bus. The _ADR is a static address that defines slot numbers for devices that reside on any number of bus types, including EISA, floppy, IDE controller, IDE channel, PCI, PCMCIA, and CardBus. The _HID contains objects that supply the operating system with Plug and Play hardware ID for a device. Technically, these objects are optional, but they absolutely must be present to describe any device that is enumerated by an ACPI driver.
EDIT: With my own modified acpi.sys (with changes at 3 places) I get known BSOD 0XA5 (0x2001,..)
which again means: The problem is only PIC mode support from Bios! So, also on this board the same happens
as on all AM4 boards, that I tested. But the acpi.sys 5048 from Vista does not show this BSOD, so I think it is the right way.

#489 | infuscomus | ⇗ @diderius6 try loading a different DSDT .aml file using grub2 - maybe that a320m-c R1.0 BIOS with the old _PIC function?

#490

diderius6

⇗ @infuscomus
Yes, something like that may work.
I think, it is not an Acpi related problem.
But this does not make it easier.
We need to find out,
what is different in boot Vista on AMD systems
compared with the XP SP3 with acpi.sys from Vista 5048
Dietmar

#491 | infuscomus | ⇗ @diderius6 we could patch extra functions into XP ntoskrnl to match vista ACPI dependencies?

#492

diderius6

⇗ @infuscomus
The problem via this way is, that there are a lot of other functions
and also new dependencies to other files for acpi.sys in Vista,
as I have to see.
Today my programer tl866ii plus arrives
and first of all I try to reanimate my asrock fatal1ty ab350 gaming k4 board.
Interesting, if on a working Vista (with full Acpi support)
the acpi.sys there can be changed against the one from post 487 and works
Dietmar

#493

diderius6

Report about the Epromer tl866ii plus:
First I update internal flash and software.
On USB 3 it crashes often.
On USB2 works, but slow.
I am not able to programm a Bios Chip 25q128fwsq with this Epromer
without errors. I think, the 3 Bios Chips, that I have, are all killed.
Need to buy new
Dietmar
PS: The Bios chip insoldered in Board is not recogniced and cant be programed.
Only when the Bios Chip is direct connected to the Epromer, it is identified correct.
No possibilities to change anything in the Epromer, for example Voltage.
EDIT: After I erased a lot of times the 25q128fwsq Bios chip,
fill it with random numbers, erase again, I was able to program this chip with the epromer tl866ii plus
and veryfy it after direct and again with Winhex without any errors.
This works only, when the Bios chip is direct connected to the epromer via socket,
no cable(!). The tl866ii plus is the only epromer I know, which works for this chip.

#494 | infuscomus | ⇗ @diderius6 maybe something like this might work? ⇗ https://www.ebay.com/itm/SPI-and-I2C-Fla...M-/290587546215 The following contents have been linked to this post:

#495

Lost_N_BIOS

⇗ @diderius6 - I am not sure about tl866ii programmers, if it works same as $2 CH341A programmers, but you can use other software with the CH341A programmer instead of the standard one, and for the chip you mentioned W25Q128FW you need to use ASProgrammer.
Also, if your programmer does not support voltage changes, then yes you would need 1.8V adapter like this, since that is 1.65-1.95V chip - ⇗ https://www.ebay.com/itm/202046860676 The following contents have been linked to this post:

## Page 34

#496 | diderius6 | ⇗ @Lost_N_BIOS This 1.8V adapter does not work, also not with ASProgrammer on CH341A. It just shows FF FF everywhere, Dietmar

#497

diderius6

I think, the problem in the 25Q128FWSQ
are really the 1.8 Volt.
I even cant erase the whole chip.
But when I use the 1.8 version of the TOOL,
I can erase everything.
The 1.8 ver. of the tool does not know anything about 1.8 V,
so I think it uses 3.3 V.
And only this works,
Dietmar

#498

diderius6

Yesssaa,
I erase the 25Q128FWSQ chip
(without any adaptor, only the ch341a programer)
with CH341A Programmer 1.18 and after
check for blank with CH341A Programmer 1.18. All blank.
Again I check for blank with ASProgrammer on pur CH341A for Bios Chip W25Q128FW_1.8V (WINBOND).
All blank.
Then I program via ASProgrammer on pur CH341A for Bios Chip W25Q128FW_1.8V (WINBOND).
After this I read again the Bioschip and compare with my file.
For the very first time, Winhex shows 100% identic
Dietmar

#499

infuscomus

⇗ @diderius6
I am trying the grub2 method for ACPI
What are the tables that ACPI uses? - I have DSDT, what other tables are there?
I used
acpi --load-only /a320cr1.aml
then boot XP setup - no more A5 BSOD, but freeze on "Setup is starting windows"

#500 | infuscomus | how can I extract RSDT/XSDT from a BIOS/UEFI image?
#501 | diderius6 | Yes, I have done this, crazy to find in Bios file. It is easy from a running compi with iasl or RW everything. At the moment I have a lot of work, from Wednesday I have more time Dietmar
#502 | infuscomus | trying to replace DSDT with grub2 - got this error - ideas? infuscomus has attached images to this post ⇗ P_20190519_170143.jpg

#503

infuscomus

⇗ @diderius6
is this the only BIOS modification necessary for programmable interrupt controller to work?
or is more necessary?
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}

#504

diderius6

⇗ @infuscomus
I am not sure, if it is only a problem in the DSDT table on Bios from AM4 boards.
May be, the problem comes from another table,
which is loaded during boot also.
I think this, because MPS multiprocessor works
without any ACPI, meaning XP even does not load
the DSDT table
Dietmar

#505 | infuscomus | ⇗ @diderius6 I'm not so sure, MPS on my ab350 gaming K4 freezes on "Setup is Starting Windows"

#506

diderius6

⇗ @infuscomus
"I'm not so sure, MPS on my ab350 gaming K4 freezes on "Setup is Starting Windows" "
Yes, for me is exact the same.
The only chance to see why this happens is a windbg session,
from a working XP SP3 with hal and ntoskrnl for MPS multiprocessor,
Dietmar
PS: This can also be done, when you install a XP SP3 "Standard PC" on ab350 gaming K4
and in boot.ini you make a line with hal and ntoskrnl for MPS.

#507 | infuscomus | ⇗ @diderius6 can the advanced programmable interrupt controller be fixed without fixing ACPI?
#508 | diderius6 | ⇗ @infuscomus When we find out, why this happens, yes. In 3 days I will test this with windbg Dietmar

#509

infuscomus

⇗ @diderius6
I noticed something in txtsetup.sif
[hal]
486c_up = hal.dll ,2,hal.dll
acpipic_up = halacpi.dll ,2,hal.dll
e_isa_up = hal.dll ,2,hal.dll
mps_up = halapic.dll ,2,hal.dll
mps_mp = halmps.dll ,2,hal.dll
syspro_mp = halsp.dll ,2,hal.dll
acpiapic_up = halaacpi.dll,2,hal.dll
acpiapic_mp = halmacpi.dll,2,hal.dll
[Hal.Load]
486c_up = hal.dll
acpipic_up = halacpi.dll
e_isa_up = hal.dll
mps_up = halapic.dll
mps_mp = halapic.dll
syspro_mp = hal.dll
acpiapic_mp = halaacpi.dll
acpiapic_up = halaacpi.dll
maybe MPS freezes because txtsetup.sif in txtmode loads halapic.dll for uniprocessor instead of halmps.dll for multiprocessor?

#510

diderius6

⇗ @infuscomus
This is really strange.
I noticed, that there is a table in Bios, which configures APIC mode (needed for multiprocessor)
but I do not know their name. Because Vista 32 bit can be installed on the Asrock Ryzen board,
there is a way.
For to test this, install a "Standard PC" XP on the Asrock board.
And make an extra line in boot.ini
for to change hal.dll and ntoskrnl from "Standard PC" to "MPS Muliprocessor".
When it hangs also, with Windbg you can find the reason
Dietmar

## Page 35

#511 | infuscomus | ⇗ @diderius6 programmable interrupt controller is connected to PCI standard ISA bridge - is this normal?

#512

diderius6

⇗ @infuscomus,
yes this is PIC mode (only 16 IRQ).
The same happens during install of XP SP3
on the Asrock Ryzen board.
Something went wrong, so that XP tries to install PIC mode.
I have never seen this before.
It has nothing to do with ACPI,
because this error is gone when you install "Acpi-PC" (is in PIC mode)
Dietmar

#513 | infuscomus | ⇗ @diderius6 programmable interrupt controller is connected to PCI standard ISA bridge in windows 10 too maybe XP ISA bridge driver is causing this problem?

#514

diderius6

⇗ @infuscomus
When ACPI is enabled, XP forget about the MPTABLE.
This may be the reason, why Vista works.
So, if there is an error in this MPTABLE, with using of ACPI it never comes to the light.
⇗ https://community.osr.com/discussion/249...pic-lying-to-me
⇗ https://coreboot.coreboot.narkive.com/XG...brios-mouse-fix
Dietmar

#515 | infuscomus | ⇗ @diderius6 by MPTABLE do you mean MADT table?

#516

diderius6

⇗ @infuscomus
I did a search for "apic" in Bios with the UEFI-Tool.
A *.raw entry I do not find via "apic" search.
So, I have no idea, which table sets the correct apic values
for MPS multiprocessor
Dietmar
PS: I am quiet sure, that it is an error in Bios. Bios for Ryzen can not handle MPS multiprocessor.
In Linux we have for kernel configuration
pirq= [SMP,APIC] Manual mp-table setup
See Documentation/x86/i386/IO-APIC.txt.
EDIT: I just find that:
⇗ https://lore.kernel.org/patchwork/patch/742964/
The APIC ids provided by ACPI are not required to be the same as the
> initial APIC id which can be retrieved by CPUID. The APIC ids provided
> by ACPI are those which are written by the BIOS into the APIC. The
> initial id is set by hardware and can not be changed. The hardware
> provided ids contain the real hardware package information.
>
> Especially AMD sets the effective APIC id different from the hardware id
> as they need to reserve space for the IOAPIC ids starting at id 0.
>
> As a consequence those machines trigger the currently active firmware
> bug printouts in dmesg, These are obviously wrong.
>

#517

diderius6

Yes, I was right:
With RW everything on working XP SP3 (Standard PC) on the Ryzen Asrock board
I get, when I click MPS (is entry for table there, not in ACPI):
MP Configuration Table not found!
Dietmar
PS: This is the very first Bios for me, without an MPSTABLE.

#518 | infuscomus | ⇗ @diderius6 Does the XP friendly Z390 motherboard still have an MPSTABLE?

#519

diderius6

⇗ @infuscomus
I do not know, but I will have a look at. On the Asus X Apex z370 board I can install MPS multiprocessor.
The big problem for XP on Ryzen board is,
that you cant enable APIC mode, only PIC with 16 IRQs.
For to test this, I leave everything as before on XP SP3 on
Asrock Ryzen board. I only change hal.dll against halapic.dll.
This means, no MPS, no ACPI is asked for,
only "Standard PC" with one cpu but APIC ("Standard PC" has PIC mode nativ with hal.dll).
And with APIC (halapic.dll) the PC hangs with blinking cursor, exact as the situation is during install
Dietmar

#520

infuscomus

⇗ @diderius6
if you replace in DSDT Table? no change?
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}

#521

diderius6

⇗ @infuscomus
With "Standard PC" the DSDT table is not loaded.
I make a try to install the uniata driver.
It installs, but then tells, not enough resources left (error 12)
even I disable nearly all in device manager.
The reason, why this happens may be also because only 16 IRQs
are free in PIC mode and if the driver used something like for example IRQ 22,
it will not work
Dietmar

#522

diderius6

This is interesting
"The IRQ issue, as it turns out, originates at the chipset, rather than the CPU. While running AMD's chipsets A320 and B350 in PIC mode (versus APIC mode), the interrupt mode could not be set to level, which is needed to share IRQ's among several devices. In addition, while running in the edge mode, we discovered that the signal levels seemed to be inverted. This led to the loss of IRQ's and consequently, the driver was not receiving any reply to its device commands.
Of course we have contacted AMD to inform them of our findings. At this time, we are awaiting their response. We will keep you updated. Stay tuned!"

#523 | infuscomus | ⇗ @diderius6 I meant - if you replace the _PIC method in DSDT table does it enter Advanced PIC mode?
#524 | diderius6 | The DSDT table is just not loaded, complete ignored in "Standard PC" Dietmar
#525 | infuscomus | ⇗ @diderius6 Have you tried "ACPI multiprocessor" option in XP setup after replacing _PIC in DSDT Table? If you did, does it fix A5 BSOD?

## Page 36

#526

diderius6

⇗ @infuscomus
yes, when you succeed with "ACPI multiprocessor" ,
the problem with APIC may be just overridden.
This is what I think, what Vista 32 bit is doing.
I make a try with the modified acpi.sys from Vista 5048,
which I post here and connect to a Windbg session
from an XP SP3 with full Acpi support from an AM3+ board
Dietmar
EDIT: Now I have a full XP SP3 (from an AM3+ board)
with extra boot.ini entries
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=nt1.exe /HAL=hal1.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntoskrnl.exe /HAL=hal.dll
First is full Multiprocessor Acpi and second is "Standard PC" PIC modus, one cpu, no Acpi.
Second entry works as "Standard PC".
First gives BSOD 0x7E C0000005 and acpi.sys ist there ,even the modified acpi.sys 5048 from Vista.
0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation
occurred.
yepp, this has to be solved,
Dietmar

#527 | infuscomus | ⇗ @diderius6 do you get C0000005 error with server 2003 acpi.sys too?

#528

diderius6

Yes. It is the problem with APIC, I am quite sure.
But take a look at this:
XP on Ryzen, with Acpi enabled and without at the same time,
such fun is only possible in XP
Dietmar
⇗

#529 | infuscomus | ⇗ @diderius6 After XP Microsoft unified the HAL, so for Vista and later - ACPI-only - no other option
#530 | infuscomus | ⇗ @diderius6 there is a new function in windows 7 ntoskrnl - HvlWriteApicCommandRegister

#531

diderius6

I set up a windbg session.
For ACPI multiprocessor I get
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx.
Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher übertragen.
Dietmar

#532

diderius6

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sun May 26 20:48:12.281 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp.080413-2111
>     Machine Name:
>     Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Sun
>      May 26 20:48:15.078 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 810A6000->8290AFFF
>     Sun May 26 20:48:15.078 2019 (UTC + 2:00):
>     Sun May 26 20:48:15.093 2019 (UTC + 2:00): MM: Disabling large pages for all ranges due to overlap
>     Sun May 26 20:48:20.968 2019 (UTC + 2:00):
>     *** Fatal System Error: 0x0000007e
>                            (0xC0000005,0xB7F75088,0xB84C2E8C,0xB84C2B88)

>     Sun May 26 20:48:21.015 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sun May 26 20:48:21.203 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, b7f75088, b84c2e8c, b84c2b88}

>     *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     Probably caused by : ACPI.sys ( ACPI+e088 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     8052b5dc cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: b7f75088, The address that the exception occurred at
>     Arg3: b84c2e8c, Exception Record Address
>     Arg4: b84c2b88, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     ACPI+e088
>     b7f75088 ff5010          call    dword ptr [eax+10h]

>     EXCEPTION_RECORD:  b84c2e8c -- (.exr 0xffffffffb84c2e8c)
>     ExceptionAddress: b7f75088 (ACPI+0x0000e088)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000010
>     Attempt to read from address 00000010

>     CONTEXT:  b84c2b88 -- (.cxr 0xffffffffb84c2b88)
>     eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
>     eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0         nv up ei ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
>     ACPI+0xe088:
>     b7f75088 ff5010          call    dword ptr [eax+10h]  ds:0023:00000010=????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000010

>     READ_ADDRESS:  00000010

>     FOLLOWUP_IP:
>     ACPI+e088
>     b7f75088 ff5010          call    dword ptr [eax+10h]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

>     LOCK_ADDRESS:  8055b560 -- (!locks 8055b560)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x8055b560
>     	Thread Count  : 1
>     	Thread address: 0x8a8b9788
>     	Thread wait   : 0xbf

>     LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

>     STACK_TEXT:
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     b84c30bc b7f9614d 8a8ccd80 b84c30e4 b84c30f4 ACPI+0xe088
>     b84c30e8 b7f9bddf b7f91940 b84c3104 e101128c ACPI+0x2f14d
>     b84c316c b7f95d80 e14c852c b84c31bc b7f91940 ACPI+0x34ddf
>     b84c3180 b7f9be5a b7f91940 b84c31bc e101128c ACPI+0x2ed80
>     b84c319c 80596117 b7f91940 00000009 b84c31bc ACPI+0x34e5a
>     b84c31d8 80597cd1 e14c84d8 00000000 8055b060 nt!IopBootAllocation+0x5f
>     b84c321c 80598602 00000004 e14c84d8 e1436430 nt!IopAllocateBootResourcesInternal+0x65
>     b84c323c 8069dcbc 00000004 8a8ccd80 e1436430 nt!IopAllocateBootResources+0x34
>     b84c325c 8058f193 00000004 8a8ccd80 e1436430 nt!IopReportBootResources+0x3c
>     b84c328c 80591f4d 8a8dbad8 800000a8 00000000 nt!PiQueryAndAllocateBootResources+0xe7
>     b84c337c 8059222b 8a8dbad8 00000000 00000000 nt!PipProcessNewDeviceNode+0xab5
>     b84c35d0 804f68d3 8a881dd8 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
>     b84c3614 804f6b78 00000000 00000000 800916b8 nt!PipDeviceActionWorker+0xad
>     b84c362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
>     b84c3690 80699f70 80085000 b84c36ac 00034000 nt!IopInitializeBootDrivers+0x376
>     b84c3838 806983d3 80085000 00000000 8a8b9788 nt!IoInitSystem+0x712
>     b84c3dac 805cff64 80085000 00000000 00000000 nt!Phase1Initialization+0xac7
>     b84c3ddc 805460de 8069790c 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  ACPI+e088

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  424d8208

>     STACK_COMMAND:  .cxr 0xffffffffb84c2b88 ; kb

>     FAILURE_BUCKET_ID:  0x7E_ACPI+e088

>     BUCKET_ID:  0x7E_ACPI+e088

>     Followup: MachineOwner
>     ---------

>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: b7f75088, The address that the exception occurred at
>     Arg3: b84c2e8c, Exception Record Address
>     Arg4: b84c2b88, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0
>     *** No owner thread found for resource 8055b4e0

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     ACPI+e088
>     b7f75088 ff5010          call    dword ptr [eax+10h]

>     EXCEPTION_RECORD:  b84c2e8c -- (.exr 0xffffffffb84c2e8c)
>     ExceptionAddress: b7f75088 (ACPI+0x0000e088)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000010
>     Attempt to read from address 00000010

>     CONTEXT:  b84c2b88 -- (.cxr 0xffffffffb84c2b88)
>     eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
>     eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0         nv up ei ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
>     ACPI+0xe088:
>     b7f75088 ff5010          call    dword ptr [eax+10h]  ds:0023:00000010=????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000010

>     READ_ADDRESS:  00000010

>     FOLLOWUP_IP:
>     ACPI+e088
>     b7f75088 ff5010          call    dword ptr [eax+10h]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

>     LOCK_ADDRESS:  8055b560 -- (!locks 8055b560)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x8055b560
>     	Thread Count  : 1
>     	Thread address: 0x8a8b9788
>     	Thread wait   : 0xbf

>     LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

>     STACK_TEXT:
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     b84c30bc b7f9614d 8a8ccd80 b84c30e4 b84c30f4 ACPI+0xe088
>     b84c30e8 b7f9bddf b7f91940 b84c3104 e101128c ACPI+0x2f14d
>     b84c316c b7f95d80 e14c852c b84c31bc b7f91940 ACPI+0x34ddf
>     b84c3180 b7f9be5a b7f91940 b84c31bc e101128c ACPI+0x2ed80
>     b84c319c 80596117 b7f91940 00000009 b84c31bc ACPI+0x34e5a
>     b84c31d8 80597cd1 e14c84d8 00000000 8055b060 nt!IopBootAllocation+0x5f
>     b84c321c 80598602 00000004 e14c84d8 e1436430 nt!IopAllocateBootResourcesInternal+0x65
>     b84c323c 8069dcbc 00000004 8a8ccd80 e1436430 nt!IopAllocateBootResources+0x34
>     b84c325c 8058f193 00000004 8a8ccd80 e1436430 nt!IopReportBootResources+0x3c
>     b84c328c 80591f4d 8a8dbad8 800000a8 00000000 nt!PiQueryAndAllocateBootResources+0xe7
>     b84c337c 8059222b 8a8dbad8 00000000 00000000 nt!PipProcessNewDeviceNode+0xab5
>     b84c35d0 804f68d3 8a881dd8 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
>     b84c3614 804f6b78 00000000 00000000 800916b8 nt!PipDeviceActionWorker+0xad
>     b84c362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
>     b84c3690 80699f70 80085000 b84c36ac 00034000 nt!IopInitializeBootDrivers+0x376
>     b84c3838 806983d3 80085000 00000000 8a8b9788 nt!IoInitSystem+0x712
>     b84c3dac 805cff64 80085000 00000000 00000000 nt!Phase1Initialization+0xac7
>     b84c3ddc 805460de 8069790c 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  ACPI+e088

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  424d8208

>     STACK_COMMAND:  .cxr 0xffffffffb84c2b88 ; kb

>     FAILURE_BUCKET_ID:  0x7E_ACPI+e088

>     BUCKET_ID:  0x7E_ACPI+e088

>     Followup: MachineOwner
>     ---------

#533

diderius6

Interesting, if this an error in some AM4 chipsets:
"The IRQ issue, as it turns out, originates at the chipset, rather than the CPU. While running AMD's chipsets A320 and B350 in PIC mode (versus APIC mode), the interrupt mode could not be set to level, which is needed to share IRQ's among several devices. In addition, while running in the edge mode, we discovered that the signal levels seemed to be inverted. This led to the loss of IRQ's and consequently, the driver was not receiving any reply to its device commands."
This would mean, that on other AM4 chipsets this APIC error (compi stays in PIC mode) not appears, for example
A/B300
X300
X370
B450
X470
Would be nice, to hear about acpi results for XP SP3 boot on those platforms
Dietmar
PS: With my modified acpi.sys from XP SP3 I get the error: Acpi tries to enable PIC mode, but fails. Because this is a B350 chipset, it may be just true.

#534

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #533

> This would mean, that on other AM4 chipsets this APIC error (compi stays in PIC mode) not appears, for example
> A/B300
> X300
> X370
> B450
> X470

The chipsets are very similar, I would assume same result on the B400 series as with B300 series

#535

diderius6

I just notice,
that no version of Vista can be installed on
Asrock fatal1ty ab350 gaming k4.
It tells: "compi not ACPI conform"
Dietmar
PS: Now I am sure, that it is a bug in the chipset B350 and /or in its Bios.
XP can only be installed there, because it can be done in PIC mode for one cpu (Standard PC).
I try a lot of Vista BETA versions, allways the same. If a beta version starts to install Vista (Longhorn)
few moment later comes BSOD 0x7E c0000005 acpi.sys error.
The problem is just, that Bios offers only PIC mode (16 IRQs) and not APIC mode (24 Irqs).

#536 | infuscomus | ⇗ @diderius6 any luck installing windows 7?

#537

diderius6

⇗ @infuscomus
I cant install Win7 32 bit on MBR on Asrock fatal1ty ab350 gaming k4 via original DVD (from 2009, no service pack at all).
Compi shows on reboot error c0000007. I use Ryzen 1700 with 8 cores 16 threads.
But using the files from another compi works with full ACPI and Hyperthreading as you can see on photo.
This is astonishing, how legacy Win7 32 bit (non UEFI) manage the PIC modus from this Bios.
May be, it takes only very basics information from Bios
and builds everything else by itself
Dietmar
⇗

#538 | infuscomus | ⇗ @diderius6 can we copy APIC from AM3 or FM2+ system BIOS and apply to AM4?

#539

diderius6

⇗ @infuscomus
I read a lot about PIC and APIC mode in Bios.
As far as I see, nobody else succeed to build a XP,
with both "Standard PC" and "Acpi Multiprocessor" at the same time.
I read, that somebody, who builds embedded PC s for XP was looking like crazy for such a solution.
I dont understand, where the switch between PIC and APIC mode is in Bios. May be its just one value of a variable, Arg0 (?)
which can be hacked.
Some BIOS are on a black list and XP always install PIC modus even Bios offers (faulty) APIC mode.
Somebody told, that the MPS multiprocessor table is a good test, if a BIOS works in APIC mode.
I agree, but on this Bios we have no MPS
Dietmar
PS: Interesting if there is a MPS table on any AM4 Bios. Just install RW everything and click on MPS.
On Asrock fatal1ty ab350 gaming k4 there is none. But may be on other chipsets for AM4 there is.
And I also have no idea, where this table is in Bios located.

#540

infuscomus

⇗ @diderius6
in XP unfriendly DSDT on ab350 gaming k4
Device (SBRG)
{
Name (_ADR, 0x00140003) // _ADR: Address
Device (PIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device PIC is part of SBRG?
compare XP friendly
Device (PIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
close bracket?
possible solution?
Device (SBRG)
{
Name (_ADR, 0x00140003) // _ADR: Address
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
maybe?

## Page 37

#541

diderius6

⇗ @infuscomus
I found the Hexpattern, where _MP_ is recogniced.
It is 5F4D505F.
Via this way I found the MP table in Bios from Apex X board.
It is located in Bios in ACPI Section_PE32_image_ACPI
Dietmar
PS: Via this way, all Bios from other AM4 chipsets can be tested for _MP_ table.
I just test this. The PRIME-X470-PRO-ASUS-4602 Bios also has no _MP_ table.
EDIT: The 8259-compatible Programmable Interrupt Controller is the part for PIC mode.
But where is the same for APIC?
⇗ https://habr.com/en/post/446312/
⇗ https://wiki.osdev.org/IOAPIC
⇗ https://wiki.osdev.org/MADT

#542

diderius6

Yesssssa, I find the cause of all evel in APIC for XP in Bios FACP table

    Signature	"FACP"
    Length	0x00000114 (276)
    Revision	0x06 (6)
    Checksum	0xC1 (193)
    OEM ID	"ALASKA"
    OEM Table ID	"A M I "
    OEM Revision	0x01072009 (17244169)
    Creator ID	"AMI "
    Creator Revision	0x00010013 (65555)
    Firmware Control	0xDC6E0D80 - FACS
    DSDT Address	0xDC31A1E8 - DSDT
    Interrupt Mode	0x00 (0) - Dual PIC
    PM Profile	0x01 (1)
    SCI Interrupt	0x0009 (9)
    SMI Port	0x000000B2 (178)
    ACPI Enable	0xA0 (160)
    ACPI Disable	0xA1 (161)
    S4 Request	0x00 (0) - Not supported
    PSTATE_CNT	0x00 (0)
    PM1a_EVT_BLK	0x00000800 (2048)
    PM1b_EVT_BLK	0x00000000 (0) - Not supported
    PM1a_CNT_BLK	0x00000804 (2052)
    PM1b_CNT_BLK	0x00000000 (0) - Not supported
    PM2_CNT_BLK	0x00000000 (0) - Not supported
    PM_TMR_BLK	0x00000808 (2056)
    GPE0_BLK	0x00000820 (2080)
    GPE1_BLK	0x00000000 (0) - Not supported
    PM1_EVT_LEN	0x04 (4)
    PM1_CNT_LEN	0x02 (2)
    PM2_CNT_LEN	0x01 (1)
    PM_TMR_LEN	0x04 (4)
    GPE0_BLK_LEN	0x08 (8)
    GPE1_BLK_LEN	0x00 (0)
    GPE1_BASE	0x00 (0)
    CST_CNT	0x00 (0)
    P_LVL2_LAT	0x0065 (101) - C2 state not supported
    P_LVL3_LAT	0x03E9 (1001) - C3 state not supported
    FLUSH_SIZE	0x0400 (1024)
    FLUSH_STRIDE	0x0010 (16)
    DUTY_OFFSET	0x01 (1)
    DUTY_WIDTH	0x03 (3)
    DAY_ALRM	0x0D (13)
    MON_ALRM	0x00 (0) - Month alarm not supported
    CENTURY	0x32 (50)
    IAPC_Boot_Arch	0x03 0x00
    Reserved	0x00 (0)
    Flags	0x0003C5A5
      WBINVD	1 - WBINVD instruction fully supported
      WBINVD_Flush	0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1)
      PROC_C1	1 - C1 power state: all processors
      P_LVL2_UP	0 - C2 power state: UP system only
      PWR_BUTTON	0 - Power button supported as fixed feature
      SLP_BUTTON	1 - Sleep button not support or handled by ASL code
      FIX_RTC	0 - Fixed register support RTC wake
      RTC_S4	1 - RTC wakeup support: S1, S2, S3, S4
      TMR_VAL_EXT	1 - 32bit PM Timer
      DCK_CAP	0 - Docking not supported
      RESET_REG_SUP	1 - Reset Register supported
      SEALED_CASE	0 - System is not sealed
      HEADLESS	0 - Not headless mode
      CPU_SW_SLP	0 - Normal method to write SLP_TYPx
      PCI_EXP_WAK	1 - PM1 block support PCIE wakeup status/enable bits
      USE_PLATFORM_CLOCK	1 - OSPM use HPET (if exist) or ACPI PM Timer
      S4_RTC_STS_VALID	1 - RTC_STS flag is valid when resume from S4
      REMOTE_POWER_ON_CAPABLE	1 - System compatible with remote power on
      FORCE_APIC_CLUSTER_MODEL	0 - Cluster destination model not required
      FORCE_APIC_PHYSICAL_DESTINATION_MODE	0 - Physical destination mode not required
    RESET_REG	IO: 0xB2, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Undefined
    RESET_VALUE	0xBE (190)
    Reserved	0x00 0x00 0x00
    X_FIRMWARE_CTRL	0x0000000000000000
    X_DSDT	0x00000000DC31A1E8
    X_PM1a_EVT_BLK	IO: 0x800, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1b_EVT_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1a_CNT_BLK	IO: 0x804, BitWidth: 0x10 (16), BitOffset: 0x00 (0), AccessSize: Word
    X_PM1b_CNT_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
    X_PM2_CNT_BLK	IO: 0x0, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Byte
    X_PM_TMR_BLK	IO: 0x808, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Dword
    X_GPE0_BLK	IO: 0x820, BitWidth: 0x40 (64), BitOffset: 0x00 (0), AccessSize: Byte
    X_GPE1_BLK	IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Byte
    SLEEP_CONTROL	Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined
    SLEEP_STATUS	Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined

Crazy, so the Bios from Asrock fatal1ty ab350 gaming k4 is really a PIC mode Bios, like 30 years ago
Dietmar

#543

diderius6

This can be hacked, like I did with the timer and s4e method:
Before

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\ALASKA\A_M_I_\01072009]
    "00000000"=hex:46,41,43,50,14,01,00,00,06,c1,41,4c,41,53,4b,41,41,20,4d,20,49,\
      20,00,00,09,20,07,01,41,4d,49,20,13,00,01,00,80,0d,6e,dc,e8,a1,31,dc,00,01,\
      09,00,b2,00,00,00,a0,a1,00,00,00,08,00,00,00,00,00,00,04,08,00,00,00,00,00,\
      00,00,00,00,00,08,08,00,00,20,08,00,00,00,00,00,00,04,02,01,04,08,00,00,00,\
      65,00,e9,03,00,04,10,00,01,03,0d,00,32,03,00,00,a5,c5,03,00,01,08,00,00,b2,\
      00,00,00,00,00,00,00,be,00,00,00,00,00,00,00,00,00,00,00,e8,a1,31,dc,00,00,\
      00,00,01,20,00,02,00,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,\
      00,01,10,00,02,04,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,00,\
      01,08,00,01,00,00,00,00,00,00,00,00,01,20,00,03,08,08,00,00,00,00,00,00,01,\
      40,00,01,20,08,00,00,00,00,00,00,01,00,00,01,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00

after

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\ALASKA\A_M_I_\01072009]
    "00000000"=hex:46,41,43,50,14,01,00,00,06,c1,41,4c,41,53,4b,41,41,20,4d,20,49,\
      20,00,00,09,20,07,01,41,4d,49,20,13,00,01,00,80,0d,6e,dc,e8,a1,31,dc,01,01,\
      09,00,b2,00,00,00,a0,a1,00,00,00,08,00,00,00,00,00,00,04,08,00,00,00,00,00,\
      00,00,00,00,00,08,08,00,00,20,08,00,00,00,00,00,00,04,02,01,04,08,00,00,00,\
      65,00,e9,03,00,04,10,00,01,03,0d,00,32,03,00,00,a5,c5,03,00,01,08,00,00,b2,\
      00,00,00,00,00,00,00,be,00,00,00,00,00,00,00,00,00,00,00,e8,a1,31,dc,00,00,\
      00,00,01,20,00,02,00,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,\
      00,01,10,00,02,04,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,00,\
      01,08,00,01,00,00,00,00,00,00,00,00,01,20,00,03,08,08,00,00,00,00,00,00,01,\
      40,00,01,20,08,00,00,00,00,00,00,01,00,00,01,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00

Dietmar

#544

infuscomus

⇗ @diderius6
so in FACP table
Interrupt Mode 0x00 (0) - Dual PIC
should be
Interrupt Mode 0x01
is this correct?

#545

diderius6

⇗ @infuscomus
Yes.
Interrupt Mode 0x00 (0) - Dual PIC --> Interrupt Mode 0x01 (1) - Multiple APIC
When you read, how APIC works, you see, that each cpu core builds an own local Apic.
And all together, the chipset with integrated apic controller (!) makes a working (or not working) Apic from it.
So, I am not sure, if this is a symptom in FACP or the cure:)).
Until know, I do not find the location of FACP in Bios.
When you look for string "FACP" with Uefi-Tool you get some adresses.
But how the table facp is build from it, I dont know.
The hack in Bios would be simple
Dietmar

#546 | infuscomus | ⇗ @diderius6 my guess is FACP is located in Section_PE32_image_ACPI_ACPI_body.efi I think XSDT is there too I don't know how to extract the FACP from the EFI module though
#547 | diderius6 | I succeed to install USB2.0 and full USB 3.1 support on the Asrock fatal1ty ab350 gaming k4 for XP SP3 Dietmar ⇗
#548 | infuscomus | ⇗ @diderius6 which driver version did you use for USB 3.0/3.1?
#549 | infuscomus | ⇗ @diderius6 i'm not 100% sure, butyou may find this useful? Windows Vista ACPI information, incl. advice on common problems in ACPI implementations ⇗ http://download.microsoft.com/download/5...CPA002_WH06.ppt edit: according to this presentation, you need a checked build of acpi.sys to load ACPI tables from registry?

#550

diderius6

⇗ @infuscomus
There are nice tips for to work with windbg, especially on BSOD 0x7E.
About USB3.1 on the AMD Asrock board:
First I copy all USB XP SP1 files (see attach down here) to folder windows\system32\drivers on AMD XP SP3.
Then from device manager I install USB 3.1 files, first xhci, then, when windows ask for it, the hub driver
Dietmar
EDIT: No need for checked build of acpi.sys (I have for XP, but does not help anything).
XP always reads dsdt, facp tables from registry.
What may be different with checked acpi.sys is,
that this driver ONLY looks at registry, while normal XP acpi.sys reads the
entries in registry, which are always loaded new from Bios on next boot.
So, like with the Microsoft tool, you can make an order list of entries
for dsdt, facp in registry, newest files are loaded then.
diderius6 has attached files to this post

- ⇗ USBXPSP1.rar
- ⇗ AMD USB 3.1 drivers v1.0.5.3 WHQL.rar

#551 | infuscomus | ⇗ @diderius6 Thanks for the USB drivers. I recall you saying that server 2003 acpi.sys had ACPI 2.0 words compared to XP ACPI 1.0 words so can checked server 2003 acpi.sys with ACPI 2.0 words help diagnose the problem? p.s I assume acpi.sys 5048 is an unchecked version?
#552 | infuscomus | ⇗ @diderius6 do you have a copy of debug ntkrnlmp.exe for XP? I have found server 2003 version but not XP version

#553

diderius6

⇗ @infuscomus
Here it is,
englisch debug version XP SP3 32 bit ntkrnlmp.exe
Dietmar
diderius6 has attached files to this post

- ⇗ ntkrnlmp.rar

#554 | diderius6 | Hi, I am happy, when all AMD Ryzen users can make a quick test via rw-everything, if there is a MPS table on their board. For this, just click MPS on top of the RW-everything window Dietmar

#555

diderius6

May be a Linux installation on the Asrock fatal1ty ab350 gaming k4
can give more information about the not working APIC mode. Any help using diagnostic tools in Linux is welcome.
Yesterday I booted this board write protect with an XP from an AM3+ board.
Again the 0x7E 0xc0000005 error ACPI.sys error (I use the modified 5048 acpi.sys, which works perfect on intel boards.)
This is strange, because the FACP and DSDT table are now read from the
AM3+ board, because of writeprotect. This would mean: The BSOD happens not because of broken Bios.
More and more I come to the conclusion,
that the APIC controller in the B320 and B350 AMD chipsets has an error
Dietmar
EDIT: May be this problem with APIC is related to 32 bit (adress room),
and because of this, there is no support for legacy Win7 32 bit for Ryzen.
I saw computers with B320 or B350 chipset with Ryzen cpu, which fails during install Win7 32 bit via Acpi.sys error.
It depends not on the ryzen cpu, I tested.

## Page 38

#556 | infuscomus | ⇗ @diderius6 Thanks for XP checked ntkrnlmp server 2003 checked acpi.sys calls missing function not in XP - DbgCommandString damn

#557

diderius6

⇗ @infuscomus
Here it is, original XP SP3 32 bit english acpi.sys debug version, until now not modified,
because big differences in normal acpi.sys version and debug
Dietmar
diderius6 has attached files to this post

- ⇗ acpiDEBUG.rar

#558 | infuscomus | ⇗ @diderius6 Thanks regarding MPS table - can this be added into BIOS for AB350 gaming K4? or would MPS be unnecessary if we can make APIC work?

#559

diderius6

⇗ @infuscomus
MPS table helps you to see at once,
if the compi can work in APIC mode.
Without MPS, you cant say nothing:)).
No real need for the MPS table,
but via MPS you can decide, wether it is an APIC versus PIC
problem or just something went wrong with ACPI.sys.
On the Asrock B350 board, for sure something went wrong with APIC,
and acpi.sys crashes in follow of only PIC mode (no multiprocessor)
Dietmar

#560 | infuscomus | ⇗ @diderius6 can you send me a full acpidump (all tables) of your XP friendly AM3+ board? I don't have an AM3+ board of my own

#561

diderius6

⇗ @infuscomus
Here it the acpidump, translated to human readable.
This Bios from AM3+ FX-8350 processor on MSI 760gma-p34 (fx) board (first version)
has an MPS table, in FACP you can see, that APIC mode is enabled
and really everything works nice in XP SP3, especially MPS multiprocessor and ACPI multiprocessor
Dietmar
diderius6 has attached files to this post

- ⇗ AcpidumpAM3+XPfriendly.rar

#562

diderius6

Waaaoh,
my idea about BSOD from acpi (no apic, only pic model) because of 32 bit is right.
Just in this moment I install legacy Vista 64 bit (very first version from 2007) on MBR.
Now it is clear, why there is no legacy Win7 32 bit support for the Asrock fatal1ty ab350 gaming k4 board
Dietmar

#563 | infuscomus | ⇗ @diderius6 Thanks, was it just these 4 tables? can i get the raw acpidump output file so it gives everything? acpidump -o am3dump
#564 | diderius6 | ⇗ @infuscomus acpidump looks only at registry and in registry hardware are only this 4 files. rw-everything looks in Bios, but it crashes, because it does not like acpi and nonacpi model at the same time Dietmar
#565 | infuscomus | ⇗ @diderius6 OK, Thanks do you know if the facp table is actually generated at boot or stored in BIOS?

#566

diderius6

⇗ @infuscomus
The FACP table is build on boottime always new from XP (with an unknown algorithmus), during reading from Bios.
But you can fake the FACP table, because hal.dll of XP looks only in registry.
I have done this for the timer and the fake FACP table works.
Here with the Asrock board we have the problem,
that there is no FACP table build in Bios, because of no Acpi.
With some handwork, it is possible to build such a hardware entry in registry for ACPI for all the 4 tables by hand.
But the result would be the same BSOD 0x7E 0xC0000005
Dietmar
PS: At the moment I download Ubuntu 16.04 (32-bit),
this is the last version for 32 bit support.
I hope to get some more information, at which place the APIC mode crashes,
as it depends on those 32 bit.

#567 | infuscomus | ⇗ @diderius6 there is also manjaro linux maintaining a 32-bit version if you want something more recent

#568

diderius6

Here ist the registry entry (under hardware) for all ACPI tables Vista 64 bit for the Asrock board.
On XP SP3 32 bit it should be 100% identic
Dietmar
diderius6 has attached files to this post

- ⇗ AcpiVista64.rar

#569

diderius6

I just make a try with faked FACP chosing APIC model there (instead of PIC). This registry entry ACPI I added to working XP on the Asrock board.
I tested with acpidump, acpixtract, iasl -d there
ok, now APIC model is told there^^.
Shut it down. Then I copy everything to a write protected USB stick,
now really funs starts
Dietmar
EDIT: Still the same BSOD 0x7E 0xC0000005, brrr..
So, it is a serious problem in 32 bit. Now I install Ubuntu 16, 32 bit on the Asrock board.
I think, the problem with APIC mode will remain there.
OK, first message during install Ubuntu is: Unknown hardware..
One time starting Firefox, it crashes. Really stable OS, brrr...
Funny, together with crashed Firefox (in black and white, looks interesting^^), now Ubuntu 32 bit is updating:)).
I also downloaded Arch 32 Linux distro from march 2019
and MX Linux 32. We will see. Until now, I think Win95 is the better choice, crazy..

#570

diderius6

Ok, this is advantage in Ubuntu 32 bit after 30 min update on Asrock fatal1ty ab350 gaming k4^^
⇗
After total fail of Ubuntu
now next try with MX-Linux 32 bit from Mai 2019
Dietmar
EDIT: MX-Linux 32 bit: No crash of Firefox, no mouse, english keyboard (no german keyboard layout can be chosen) but sound and network, youtube works.
In the beginning there was a possibility to cancel Acpi. But at the moment I think all 8 core with 16 threads work
with Acpi on this Linux 32 bit version. Ok, clock wrong, micro letters on screen, no possibility to change this on screen..
Oho, my own password, which I have put in repeated, is now told to be wrong^^..arghhh
And take a look at the symbols, left down,..ok I try Arch Linux 32..
⇗
Arch Linux shows only commandline after boot. And when you look for installed hardware, system told: string empty..
Ok, for today its enough with Linux..
I want win95:))

## Page 39

#571 | infuscomus | ⇗ @diderius6 ⇗ https://linuxmint.com/download.php try linux mint 32bit - xfce (easier to run, less resources)
#572 | infuscomus | ⇗ @diderius6 If Win95 doesn't work I know for sure Win98SE works as I have it installed

#573

diderius6

⇗ @infuscomus
Thanks for the link for the Linux Mint 32bit xfce, I just downloaded it.
I take a closer look at the XP friendly DSDT from AM3+ compared with the DSDT from the Asrock board AM4.
In AM3+ DSDT we have in header
* Revision 0x01 **** 32-bit table (V1), no 64-bit math support
It is the compi from my daughter. She installed there Win10 64 bit, so this does not mean, that 64 bit OS do not work.
But vice versa is true, with the DSDT table of any(?) AM4 board big problems with 32 bit OS.
There exist also AM3+ boards (SABERTOOTH-990FX-R20-ASUS) with Acpi2.0 and working XP on it.
In header then is written * Revision 0x02.
So, the problem with XP 32 bit depends not on the Revisions number.
Question is, if it enough to modify DSDT only to XP friendly
Dietmar

#574 | infuscomus | ⇗ @diderius6 can you change DSDT revision with registry mod and test? or find the part in acpi.sys that checks DSDT revision?
#575 | diderius6 | ⇗ @infuscomus There is no part in acpi.sys that checks DSDT version. This entry in DSDT is only for human. acpi.sys stupid reads DSDT loaded to ram and crashes or not Dietmar PS: Question is, if with any new DSDT table XP 32 bit can work in APIC mode on AM4 chipset or not.
#576 | infuscomus | ⇗ @diderius6 you can force iasl to produce revision 1 math from original disassembled revision 2 table iasl -r1 revision2to1.dsl

#577

diderius6

⇗ @infuscomus
This is a nice tip iasl -r1 revision2to1.dsl,
until now I get an 1 error message
when I try, without writing,#
where this error is
Dietmar

#578

diderius6

⇗ @infuscomus
Yessa,
I succeed with it.
Now it becomes really interesting
Dietmar
diderius6 has attached files to this post

- ⇗ DSDTrev1versusrev2.rar

#579 | infuscomus | ⇗ @diderius6 is this DSDT from AB350 GamingK4 (BIOS 5.40) - converted to revision 1?

#580

diderius6

⇗ @infuscomus
yessss:))
And here are the belonging *.aml files.
They are very different from each other, compare with Winhex shows
more than 20000 places different.
So, may be we are on the right way
Dietmar
diderius6 has attached files to this post

- ⇗ DSDTAMLrev1versusrev2.rar

#581 | infuscomus | ⇗ @diderius6 the presence of CreateQWordField wont cause problems?

#582

diderius6

⇗ @infuscomus
I think not.
But this we will see in next BSOD^^
I am going to flash this DSDT on my new Asrock board,
big risk, but no fun without risk^^
Dietmar

#583 | infuscomus | ⇗ @diderius6 Good luck, If this DSDT does not work you can try an earlier version in BIOS 3.30 for AB350 Gaming K4 that does not have CreateQWordField in it

#584

diderius6

Hm, strange things happen.
I first read out the Bios chip on the Asrock board with tl866ii plus,
25u12873f.
mx25u12835f is found via tl866ii plus
with the identic chip ID 0xc22538.
Before the Bios chip was recogniced,
I have to put out cpu, cmos battery and ram.
Then I make 2 copies of the Bios chip and compare them.
They are to 100% identic.
Then I compare them with the read out from the Bios chip made with
Universal BIOS Backup ToolKit 2.0.exe.
They are different, hm..
The tool just ordered some blocks in Bios for boot devices different, as I can see with Beyond Compare2.
Then I change in the Bios (read out made with Universal BIOS Backup ToolKit 2.0.exe)
the DSDT file vers 2->vers 1.
I read those DSDT files out again, all ok.
Then I erase the Bios chip, flash with modded DSDT and verify it after.
All seems ok.
After putting cpu, cmos battery and ram in again,
compi starts.
But now comes the most crazy thing:
With rw-everything looking for DSDT table I was told vers 2
and nothing has changed.
Now I think, there is some kind of write protect for this Bios chip.
But the tl866ii plus told nothing about this, strange
Dietmar

#585 | infuscomus | ⇗ @diderius6 maybe try AFUDOS tool to flash modded BIOS? reference guide ⇗ https://puissanceled.com/vrac/Bios_modding/EN.html

## Page 40

#586

diderius6

Now comes the mostmost crazy:
I read out again whole Bios with the Universal BIOS Backup ToolKit 2.0.exe.
And from this read out I extract with Uefi tool
the DSDT table.
And the most most crazy is,
the DSDT table has changed to version 1, no doubt.
But what does rw-everything tell then?
From where it gots its infomation???
For sure not from the real BIOS
Dietmar
PS: I add the new read out from Universal BIOS Backup ToolKit 2.0.exe.
This means, the crazy flash procedure has had success.
But may be to do this with the AFUDOS tool is more elegant.
Anyway, the way I did it works.
diderius6 has attached files to this post

- ⇗ rawnew.rar

#587 | diderius6 | Waaaoooh, with the new DSDT table I can install Vista 32 bit on the Asrock fatal1ty ab350 gaming k4!!! What a BIG step forward Dietmar
#588 | infuscomus | ⇗ @diderius6 thats good news! any luck with XP?

#589

diderius6

⇗ @infuscomus
On Vista 5048 and on XP Acpi Multiprocessor
I still get the BSOD 0x7E 0xc0000005
Dietmar
PS: The MPS Multiprocessor also not works, because still no MPS table there.
But this is not importand for XP.

#590 | infuscomus | ⇗ @diderius6 do you get 7E BSOD with server 2003 SP2 acpi.sys?

#591

diderius6

⇗ @infuscomus
I tested Win server 2003 SP2 for itself.
It gives BSOD 0xA5 0x11 0x08 as usual.
For me is at the moment the most important,
if APIC mode works now, this I am just testing with XP and halapic.dll
Dietmar
EDIT: APIC mode still does not work. And because of this no ACPI too.
The problem in this is, that the BSOD because of APIC happens so early, that windbg is not awaken.
Vista 32 bit overcomes this problem in some way, but how?

#592 | infuscomus | ⇗ @diderius6 there is also still the BIOS 3.30 DSDT to try without CreateQWordField
#593 | diderius6 | ⇗ @infuscomus The BSOD because of unknown words from ACPI2.0 is other. But who knows:)) Dietmar
#594 | infuscomus | ⇗ @diderius6 try it anyway, see what happens

#595

diderius6

⇗ @infuscomus
I just tried the afudos methode.
But there comes
46 - Error: Problem getting flash information.
"Error 46: Problem Getting Flash Information, it's because you aren't using afudos."
Yes, the flash program here for Asrock board is another.
Ok,
I make try the hard way as before,
I just have Bios vers. 3.30 mod ready with DSDT table vers1 for 32 bit
Dietmar

#596 | infuscomus | ⇗ @diderius6 46 - Error: Problem getting flash information. did you use /gan switches? afudos modbios.rom /gan

#597

diderius6

⇗ @infuscomus
Yes, I use this switch but the afudos program does not work at all for the Asrock board.
There has to be another program (may be with the same name "Afudos" but from other manufacturer) for to flash the Asrock board.
Interesting, in Bios 3.30 for the Asrock board there is in FACP APIC mode enabled.
So, there is a big BREAK in Bios before and after 3.30 Bios for this Board.
Vista 32 bit likes this, you can install it at once.
But XP APIC does not work.
Ok, now I am going to flash DSDT table with vers 1 32 Bit
Dietmar

#598 | diderius6 | ⇗ @infuscomus From where you know this switch and are there other important switches for iasl? iasl -r1 revision2to1.dsl Dietmar
#599 | infuscomus | ⇗ @diderius6 from iasl -h help -r <revision> Override table header Revision (1-255)

#600

diderius6

⇗ @infuscomus
Ok, compi survived second crazy flash operation.
Bios is now 3.30 with rev1 DSDT table.
Now rw-everything told also rev 1 in DSDT table
and APIC mode in FACP.
But XP still crashes with the same BSOD 0x7E 0xc0000005
and APIC does not work in XP, only PIC with 16 IRQs
Dietmar
PS: Now this is the 32 bit friendliest Asrock fatal1ty ab350 gaming k4 board ever,
you can install all systems only XP 32 bit not, until now:))!
diderius6 has attached files to this post

- ⇗ AcpiTbls.rar

## Page 41

#601 | infuscomus | ⇗ @diderius6 maybe we need to look at changing the revisions for the other tables? just a guess, not sure edit: APIC table maybe? ⇗ https://wiki.osdev.org/MADT

#602

diderius6

⇗ @infuscomus
Today I think half of the work for full XP is done.
XP SP3 looks now like HYPER Win98SE,
nvme Optane works, just everything and this with one cpu and one thread,
because APIC not works
Dietmar
⇗
EDIT: Even boot XP SP3 from the nvme Optane disk as only device connected to the Asrock board works.
I put for this ntoskrnl.exe and hal.dll (PIC mode) in windows\system32 and in boot.ini of the Optane boot device
I rename them to nt1.exe and hal1.dll, waaoh.
⇗

#603

diderius6

⇗ @infuscomus
I make a try to change the rev number of the APIC (same as MADT) table.
But this time it does not work.
Always rev3 is written in header no matter if you change this to rev1 or rev2
and the table stays to 100% identic
Dietmar

#604

infuscomus

⇗ @diderius6
as a last resort you could try replacing entire DSDT with a known XP compatible?
in this case an ASRock 970A-G3 motherboard
infuscomus has attached files to this post

- ⇗ 970ag3-DSDT.zip

#605

diderius6

⇗ @infuscomus
Oh, I do not give up so quick:)).
I noticed a strange thing:
When I install Vista 32 bit on the AM3+ board,
the driver for the Asmedia 106x SATA harddisk was found at once on the Vista CD.
But when I install Vista 32 bit to the Asrock board,
Vista aks for this driver for the harddisk even it has the identic Asmedia 106x chip! No USB at all works on the Asrock board during install of Vista, no PS/2 mouse.
This means: No hardware is identified at all on the Asrock board.
The Bios from the Asrock board cant show all its hardware correct to Vista or XP.
This may be the fault of the chipset B350, who knows.
Hm, what can they change on Vista, that this gives NOW (former versions of Vista give) not the BSOD 0x7E 0xc0000005?
Vista learned, to survive with such a crazy situation. (By the way, I think this was the reason for the complete fail of Ubuntu.
In the very first boot stage Ubuntu tells: Unknown hardware (not unknown CPU or something like, whole hardware cant be identified)).
I come to the idea, that they change something in hal.dll.
XP cant help itself very good, so it disables everything and goes to PIC mode (blind for all hardware on the Asrock board).
For Vista was the same, but it survives with this blindness because of more error tolerant hal.dll
Dietmar
PS: I will test this today.

#606

diderius6

Yessa, I am just installing XP SP3 in APIC multiprocessor mode on the Asrock board
Dietmar
EDIT: XP uses multiprocessor ntoskrnl.exe and renamed hal.dll to halsp.dll.
But on next reboot it hangs, even XP is installed nearly complete. But this seems to be
the right way. From Vista, version 5342 does not show the BSOD 0x7E 0xc0000005,
but it hangs during installation.

#607 | infuscomus | ⇗ @diderius6 why is vista 32-bit not detecting hardware? should we be using vista beta driver if vista release also has problems?

#608

diderius6

⇗ @infuscomus
Good question.
On the Vista versions after 5048,
I always get no acpi.sys BSOD but it was told
Blinitializelibrary failed 0xc0000017
I do not know this error,
but for me its sound:
Unknown hardware
Dietmar

#609 | infuscomus | ⇗ @diderius6 acpi 5342 calls functions from ntoskrnl and hal that are not available in XP maybe that is the reason for error?
#610 | diderius6 | ⇗ @infuscomus No, you missunderstood me. This where all the original Vista versions >5048, which tells this error on the Asrock B350 board Dietmar
#611 | infuscomus | ⇗ @diderius6 after acpi 5048 I can only get "acpi.sys is corrupted" error when i try to install XP

#612

diderius6

May be, acpi.sys just tries to read in reserved low memory.

    FAULTING_IP:
    ACPI+e088
    b7f75088 ff5010 call dword ptr [eax+10h]

    EXCEPTION_RECORD: b84c2e8c -- (.exr 0xffffffffb84c2e8c)
    ExceptionAddress: b7f75088 (ACPI+0x0000e088)
    ExceptionCode: c0000005 (Access violation)
    ExceptionFlags: 00000000
    NumberParameters: 2
    Parameter[0]: 00000000
    Parameter[1]: 00000010
    Attempt to read from address 00000010

    CONTEXT: b84c2b88 -- (.cxr 0xffffffffb84c2b88)
    eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
    eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0 nv up ei ng nz na pe nc
    cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
    ACPI+0xe088:
    b7f75088 ff5010 call dword ptr [eax+10h] ds:0023:00000010=????????
    Resetting default scope

Because it is always the same error 0x7E 0xc0000005
Later I will set up a checked version of XP SP3
with windbg and amli debugger for to see,
what is going on
Dietmar
PS: I think, with not modified Bios, Win7 32 bit also shows the same error Blinitializelibrary failed 0xc0000017.
Now, with APIC Bios 3.30 on Asrock B350 Win7 32 bit installs without any problem.
PPS: Or BSOD 0x7E 0xc0000005 happens, because we use more than 4 Gbyte ram and Xp does not like this on some motherboards? Needs to be tested.

#613 | infuscomus | ⇗ @diderius6 do you know where i can get a checked build of XP for myself? I managed to find a 2003 checked build but not XP
#614 | diderius6 | ⇗ @infuscomus I think, I used a normal English XP SP2 version and succeed to update this to a full checked XP SP3 version only with a XP SP3 checked servicepack Dietmar

#615

diderius6

When I set up checked XP SP3 on the Asrock B350 board,
I get now during "Multiprocessor Acpi" setup
BSOD 0x7E 0x80000003
Dietmar
EDIT: From Microsoft: If exception code 0x80000003 occurs, a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch.
⇗ https://answers.microsoft.com/en-us/wind...bf-13dc940cae63

## Page 42

#616

diderius6

I set up debug modus via F8 and entry in boot.ini in checked XP SP3 setup during 2. phase of install (after reboot)
because even with "Standard PC" the compi crashes.
A lot of times I get via debug the message: "Impossible values from Hal",
which means, XP SP3 cant work (good?) with the information of the Bios from Asrock B350
Dietmar
Sun Jun 2 22:11:32.015 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun 2 22:11:32.015 2019 (UTC + 2:00):
Sun Jun 2 22:11:32.109 2019 (UTC + 2:00): HAL: returning impossible range
Sun Jun 2 22:11:32.109 2019 (UTC + 2:00):
Sun Jun 2 22:11:32.250 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun 2 22:11:32.250 2019 (UTC + 2:00):
Sun Jun 2 22:11:32.343 2019 (UTC + 2:00): HAL: returning impossible range
Sun Jun 2 22:11:32.343 2019 (UTC + 2:00):
Sun Jun 2 22:11:32.468 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun 2 22:11:32.468 2019 (UTC + 2:00):
Sun Jun 2 22:11:32.562 2019 (UTC + 2:00): HAL: returning impossible range
EDIT: Without debugger, XP SP3 debug version always crashs. With windbg it comes to desktop but slow. I want to use it for debugging acpi.sys, after I put halmacpi.dll and ntkrpamp.exe
to windows\system32 , a line in boot.ini and acpi.sys there also. But even now is clear: XP does not know, how to set IRQs
because missing information from Bios.
diderius6 has attached files to this post

- ⇗ XPSP3installdebugprotocol.rar

#617 | infuscomus | ⇗ @diderius6 can XP handle IRQs like 0xFFFFFFF7 (-9) - IRQ of PCI\VEN_1022&DEV_7901 on windows 10 assuming we get APIC working

#618

diderius6

⇗ @infuscomus
XP handles normal APIC, means 24 IRQs.
Yesterday it was a crazy work to install XP SP3 debug version "Standard PC" on the Asrock B350 board.
It lasts more than 2 hours.
And without debugger it always crashs because of not enough help, to
assign Irqs to devices, from Bios.
Today I make a full "Acpi Multiprocessor" install of this debug XP on the AM3+ XP friendly board.
Because it is not possible, to switch from a "Standard PC" installation to "Acpi Multiprocessor",
only vice versa
Dietmar

#619 | infuscomus | ⇗ @diderius6 the acpitbls.rar file you sent earlier - can you send a new copy as binary? rw-everything -> save all as binary I'd like to try grub2 method again with these tables and it is easier to work with binary

#620

diderius6

⇗ @infuscomus
This installation is gone^^. Every day I install something new.
I just install Vista 32 bit on the AM3+ XP friendly board.
After, this will work on the Asrock Am4 board,
and I will send to you the tables
Dietmar
PS: With all the Vista versions, I have the one by one test, what goes wrong with XP.

#621

infuscomus

⇗ @diderius6
I made progress with grub2 method - also switched to AIO multiboot for newer grub2 version
after DSDT replace - different ACPI BSOD using xp sp3 acpi.sys
now
BSOD A5 0x03
previously
BSOD A5 0x11
ACPI 5048 new BSOD
BSOD A5 0x0D
⇗

#622 | infuscomus | ⇗ @diderius6 grub2 method is useful - it can replace DSDT and other ACPI tables without needing to flash BIOS grab a USB stick and download AIO multiboot ⇗ https://www.aioboot.com/en/download/

#623

diderius6

⇗ @infuscomus
Have you used the modified Acpi.sys 5048?
I have a really crazy problem:
After I install Vista 32 Bit (from 2007 original version)
on the AM3+ friendly board,
I try to start with this harddisk with fresh Vista 32 bit on it
the AM4 Asrock Ryzen B350 board.
But even the ASM106x driver works under XP SP3 for both boards,
this was not true for the original Vista driver.
I tried to manually install the driver in registry System\services
in CriticalDeviceDatabase and in PCI.
But even I can handle now Vista like XP (really funny, you can change registry between them, Vista is XP SP4(!))
Vista on the AM4 board crashes alswas, tolding me, I have to use chkdsk on the harddisk.
I can check during system start of Vista, that the ASM106x driver asahci32.sys is not loaded.
But while I write this, I come to the idea to install the XP driver ASM106x driver asahci32.sys on the running AM3+ board,
Dietmar
PS:

    BSOD 0xA5 0x0000000D
    0x0D

    The ACPI extension that ACPI needs the object for

    The (ULONG) name of the method that ACPI looked for

    0: Base case

    1: Conflict

    ACPI could not find a required method or object in the namespace This bug
    check code is used if there is no _HID or _ADR present.

from ⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error

#624 | infuscomus | ⇗ @diderius6 yes, I tried the modified version first, I have not tried unmodified yet ULONG name - from BSOD 0x4449555f DIU_ - or _UID - There are several of those in DSDT so i am not sure which one? edit: regarding vista 32 bit - have you tried using "load driver" and loading ASMedia 106x driver during install?

#625

diderius6

⇗ @infuscomus
Yes, but the problem is, that Vista does not recognice any USB on the Asrock board.
Now I have a really funny situation:
On the XP friendly AM3+ is the Asm106x driver loaded under Vista 32 bit
and you can boot from.
But on the Asrock board, this driver is not loaded from the same Vista 32 bit.
This is crazy, there seems no ahci driver to be on the market,
which run under Vista 32 bit on the Asrock B350 board
Dietmar

#626 | infuscomus | ⇗ @diderius6 I think vista generic msahci.sys driver conforms to AHCI 1.0 specification - the new boards are AHCI 1.3 specification ^ I may be wrong about this try integrating the ASMedia USB/AHCI drivers into boot.wim and install.wim images ⇗ https://community.spiceworks.com/how_to/...-a-usb-3-0-port

#627

diderius6

⇗ @infuscomus
I make a try to install Vista 5048
direct from working XP on the Asrock board.
It starts installing, but on reboot it tolds
Blinitializelibrary failed 0xc0000017
This is the same message, that all Vista 32 bit versions tell me now when I direct install via DVD.
And before the same error message was told by Win7 32 bit, now not, I installed Win7 32 bit on the Asrock B350 Ryzen board.
No BSOD because of Acpi with Vista 5048.
I think this message means "unknown hardware"
but I am not sure
Dietmar
PS: All other, later Vista 32 bit told me during install from running XP: Compi not Acpi compliant.

#628 | infuscomus | ⇗ @diderius6 To make things easier I recommend you setup AIO multiboot on a USB stick so you can start swapping ACPI tables using grub2 - easier than BIOS flash ⇗ https://www.aioboot.com/en/download/

#629

diderius6

⇗ @infuscomus
I see this and it is nice work!
But before cure you need diagnosis:)).
I read about the 0xc0000017 error,
that Windows wrote: Not enough memory for ramdisk.
So, all those errors seems to happen,
because every version of Windows does not know
how to manage the Bios information from the Asrock B350 board. Yesterday I got via Debugversion of XP
a lot of times the message, that the values, that hal.dll gives to OS, are impossible. XP enables because of this PIC mode.
When I see this, I looks like a miracle, that XP can run on this hardware
anyway
Dietmar
"BlInitializeLibrary failed XXX" error when you install or start an operating system on a 64-bit UEFI-based computer
Applies to: Windows 10, version 1809Windows Server 2019, all versionsWindows Server version 1709 and newer
Symptoms
When you try to install or start an operating system on a 64-bit UEFI-based computer, the system does not start, and you receive the following error message:
BlInitializeLibrary failed XXX
Note The error code could also be "0xc000009a" or "0xc0000001."
Cause
This problem occurs because the boot firmware on the computer generates lots of memory fragmentation.
Note Not all "BlInitializeLibrary failed XXX" errors are caused by this issue.
Workaround
We recommend that you do not let boot firmware create large amounts of fragmentation. Large memory fragmentation degrades the overall startup performance and causes problems.
More information
At the pre-boot stage, Windows Boot Manager sets the maximum number of global memory descriptor for a 64-bit UEFI system at 512. If the boot firmware creates a large amount of memory fragmentation, the memory descriptor count may exceed the set limit. This causes the "BlInitializeLibrary failed XXX" error.
Note This design applies only to the current operating system releases, including Windows 10, Windows Server 2016, and Windows Server 2012 R2. We do not guarantee that this design will apply to future versions.

#630 | infuscomus | ⇗ @diderius6 what is the equivalent function of BlInitializeLibrary for XP? Do we need to patch ntldr (osloader.exe) to allow for more global memory descriptors? to get osloader.exe - open ntldr in hex editor and look for MZ header and delete everything before it

## Page 43

#631

diderius6

⇗ @infuscomus
First I saw this BlInitializeLibrary on Win7 32 bit,
when I try to do a new install on the Asrock B350 board.
When I use a ready Win7 32 bit installation from another
compi, this does not happen. So it depends on, how
the Bios speaks to OS during installation. Using installation from other Bios
does not show this problem
Dietmar
PS: After changing the DSDT table to pur 32 bit and go to Bios 3.30 with APIC mode,
Win7 32 bit does not show this error any more during fresh install on the Asrock B350 board.
It has nothing to do with Acpi. Only, how Bios told OS, where which free memory for a device
has to be. XP goes out of this crazy situation using PIC mode with only 16 IRQs, nearly hard wired.

#632 | diderius6 | The error (not BSOD) Blinitializelibrary failed 0xc0000017 happens very early in bootprocess, about in 1. second when bootlader loads Dietmar

#633

infuscomus

⇗ @diderius6
Blinitializelibrary failed - for Windows 7 or XP?
edit:
I found source code for win2k osloader -
in it i find
//
// memory descriptor array size
//
#define MAX_DESCRIPTORS 60

#634

Mov AX, 0xDEAD

> Zitat

> Acpi tables "in-ram patcher" at boot time like Chameleon/Clover, solved

litle update to ¶ Windows XP SP3 32bit and modern PC parts (12)

#635 | infuscomus | ⇗ @Mov AX, 0xDEAD I have run into a different error after loading an earlier DSDT table for AB350 Gaming K4 using grub2 .......... 0xA5 (0x02, X ,Y ,Z) conflict with E820 Memory list, solved (custom acpi.sys) Can I please try your custom acpi.sys to see if it works?

#636

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #635

> .......... 0xA5 (0x02, X ,Y ,Z) conflict with E820 Memory list, solved (custom acpi.sys)
> Can I please try your custom acpi.sys to see if it works?

e820 fix: ¶ Windows XP SP3 32bit and modern PC parts (16)

#637 | infuscomus | whoops! - parameter 3 is 0x1 - so error actually is - ACPI cannot convert the BIOS' resource list into the proper format. This probably represents an error in the BIOS' list encoding procedure. ⇗ ⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error

#638

infuscomus

OK,
made some changes to DSDT table
now I think I have E820 error
⇗
⇗ @Mov AX, 0xDEAD ⇗ @diderius6
I looked for the hex values you referenced earlier to fix E820 but could not find exact hex value in either XP SP3, server 2003 or vista 5048 acpi.sys

#639 | diderius6 | I make a try with Vista 5048 on the XP friendly Am3+ board. Again I get there this message Blinitializelibrary failed 0xc0000017. So, it seems to be a problem for the bootloader and not only in this Vista Version Dietmar

#640

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #638

> I looked for the hex values you referenced earlier to fix E820 but could not find exact hex value in either XP SP3, server 2003 or vista 5048 acpi.sys

check acpi.sys win xp sp3, size=187,776, ver 5.1.2600.5512 (xpsp.080413-2111)

#641 | infuscomus | ⇗ @Mov AX, 0xDEAD Thanks, is this function the same in server 2003 and vista 5048 acpi.sys?

#642

infuscomus

⇗ @diderius6
can you hex edit these XP boot loader files to sets the maximum number of global memory descriptors to 512?
infuscomus has attached files to this post

- ⇗ xp bootldrs.zip

#643

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #642

> can you hex edit these XP boot loader files to sets the maximum number of global memory descriptors to 512?

xp doesnt work with uefi(except winxp64+bootmgr), no mem descriptors, only short e820 list of mem regions.
only in case of very large e820 list, xp has problem

#644 | infuscomus | ⇗ @Mov AX, 0xDEAD looking at win2k ntldr source code it uses memory descriptors

#645

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #644

> @Mov AX, 0xDEAD
> looking at win2k ntldr source code it uses memory descriptors

yes, uses, but only few, e820 is really short list, no need much descriptors to fit all regions

## Page 44

#646 | infuscomus | ⇗ @Mov AX, 0xDEAD ⇗ @diderius6 So I bypassed E820 BSOD error with hex edit to acpi.sys - damn! 7E BSOD

#647

diderius6

⇗ @infuscomus
Yes, this is the same, that happens to me. This is best until now, what you can reach for Acpi on the Asrock board.
Until now, it is absolut unclear, why this BSOD 7E happens, means Acpi.sys writes or looks in forbidden memory..
I also cant install a full XP SP3 debug version on the XP friendly AM3+ board.
Today I make a new try: I change the ram on the Asrock B350 board against 2*2Gbyte DDR4 ram.
Then I make a brandnew install of normal XP SP3 on the AM3+ board,
no extra drivers, only the Asm106x for harddsik.
This full Acpi XP I copie then to the Asrock board. There I change hal.dll, acpi.sys, ntoskrnl.exe against them from
the XP SP3 debug version and set up a windbg session
Dietmar

#648

diderius6

Diagnostic is on its way:)).. I put on normal XP SP3 change acpi.sys, halmacpi.dll, ntkrnlmp.exe to the XP SP3 DEBUG version and run windbg

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Thu Jun  6 19:27:18.937 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Thu
>      Jun  6 19:27:21.718 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80A02000->80D8DFFF
>     Thu Jun  6 19:27:21.718 2019 (UTC + 2:00):
>     Thu
>      Jun  6 19:27:21.734 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80100000->8012777F
>     Thu Jun  6 19:27:28.640 2019 (UTC + 2:00):
>     *** Assertion failed: PciInterfacesInstantiated
>     ***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

>     Thu Jun  6 19:27:28.640 2019 (UTC + 2:00):
>     Thu
>      Jun  6 19:27:28.671 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     Thu Jun  6 19:27:28.671 2019 (UTC + 2:00):
>     Thu Jun  6 19:27:56.671 2019 (UTC + 2:00):
>     *** Assertion failed: pciInterface
>     ***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

>     Thu Jun  6 19:27:56.671 2019 (UTC + 2:00):
>     Thu
>      Jun  6 19:27:56.703 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     Thu Jun  6 19:27:56.703 2019 (UTC + 2:00):
>     Thu Jun  6 19:28:08.343 2019 (UTC + 2:00): PS: Unhandled Kernel Mode Exception Pointers = 0xF789D9D4
>     Thu Jun  6 19:28:08.343 2019 (UTC + 2:00):
>     Thu
>      Jun  6 19:28:08.359 2019 (UTC + 2:00): Code c0000005 Addr F7578561
>     Info0 00000000 Info1 00000010 Info2 00000010 Info3 00000000
>     Thu Jun  6 19:28:08.359 2019 (UTC + 2:00):
>     Thu Jun  6 19:28:08.390 2019 (UTC + 2:00):
>     *** Fatal System Error: 0x0000007e
>                            (0xC0000005,0xF7578561,0xF789DE88,0xF789DB84)

>     Thu Jun  6 19:28:08.421 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Thu Jun  6 19:28:08.609 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ............................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, f7578561, f789de88, f789db84}

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+113 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: f7578561, The address that the exception occurred at
>     Arg3: f789de88, Exception Record Address
>     Arg4: f789db84, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     ACPI!AcpiArbCrackPRT+113
>     f7578561 ff5710          call    dword ptr [edi+10h]

>     EXCEPTION_RECORD:  f789de88 -- (.exr 0xfffffffff789de88)
>     ExceptionAddress: f7578561 (ACPI!AcpiArbCrackPRT+0x00000113)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000010
>     Attempt to read from address 00000010

>     CONTEXT:  f789db84 -- (.cxr 0xfffffffff789db84)
>     eax=f789e008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8acca710 edi=00000000
>     eip=f7578561 esp=f789df50 ebp=f789e0a0 iopl=0         nv up ei ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
>     ACPI!AcpiArbCrackPRT+0x113:
>     f7578561 ff5710          call    dword ptr [edi+10h]  ds:0023:00000010=????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000010

>     READ_ADDRESS:  00000010

>     FOLLOWUP_IP:
>     ACPI!AcpiArbCrackPRT+113
>     f7578561 ff5710          call    dword ptr [edi+10h]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

>     LOCK_ADDRESS:  80af1640 -- (!locks 80af1640)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x80af1640
>     	Thread Count  : 1
>     	Thread address: 0x8acc5020
>     	Thread wait   : 0xdd

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     STACK_TEXT:
>     f789e0a0 f75b865b 8acca710 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0x113
>     f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
>     f789e158 f75b7375 f75ae2a0 e100d1e4 f75ae2a0 ACPI!ArbBootAllocation+0x17b
>     f789e16c f75c8d89 f75ae2a0 e100d1e4 e100d1e4 ACPI!AcpiArbBootAllocation+0x4b
>     f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
>     f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
>     f789e208 80b5e80b 00000004 e1552b68 e15261e8 nt!IopAllocateBootResourcesInternal+0xc5
>     f789e228 80d24c8b 00000004 8acca710 e15261e8 nt!IopAllocateBootResources+0x75
>     f789e24c 80b4753a 00000004 8acca710 e15261e8 nt!IopReportBootResources+0x65
>     f789e27c 80b4db93 8ac5fd48 80000248 00000001 nt!PiQueryAndAllocateBootResources+0x150
>     f789e36c 80b4e26d 8ac5fd48 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
>     f789e5c4 80a2cfb6 8ac8ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
>     f789e608 80a2d2c1 00000000 00000000 8007b060 nt!PipDeviceActionWorker+0xc4
>     f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
>     f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
>     f789e830 80d1d940 80085000 00000000 8acc5020 nt!IoInitSystem+0x82d
>     f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  ACPI!AcpiArbCrackPRT+113

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b4e5

>     STACK_COMMAND:  .cxr 0xfffffffff789db84 ; kb

>     FAILURE_BUCKET_ID:  0x7E_ACPI!AcpiArbCrackPRT+113

>     BUCKET_ID:  0x7E_ACPI!AcpiArbCrackPRT+113

>     Followup: MachineOwner
>     ---------

>     0: kd> lm
>     start    end        module name
>     80100000 80127780   HAL1       (deferred)
>     80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
>     f740c000 f742bb00   fltMgr     (deferred)
>     f742c000 f7441000   nvme       (deferred)
>     f7441000 f7458880   SCSIPORT   (deferred)
>     f7459000 f7470900   atapi      (deferred)
>     f7471000 f7496a00   dmio       (deferred)
>     f7497000 f74b5d80   ftdisk     (deferred)
>     f7556000 f7566a80   pci        (deferred)
>     f7567000 f75d5480   ACPI       (pdb symbols)          c:\symbols\acpi.pdb\F3A2E52867724F8EAB957EA99ABA93031\acpi.pdb
>     f75f7000 f7600300   isapnp     (deferred)
>     f7607000 f7611580   MountMgr   (deferred)
>     f7617000 f7624200   VolSnap    (deferred)
>     f7627000 f7637000   asahci32   (deferred)
>     f7637000 f763fe00   disk       (deferred)
>     f7647000 f7653180   CLASSPNP   (deferred)
>     f7707000 f770d180   PCIIDEX    (deferred)
>     f770f000 f7713d00   PartMgr    (deferred)
>     f782e000 f7844880   KSecDD     (deferred)
>     f7845000 f7856f00   sr         (deferred)
>     f7857000 f7897000   storport   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f795a000 f7986980   NDIS       (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)
>     f7a35000 f7a4eb80   Mup        (deferred)
>     f7a4f000 f7a4fd00   pciide     (deferred)
>     f7b52000 f7bde600   Ntfs       (deferred)
>     0: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0x8ac8ecc8)
>     DevNode 0x8ac8ecc8 for PDO 0x8ac8ee10
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8e8b8 for PDO 0x8ac8ea18
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8ace2358 for PDO 0x8ace3830
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x8ac37b08 for PDO 0x8acd2248
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0x8ac37630 for PDO 0x8ace8760
>             InstancePath is "ACPI\PNP0C0C\aa"
>             State = DeviceNodeDriversAdded (0x303)
>             Previous State = DeviceNodeInitialized (0x302)
>           DevNode 0x8ac37500 for PDO 0x8acc99a8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accacf8 for PDO 0x8ac364e8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accabc8 for PDO 0x8acd15c8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8acea310 for PDO 0x8acd0630
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8acea1e0 for PDO 0x8acd61b0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac88008 for PDO 0x8acd3248
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac881c8 for PDO 0x8ac36cd0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf450 for PDO 0x8acca190
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf320 for PDO 0x8accf6a0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf1f0 for PDO 0x8acd2f18
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf0c0 for PDO 0x8ac601d8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4e430 for PDO 0x8acd1ba8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4e300 for PDO 0x8ace11d0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4e1d0 for PDO 0x8ace10b0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4e0a0 for PDO 0x8ace2200
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fe78 for PDO 0x8ace20e0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fd48 for PDO 0x8acca710
>             InstancePath is "ACPI\AMDI0030\0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fc18 for PDO 0x8acca5f0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8ac5fae8 for PDO 0x8acc9460
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8acd0008 for PDO 0x8acc9340
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8acd0468 for PDO 0x8acc9f18
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8acd0338 for PDO 0x8acc9df8
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8acd0208 for PDO 0x8ac37c68
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>       DevNode 0x8ace7db0 for PDO 0x8ace7f10
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace7b58 for PDO 0x8ace7cb8
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace7900 for PDO 0x8ace7a60
>         InstancePath is "Root\LEGACY_ACPI\0000"
>         ServiceName is "ACPI"
>         State = DeviceNodeRemoved (0x312)
>         Previous State = DeviceNodeStarted (0x308)
>         Problem = CM_PROB_DEVICE_NOT_THERE
>       DevNode 0x8ace76a8 for PDO 0x8ace7808
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace7418 for PDO 0x8ace7578
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace71c0 for PDO 0x8ace7320
>         InstancePath is "Root\LEGACY_ATAPI\0000"
>         ServiceName is "atapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ded8 for PDO 0x8ac8d038
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8dc38 for PDO 0x8ac8dd98
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d9e0 for PDO 0x8ac8db40
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d788 for PDO 0x8ac8d8e8
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d4e0 for PDO 0x8ac8d640
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d288 for PDO 0x8ac8d3e8
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6008 for PDO 0x8ac8d190
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6db0 for PDO 0x8ace6f10
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6b58 for PDO 0x8ace6cb8
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6900 for PDO 0x8ace6a60
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace66a8 for PDO 0x8ace6808
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6450 for PDO 0x8ace65b0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace61f8 for PDO 0x8ace6358
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ced8 for PDO 0x8ac8c038
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8cc80 for PDO 0x8ac8cde0
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ca28 for PDO 0x8ac8cb88
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c7d0 for PDO 0x8ac8c930
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c578 for PDO 0x8ac8c6d8
>         InstancePath is "Root\LEGACY_NVME\0000"
>         ServiceName is "nvme"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c320 for PDO 0x8ac8c480
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5008 for PDO 0x8ac8c228
>         InstancePath is "Root\LEGACY_PARVDM\0000"
>         ServiceName is "ParVdm"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5db0 for PDO 0x8ace5f10
>         InstancePath is "Root\LEGACY_PCIIDE\0000"
>         ServiceName is "PCIIde"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5b58 for PDO 0x8ace5cb8
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5900 for PDO 0x8ace5a60
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace56a8 for PDO 0x8ace5808
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5450 for PDO 0x8ace55b0
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace51f8 for PDO 0x8ace5358
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8bed8 for PDO 0x8ac8b038
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8bc80 for PDO 0x8ac8bde0
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8ba28 for PDO 0x8ac8bb88
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b7d0 for PDO 0x8ac8b930
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b578 for PDO 0x8ac8b6d8
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b320 for PDO 0x8ac8b480
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4008 for PDO 0x8ac8b228
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4db0 for PDO 0x8ace4f10
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4b58 for PDO 0x8ace4cb8
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4900 for PDO 0x8ace4a60
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace46a8 for PDO 0x8ace4808
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4450 for PDO 0x8ace45b0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace41f8 for PDO 0x8ace4358
>         InstancePath is "Root\MS_PSCHEDMP\0002"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8aed8 for PDO 0x8ac8a038
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8ac80 for PDO 0x8ac8ade0
>         InstancePath is "Root\PCI_HAL\0000"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8aa28 for PDO 0x8ac8ab88
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a7d0 for PDO 0x8ac8a930
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a578 for PDO 0x8ac8a6d8
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a320 for PDO 0x8ac8a480
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace3008 for PDO 0x8ac8a228
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace3db0 for PDO 0x8ace3f10
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>     0: kd> !pcitree
>     PciFdoExtensionListHead forward pointer is NULL, list is empty
>     0: kd> pci
>             ^ pass count must be preceeded by whitespace error in 'pci'
>     0: kd> !pci
>     PCI Segment 0 Bus 0
>     00:0  1022:1450.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge  SubID:1849:1450
>     00:2  1022:1451.00  Cmd[0004:..b...]  Sts[0010:c....]  AMD Class:8:6:0  SubID:1022:1451
>     01:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     01:3  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x3-0xa
>     02:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:1  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0xb-0xb
>     04:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x11-0x11
>     08:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     08:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x12-0x12
>     14:0  1022:790b.59  Cmd[0403:im....]  Sts[0220:.6...]  AMD SMBus Controller  SubID:1849:ffff
>     14:3  1022:790e.51  Cmd[000f:imb...]  Sts[0220:.6...]  AMD ISA Bridge  SubID:1849:ffff
>     18:0  1022:1460.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:1  1022:1461.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:2  1022:1462.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:3  1022:1463.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:4  1022:1464.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:5  1022:1465.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:6  1022:1466.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:7  1022:1467.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     0: kd> acpi
>     *** ERROR: Module load completed but symbols could not be loaded for nvme.sys
>     *** ERROR: Module load completed but symbols could not be loaded for ftdisk.sys
>     *** ERROR: Module load completed but symbols could not be loaded for asahci32.sys
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for BOOTVID.dll -
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for kdcom.dll -
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for WMILIB.SYS -
>     *** ERROR: Module load completed but symbols could not be loaded for dmload.sys
>     *** ERROR: Module load completed but symbols could not be loaded for pciide.sys
>     Couldn't resolve error at 'cpi'
>     0: kd> !acpi
>     No export acpi found

#649

diderius6

May be the device HPET has to be deleted in DSDT:

        Device (HPET)
        {
            Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
            Name (CRS, ResourceTemplate ()
            {
                Memory32Fixed (ReadOnly,
                    0xFED00000,         // Address Base
                    0x00000400,         // Address Length
                    _Y29)
                IRQNoFlags ()
                    {0}
                IRQNoFlags ()
                    {8}
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((HPEN == One))
                {
                    If ((OSVR >= 0x0C))
                    {
                        Return (0x0F)
                    }

                    HPEN = Zero
                    Return (One)
                }

                Return (One)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (CRS, \HPET._Y29._BAS, HPTX)  // _BAS: Base Address
                CreateDWordField (CRS, \HPET._Y29._LEN, HPTY)  // _LEN: Length
                HPTX = HPTB /* \HPTB */
                HPTY = HPTL /* \HPTL */
                Return (CRS) /* \HPET.CRS_ */
            }
        }

Dietmar

#650

Mov AX, 0xDEAD

> Zitat

> edi=00000000
> call dword ptr [edi+10h]

clasic nullpointer

#651 | diderius6 | ⇗ @Mov AX, 0xDEAD Yes, I see this. Question is, if there is no pointer at all for the IRQ devices build by ACPI on the Asrock B350 board, or if the edi is just not loaded with it Dietmar

#652

Mov AX, 0xDEAD

edi must point to some struct with list of proc (like methods in c++)
wrong was before this call
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

#653 | diderius6 | But what can be done, to solve this? Dietmar

#654

diderius6

Now, all 16 cores are identified via windbg and the first message is gone
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     *** Assertion failed: pciInterface
>     ***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i
>     PS: Unhandled Kernel Mode Exception Pointers = 0xF789D9D4
>     Code c0000005 Addr F7578561 Info0 00000000 Info1 00000010 Info2 00000010 Info3 00000000

>     *** Fatal System Error: 0x0000007e
>                            (0xC0000005,0xF7578561,0xF789DE88,0xF789DB84)

>     Connected to Windows XP 2600 x86 compatible target at (Thu Jun  6 21:58:23.375 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
>     Product: WinNt, suite: TerminalServer SingleUserTS
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     Debug session time: Thu Jun  6 21:41:40.937 2019 (UTC + 2:00)
>     System Uptime: 0 days 0:00:03.562
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Thu Jun  6 21:58:25.109 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Thu Jun  6 21:58:25.187 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ............................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, f7578561, f789de88, f789db84}

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+113 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     0: kd> !pcitree
>     PciFdoExtensionListHead forward pointer is NULL, list is empty
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: f7578561, The address that the exception occurred at
>     Arg3: f789de88, Exception Record Address
>     Arg4: f789db84, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     ACPI!AcpiArbCrackPRT+113
>     f7578561 ff5710          call    dword ptr [edi+10h]

>     EXCEPTION_RECORD:  f789de88 -- (.exr 0xfffffffff789de88)
>     ExceptionAddress: f7578561 (ACPI!AcpiArbCrackPRT+0x00000113)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000010
>     Attempt to read from address 00000010

>     CONTEXT:  f789db84 -- (.cxr 0xfffffffff789db84)
>     eax=f789e008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8accab78 edi=00000000
>     eip=f7578561 esp=f789df50 ebp=f789e0a0 iopl=0         nv up ei ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
>     ACPI!AcpiArbCrackPRT+0x113:
>     f7578561 ff5710          call    dword ptr [edi+10h]  ds:0023:00000010=????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000010

>     READ_ADDRESS:  00000010

>     FOLLOWUP_IP:
>     ACPI!AcpiArbCrackPRT+113
>     f7578561 ff5710          call    dword ptr [edi+10h]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

>     LOCK_ADDRESS:  80af1640 -- (!locks 80af1640)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x80af1640
>     	Thread Count  : 1
>     	Thread address: 0x8acc5020
>     	Thread wait   : 0xe4

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     STACK_TEXT:
>     f789e0a0 f75b865b 8accab78 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0x113
>     f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
>     f789e158 f75b7375 f75ae2a0 e15334c4 f75ae2a0 ACPI!ArbBootAllocation+0x17b
>     f789e16c f75c8d89 f75ae2a0 e15334c4 e15334c4 ACPI!AcpiArbBootAllocation+0x4b
>     f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
>     f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
>     f789e208 80b5e80b 00000004 e156b878 e1541578 nt!IopAllocateBootResourcesInternal+0xc5
>     f789e228 80d24c8b 00000004 8accab78 e1541578 nt!IopAllocateBootResources+0x75
>     f789e24c 80b4753a 00000004 8accab78 e1541578 nt!IopReportBootResources+0x65
>     f789e27c 80b4db93 8ac8e6c0 80000234 00000001 nt!PiQueryAndAllocateBootResources+0x150
>     f789e36c 80b4e26d 8ac8e6c0 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
>     f789e5c4 80a2cfb6 8ac8ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
>     f789e608 80a2d2c1 00000000 00000000 8007b060 nt!PipDeviceActionWorker+0xc4
>     f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
>     f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
>     f789e830 80d1d940 80085000 00000000 8acc5020 nt!IoInitSystem+0x82d
>     f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  ACPI!AcpiArbCrackPRT+113

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b4e5

>     STACK_COMMAND:  .cxr 0xfffffffff789db84 ; kb

>     FAILURE_BUCKET_ID:  0x7E_ACPI!AcpiArbCrackPRT+113

>     BUCKET_ID:  0x7E_ACPI!AcpiArbCrackPRT+113

>     Followup: MachineOwner
>     ---------

#655 | diderius6 | I delete the Hpet device in DSDT, flash Bios new, but same BSOD 0x7E 0xc0000005 as before Dietmar

#656

infuscomus

⇗ @diderius6
testing with grub2, i notice that if i use
acpi --no-ebda
I always get 7E BSOD
from grub2 documentation:
Normally, this command will replace the Root System Description Pointer (RSDP) in the Extended BIOS Data Area to point to the new tables. If the --no-ebda option is used, the new tables will be known only to GRUB, but may be used by GRUBs EFI emulation.
if I use command without --no-ebda
acpi /facp.dat /dsdt.dat
I get A5 BSOD
A5 0x02 or 0x0D
so maybe for 7E BSOD there is an error in Extended BIOS Data Area?

#657

diderius6

⇗ @infuscomus
I think, it is a problem with all the timers for XP.
I read, that in Qemu they have the same BSOD with the Hpet timer.
⇗ https://patchwork.ozlabs.org/patch/312207/
And even more, in win7 is a conflict between the other both timers, using Irq 0 and Irq 8.
When I look at my XP without Acpi on the Asrock B350 board,
no timer at all(!) can be seen in the device list. The Irq 0 and Irq 8 are not used there.
So, may be the other both timers have to be deleted in DSDT also.
Until now, I have no other idea, why acpi not works
Dietmar

#658 | infuscomus | ⇗ @diderius6 are you able to get the same BSODs I get using grub2?

#659

diderius6

⇗ @infuscomus
yes, my modded Bios for the Asrock fatal1ty ab350 gaming k4
is so good now, that I can use the normal acpi.sys from XP SP3.
I am quite sure, that the BSOD 0x7E 0xc0000005 comes from the Hpet clock.
Now I am on the way for next try.
In FACP, the bit for the Hpet timer is enabled.
This I try to set back to zero.
From my experiance from intel boards,
there are Bios with hard wired Hpet clocks.
But even in this case, because XP reads registry and not Bios for Acpi,
it is possible to fake the FACP table there
Dietmar
EDIT: Until now, in FACP there are the Hexvalues A5 85 03 00.
They need to be changed to A5 05 03 00.
EDIT2: I succeed to set the USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer
and flash this Bios. This I test with RW-everything. But after this crazy hack still the BSOD 0x7E 0xc0000005.

#660

diderius6

All devices are set to Irq 0,
pcitree is empty. The pointer for Irqs is empty.

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Fri Jun  7 16:47:38.703 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Fri
>      Jun  7 16:47:41.437 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80A02000->80D8DFFF
>     Fri Jun  7 16:47:41.437 2019 (UTC + 2:00):
>     Fri
>      Jun  7 16:47:41.453 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80100000->8012777F
>     Fri Jun  7 16:47:48.312 2019 (UTC + 2:00):
>     *** Assertion failed: PciInterfacesInstantiated
>     ***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

>     Fri Jun  7 16:47:48.312 2019 (UTC + 2:00):
>     Fri
>      Jun  7 16:47:48.328 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     Fri Jun  7 16:47:48.328 2019 (UTC + 2:00):
>     Fri Jun  7 16:48:14.250 2019 (UTC + 2:00):
>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

>     Fri Jun  7 16:48:14.250 2019 (UTC + 2:00):
>     Fri
>      Jun  7 16:48:14.281 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     Fri Jun  7 16:48:14.281 2019 (UTC + 2:00):
>     Fri Jun  7 16:48:28.921 2019 (UTC + 2:00):
>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1333

>     Fri Jun  7 16:48:28.921 2019 (UTC + 2:00):
>     Fri
>      Jun  7 16:48:28.937 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     Fri Jun  7 16:49:25.921 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     0: kd> lm
>     start    end        module name
>     80100000 80127780   HAL1       (deferred)
>     80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
>     f740c000 f742bb00   fltMgr     (deferred)
>     f742c000 f7441000   nvme       (deferred)
>     f7441000 f7458880   SCSIPORT   (deferred)
>     f7459000 f7470900   atapi      (deferred)
>     f7471000 f7496a00   dmio       (deferred)
>     f7497000 f74b5d80   ftdisk     (deferred)
>     f7556000 f7566a80   pci        (deferred)
>     f7567000 f75d5480   ACPI       (deferred)
>     f75f7000 f7600300   isapnp     (deferred)
>     f7607000 f7611580   MountMgr   (deferred)
>     f7617000 f7624200   VolSnap    (deferred)
>     f7627000 f7637000   asahci32   (deferred)
>     f7637000 f763fe00   disk       (deferred)
>     f7647000 f7653180   CLASSPNP   (deferred)
>     f7707000 f770d180   PCIIDEX    (deferred)
>     f770f000 f7713d00   PartMgr    (deferred)
>     f782e000 f7844880   KSecDD     (deferred)
>     f7845000 f7856f00   sr         (deferred)
>     f7857000 f7897000   storport   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f795a000 f7986980   NDIS       (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)
>     f7a35000 f7a4eb80   Mup        (deferred)
>     f7a4f000 f7a4fd00   pciide     (deferred)
>     f7b52000 f7bde600   Ntfs       (deferred)
>     0: kd> !pcitree
>     PciFdoExtensionListHead forward pointer is NULL, list is empty
>     0: kd> pci
>             ^ pass count must be preceeded by whitespace error in 'pci'
>     0: kd> !pci
>     PCI Segment 0 Bus 0
>     00:0  1022:1450.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge  SubID:1849:1450
>     00:2  1022:1451.00  Cmd[0004:..b...]  Sts[0010:c....]  AMD Class:8:6:0  SubID:1022:1451
>     01:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     01:3  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x3-0xa
>     02:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:1  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0xb-0xb
>     04:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x11-0x11
>     08:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     08:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x12-0x12
>     14:0  1022:790b.59  Cmd[0403:im....]  Sts[0220:.6...]  AMD SMBus Controller  SubID:1849:ffff
>     14:3  1022:790e.51  Cmd[000f:imb...]  Sts[0220:.6...]  AMD ISA Bridge  SubID:1849:ffff
>     18:0  1022:1460.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:1  1022:1461.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:2  1022:1462.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:3  1022:1463.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:4  1022:1464.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:5  1022:1465.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:6  1022:1466.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:7  1022:1467.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     0: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0x8ac8ecc8)
>     DevNode 0x8ac8ecc8 for PDO 0x8ac8ee10
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8e898 for PDO 0x8ac8e9f8
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8ace2358 for PDO 0x8ace3830
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x8ac881c8 for PDO 0x8acc9b48
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0x8ac60d00 for PDO 0x8ace87b8
>             InstancePath is "ACPI\PNP0C0C\aa"
>             State = DeviceNodeDriversAdded (0x303)
>             Previous State = DeviceNodeInitialized (0x302)
>           DevNode 0x8ac60bd0 for PDO 0x8accf810
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac60aa0 for PDO 0x8acd31e8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4ecc0 for PDO 0x8acca190
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4eb90 for PDO 0x8ac760f8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4ea60 for PDO 0x8ac89130
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4e930 for PDO 0x8accfcc8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fea8 for PDO 0x8acc9620
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fd78 for PDO 0x8acd1c80
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fc48 for PDO 0x8ac39db0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac5fb18 for PDO 0x8ac391d8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4ae48 for PDO 0x8ac397d0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4ad18 for PDO 0x8ac396b0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4abe8 for PDO 0x8ac5f940
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4aab8 for PDO 0x8ac5f820
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8ac4a988 for PDO 0x8acd6038
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf008 for PDO 0x8acd61d0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf600 for PDO 0x8ace1038
>             InstancePath is "ACPI\AMDI0030\0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8accf4d0 for PDO 0x8ace11d0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8accf3a0 for PDO 0x8ace2038
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8accf270 for PDO 0x8ace2200
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8accf140 for PDO 0x8ac88038
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>       DevNode 0x8ace7db0 for PDO 0x8ace7f10
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace7b58 for PDO 0x8ace7cb8
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace7900 for PDO 0x8ace7a60
>         InstancePath is "Root\LEGACY_ACPI\0000"
>         ServiceName is "ACPI"
>         State = DeviceNodeRemoved (0x312)
>         Previous State = DeviceNodeStarted (0x308)
>         Problem = CM_PROB_DEVICE_NOT_THERE
>       DevNode 0x8ace76a8 for PDO 0x8ace7808
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace7418 for PDO 0x8ace7578
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace71c0 for PDO 0x8ace7320
>         InstancePath is "Root\LEGACY_ATAPI\0000"
>         ServiceName is "atapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ded8 for PDO 0x8ac8d038
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8dc38 for PDO 0x8ac8dd98
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d9e0 for PDO 0x8ac8db40
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d788 for PDO 0x8ac8d8e8
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d4e0 for PDO 0x8ac8d640
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8d288 for PDO 0x8ac8d3e8
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6008 for PDO 0x8ac8d190
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6db0 for PDO 0x8ace6f10
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6b58 for PDO 0x8ace6cb8
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6900 for PDO 0x8ace6a60
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace66a8 for PDO 0x8ace6808
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace6450 for PDO 0x8ace65b0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace61f8 for PDO 0x8ace6358
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ced8 for PDO 0x8ac8c038
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8cc80 for PDO 0x8ac8cde0
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8ca28 for PDO 0x8ac8cb88
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c7d0 for PDO 0x8ac8c930
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c578 for PDO 0x8ac8c6d8
>         InstancePath is "Root\LEGACY_NVME\0000"
>         ServiceName is "nvme"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8c320 for PDO 0x8ac8c480
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5008 for PDO 0x8ac8c228
>         InstancePath is "Root\LEGACY_PARVDM\0000"
>         ServiceName is "ParVdm"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5db0 for PDO 0x8ace5f10
>         InstancePath is "Root\LEGACY_PCIIDE\0000"
>         ServiceName is "PCIIde"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5b58 for PDO 0x8ace5cb8
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5900 for PDO 0x8ace5a60
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace56a8 for PDO 0x8ace5808
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace5450 for PDO 0x8ace55b0
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ace51f8 for PDO 0x8ace5358
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8bed8 for PDO 0x8ac8b038
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8ac8bc80 for PDO 0x8ac8bde0
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8ba28 for PDO 0x8ac8bb88
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b7d0 for PDO 0x8ac8b930
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b578 for PDO 0x8ac8b6d8
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8b320 for PDO 0x8ac8b480
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4008 for PDO 0x8ac8b228
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4db0 for PDO 0x8ace4f10
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4b58 for PDO 0x8ace4cb8
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4900 for PDO 0x8ace4a60
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace46a8 for PDO 0x8ace4808
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace4450 for PDO 0x8ace45b0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace41f8 for PDO 0x8ace4358
>         InstancePath is "Root\MS_PSCHEDMP\0002"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8aed8 for PDO 0x8ac8a038
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8ac80 for PDO 0x8ac8ade0
>         InstancePath is "Root\PCI_HAL\0000"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8aa28 for PDO 0x8ac8ab88
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a7d0 for PDO 0x8ac8a930
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a578 for PDO 0x8ac8a6d8
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ac8a320 for PDO 0x8ac8a480
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace3008 for PDO 0x8ac8a228
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8ace3db0 for PDO 0x8ace3f10
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>     0: kd> !amli ?

>     Help                     - ? [<Cmd>]
>     Clear Breakpoints        - bc <bp list> | *
>     Disable Breakpoints      - bd <bp list> | *
>     Enable Breakpoints       - be <bp list> | *
>     List Breakpoints         - bl
>     Set Breakpoints          - bp <MethodName> | <CodeAddr> ...
>     Clear Event Log          - cl
>     Request entering debugger- debugger
>     Dump Heap                - dh [<Addr>]
>     Dump Event Log           - dl
>     Dump Name Space Object   - dns [[/s] [<NameStr> | <Addr>]]
>     Dump Data Object         - do <Addr>
>     Dump Stack               - ds [/v] [<Addr>]
>     Find NameSpace Object    - find <NameSeg>
>     List All Contexts        - lc
>     Display Nearest Method   - ln [<MethodName> | <CodeAddr>]
>     Display Context Info.    - r <Context>
>     Set Debugger Options     - set [traceon | traceoff] [nesttraceon | nesttraceoff] [spewon | spewoff]
>                                    [lbrkon | lbrkoff] [errbrkon | errbrkoff] [verboseon | verboseoff]
>                                    [logon | logoff] [logmuton | logmutoff]
>     Unassemble AML code      - u [<MethodName> | <CodeAddr>]

>     0: kd> !amli dl
>     0:00:03.437 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._UID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._UID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.437 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.437 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.437 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.437 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.437 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.437 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._STA
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PCI0._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PWRB._UID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PWRB._UID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PWRB._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PWRB._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PWRB._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PWRB._UID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.453 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.453 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.PWRB._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.453 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._UID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._UID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._UID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._UID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._STA
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] SyncEvalObject        IRQL= 0
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CRS
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._HID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] AsyncEvalObject       IRQL= 0
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000

>     0:00:03.546 [8acc5020] RestartContext        Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] InsertReadyQueue      Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] EvaluateContext       Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=0 QCt=0 QFg=00000000 pbOp=0

>     0:00:03.546 [8acc5020] RunContext            Context=8aaf3000
>         \_SB.GPIO._CID
>         QTh=8acc5020 QCt=8aaf3000 QFg=00000000

>     0:00:03.546 [8acc5020] FinishedContext       Context=8aaf3000 rc=0
>         QTh=0 QCt=0 QFg=00000000

## Page 45

#661 | infuscomus | ⇗ @diderius6 grub2 method gets rid of 7E BSOD, but there are still A5 0x02 and 0x0D errors to fix

#662

diderius6

I found all this errors via Ida Pro in the Debug version of acpi.sys
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518
They can be easy hacked, but what is the real underlying problem?
Is there a PciInterface in Bios or not?
In the Bios from the Asrock B350 board there is a switch "Hpet table".
It has no effekt for XP, if I enable or disable this.
I read, that the Hpet timer cant be disabled at all on the Ryzen boards
Dietmar

#663 | infuscomus | ⇗ @diderius6 I'm guessing that part of the problem is the Root System Description Pointer (RSDP) in the Extended BIOS Data Area since replacing that when using grub2 makes the 7E BSOD go away

#664

diderius6

⇗ @infuscomus
Here is my registry extract from all the Acpi tables from Win7 32 bit
from my Asrock fatal1ty ab350 gaming k4.
Under Win7 32 bit it works perfect
Dietmar
PS: I make a new try to install Vista 32 bit. Everything looks good, no comment about incompatible Acpi,
but at reboot after first install I get BSOD 0x7B.
It has nothing to do with the boot device. Vista 32 bit also dont like to run on the Asrock board (it has forced Acpi)
but Vista 64 bit works there.
diderius6 has attached files to this post

- ⇗ hardwareWin7.rar

#665 | infuscomus | ⇗ @diderius6 So we need to figure out whatever windows 7 acpi.sys driver is doing to make it work?

#666

diderius6

I still find with RW-everything in the Hpet table this entry, even it is disabled in Bios:
Bit[15]=LegacyReplacement IRQ Routing Capable
With cpu-z (tools timers) I can see,
that in XP and Win7 the Hpet timer is empty. There are 3 clocks shown and work: ACPI, QPC, RTC (same in Win7 and XP).
So, may be really Hpet is the one and only reason for BSOD 0x7E 0xc0000005
Dietmar

#667 | diderius6 | ⇗ @infuscomus ⇗ @Mov AX, 0xDEAD May be, you or Mov AX, 0xDEAD can load this Acpi tables, which I send to registry of this Asrock board B350 and this is all to make Acpi work in XP Dietmar PS: I think, Win7 has learned to survive with Hpet.
#668 | infuscomus | ⇗ @diderius6 so how do we properly disable HPET?

#669

diderius6

⇗ @infuscomus
I dont know. The authors from qemu use the switch
-no-hpet
Disable HPET support.
-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n] [,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]
Add ACPI table with specified header fields and context from specified files. For file=, take whole ACPI table from the specified files, including all ACPI headers (possible overridden by other options). For data=, only data portion of the table is used, all header information is specified in the command line. If a SLIC table is supplied to QEMU, then the SLICs oem_id and oem_table_id fields will override the same in the RSDT and the FADT (a.k.a. FACP), in order to ensure the field matches required by the Microsoft SLIC spec and the ACPI spec.
Dietmar

#670 | diderius6 | Is it possible to install Qemu on Win7 32 bit and install in this Qemu an Acpi XP SP3 Dietmar

#671

Mov AX, 0xDEAD

> Zitat

> Enable TCO Timer
> (Enable/Disable TCO timer. When disabled, it disables PCH ACPI timer, and stops TCO timer)

this hidden bios option by default is disabled and break pm_timer, thanks to MB vendors :(

#672

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #668

> so how do we properly disable HPET?

by default win doesnt use hpet, force disabling:
- remove hpet acpi table
- set status of device in dsdt to Zero, (method _sta)

#673

diderius6

⇗ @Mov AX, 0xDEAD
How can single Acpi tables like hpet acpi table
been removed?
There is no *.raw entry for them in Bios, even not the table itself is listed there, I think needs an algorithmus to
build the pur table (also for example FACP)
Dietmar

#674

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #673

> How can single Acpi tables like hpet acpi table
> been removed?

rename header of table to HPEZ for example
but be ready to hang bios if it check for signature HPET

#675 | infuscomus | ⇗ @diderius6 I tested your DSDT export from windows 7 in XP - 7E BSOD ⇗ @Mov AX, 0xDEAD Do you know to write ASL code? to at least make progress on solving A5 02 and 0D BSODs with grub2 method?

## Page 46

#676

diderius6

⇗ @infuscomus
I make next try:
With Uefi tool I found 6 places with ASCII HPET.
I will extract each of those 6 bodies, rename one by one there with Winhex HPET ->
HPEU HPEV HPEW HPEX HPEY HPEZ,
change body with Uefi tool
and flash whole Bios
Dietmar
⇗ https://ibb.co/vjmSYsc
EDIT: Funny, HPET table has now name HPEU in rw-everything,
but BSOD is still 0x7E 0xc0000005, grrr^^..
But the Hpet table is really killed. There stands now version 1 for the Hpeu table and
the possibility to change legacy Irqs is gone.

#677 | diderius6 | But still no timer is shown in device list of XP. Irq 0 and Irq 8 are free. And I see an UEFI table entry in rw-everything. Has this been there before also(?) Dietmar
#678 | infuscomus | ⇗ @diderius6 in rw-everything i see HPET table before I empty HPET table and load empty with grub2 without DSDT - 7E BSOD Because of results with grub2, I think the cause of 7E BSOD is in RSDP or EBDA area
#679 | infuscomus | ⇗ @Mov AX, 0xDEAD are you any good at understanding ACPI code?

#680

diderius6

⇗ @infuscomus
I also start to think, that the error is not in the DSDT table. But which table acpi.sys also reads???
This line from windbg
FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113
means, that AcpiArbCrackPRT (I do not find any information about that pointer)
looks just at a wrong adress (10h reserved low memory, because edi is empty)
But at which adress this pointer has to look, the adress can be handcoded (edi+10h, change 10h against correct adress)
Dietmar

#681 | infuscomus | ⇗ @diderius6 can you find what the correct address is? the address that windows 7 uses?

#682

diderius6

⇗ @infuscomus
I just make a reread and I see,
that indeed only DSDT can make exact this crash:
"7. On QEMU, XP does indeed show the HPET alongside the TMR and RTC in
its device tree, obviously without any IRQ resources under properties,
since the only way it boots is if HPET._CRS doesn't include IRQNoFlags.
8. Windows 7, while it boots and runs fine when HPET._CRS contains
IRQNoFlags, will show an unresolved IRQ conflict between the HPET and
the RTC in the device tree. Commenting out IRQNoFlags from the RTC
in QEMU does NOT solve that (still shows up as a conflict in the
device tree).
9. I followed Igor's advice and ran a debug session, but unlike with
ConcatenateResTemplate, XP didn't choke on AML byte code itself, but
appears to die of a memory access violation:
*** Fatal System Error: 0x0000007e (0x...)
...
Probably caused by: ACPI.sys (ACPI!AcpiArbCrackPRT+113)
80527bdc cc int 3
Poking around with various !amli debugger commands does not show
anything AML-related as abnormal, so I think the problem is that
either XP specifically expects the HPET._CRS buffer to be of a
certain hardcoded size (which doesn't include any extra room for
IRQNoFlags), or attempts to somehow process the values given via
IRQNoFlags (0 and 8) in ways that cause it to then kill itself.
Hard to tell without knowing more about XP internals (e.g., without
XP kernel and/or acpi.sys source code).
At this point, conditionally inserting IRQNoFlags {0,8} only for OS X
sounds less of a hack and more like the right thing to do. I would be
comfortable using ConcatenateResTemplate since XP never gets a chance
to attempt to interpret that bytecode, which gets exercised only by
the _OSI("Darwin") branch. I tested this, and both XP and OSX seem
happy with it."
There is a problem with the timer. But when a single device (via DSDT) can make exact this crash,
may be another device, that XP not likes, can make this crash also.
So, my first idea after this is, to "delete via OSVR" in DSDT all devices with a given IRQNoFlags number
Dietmar

#683

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #682

> Hard to tell without knowing more about XP internals (e.g., without
> XP kernel and/or acpi.sys source code).

There is the windows research kernel you can use on github

#684

diderius6

This would be a nice idea,
to set up a Qemu session,
give to Qemu the DSDT table from the Asrock fatal1ty ab350 gaming k4 board,
chose RYZEN processor
and install ACPI XP SP3.
Oh, so much hope, that the same BSOD 0x7E 0xc0000005 happens in Qemu,
than fun can start to find out which device in DSDT makes this BSDOD
Dietmar

#685 | infuscomus | ⇗ @diderius6 why QEMU over real hardware?

#686

diderius6

⇗ @infuscomus
Because it is much easier with Qemu to change quick everything:)) and to see, that the error is NOT on your hardware.
Here comes my next try.
Please load the DSDT table for the Asrock B350 board
and see, if the BSOD 0x7E 0xc0000005 still happens.
I deleted everything about timer and Irqnoflags() with given numbers there.
May be, the APIC from the B350 chipset dies, when you give numbers for IRQ
Dietmar
diderius6 has attached files to this post

- ⇗ DSDTIrqnoflag.rar

#687

infuscomus

⇗ @diderius6
I loaded you IRQnoflags DSDT into grub2 - BSOD A5 02
⇗
however, I get this same BSOD when loading unmodified smaller DSDT from BIOS 3.30 (in DsdtAsl)
with larger DSDT from BIOS 3.30 (in 7FD41B4B-42AE-47BA-BA77-87D3BD829E86)
I get BSOD A5 0D
⇗

#688

diderius6

⇗ @infuscomus
Before you get with full DSDT and grub2 BSOD 0x7E 0xc0000005?
And now with my IRQnoflags DSDT into grub2 - BSOD A5 02
and you changed nothing other?
This would be a big step forward
Dietmar
EDIT: In this case my modified acpi.sys would solve this problem BSOD A5 02.

#689 | infuscomus | ⇗ @diderius6 with grub2 loading DSDT from BIOS 5.00 and 5.40 always 7E BSOD I have not tried DSDT from BIOSs 4.30 to 4.90 or the Bridge BIOS 3.40 BIOS 3.30 is either A5 02 or A5 0D
#690 | diderius6 | ⇗ @infuscomus I just flash this Bios with IRQnoflags DSDT to Asrock fatal1ty ab350 gaming k4 board, same BSOD 0x7E 0xc0000005 as before Dietmar

## Page 47

#691 | infuscomus | ⇗ @diderius6 When you have the time, try AIO multiboot with grub2 method

#692

diderius6

⇗ @infuscomus
The problem is, that I do not understand, what happens there.
With direct flash Bios to real hardware I understand чуть чуть :)).
Now all clocks and their Irqs are gone in Win7,
but cpu-z shows again all clocks working, only HPET not(!) listened.
Dietmar
EDIT: In XP SP3, also no clocks at all in device list, no IRQ 0 or 8 is used.
But the most crazy for me is, that the 3 timers, shown with cpu-z (tools timers)
shows them as working correct?!
ACPI QPC RTC
3.580 MHZ 1.193 MHZ 1.000KHZ
Dietmar
EDIT: This simple means, because DSDT table is not loaded for "Standard PC" that all the clocks
are elsewhere listed too.
EDIT2: XP (first, gold version) and XP SP1 show exact the same error: 0x7E 0xc0000005.

#693 | infuscomus | ⇗ @diderius6 can I try your modified acpi.sys for acpi A5 02 and 0D errors?

#694

diderius6

⇗ @infuscomus
Here it is
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#695 | infuscomus | ⇗ @diderius6 Thanks, unfortunately, no change - BSOD A5 02 ⇗ Thanks anyway
#696 | infuscomus | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD how do I interpret parameter2 to locate DSDT error? or am I going about it the wrong way?

#697

diderius6

⇗ @infuscomus
I still think, the big problem is, that the Asrock B350 board
does not give a full APIC Irq list to XP. This may be an error in this chipset.
May be this is the real problem and not ACPI.
I just look, but a Qemu, special for Ryzen processors, is not out there until now.
With the wrong configured HPET timer (Irq 0 and Irq 8) you can get the same BSOD via windbg "acpi!acpiarbcrackprt+113"
as I have.
This means, that the DSDT table CAN be the reason.
Now I make a new try with deleted device "PIC" in DSDT (it gets Irq 2 there) and flash this Bios.
Not much hope, that this will change anything.
But not much devices are left in DSDT, which makes sense to be killed there.
After this, I do another way: I put the halapic.dll from Debug XP SP3 into XP and also ntkrnlmp.exe.
Then I look, what windbg tells EDIT: windbg tells nothing with halapic.dll, the BSOD happens so early (I think in halapic, just blinking cursor),
so that the debugger does not start, brrr..
Dietmar

#698 | infuscomus | ⇗ @diderius6 I'm not sure, but this might help? ⇗ http://2012.zeronights.org/includes/docs/Oleksiuk.pdf page 26

#699

diderius6

⇗ @infuscomus
interesting:))
I have news: With deleted PIC device in DSDT,
XP does not want to start any longer in Acpi Multiprocessor mode, no(!) bluescreen, just reboot.
But as "Standard PC", everything works like before.
In my eyes this means: XP uses ALWAYS PIC mode
and this is forbidden for Acpi Multiprocessor
and because of this no valid pointer to PCI-Interface,
it just not exists
Dietmar
PS: That are interesting but bad news. Because it means, as long as XP can only enable PIC mode on the asrock board,
there will be no ACPI Multiprocessor for XP. The same happens to Vista 32 bit. Vista 64 and Win7 32bit generate their own
Irqs (as you can see on negative Irq numbers).
EDIT: This is wrong, what I wrote: I forget, that I have done \pcilock switch in boot.ini.
And only with this switch, compi boots new in Acpi Multiprocessor mode.
Without \pcilock in boot.ini, compi gives for Acpi Multiprocessor the same BSOD 0x7E 0xc0000005 as usual.

#700 | infuscomus | ⇗ @diderius6 XP apparently supports negative IRQs? ⇗ http://maxedtech.com/show-devices-by-irq-in-windows/ Devices that have positive (PCI) values are working in Line-based interrupts mode. Those that have negative (PCI) values are working in MSI (Message signaled interrupts) mode.

#701

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #699

> EDIT: This is wrong, what I wrote: I forget, that I have done pcilock switch in boot.ini.
> And only with this switch, compi boots new in Acpi Multiprocessor mode.

⇗ @diderius6
So you have multiprocessor and ACPI working on AB350? but not APIC?

#702

diderius6

⇗ @infuscomus
I do not think, that something changed.
Still no correct Irqs for the pci devices
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     *** Assertion failed: pciInterface
>     ***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     *** Assertion failed: Thread->Tcb.KernelApcDisable == 0
>     ***   Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
>     t

>     *** Fatal System Error: 0x0000007f
>                            (0x00000008,0x80042000,0x00000000,0x00000000)

>     Connected to Windows XP 2600 x86 compatible target at (Sun Jun  9 20:36:31.250 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
>     Product: WinNt, suite: TerminalServer SingleUserTS
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     Debug session time: Sat Jun  8 20:36:11.015 2019 (UTC + 2:00)
>     System Uptime: 0 days 0:00:03.640
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Sun Jun  9 20:36:32.968 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sun Jun  9 20:36:33.046 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ............................
>     Loading User Symbols
>     WARNING: Process directory table base DD5E0000 doesn't match CR3 00039000

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7F, {8, 80042000, 0, 0}

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     Probably caused by : ntkrnlmp.exe ( nt!PspExitThread+3dc )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     UNEXPECTED_KERNEL_MODE_TRAP (7f)
>     This means a trap occurred in kernel mode, and it's a trap of a kind
>     that the kernel isn't allowed to have/catch (bound trap) or that
>     is always instant death (double fault).  The first number in the
>     bugcheck params is the number of the trap (8 = double fault, etc)
>     Consult an Intel x86 family manual to learn more about what these
>     traps are. Here is a *portion* of those codes:
>     If kv shows a taskGate
>             use .tss on the part before the colon, then kv.
>     Else if kv shows a trapframe
>             use .trap on that value
>     Else
>             .trap on the appropriate frame will show where the trap was taken
>             (on x86, this will be the ebp that goes with the procedure KiTrap)
>     Endif
>     kb will then show the corrected stack.
>     Arguments:
>     Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
>     Arg2: 80042000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0

>     BUGCHECK_STR:  0x7f_8

>     TSS:  00000028 -- (.tss 0x28)
>     eax=00000390 ebx=f789c210 ecx=f789c1fc edx=00000001 esi=f789c32c edi=00000078
>     eip=80acdf8a esp=f789be40 ebp=f789c1e0 iopl=0         nv up di ng nz na po nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010082
>     nt!_SEH_prolog+0x1a:
>     80acdf8a 53              push    ebx
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     PROCESS_NAME:  System

>     LOCK_ADDRESS:  80af1640 -- (!locks 80af1640)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x80af1640
>     	Thread Count  : 1
>     	Thread address: 0x8b0c5020
>     	Thread wait   : 0xe9

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     ASSERT_DATA:  pciInterface

>     ASSERT_FILE_LOCATION:  d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c at Line 3518

>     STACK_TEXT:
>     80ae33c0 80a30d41 00000003 80ae371c 00000000 nt!RtlpBreakWithStatusInstruction
>     80ae340c 80a319ac 00000003 00000000 00000000 nt!KiBugCheckDebugBreak+0x19
>     80ae37ec 80ad6907 0000007f 00000008 80042000 nt!KeBugCheck2+0x574
>     80ae37ec 80acdf8a 0000007f 00000008 80042000 nt!KiTrap08+0x48
>     f789c1e0 80ad5349 f789c1fc 00000000 f789c250 nt!_SEH_prolog+0x1a
>     f789c248 80ad5b11 f789c2d8 80ac10a1 badb0d00 nt!CommonDispatchException+0x4d
>     f789c248 80ac10a2 f789c2d8 80ac10a1 badb0d00 nt!KiTrap03+0xb9
>     f789c2d8 80ac10ec 00000001 f789c32c 00000078 nt!DebugService+0x1c
>     f789c2f4 80ab9243 f789c314 ffffffff 00000000 nt!DebugPrint+0x1c
>     f789c548 80ab93d8 80ab93b8 ffffffff 00000000 nt!vDbgPrintExWithPrefix+0x101
>     f789c564 80abad6c 80abac22 80abac1e 80bcb16c nt!DbgPrint+0x1a
>     f789c874 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0x82
>     f789c890 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789c93c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789c960 80bcc315 8b0c5020 c0000001 f789c990 nt!PspTerminateThreadByPointer+0x88
>     f789c980 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789c980 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789ca0c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789cd04 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789cd20 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789cdcc 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789cdf0 80bcc315 8b0c5020 c0000001 f789ce20 nt!PspTerminateThreadByPointer+0x88
>     f789ce10 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789ce10 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789ce9c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789d194 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789d1b0 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789d25c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789d280 80bcc315 8b0c5020 c0000001 f789d2b0 nt!PspTerminateThreadByPointer+0x88
>     f789d2a0 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789d2a0 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789d32c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789d624 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789d640 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789d6ec 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789d710 80bcc315 8b0c5020 c0000001 f789d740 nt!PspTerminateThreadByPointer+0x88
>     f789d730 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789d730 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789d7bc 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789dab4 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789dad0 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789db7c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789dba0 80bcc315 8b0c5020 c0000001 f789dbd0 nt!PspTerminateThreadByPointer+0x88
>     f789dbc0 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789dbc0 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789dc4c 80abadc0 fffffffe c0000001 00000000 nt!ZwTerminateThread+0x11
>     f789df44 80abae30 f75782b2 f7578286 00000dbe nt!RtlAssert2+0xd6
>     f789df60 f757852e f75782b2 f7578286 00000dbe nt!RtlAssert+0x18
>     f789e0a0 f75b865b 8b0d2d00 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0xe0
>     f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
>     f789e158 f75b7375 f75ae2a0 e19e6184 f75ae2a0 ACPI!ArbBootAllocation+0x17b
>     f789e16c f75c8d89 f75ae2a0 e19e6184 e19e6184 ACPI!AcpiArbBootAllocation+0x4b
>     f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
>     f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
>     f789e208 80b5e80b 00000004 e1a1c548 e1a04238 nt!IopAllocateBootResourcesInternal+0xc5
>     f789e228 80d24c8b 00000004 8b0d2d00 e1a04238 nt!IopAllocateBootResources+0x75
>     f789e24c 80b4753a 00000004 8b0d2d00 e1a04238 nt!IopReportBootResources+0x65
>     f789e27c 80b4db93 8b0881c8 80000240 00000001 nt!PiQueryAndAllocateBootResources+0x150
>     f789e36c 80b4e26d 8b0881c8 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
>     f789e5c4 80a2cfb6 8b08ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
>     f789e608 80a2d2c1 00000000 00000000 800809e8 nt!PipDeviceActionWorker+0xc4
>     f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
>     f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
>     f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
>     f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!PspExitThread+3dc
>     80bcb644 8b9edc010000    mov     ebx,dword ptr [esi+1DCh]

>     SYMBOL_STACK_INDEX:  d

>     SYMBOL_NAME:  nt!PspExitThread+3dc

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x7f_8_nt!PspExitThread+3dc

>     BUCKET_ID:  0x7f_8_nt!PspExitThread+3dc

>     Followup: MachineOwner
>     ---------

>     0: kd> !pcitree
>     PciFdoExtensionListHead forward pointer is NULL, list is empty
>     0: kd> !pci
>     PCI Segment 0 Bus 0
>     00:0  1022:1450.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge  SubID:1849:1450
>     00:2  1022:1451.00  Cmd[0004:..b...]  Sts[0010:c....]  AMD Class:8:6:0  SubID:1022:1451
>     01:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     01:3  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x3-0xa
>     02:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     03:1  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0xb-0xb
>     04:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     07:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x11-0x11
>     08:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     08:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x12-0x12
>     14:0  1022:790b.59  Cmd[0403:im....]  Sts[0220:.6...]  AMD SMBus Controller  SubID:1849:ffff
>     14:3  1022:790e.51  Cmd[000f:imb...]  Sts[0220:.6...]  AMD ISA Bridge  SubID:1849:ffff
>     18:0  1022:1460.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:1  1022:1461.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:2  1022:1462.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:3  1022:1463.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:4  1022:1464.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:5  1022:1465.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:6  1022:1466.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     18:7  1022:1467.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
>     0: kd> lm
>     start    end        module name
>     80100000 80127780   HAL1       (deferred)
>     80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
>     f740c000 f742bb00   fltMgr     (deferred)
>     f742c000 f7441000   nvme       (deferred)
>     f7441000 f7458880   SCSIPORT   (deferred)
>     f7459000 f7470900   atapi      (deferred)
>     f7471000 f7496a00   dmio       (deferred)
>     f7497000 f74b5d80   ftdisk     (deferred)
>     f7556000 f7566a80   pci        (pdb symbols)          c:\symbols\pci.pdb\46927BAFB8E740B6B4BAC813675A82871\pci.pdb
>     f7567000 f75d5480   ACPI       (pdb symbols)          c:\symbols\acpi.pdb\F3A2E52867724F8EAB957EA99ABA93031\acpi.pdb
>     f75f7000 f7600300   isapnp     (deferred)
>     f7607000 f7611580   MountMgr   (deferred)
>     f7617000 f7624200   VolSnap    (deferred)
>     f7627000 f7637000   asahci32   (deferred)
>     f7637000 f763fe00   disk       (deferred)
>     f7647000 f7653180   CLASSPNP   (deferred)
>     f7707000 f770d180   PCIIDEX    (deferred)
>     f770f000 f7713d00   PartMgr    (deferred)
>     f782e000 f7844880   KSecDD     (deferred)
>     f7845000 f7856f00   sr         (deferred)
>     f7857000 f7897000   storport   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f795a000 f7986980   NDIS       (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)
>     f7a35000 f7a4eb80   Mup        (deferred)
>     f7a4f000 f7a4fd00   pciide     (deferred)
>     f7b52000 f7bde600   Ntfs       (deferred)
>     0: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0x8b08ecc8)
>     DevNode 0x8b08ecc8 for PDO 0x8b08ee10
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08e898 for PDO 0x8b08e9f8
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8b0e2358 for PDO 0x8b0e3830
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x8b0600c0 for PDO 0x8b0e86c8
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0x8b0e8420 for PDO 0x8b0d45c8
>             InstancePath is "ACPI\PNP0C0C\aa"
>             State = DeviceNodeDriversAdded (0x303)
>             Previous State = DeviceNodeInitialized (0x302)
>           DevNode 0x8b0e82f0 for PDO 0x8b04b798
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0caed8 for PDO 0x8b0c9670
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0cada8 for PDO 0x8b091038
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b087678 for PDO 0x8b0d2620
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b087548 for PDO 0x8b04e4c0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b04b008 for PDO 0x8b0478a0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b04b190 for PDO 0x8b0625c0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0ea280 for PDO 0x8b0624a0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0ea150 for PDO 0x8b0ca418
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0d2008 for PDO 0x8b0ca2f8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0d2198 for PDO 0x8b0c9c88
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0e2008 for PDO 0x8b0c9b68
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0e21c0 for PDO 0x8b0d55b0
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0e1008 for PDO 0x8b0d5490
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0e11c0 for PDO 0x8b05ff18
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b088008 for PDO 0x8b05fdf8
>             InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b0881c8 for PDO 0x8b0d2d00
>             InstancePath is "ACPI\AMDI0030\0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0x8b05f008 for PDO 0x8b0d2be0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8b05f278 for PDO 0x8b076218
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8b05f148 for PDO 0x8b0760f8
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0x8b046c68 for PDO 0x8b060220
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>       DevNode 0x8b0e7db0 for PDO 0x8b0e7f10
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e7b58 for PDO 0x8b0e7cb8
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e7900 for PDO 0x8b0e7a60
>         InstancePath is "Root\LEGACY_ACPI\0000"
>         ServiceName is "ACPI"
>         State = DeviceNodeRemoved (0x312)
>         Previous State = DeviceNodeStarted (0x308)
>         Problem = CM_PROB_DEVICE_NOT_THERE
>       DevNode 0x8b0e76a8 for PDO 0x8b0e7808
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e7418 for PDO 0x8b0e7578
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e71c0 for PDO 0x8b0e7320
>         InstancePath is "Root\LEGACY_ATAPI\0000"
>         ServiceName is "atapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08ded8 for PDO 0x8b08d038
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08dc38 for PDO 0x8b08dd98
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d9e0 for PDO 0x8b08db40
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d788 for PDO 0x8b08d8e8
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d4e0 for PDO 0x8b08d640
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d288 for PDO 0x8b08d3e8
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6008 for PDO 0x8b08d190
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6db0 for PDO 0x8b0e6f10
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6b58 for PDO 0x8b0e6cb8
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6900 for PDO 0x8b0e6a60
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e66a8 for PDO 0x8b0e6808
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6450 for PDO 0x8b0e65b0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e61f8 for PDO 0x8b0e6358
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08ced8 for PDO 0x8b08c038
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08cc80 for PDO 0x8b08cde0
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08ca28 for PDO 0x8b08cb88
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c7d0 for PDO 0x8b08c930
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c578 for PDO 0x8b08c6d8
>         InstancePath is "Root\LEGACY_NVME\0000"
>         ServiceName is "nvme"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c320 for PDO 0x8b08c480
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5008 for PDO 0x8b08c228
>         InstancePath is "Root\LEGACY_PARVDM\0000"
>         ServiceName is "ParVdm"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5db0 for PDO 0x8b0e5f10
>         InstancePath is "Root\LEGACY_PCIIDE\0000"
>         ServiceName is "PCIIde"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5b58 for PDO 0x8b0e5cb8
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5900 for PDO 0x8b0e5a60
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e56a8 for PDO 0x8b0e5808
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5450 for PDO 0x8b0e55b0
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e51f8 for PDO 0x8b0e5358
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08bed8 for PDO 0x8b08b038
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08bc80 for PDO 0x8b08bde0
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08ba28 for PDO 0x8b08bb88
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b7d0 for PDO 0x8b08b930
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b578 for PDO 0x8b08b6d8
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b320 for PDO 0x8b08b480
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4008 for PDO 0x8b08b228
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4db0 for PDO 0x8b0e4f10
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4b58 for PDO 0x8b0e4cb8
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4900 for PDO 0x8b0e4a60
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e46a8 for PDO 0x8b0e4808
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4450 for PDO 0x8b0e45b0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e41f8 for PDO 0x8b0e4358
>         InstancePath is "Root\MS_PSCHEDMP\0002"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08aed8 for PDO 0x8b08a038
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08ac80 for PDO 0x8b08ade0
>         InstancePath is "Root\PCI_HAL\0000"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08aa28 for PDO 0x8b08ab88
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a7d0 for PDO 0x8b08a930
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a578 for PDO 0x8b08a6d8
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a320 for PDO 0x8b08a480
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e3008 for PDO 0x8b08a228
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e3db0 for PDO 0x8b0e3f10
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)

>     0: kd> !AcpiArbCrackPRT+0xe0
>     No export AcpiArbCrackPRT+0xe0 found
>     0: kd> devnode !AcpiArbCrackPRT+0xe0
>     Couldn't resolve error at 'evnode !AcpiArbCrackPRT+0xe0'
>     0: kd> !devnode !AcpiArbCrackPRT+0xe0
>     DevNode 0xf757852e for PDO 0x5a850f02
>       Parent 0x8dffa44d   Sibling 0xff688d83   Child 0x83ffffff
>       InterfaceType 0xce8bd38a  Bus Number 0x15fff88b
>     Duplicate PDO 0xe8f75ae3  InstancePath is ""
>       ServiceName is ""
>       TargetDeviceNotify List - f 0xc0840004  b 0x006a1775
>       State = Unknown State (0x8d50a945)
>       Previous State = Unknown State (0x8d50a845)
>       StateHistory[19] = Unknown State (0xa7505a1)
>       StateHistory[18] = Unknown State (0x45f62050)
>       StateHistory[17] = Unknown State (0xff53ffff)
>       StateHistory[16] = Unknown State (0xff68b5ff)
>       StateHistory[15] = Unknown State (0xf75ae4b0)
>       StateHistory[14] = Unknown State (0xa1a475ff)
>       StateHistory[13] = Unknown State (0x50a1458d)
>       StateHistory[12] = Unknown State (0x96a016a)
>       StateHistory[11] = Unknown State (0x2a7501a9)
>       StateHistory[10] = Unknown State (0x7d803075)
>       StateHistory[09] = Unknown State (0x1a87d80)
>       StateHistory[08] = Unknown State (0x5af)
>       StateHistory[07] = Unknown State (0xe9c00002)
>       StateHistory[06] = Unknown State (0x25b80a7d)
>       StateHistory[05] = Unknown State (0xc0851057)
>       StateHistory[04] = Unknown State (0xff5650ff)
>       StateHistory[03] = Unknown State (0xffff6885)
>       StateHistory[02] = Unknown State (0x8d50a445)
>       StateHistory[01] = Unknown State (0x8d50a345)
>       StateHistory[00] = Unknown State (0x8d50ab45)
>       Flags (0x0fc33b8c)  DNF_HAL_NODE, DNF_REENUMERATE,
>                           DNF_BOOT_CONFIG_RESERVED, DNF_NO_RESOURCE_REQUIRED,
>                           DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_NON_STOPPED_REBALANCE,
>                           DNF_LEGACY_DRIVER, DNF_HAS_PROBLEM,
>                           DNF_DEVICE_GONE, DNF_LEGACY_RESOURCE_DEVICENODE,
>                           DNF_ASYNC_START_NOT_SUPPORTED, DNF_ASYNC_ENUMERATION_NOT_SUPPORTED,
>                           DNF_LOCKED_FOR_REBALANCE, DNF_UNINSTALLED,
>                           DNF_NO_LOWER_DEVICE_FILTERS, DNF_NO_LOWER_CLASS_FILTERS
>       UserFlags (0x00055c85)  DNUF_WILL_BE_REMOVED, DNUF_NEED_RESTART
>                               Unknown flags 0x00055c80
>       CapabilityFlags (0xfef19be8)  EjectSupported, DockDevice,
>                                     UniqueID, SilentInstall,
>                                     RawDeviceOK, SurpriseRemovalOK,
>                                     WakeFromD1, WakeFromD2,
>                                     NonDynamic, WarmEjectSupported
>                                     Unknown flags 0xfef00000
>       DisableableDepends = 1300496383 (from children)
>       Problem = Unknown problem (-1807354368)

#703 | infuscomus | ⇗ @diderius6 maybe try this flag in FACP table - MSI Not Supported (V4) : 0 set it to 1

#704

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #700

> XP apparently supports negative IRQs?

No, only line based irqs

#705

diderius6

⇗ @infuscomus
I make a crazy try:
I delete nearly everything in DSDT,
compile and add this mini DSDT to Bios and flash.
Result:
No keyboard (even not in "Standard PC"), I cant go to Bios because no keyboard,
no mouse, no COM1, means no debugging, Standard PC XP SP3 works.
Acpi BSOD for Acpi Multiprocessor changes to
0x7B , which remembers me a lot at the behavior from Vista 32 bit on this Asrock B350 board.
So, the BSOD 0x7E 0xc0000005 seems to depend also(?) on DSDT
Dietmar
EDIT: Vista 32 bit setup shows : No Acpi compatible PC^^.
PS: Here is my mini DSDT:

>     /*
>      * Intel ACPI Component Architecture
>      * AML/ASL+ Disassembler version 20190405 (32-bit version)
>      * Copyright (c) 2000 - 2019 Intel Corporation
>      *
>      * Disassembling to symbolic ASL+ operators
>      *
>      * Disassembly of hackDSDT.raw, Fri Jun 07 09:09:50 2019
>      *
>      * Original Table Header:
>      *     Signature        "DSDT"
>      *     Length           0x00005CA1 (23713)
>      *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
>      *     Checksum         0x2D
>      *     OEM ID           "ALASKA"
>      *     OEM Table ID     "A M I "
>      *     OEM Revision     0x01072009 (17244169)
>      *     Compiler ID      "INTL"
>      *     Compiler Version 0x20190405 (538510341)
>      */
>     DefinitionBlock ("", "DSDT", 1, "ALASKA", "A M I ", 0x01072009)
>     {
>         External (APTS, MethodObj)    // 1 Arguments
>         External (AWAK, MethodObj)    // 1 Arguments

>         Name (ENTK, 0x87)
>         Name (EXTK, 0xAA)
>         Name (IO1B, 0x0280)
>         Name (IO1L, 0x10)
>         Name (IO2B, 0x0290)
>         Name (IO2L, 0x10)
>         Name (IO3B, 0x02A0)
>         Name (IO3L, 0x10)
>         Name (IO4B, 0x02B0)
>         Name (IO4L, 0x10)
>         Name (SP1O, 0x2E)
>         Name (IOES, Zero)
>         Name (PEBL, 0x04000000)
>         Name (ACPM, One)
>         Name (NBTS, 0x5000)
>         Name (CPVD, One)
>         Name (SMBB, 0x0B20)
>         Name (SMBL, 0x20)
>         Name (SMB0, 0x0B00)
>         Name (SMBM, 0x10)
>         Name (PMBS, 0x0800)
>         Name (PMLN, 0xA0)
>         Name (SMIO, 0xB2)
>         Name (GPBS, Zero)
>         Name (GPLN, Zero)
>         Name (APCB, 0xFEC00000)
>         Name (APCL, 0x1000)
>         Name (SPIB, 0xFEC10000)
>         Name (SPIL, 0x1000)
>         Name (HPTB, 0xFED00000)
>         Name (HPTL, 0x0400)
>         Name (WDTB, Zero)
>         Name (WDTL, Zero)
>         Name (GIOB, 0xFED81500)
>         Name (IOMB, 0xFED80D00)
>         Name (SSMB, 0xFED80200)
>         Name (CAFS, 0xBB)
>         Name (RXST, Zero)
>         Name (U3ST, Zero)
>         Name (UTDB, Zero)
>         Name (ASSB, Zero)
>         Name (AOTB, Zero)
>         Name (AAXB, Zero)
>         Name (PEHP, One)
>         Name (SHPC, Zero)
>         Name (PEPM, One)
>         Name (PEER, One)
>         Name (PECS, One)
>         Name (ITKE, Zero)
>         Name (PEBS, 0xF8000000)
>         Name (PELN, 0x04000000)
>         Name (SRSI, 0xB2)
>         Name (CSMI, 0x61)
>         Name (DSSP, Zero)
>         Name (FHPP, One)
>         Name (SMIA, 0xB2)
>         Name (SMIB, 0xB3)
>         Name (OFST, 0x35)
>         Name (TRST, 0x02)
>         Name (TCMF, Zero)
>         Name (TMF1, Zero)
>         Name (TMF2, Zero)
>         Name (TMF3, Zero)
>         Name (TTPF, One)
>         Name (DTPT, Zero)
>         Name (TTDP, Zero)
>         Name (TPMB, Ones)
>         Name (TPMC, Ones)
>         Name (TPMM, 0xFED40000)
>         Name (FTPM, Ones)
>         Name (PPIM, 0xFFFF0000)
>         Name (PPIL, 0xF0)
>         Name (AMDT, Zero)
>         Name (TPMF, Zero)
>         Name (PPIV, Zero)
>         Name (HIDK, "MSFT0001")
>         Name (HIDM, "MSFT0003")
>         Name (CIDK, 0x0303D041)
>         Name (CIDM, 0x030FD041)
>         Name (ATIS, 0xB0)
>         Name (MBEC, Zero)
>         Name (THPN, Zero)
>         Name (ALST, Zero)
>         Name (NBTP, 0xFEC30000)
>         Name (PICM, Zero)
>     }

## Page 48

#706 | infuscomus | ⇗ @diderius6 OK, So we start from scratch - then start adding things back into DSDT table until we run into either A5 or 7E BSOD?
#707 | diderius6 | ⇗ @infuscomus Yes, this would be possible, but no mood for this at the moment. I noticed, that the CPU definition went out from DSDT to SSDT. But as far as I understand, acpi.sys reads ONLY DSDT Dietmar

#708

diderius6

I make a new try.
I use the DSDT from the SABERTOOTH-990FX-R20-ASUS-2901.
It is a AM3+ XP friendly board.
In the DSDT the Hpet is handled correct and there are no Externals at all.
This DSDT I flash to Bios from Asrock B350 board.
Some things change, I think to better:
Vista 32 bit setup tells now: BSOD 0xA5 0x1000
which means:
0x1000 : ACPI_BIOS_USING_OS_MEMORY
ACPI had a fatal error when processing a memory operation region.
The memory operation region tried to map memory that has been
allocated for OS usage. The BSOD 0x7E 0xc0000005 happens with normal XP also,
meaning acpi.sys is writing and reading in system memory. Here is XP SP3 debug,
windbg with this DSDT:

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Mon Jun 10 01:26:40.187 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
>     Product: WinNt, suite: TerminalServer SingleUserTS
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     Debug session time: Mon Jun 10 01:26:50.812 2019 (UTC + 2:00)
>     System Uptime: 0 days 0:00:03.421
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Mon Jun 10 01:26:42.015 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Mon Jun 10 01:26:42.093 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ............................
>     Loading User Symbols
>     WARNING: Process directory table base DD5E0000 doesn't match CR3 00039000

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7F, {8, f7787d70, 0, 0}

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     Probably caused by : ntkrnlmp.exe ( nt!PspExitThread+3dc )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     15: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     UNEXPECTED_KERNEL_MODE_TRAP (7f)
>     This means a trap occurred in kernel mode, and it's a trap of a kind
>     that the kernel isn't allowed to have/catch (bound trap) or that
>     is always instant death (double fault).  The first number in the
>     bugcheck params is the number of the trap (8 = double fault, etc)
>     Consult an Intel x86 family manual to learn more about what these
>     traps are. Here is a *portion* of those codes:
>     If kv shows a taskGate
>             use .tss on the part before the colon, then kv.
>     Else if kv shows a trapframe
>             use .trap on that value
>     Else
>             .trap on the appropriate frame will show where the trap was taken
>             (on x86, this will be the ebp that goes with the procedure KiTrap)
>     Endif
>     kb will then show the corrected stack.
>     Arguments:
>     Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
>     Arg2: f7787d70
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0
>     *** No owner thread found for resource 80af15c0

>     BUGCHECK_STR:  0x7f_8

>     TSS:  00000028 -- (.tss 0x28)
>     eax=00000390 ebx=f789c2cc ecx=f789c2b8 edx=00000001 esi=f789c3e8 edi=00000078
>     eip=80acdf8a esp=f789befc ebp=f789c29c iopl=0         nv up di ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010086
>     nt!_SEH_prolog+0x1a:
>     80acdf8a 53              push    ebx
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     PROCESS_NAME:  System

>     LOCK_ADDRESS:  80af1640 -- (!locks 80af1640)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x80af1640
>     	Thread Count  : 1
>     	Thread address: 0x8b0c5020
>     	Thread wait   : 0xd9

>     ASSERT_FILE_LOCATION:  d:\xpsp\base\ntos\mm\iosup.c at Line 6745

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     ASSERT_DATA:  (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))

>     STACK_TEXT:
>     f778ad10 80a30d41 00000003 f778b06c 00000000 nt!RtlpBreakWithStatusInstruction
>     f778ad5c 80a319ac 00000003 00000000 00000000 nt!KiBugCheckDebugBreak+0x19
>     f778b13c 80ad6907 0000007f 00000008 f7787d70 nt!KeBugCheck2+0x574
>     f778b13c 80acdf8a 0000007f 00000008 f7787d70 nt!KiTrap08+0x48
>     f789c29c 80ad5349 f789c2b8 00000000 f789c30c nt!_SEH_prolog+0x1a
>     f789c304 80ad5b11 f789c394 80ac10a1 badb0d00 nt!CommonDispatchException+0x4d
>     f789c304 80ac10a2 f789c394 80ac10a1 badb0d00 nt!KiTrap03+0xb9
>     f789c394 80ac10ec 00000001 f789c3e8 00000078 nt!DebugService+0x1c
>     f789c3b0 80ab9243 f789c3d0 ffffffff 00000000 nt!DebugPrint+0x1c
>     f789c604 80ab93d8 80ab93b8 ffffffff 00000000 nt!vDbgPrintExWithPrefix+0x101
>     f789c620 80abad6c 80abac22 80abac1e 80bcb16c nt!DbgPrint+0x1a
>     f789c930 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0x82
>     f789c94c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789c9f8 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789ca1c 80bcc315 8b0c5020 c0000001 f789ca4c nt!PspTerminateThreadByPointer+0x88
>     f789ca3c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789ca3c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789cac8 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789cdc0 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789cddc 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789ce88 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789ceac 80bcc315 8b0c5020 c0000001 f789cedc nt!PspTerminateThreadByPointer+0x88
>     f789cecc 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789cecc 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789cf58 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789d250 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789d26c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789d318 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789d33c 80bcc315 8b0c5020 c0000001 f789d36c nt!PspTerminateThreadByPointer+0x88
>     f789d35c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789d35c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789d3e8 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789d6e0 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789d6fc 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789d7a8 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789d7cc 80bcc315 8b0c5020 c0000001 f789d7fc nt!PspTerminateThreadByPointer+0x88
>     f789d7ec 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789d7ec 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789d878 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
>     f789db70 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
>     f789db8c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
>     f789dc38 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
>     f789dc5c 80bcc315 8b0c5020 c0000001 f789dc8c nt!PspTerminateThreadByPointer+0x88
>     f789dc7c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
>     f789dc7c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
>     f789dd08 80abadc0 fffffffe c0000001 f798f0a0 nt!ZwTerminateThread+0x11
>     f789e000 80abae30 80a4a5aa 80a4a58a 00001a59 nt!RtlAssert2+0xd6
>     f789e01c 80a4a9c0 80a4a5aa 80a4a58a 00001a59 nt!RtlAssert+0x18
>     f789e088 f758abb3 00e000a0 00000000 00001000 nt!MmMapIoSpace+0x24c
>     f789e0a8 f758c4be 00e000a0 00001000 8b07b5a0 ACPI!MapPhysMem+0x46
>     f789e0c8 f75919a5 8b0dc000 00e000a0 00001000 ACPI!MapUnmapPhysMem+0x5b
>     f789e0f8 f759895b 8b0dc000 8b0dded8 8b0dded8 ACPI!OpRegion+0x131
>     f789e114 f758d34c 8b0dc000 8b0dded8 00000000 ACPI!ParseTerm+0x1c1
>     f789e13c f7590551 00000000 4556414c 8b0dc000 ACPI!RunContext+0x124
>     f789e164 f7590778 8b0dc000 00000000 f75ad4a8 ACPI!InsertReadyQueue+0x15c
>     f789e184 f758f5aa 8b0dc000 00000000 80000000 ACPI!RestartContext+0xb5
>     f789e1bc f75831d6 8b0dc000 f77971d8 000000d8 ACPI!SyncLoadDDB+0xb1
>     f789e1e0 f75c5bf1 f77971d8 f789e1fc 00000012 ACPI!AMLILoadDDB+0x164
>     f789e200 f75c5f4f 00000012 8b0e41f0 80ad38c0 ACPI!ACPIInitializeDDB+0x75
>     f789e214 f75c667e 80102a40 f75ae1a0 80102940 ACPI!ACPIInitializeDDBs+0x8f
>     f789e22c f7576303 8b0877e0 8b087660 00000000 ACPI!ACPIInitialize+0x22e
>     f789e260 f75c17fc 8b0877e0 00000000 f75c16c6 ACPI!ACPIInitStartACPI+0x71
>     f789e28c f75718ea 8b0877e0 8b089200 8b0877e0 ACPI!ACPIRootIrpStartDevice+0x136
>     f789e2c0 80a21c1b 8b0877e0 8b0892f0 8b0877e0 ACPI!ACPIDispatchIrp+0x1a0
>     f789e2d8 80b4f526 f789e348 8b0e2358 8b0e35d8 nt!IopfCallDriver+0x51
>     f789e304 80b4f66e 8b0877e0 f789e324 00000000 nt!IopSynchronousCall+0xf0
>     f789e34c 80a2c0e9 8b0e35d8 00000001 00000000 nt!IopStartDevice+0x82
>     f789e368 80b4e2e8 8b0e35d8 00000000 00000000 nt!PipProcessStartPhase1+0x9f
>     f789e5c4 80a2cfb6 8b08ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x238
>     f789e608 80a2d2c1 00000000 00000000 800809e8 nt!PipDeviceActionWorker+0xc4
>     f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
>     f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
>     f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
>     f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!PspExitThread+3dc
>     80bcb644 8b9edc010000    mov     ebx,dword ptr [esi+1DCh]

>     SYMBOL_STACK_INDEX:  d

>     SYMBOL_NAME:  nt!PspExitThread+3dc

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x7f_8_nt!PspExitThread+3dc

>     BUCKET_ID:  0x7f_8_nt!PspExitThread+3dc

>     Followup: MachineOwner
>     ---------

>     15: kd> !amli
>     Usage: amli <cmd> [arguments ...]
>     where <cmd> is one of the following:

>     Help                     - ? [<Cmd>]
>     Clear Breakpoints        - bc <bp list> | *
>     Disable Breakpoints      - bd <bp list> | *
>     Enable Breakpoints       - be <bp list> | *
>     List Breakpoints         - bl
>     Set Breakpoints          - bp <MethodName> | <CodeAddr> ...
>     Clear Event Log          - cl
>     Request entering debugger- debugger
>     Dump Heap                - dh [<Addr>]
>     Dump Event Log           - dl
>     Dump Name Space Object   - dns [[/s] [<NameStr> | <Addr>]]
>     Dump Data Object         - do <Addr>
>     Dump Stack               - ds [/v] [<Addr>]
>     Find NameSpace Object    - find <NameSeg>
>     List All Contexts        - lc
>     Display Nearest Method   - ln [<MethodName> | <CodeAddr>]
>     Display Context Info.    - r <Context>
>     Set Debugger Options     - set [traceon | traceoff] [nesttraceon | nesttraceoff] [spewon | spewoff]
>                                    [lbrkon | lbrkoff] [errbrkon | errbrkoff] [verboseon | verboseoff]
>                                    [logon | logoff] [logmuton | logmutoff]
>     Unassemble AML code      - u [<MethodName> | <CodeAddr>]

>     15: kd> !amli lc
>     *Ctxt=ffffffff8b0dc000, ThID=ffffffff8b0c5020, Flgs=----R----, pbOp=fffffffff7797957, Obj=<null>

>     15: kd> !amli ln
>     fffffffff7797957

#709

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #708

> I use the DSDT from the SABERTOOTH-990FX-R20-ASUS-2901.
> It is a AM3+ XP friendly board.
> In the DSDT the Hpet is handled correct and there are no Externals at all.
> This DSDT I flash to Bios from Asrock B350 board.

- dsdt is not very portable on modern plarforms because uses hardcoded mem ranges, bios fill memory with values, windows read acpi code and read these memory, this is communication os<->bios. For portability need similar platform/chipset.
- dsdt (body.bin) from bios filesystem is template (on intel platform), final state produced by bios before os loading
example of template in dsdt:

> Zitat

> Name (PNVB, 0xFFFF0000)
> Name (PNVL, 0xAA55)

final state:

> Zitat

> Name (PNVB, 0xCEF8D018) - dynamic adress filled by bios
> Name (PNVL, 0x022E)

#710

diderius6

⇗ @Mov AX, 0xDEAD
The problem is, to find any DSDT table from a compi with Ryzen platform,
which is XP friendly
Dietmar
PS: Do you think, it is possible to find out the hardcoded mem ranges of the Asrock fatal1ty ab350 gaming k4 board
and put them one by one into this DSDT table?
And I have another question: Do you think, that there exist a DSDT table for this Asrock board,
that starts XP with Acpi Multiprocessor mode? I mean, is it enough to edit DSDT table or is need to change other tables too?
For example I noticed, that the whole cpu definition now went out from DSDT to an SSDT table.
But as far as I know, acpi.sys looks ONLY at DSDT.

#711

diderius6

⇗ @Mov AX, 0xDEAD
I change in the DSDT table of the Sabertooth board
Name (PEBS, 0xE0000000) -> Name (PEBS, 0xF8000000)
Name (PEBL, 0x10000000) -> Name (PEBL, 0x04000000)
The values on the right site are from Asrock B350 board.
Most of the NAME (..,) are identic.
Are there some other importand values, which need to fit via DSDT Asrock -> DSDT Sabertooth
Dietmar
EDIT: I changed this values in DSDT but exact the same BSOD as before.

#712

diderius6

From the Acpi 1.b (1999) specification:
ACPI is by nature more portable across operating systems and processors. ACPIs
command methods allow very flexible implementations of particular features.
Taking this word by word, it should be even possible to use a DSDT table from an Intel board for any AMD board
Dietmar
PS: What I do not understand is the difference between DSDT and SSDT tables.
acpi.sys reads only DSDT. But from yesterday I know, that not only acpi.sys is reading DSDT, strange enough.
Who reads the other tables?

#713

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #712

> PS: What I do not understand is the difference between DSDT and SSDT tables.
> acpi.sys reads only DSDT. But from yesterday I know, that not only acpi.sys is reading DSDT, strange enough.
> Who reads the other tables?

mssmbios reads ssdt, facp and other
nvidia driver reads ssdt
acpi.sys do some magic with ssdt too:

> Zitat

> mov dword ptr [eax], 54445353h

#714

diderius6

Mov AX, 0xDEAD
"mssmbios reads ssdt"
is interesting, because the last module (lm) what is loaded before crash is always mssmbios
I can see it with windbg
Dietmar
PS: So, the real problem may be outside from DSDT!
acpi.sys do some magic with ssdt too:
mov dword ptr [eax], 54445353h
From where you know this? And can it help?
EDIT: Aha, I found with Ida Pro in acpi.sys from XP SP3 "mov dword ptr [eax], 54445353h" and in Winhex there is written that it is from SSDT, cool.
And there is another place with SSDT in acpi.sys too.
PAGE:00036973 cmp ecx, 54445353h
And also FACP, RSDT, XSDT, DSDT, SSDT.. oha, acpi.sys looks everywhere.

#715

diderius6

⇗ @infuscomus
Can you also load another FACP table with your grub2 method before XP boots
instead of the FACP table from Bios?
May this is importand, because Acpi can also crash because of information
in other tables
Dietmar
PS: A short tutorial how to use this grub2 method would be nice.

#716 | infuscomus | ⇗ @diderius6 I can load a FACP table before DSDT with grub2

#717

diderius6

Today is a good day,
because I succeed to repair my first Asrock B350 board with hardware killed Bios Chip Winbond 25Q128FWSQ.
I desolder the Bios chip with a hot air desolder gun at 500 degree Celsius. Crazy part, look very good for your fingers!
Then I clean the 8 solder pins on the board (for the new Bios socket) careful off all solder with a Copper desoldering wire.
Clean clean clean again with a STANNOL X32-10I flux and cleaning pen.
As you can see, then I solder a socket for this Bios chip into the board.
Not with the crazy Hot Air gun, just with small normal soldering iron with normal 0.5mm solder wire.
Then I test all 8 pins for contact, put my new and also new flashed Bios Chip from Winbond via Epromer "tl866ii plus" in socket.
When I change the Ryzen 1700 cpu from the other Asrock board to this one, the chip fell down and bent pins, brrr.
Ok, after 20 min repair of bent pins
I start compi new
and here you can see nice result
Dietmar
PS: The socket with the Bios Chip is the white quadrat right down in the corner.
⇗

#718 | infuscomus | nice!

#719

diderius6

⇗ @infuscomus
I would not recommend this procedure to everyone.
Many electronic devices I soldered years ago.
The white socket here has nearly zero sized legs but I found no better with fit into this board
Dietmar
PS: infuscomus, please write short Tutorial about grub2 and FACP load. Because even I can now easy put in and out the Bios chip,
the FACP table itself I cannot write direct to Bios, because I dont have the algoritmus for to put the changed FACP table back to Bios.

#720

infuscomus

⇗ @diderius6
I followed this guide to get AIO boot to prepare my USB drive
⇗ https://www.aioboot.com/en/how-to-use/
after i confirmed the drive was bootable I opened AIOcreator.exe on the USB drive - selected Integration tab, chose Windows XP, then pointed to my XP ISO
For ACPI
Copy the ACPI AML or DAT files to the root of the AIOboot USB drive
boot AIOboot USB drive
Press C to drop to grub2 command line
type desired commands
e.g.
acpi /facp.dat /dsdt.dat
Press ENTER
Press ESC to return to grub2 menu
Select Windows XP/2003 Setup
Select Windows XP Setup Boot Disk
XP Install as normal

## Page 49

#721

diderius6

⇗ @infuscomus
Thanks a lot!
Interesting, how XP decides, whether this is a Acpi friendly Bios or not.
Maybe, XP looks only in FACP for this.
Like on the Intel Asrock board I find out,
that XP writes also on the Asrock B350 ryzen board in the memory, which is reserved for the COM1 port,
even without Acpi
Dietmar

#722

infuscomus

⇗ @diderius6
I found on coreboot wiki
Windows XP or Server 2003 setup might fail with an error message such as:
"An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c"
The value 805262864 varies, and is the physical address, in decimal, of one of the ACPI tables.
The error message is displayed when a 1024 dword page table array used by setupldr runs out of space.
This table is used for mapping various physical addresses, such as those of ACPI tables (a separate table identity maps the lower 16MB used by setupldr code and data). Setupldr only looks at ACPI tables (FACP) to determine make and model of the system. The make and model of the system is needed when setupldr scans the good/bad bios lists contained in txtsetup.sif. The good/bad bios lists are used to bypass installation of the ACPI enabled kernel on certain systems known to have ACPI problems. The code loop that scans the lists creates a new mapping each time it reads an ACPI table, and never frees mappings. The code uses FACP OEM ID to determine the system model. The code sequentially reads tables listed in the RSDT array until the FACP is found. Each read consumes one page table entry. If more that 4 tables precede the FACP in the RSDT array, the 1024 entry page table array will run out of space before the good/bad bios list processing completes.
BIOS can work around this Windows XP/Server 2003 limitation by placing the FACP early in the RSDT array.

#723 | diderius6 | ⇗ @infuscomus I just found this via windbg on new/old Asrock board:))! MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041) May be this is the only reason, why we have no Acpi on XP on the Asrock B350 ryzen board Dietmar

#724

diderius6

Be careful!!!
When you flash the Asrock B350 to the newest Bios Version 5.70,
you cant go back with normal Eflash via Bios on the Asrock 350 board:
There is written: Invalid file,
brrr..
Dietmar

#725 | infuscomus | ⇗ @diderius6 does your epromer still work around this?
#726 | diderius6 | ⇗ @infuscomus Yessssaaa, flash back to Bios version 3.30 lasts only 2 min because now Bios on socket Dietmar
#727 | diderius6 | When you use Bios 3.30 on the Asrock B350 board, XP SP3 boot from nvme device works. On Bios 5.40 and 5.70 boot from nvme device for XP SP3 gives BSOD Dietmar

#728

diderius6

This
MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041)
may be interesting.
"APIC" word in Hex is vice versa written 43 49 50 41.
With Bios 5.40 the !amli .. command shows everywhere Irq 2,
this is the Irq for the PIC model.
But all adresses for every Acpi device where filled with numbers, crash happens because Acpi in PIC mode does not work on a Multiprocessor System (needs Apic model).
So, in the DSDT table is the PIC model chosen on Bios 5.40.
On Bios 3.30 (with Apic model in FACP) nothing(?) is chosen in DSDT,
all ACPI devices are filled with 00000000 and all Irqs are 0
Dietmar

#729

diderius6

Does anybody know,
how to find the MADT table in Bios?
⇗ https://wiki.osdev.org/MADT
BIOS creates tables on boot
Table of contents (RSDT/XSDT), pointed to by RSDP
DSDT: AML bytecode and device tree
MADT: APIC table for SMP and interrupt routing
FADT: fixed features, superceded by DSDT in many cas
Dietmar

#730

diderius6

I am very happy, when somebody can explain this lines to me.
Does it mean, we can chose for ourselfes, if we use PIC or APIC method?
And if yes, how has APIC to be set here in which variable
Dietmar
PCI IRQ Routing (PIC vs. APIC mode)
If the _PIC control method is present, the _PRT method should return interrupt routing information based on the value _PIC was called with
Method(_PIC,1)
{
Store(Arg0, PICS)
}
Method(_PRT)
{
if (PICS)
{
}
else
{
}
}
_PIC(0) => PIC Mode
_PIC(1) => APIC Mode

#731 | infuscomus | ⇗ @diderius6 I'm sorry I'm not knowledgeable enough to be of much help for this Ask around on hackintosh forums, they do DSDT hacking, maybe they can help?

#732

diderius6

I start to understand.
In the DSDT table are for every device 2 entries.
One for APIC mode and one for PIC mode.
In the DSDT of the Asrock B350 board
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
\_SB.DSPI ()
\_SB.PCI0.NAPE ()
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}
PICM = Arg0
}
When (from an unknown place set) Arg0=1, then APIC mode is enabled in DSDT, all devices use APIC.
Is Arg0=0 then the devices in DSDT table all use PIC mode.
This simple means, even without any ACPI, the DSDT and SSDT tables have to be read for to decide APIC or PIC mode.
This information is in Arg0.
Here if APIC mode, then set DBG8 = 0xAA
and for PIC mode DBG8 = 0xAC.
This variable DBG8 is not used in DSDT table, but seems to be needed at other place.
For APIC and for PIC mode, this information is now given via PICM = Arg0
to PICM, means APIC for PICM=1 , PIC for PICM=0
Dietmar
⇗ https://os.inf.tu-dresden.de/papers_ps/tr-atare-2009.pdf
⇗ https://uefi.org/sites/default/files/res..._2_A_Sept29.pdf

#733

infuscomus

⇗ @diderius6
I found old iasl compiler from 2005
and pdf
infuscomus has attached files to this post

- ⇗ iasl-win-20051117.zip
- ⇗ ACPICA-ProgRef.zip

#734

diderius6

Multiple APIC Description Table:
The Multiple APIC Description Table (APIC or MADT) is used on systems supporting the APIC to
describes the APIC implementation. Following the Multiple APIC Description Table is a
list of APIC structures that declare the APIC features of the machine.
This is from ACPI 1.b (XP).
Now it is clear: The Asrock fatal1ty ab350 gaming k4 does not support APIC
and because of this there is no MADT table.
But I think, ACPI for XP there is possible,
but needs a lot of handwork
Dietmar

#735

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #732

> Here if APIC mode, then set DBG8 = 0xAA
> and for PIC mode DBG8 = 0xAC.
> This variable DBG8 is not used in DSDT table, but seems to be needed at other place.

DBG8 is I/O Port 80 (port for POST codes from ancient times), you can skip any operations with it

> Zitat

>     OperationRegion (DEB0, SystemIO, 0x80, One)
>         Field (DEB0, ByteAcc, NoLock, Preserve)
>         {
>             DBG8,   8
>         }

> Zitat

> When (from an unknown place set) Arg0=1, then APIC mode is enabled in DSDT, all devices use APIC.
> Is Arg0=0 then the devices in DSDT table all use PIC mode.
> This simple means, even without any ACPI, the DSDT and SSDT tables have to be read for to decide APIC or PIC mode.
> This information is in Arg0.

see apci spec, method _pic() called by OS to inform bios about needed pic mode.
i think method called by HAL.dll, because we have variation of it (pic, apic, apci+apic, mp+*, ...)
in your case if xp want apic, first call _pic(1), then call DSPI(), NAPE()
dspi does some magic with 0x0c00 port (amd specific port ?)

## Page 50

#736

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #723

> MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041)

APIC table presented in xsdt list ? in rsdt list too ? table is really empty ?

#737

diderius6

Bug Description
I'm on a Ryzen 1800X and Biostar B350GT5 on bionic kubuntu.
There are lots of AMD-Vi logged events and I get irq crashes or acpi hangups with a 'normal' boot. I got it to boot by disabling IOMMU in the BIOS and adding "iommu=soft" to the kernel booting options in grub.
linux can then detect everything properly (all cores) and I've had zero crashes. The only issue is that it's using software IOMMU which could have a performance penalty because it has to copy all the data of some PCI devices to sub 4G regions.
Alternatively it boots with the kernel option "acpi=off" but only detects a single core/thread.

#738

diderius6

⇗ @Mov AX, 0xDEAD
The problem is,
that without acpi amli cant read correct the tables.
With rw-everything, even without ACPI and without APIC,
there is the MADT (APIC) table listened.
And because Win7 32 works with full Multiprocessor ACPI,
there must be an APIC list
but under XP it is impossible until now to read the APIC table.
I heard from GEODE and other embedded board manufactures,
who take a deep look in implementic the chipset local APIC for the B350 and B320,
that there may be errors between calling Level-triggered and Edge-triggered Irqs
Dietmar

#739

diderius6

1036 When IOMMU Interrupt Remapping Is Enabled the
Remapped TM (Trigger Mode) Bit Is Incorrectly Ignored
Description
When IOMMU interrupt remapping is enabled the remapped TM (trigger mode) bit in the IOMMU interrupt
remapping table entry is incorrectly ignored, and as a result all remapped interrupts will have TM=0 indicating
edge-triggered mode.
Potential Effect on System
Remapped interrupts with TM=1 indicating level-triggered mode will result in IO devices not receiving EOI
(end of interrupt).
Suggested Workaround
No workaround. Only use devices with edge-triggered interrupts.
Fix Planned
Yes

#740

diderius6

1043 IOMMU May Fail to Deliver an Interrupt or Incorrectly
Send an Interrupt to the Host OS
Description
IOMMU may fail to deliver an interrupt or incorrectly send an interrupt to the host OS under the following
conditions:
The vAPIC (Virtual Advanced Programmable Interrupt Controller) backing page is programmed in IRTE
(Interrupt Remapping Table Entry), and
GA (Guest Virtual APIC) mode is enabled.
Potential Effect on System
Unpredictable system behavior.
Suggested Workaround
System software may contain the workaround for this erratum.
Fix Planned
No fix planned

#741

diderius6

Bug Description
[Impact]
Gigabyte AM4 boards users cannot boot Ubuntu successfully.
Commit linux-gpio/fixes babdc22b0ccf4ef5a3075ce6e4afc26b7a279faf "pinctrl/amd: Use regular interrupt instead of chained" can fix the issue.
[Test Case]
All Gigabyte AM4 boards can reproduce the issue.
With the patch, the issue is resolved, per comment #170.
[Regression Potential]
Regression Potential is low. It limits to rather new AMD platform which has pinctrl-amd.
As the commit log says, use chained interrupt is not a good idea. Use regular interrupt is the correct way.
I also test the patch on an AMD laptop, where its touchpad depends on pinctrl-amd. No regression found.
Original bug report:
I'm trying to run ubuntu on Ryzen 1700x with Gigabyte GA-AB350-gaming-3 motherboard,
and it has a load of problems, starting with not being able to boot normally.
During normal boot, on 16.10 as well as 17.04 beta:
system doesn't boot normally, hangs with a lot of "unexpected irq trap at vector 07"
messages displayed.
Following advice from various places, I've tried:disable cpu freq governor and cpu handling in acpi settings
1. add "acpi=off" to boot params
That helps, allowing me to boot into recovery mode, though it leaves me with system seeing only one core, is really slow and still only boots in recovery mode.
2. Compile own kernel using 4.11.rc1 and disabling cpu freq governor and cpu handling in acpi settings. Boot with "quiet loglevel=3" option.
That gets me even further - system sees all cores now. Still only recovery mode though,
but its enough to get info for this bug report.
Some observed problems:
1. dmesg reports *a lot* of messages like this all the time:
[ 163.362068] ->handle_irq(): ffffffff87a7e090,
[ 163.362081] bad_chained_irq+0x0/0x40
[ 163.362089] ->handle_irq(): ffffffff87a7e090,
[ 163.362090] amd_gpio_irq_handler+0x0/0x200
[ 163.362090] ->irq_data.chip(): ffffffff88587e20,
[ 163.362090] ioapic_ir_chip+0x0/0x120
[ 163.362090] ->action(): ffffffff884601c0
[ 163.362091] IRQ_NOPROBE set
[ 163.362099] ->handle_irq(): ffffffff87a7e090,
[ 163.362099] amd_gpio_irq_handler+0x0/0x200
[ 163.362100] ->irq_data.chip(): ffffffff88587e20,
[ 163.362100] ioapic_ir_chip+0x0/0x120
[ 163.362101] ->action(): ffffffff884601c0
I've tried to redirect dmesg to a file, stopped after a short while, it generated 400M of those.
2. Systemd cannot start journald. Perhaps because it cannot cope with amount of kernel logs?
3. Looking at pci, I've noticed something called AMDI0040 (/sys/bus/acpi/devices/AMDI0040, path=_SB_.EMMC), among AMDI0010, AMDI0020, AMDI0030. Those however are mentioned in kernel source, kernel and google are completely silent about AMDI0040.
Phoronix tested ryzen using different motherboard, and it worked better (though not well),
so I suspect it is an issue with motherboard.
---
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
DistroRelease: Ubuntu 17.04
InstallationDate: Installed on 2015-08-06 (581 days ago)
InstallationMedia: Kubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150728.1)
Package: linux (not installed)
ProcEnviron:
LANGUAGE=en_US:en
TERM=linux
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
Tags: zesty
Uname: Linux 4.11.0-rc1-custom x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: Upgraded to zesty on 2017-03-03 (6 days ago)
UserGroups:
_MarkForUpload: True

#742

diderius6

Lukas Kahnert 2018-04-26 15:13:12 UTC
Created attachment 275599 [details]
Disassembled ACPI Table
I tried to get the touchscreen work for HP Envy x360(Ryzen 2500u) on current kernel and found out that the Interrupt for the GPIO driver get wrong detected and configured. Maybe a typical bug in the ACPI table from BIOS.
In ACPI Table the IRQ is defined as

    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                        {
                            0x00000007,
                        }

but in dmesg it prints

    [    0.098531] ACPI: IRQ 7 override to edge, high

I just made a dirty hack to force "level, low" for this IRQ (and a change related to other bug) and the touchscreen works as expected.
But it needs a true fix in the hardware detection and configuration.

#743

diderius6

The device GPIO is also in the DSDT of the Asrock B350 board.
And there it comes together with AMDs own saying:
Only use devices with edge-triggered interrupts.

            Device (GPIO)
            {
                Name (_HID, "AMDI0030")  // _HID: Hardware ID
                Name (_CID, "AMDI0030")  // _CID: Compatible ID
                Name (_UID, Zero)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                        {
                            0x00000007,
                        }
                        Memory32Fixed (ReadWrite,
                            0xFED81500,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((TSOS >= 0x70))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }
            }

#744

diderius6

May be this will work and that's all :))

    {
                     Name (RBUF, ResourceTemplate ()
                     {
                          Interrupt (ResourceConsumer, Edge, ActiveHigh, Shared, ,, )
                         {
                             0x00000007,
                         }

Dietmar

#745

diderius6

I replace at 9 places (just all) in DSDT from Asrock B350
Level, ActiveLow, => Edge, ActiveHigh,
and flash Bios.
But the BSOD is still the same 0x7E 0xc0000005 after
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
But I think, we are on the right way.
I disabled IOMMU in Bios 3.30.
The problems are in Irqs
Dietmar

#746

diderius6

Win7 32 bit starts with the changed Irqs as normal.
I make with rw-everything a read out of all ACPI tables from the Asrock board B350.
And, at the end of the APIC table you can find the entry

    Interrupt Source Override Structure
      Type	0x02 (2)
      Length	0x0A (10)
      Bus	0x00 (0) - ISA
      Source	IRQ9
      System Interrupt	0x00000009 (9)
      Flags	0x000F
      Polarity	0x03 - Active low
      Trigger Mode	0x03 - Level triggered

Dietmar
PS: But I do not know, how to change this table in Bios to Edge, ActiveHigh
diderius6 has attached files to this post

- ⇗ AcpiTbls.rar

#747

diderius6

I succeed to hack the APIC table,
so as wished with only Edge, ActiveHigh entries,
here for Irq 9.
Now, I look for somebody,
who can load this APIC (MADT) table up during boot of XP
Dietmar
EDIT: New file, checksum repaired.
diderius6 has attached files to this post

- ⇗ APICnewIRQ.rar

#748

diderius6

⇗ @infuscomus
Make a try with this FACP
Dietmar
diderius6 has attached files to this post

- ⇗ FACPhack3.rar

#749 | diderius6 | Can the MADT table be loaded with the Microsoft asl.exe tool (vers. 4 from 2009)? asl.exe /loadtable apic.aml Dietmar PS: You need to set the version of the table higher than before, if you want your new table loaded.
#750 | infuscomus | ⇗ @diderius6 I tried your APIC and FACP tables with grub2 instant restart, no BSOD

## Page 51

#751

diderius6

⇗ @infuscomus
Please try this new DSDT also.
I deleted all timers there and set all Irq to Edge ActiveHigh
Dietmar
PS: And make mix, 1 table, 2 tables, all 3 tables.
diderius6 has attached files to this post

- ⇗ DSDTnew.rar

#752

infuscomus

⇗ @diderius6
some tests
APIC only - instant restart
FACP only - 7E BSOD
DSDT only - arcdisp.c error - FACP must come before DSDT
FACP + DSDT - BSOD A5 0x02
APIC + any table - instant restart
edit:
Oh, you have 8 core processor right? I have 4 core - maybe your APIC is enabling processor cores i don't have
edit2:
maybe not
edited my own APIC, same result -instant restart

#753

diderius6

⇗ @infuscomus
Thanks a lot for testing!
May be, that the APIC table cant be loaded via this way
Dietmar
PS: Yes, the Ryzen 1700, which I have, has 8 cores, 16 threads.
Today I will test the Microsoft way for upload ACPI tables via
asl /loadtable dsdt.aml
For this, I change the versionsnumber of the table +1.
Also I will try 2 other AM4 processors on the Asrock B350 board
AM4 Athlon X4 950 (this one has no integrated graphik)
AM4 A8 A8-9600

#754

infuscomus

⇗ @diderius6
This may eventually work- grub2 is loading APIC table at least
I made this APIC table - It freezes on "Setup is Starting Windows"
infuscomus has attached files to this post

- ⇗ freeze-apic.zip

#755

diderius6

⇗ @infuscomus
I see,
that you use very old compiler.
Who knows..
I changed for you the IRQ mode there.
Compile it with the old compiler and try
Dietmar
diderius6 has attached files to this post

- ⇗ APIC2.rar

#756

diderius6

I loaded up all 3 new tables with the Microsoft tool asl.exe.
In each of the 3 tables tool asl.exe answeres, that table has correct
been overridden.
For me is the problem, that I cant prove this,
because rw-everything told always the same.
But may be rw-everything just cant read new tables.
Something changed to better:
windbg tells

    0: kd> !acpiirqarb
    ACPI IRQ Arbiter:  fffffffff75ae2a0   Extension: ffffffff8b04c0f8

    Link nodes in use:  (list head at 8b04c0f88b04c0f8 )

    IRQ Hash Table (at ffffffffe19fe890 ):
    0009  Count/temp: 00/01  Flags: (edge high)  TempFlags(edge high)

Dietmar

#757

diderius6

Nice news:
BSOD 0x7E 0xc0000005 is complete gone.
I think, the strange device ACPI\PNP0A08-0
now gives the new BSOD 0xA5 0x02
Dietmar
EDIT: May be, ACPI\PNP0A08-0 has something to do with PciExpress.

#758

infuscomus

⇗ @diderius6
I edited APIC a bit more, no more freeze or restart, but I'm back to BSOD A5 02 where I started.
infuscomus has attached files to this post

- ⇗ nofreezorrestart-apic.zip

#759

diderius6

I deleted
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
in DSDT, set -r4 for the reversnr of this DSDT table and overload DSDT table new with asl.exe.
Even the asl.exe told, that the DSDT table has been succesfull overridden,
no prove for this.
Now the line
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
appears again in windbg
Dietmar

#760

diderius6

⇗ @infuscomus
Ok, I read whole "with new tables "Bios out.
The DSDT does not change at all,
so question remains, for what the Microsoft asl.exe is good..
Dietmar
EDIT: Oho, I make a mistake. The Bios tables are all as before.
BUT all the new ACPI tables are in some magic way stored in registry(!) of XP.
Until now, I do not find them there, but for sure they are, cool.

#761

diderius6

Here is the prove:
Registry without new tables gives via windbg

    ACPI IRQ Arbiter:  fffffffff75ae2a0   Extension: ffffffff8b0d3520
    Link nodes in use:  (list head at 8b0d35208b0d3520 )
    IRQ Hash Table (at ffffffffe19fe890 ):
    0009  Count/temp: 00/01  Flags: (level low)  TempFlags(level low)

And with new tables loaded via asl.exe in some magic way to registry (NOT(!) Bios)

    0: kd> !acpiirqarb
    ACPI IRQ Arbiter: fffffffff75ae2a0 Extension: ffffffff8b04c0f8
    Link nodes in use: (list head at 8b04c0f88b04c0f8 )
    IRQ Hash Table (at ffffffffe19fe890 ):
    0009 Count/temp: 00/01 Flags: (edge high) TempFlags(edge high)

Dietmar

#762 | infuscomus | ⇗ @diderius6 which one gives A5 0x02 BSOD?

#763

diderius6

⇗ @infuscomus
windbg told A5 0x02 BSOD because of
ACPI\PNP0A08-0
Only ACPI\PNP0A08 is listed in DSDT from the Asrock board,
it is in comment there written as PCIe device.
I take a look in the DSDT from the Am3+ Sabertooth board,
there this line with PNP0A08 does not exist.
And the AM3+ Sabertooth board DSDT is even on AM4 much more XP friendly
than the DSDT from Asrock B350
Dietmar

#764

infuscomus

⇗ @diderius6
XP Friendly
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID
Name (_ADR, 0x00180000) // _ADR: Address
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
{
Return (BN00 ())
}

#765

diderius6

⇗ @infuscomus
I can change with asl.exe from Microsoft ACPI tables
as much as I want.
I changed nearly everything, but always the message
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
appears. The acpi.sys driver is loaded, is started
all seems ok but isnt
Dietmar
PS: I noticed, that the adress for the DSDT table in XP is a little bit different from Win7.
Apic table and FACP are identic in XP and Win7. In Win7 ACPI multiprocessor starts, in XP not.
Now I am sure, that the error is NOT in APIC or in FACP table.

## Page 52

#766 | diderius6 | May be the problem is, that there is no XP driver for the IOMMU device. Can the option "iommu=soft" also for XP be given in grub before boot? Dietmar

#767

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #765

> *** Assertion failed: PciInterfacesInstantiated
> *** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

proper init PciInterfacesInstantiated variable is in AcpiArbInitializePciRouting()
AcpiArbInitializePciRouting() do IRP request to self (i mean acpi.sys)
some handler inside acpi.sys do jobs with this request and return "not zero"
not zero mean variable still be zero and we skip calling magic "call dword ptr [esi+8]"

#768

diderius6

⇗ @Mov AX, 0xDEAD
I think I understand idea for hack:
AcpiArbInitializePciRouting() gives a value 0 back, when all is ok.
And after some work in acpi.sys this work gives a value (starting from 0) not 0.
If this work gives 0, we got BSOD.
But I do not find function AcpiArbInitializePciRouting() and its result.
I can only hack the work in acpi.sys, that the message *** Assertion failed: PciInterfacesInstantiated
is killed,
but then I get again BSOD 0x7E 0xc0000005,
because edi is empty. So, the pointer AcpiArbCrackPRT (I also dont find this word in acpi.sys) is still called
FAULTING_IP:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710 call dword ptr [edi+10h]
I dont know, how to set the variable given from AcpiArbInitializePciRouting() always = 0
Dietmar
diderius6 has attached files to this post

- ⇗ DebugAcpisys.rar

#769 | infuscomus | ⇗ @diderius6 could the problem be in pci.sys? or is pci.sys never called?

#770

diderius6

⇗ @infuscomus
Where the real problem is lying in, I dont know, may be errors in Irq settings from chipset B350.
But may be, this can be hacked in acpi.sys.
At the moment I think about, how to change in acpi.sys the conditional jump
jnz loc_21568 => jmp loc_21568
This is not so easy as before, because this change means in HEX
0F 85 83 00 00 00 => ?? ?? ?? ?? ?? ??
Dietmar
PS: May be ?? ?? ?? ?? ?? ?? = EB 84 90 90 90 90

#771 | infuscomus | ⇗ @diderius6 where is jnz loc_21568? is it in AcpiArbInitializePciRouting?

#772

diderius6

⇗ @infuscomus
Look for Hex values in Debug Acpi.sys
02 0B C3 0F 85 83 00 00 00 80 3D
This is the right place I think, which we can hack.
The conditional jump has to become a forced jump
Dietmar

#773 | infuscomus | ⇗ @diderius6 in here? ⇗
#774 | diderius6 | ⇗ @infuscomus This looks complete other than with Ida Pro, but it is the place, which I mean Dietmar

#775

diderius6

⇗ @infuscomus
I change
02 0B C3 0F 85 83 00 00 00 80 3D =>
02 0B C3 E9 84 00 00 00 90 80 3D
now I test
Dietmar

#776

diderius6

First BSOD is gone, but now I get 0x7B, brrr
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Fri Jun 14 15:46:56.906 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Fri
>      Jun 14 15:46:59.125 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80A02000->80D8DFFF
>     Fri Jun 14 15:46:59.125 2019 (UTC + 2:00):
>     Fri
>      Jun 14 15:46:59.125 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80100000->8012777F
>     Fri Jun 14 15:47:05.687 2019 (UTC + 2:00):
>     *** Assertion failed: IopInitHalResources == NULL
>     ***   Source File: d:\xpsp\base\ntos\io\pnpmgr\pnpinit.c, line 1455

>     Fri Jun 14 15:47:05.687 2019 (UTC + 2:00):
>     Fri
>      Jun 14 15:47:05.703 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? ii
>     ii

>     Fri Jun 14 15:47:05.703 2019 (UTC + 2:00):
>     Fri Jun 14 15:47:40.531 2019 (UTC + 2:00):
>     *** Assertion failed: IopInitReservedResourceList == NULL
>     ***   Source File: d:\xpsp\base\ntos\io\pnpmgr\pnpinit.c, line 1456

>     Fri Jun 14 15:47:40.531 2019 (UTC + 2:00):
>     Fri
>      Jun 14 15:47:40.546 2019 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     Fri Jun 14 15:47:40.546 2019 (UTC + 2:00):
>     Fri Jun 14 15:47:43.812 2019 (UTC + 2:00):
>     *** Fatal System Error: 0x0000007b
>                            (0xF789E518,0xC0000034,0x00000000,0x00000000)

>     Fri Jun 14 15:47:43.843 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Fri Jun 14 15:47:43.984 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ...........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7B, {f789e518, c0000034, 0, 0}

>     Probably caused by : ntkrnlmp.exe ( nt!IopMarkBootPartition+f5 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     INACCESSIBLE_BOOT_DEVICE (7b)
>     During the initialization of the I/O system, it is possible that the driver
>     for the boot device failed to initialize the device that the system is
>     attempting to boot from, or it is possible for the file system that is
>     supposed to read that device to either fail its initialization or to simply
>     not recognize the data on the boot device as a file system structure that
>     it recognizes.  In the former case, the argument (#1) is the address of a
>     Unicode string data structure that is the ARC name of the device from which
>     the boot was being attempted.  In the latter case, the argument (#1) is the
>     address of the device object that could not be mounted.
>     If this is the initial setup of the system, then this error can occur if
>     the system was installed on an unsupported disk or SCSI controller.  Note
>     that some controllers are supported only by drivers which are in the Windows
>     Driver Library (WDL) which requires the user to do a custom install.  See
>     the Windows Driver Library for more information.
>     This error can also be caused by the installation of a new SCSI adapter or
>     disk controller or repartitioning the disk with the system partition.  If
>     this is the case, on x86 systems the boot.ini file must be edited or on ARC
>     systems setup must be run.  See the "Advanced Server System Administrator's
>     User Guide" for information on changing boot.ini.
>     If the argument is a pointer to an ARC name string, then the format of the
>     first two (and in this case only) longwords will be:
>         USHORT Length;
>         USHORT MaximumLength;
>         PWSTR Buffer;
>     That is, the first longword will contain something like 00800020 where 20
>     is the actual length of the Unicode string, and the next longword will
>     contain the address of buffer.  This address will be in system space, so
>     the high order bit will be set.
>     If the argument is a pointer to a device object, then the format of the first
>     word will be:
>         USHORT Type;
>     That is, the first word will contain a 0003, where the Type code will ALWAYS
>     be 0003.
>     Note that this makes it immediately obvious whether the argument is a pointer
>     to an ARC name string or a device object, since a Unicode string can never
>     have an odd number of bytes, and a device object will always have a Type
>     code of 3.
>     Arguments:
>     Arg1: f789e518, Pointer to the device object or Unicode string of ARC name
>     Arg2: c0000034
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x7B

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     STACK_TEXT:
>     f789e080 80a30d41 00000003 f789e3dc 00000000 nt!RtlpBreakWithStatusInstruction
>     f789e0cc 80a319ac 00000003 80085000 e10171f8 nt!KiBugCheckDebugBreak+0x19
>     f789e4ac 80a31f3d 0000007b f789e518 c0000034 nt!KeBugCheck2+0x574
>     f789e4cc 80d1e863 0000007b f789e518 c0000034 nt!KeBugCheckEx+0x1b
>     f789e634 80d240f6 80085000 00000000 80085000 nt!IopMarkBootPartition+0xf5
>     f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x53e
>     f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
>     f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!IopMarkBootPartition+f5
>     80d1e863 8d85e0feffff    lea     eax,[ebp-120h]

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!IopMarkBootPartition+f5

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x7B_nt!IopMarkBootPartition+f5

>     BUCKET_ID:  0x7B_nt!IopMarkBootPartition+f5

>     Followup: MachineOwner
>     ---------

>     0: kd> !acpiinf
>     Sorry: Unable to get ACPI!AcpiInformation.
>     dumpAcpiInformation: Could not read ACPI!AcpiInformation
>     0: kd> !lm
>     No export lm found
>     0: kd> lm
>     start    end        module name
>     80100000 80127780   HAL1       (deferred)
>     80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
>     f7412000 f7428880   KSecDD     (deferred)
>     f7429000 f743af00   sr         (deferred)
>     f743b000 f745ab00   fltMgr     (deferred)
>     f745b000 f749b000   storport   (deferred)
>     f749b000 f74b0000   nvme       (deferred)
>     f74b0000 f74c7880   SCSIPORT   (deferred)
>     f74c8000 f74df900   atapi      (deferred)
>     f74e0000 f7505a00   dmio       (deferred)
>     f7506000 f7524d80   ftdisk     (deferred)
>     f75c5000 f75d5a80   pci        (deferred)
>     f75f7000 f7600300   isapnp     (deferred)
>     f7607000 f7611580   MountMgr   (deferred)
>     f7617000 f7624200   VolSnap    (deferred)
>     f7627000 f7637000   asahci32   (deferred)
>     f7637000 f763fe00   disk       (deferred)
>     f7647000 f7653180   CLASSPNP   (deferred)
>     f7707000 f770d180   PCIIDEX    (deferred)
>     f770f000 f7713d00   PartMgr    (deferred)
>     f7850000 f7869b80   Mup        (deferred)
>     f786a000 f7896980   NDIS       (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)
>     f7a4f000 f7a4fd00   pciide     (deferred)
>     f7b52000 f7bde600   Ntfs       (deferred)
>     0: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0x8b08ecc8)
>     DevNode 0x8b08ecc8 for PDO 0x8b08ee10
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08e8f0 for PDO 0x8b08ea50
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8b0e2358 for PDO 0x8b0e3830
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeInitialized (0x302)
>           Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e7db0 for PDO 0x8b0e7f10
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e7b58 for PDO 0x8b0e7cb8
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e7900 for PDO 0x8b0e7a60
>         InstancePath is "Root\LEGACY_ACPI\0000"
>         ServiceName is "ACPI"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e76a8 for PDO 0x8b0e7808
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e7450 for PDO 0x8b0e75b0
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e71f8 for PDO 0x8b0e7358
>         InstancePath is "Root\LEGACY_ATAPI\0000"
>         ServiceName is "atapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d008 for PDO 0x8b0e70c0
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08dc88 for PDO 0x8b08dde8
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08da30 for PDO 0x8b08db90
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d7d8 for PDO 0x8b08d938
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d530 for PDO 0x8b08d690
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08d2d8 for PDO 0x8b08d438
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6008 for PDO 0x8b08d1e0
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6db0 for PDO 0x8b0e6f10
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6b58 for PDO 0x8b0e6cb8
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6900 for PDO 0x8b0e6a60
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e66a8 for PDO 0x8b0e6808
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e6450 for PDO 0x8b0e65b0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e61f8 for PDO 0x8b0e6358
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08ced8 for PDO 0x8b08c038
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08cc80 for PDO 0x8b08cde0
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08ca28 for PDO 0x8b08cb88
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c7d0 for PDO 0x8b08c930
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c578 for PDO 0x8b08c6d8
>         InstancePath is "Root\LEGACY_NVME\0000"
>         ServiceName is "nvme"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08c320 for PDO 0x8b08c480
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5008 for PDO 0x8b08c228
>         InstancePath is "Root\LEGACY_PARVDM\0000"
>         ServiceName is "ParVdm"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5db0 for PDO 0x8b0e5f10
>         InstancePath is "Root\LEGACY_PCIIDE\0000"
>         ServiceName is "PCIIde"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5b58 for PDO 0x8b0e5cb8
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5900 for PDO 0x8b0e5a60
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e56a8 for PDO 0x8b0e5808
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e5450 for PDO 0x8b0e55b0
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b0e51f8 for PDO 0x8b0e5358
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08bed8 for PDO 0x8b08b038
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b08bc80 for PDO 0x8b08bde0
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08ba28 for PDO 0x8b08bb88
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b7d0 for PDO 0x8b08b930
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b578 for PDO 0x8b08b6d8
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08b320 for PDO 0x8b08b480
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4008 for PDO 0x8b08b228
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4db0 for PDO 0x8b0e4f10
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4b58 for PDO 0x8b0e4cb8
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4900 for PDO 0x8b0e4a60
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e46a8 for PDO 0x8b0e4808
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e4450 for PDO 0x8b0e45b0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e41f8 for PDO 0x8b0e4358
>         InstancePath is "Root\MS_PSCHEDMP\0002"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08aed8 for PDO 0x8b08a038
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08ac80 for PDO 0x8b08ade0
>         InstancePath is "Root\PCI_HAL\0000"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08aa28 for PDO 0x8b08ab88
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a7d0 for PDO 0x8b08a930
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a578 for PDO 0x8b08a6d8
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b08a320 for PDO 0x8b08a480
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e3008 for PDO 0x8b08a228
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e3db0 for PDO 0x8b0e3f10
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8b0e16d0 for PDO 0x8b088390
>         InstancePath is "Root\*PNP0501\1_0_17_0_0_0"
>         ServiceName is "Serial"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)

#777 | infuscomus | ⇗ @diderius6 does uniata driver or amd sata 1.2.1.321 driver fix 7B BSOD?

#778

diderius6

⇗ @infuscomus, ⇗ @Mov AX, 0xDEAD
Yesssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ,
I got it to work full XP SP3 ACPI Multiprocessor with Ryzen 1700 cpu
8 cpu cores, 16 Threads on the Asrock fatal1ty ab350 gaming k4 board
Dietmar
⇗

#779 | infuscomus | Awesome! can you help me to do the same?

#780

diderius6

⇗ @infuscomus
Yes, of course.
Few days ago, I take a look at the source code from Debug acpi.sys for XP SP3.
My problem there was, that I found 2 places for the messages, that windbg always
gives with
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512
But today in the morning I get message from ⇗ @Mov AX, 0xDEAD,
that the value 0 is stored only in 1 variable.
Rest is easy, tell XP that this is always 0
Dietmar
PS: I do not change anything in Bios. I do not load any extra Acpi table.
I only use my hacked acpi.sys (may be this can be done with the nondebug version of acpi.sys also)
and after your question about BSOD 0x7B I came to the idea to use my nvme device for boot,
thats all.
⇗
⇗
diderius6 has attached files to this post

- ⇗ acpi.rar

## Page 53

#781 | infuscomus | ⇗ @diderius6 I receive different 7E BSOD ⇗ are you sure you are running unmodified BIOS? I'm on unmodified 5.40 bios (has CreateQwordField)

#782

diderius6

⇗ @infuscomus
This message I know.
It depends on Bios settings.
Now I flash Bios 3.30 new,
for to make 100% sure,
that in Bios is nothing changed
Dietmar

#783

diderius6

⇗ @infuscomus
I flashed Bios 3.30 new
Acpi Multiprocessor works
Dietmar
PS: Now I try 5.40 with bridge Bios 3.40.
5.70 I do not use, because NO way back via Bios updater!!!

#784 | diderius6 | ⇗ @infuscomus Bios 3.40 works also. Now I try 5.40 Dietmar
#785 | infuscomus | ⇗ @diderius6 5.40 has CreateQwordField, so you might need to make a patch for ACPI 5048

#786

diderius6

⇗ @infuscomus
The problem is,
that nvme boot not works on Bios 5.40.
I try from normal harddisk
Dietmar
EDIT: From harddisk I get BSOD 0xA5 0x11,
this means Acpi cant be loaded,
so I need to look for to use my other acpi.sys drivers
Dietmar

#787 | infuscomus | ⇗ @diderius6 Can you patch non-debug XP or 2003 acpi.sys driver or would ACPI 5048 be the best driver?

#788

diderius6

⇗ @infuscomus
For me,
best work my own modified acpi.sys from XP SP3.
But until now, I do not succeed to find the new hackplace in this file,
because no names as in debugversion and identical Hexvalues are not there
Dietmar

#789 | diderius6 | ⇗ @infuscomus I get now Acpi Multiprocessor to work via normal harddisk at asm106x port. Bios I flash back for this to vers. 3.30 Dietmar PS: And how nice, irqs run up to 55.

#790

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #788

> @infuscomus
> For me,
> best work my own modified acpi.sys from XP SP3.
> But until now, I do not succeed to find the new hackplace in this file,
> because no names as in debugversion and identical Hexvalues are not there
> Dietmar

⇗ @diderius6
It's in AcpiArbCrackPRT correct?
Try Relyze disassembler, it shows names
⇗ https://www.relyze.com/download.html

#791 | infuscomus | ⇗ @diderius6 I think in ACPI 5048, using relyze, AcpiArbCrackPRT is func_0xDFEE
#792 | diderius6 | ⇗ @infuscomus This version of Relyze does not work under XP Dietmar
#793 | infuscomus | ⇗ @diderius6 do you have any PCs with newer windows to install Relyze disassembler onto?

#794

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #790

> Try Relyze disassembler, it shows names

Names stored in PDB, without .pdb any disasm show only name of entry point

#795 | infuscomus | ⇗ @Mov AX, 0xDEAD well, for whatever reason, Relyze always seems to give me function names (except in acpi.sys 5048)

## Page 54

#796

diderius6

I have all the Symbols for acpi.sys
but Ida pro shows me no text, only for the debug version
Dietmar
EDIT: I put the acpi.pdb and the acpi.sys file in one folder
and force Ida Pro to use it, now I have text, as much as never before:))!
EDIT2: On the normal acpi.sys this hack seems not to work.
Dietmar

#797 | infuscomus | ⇗ @diderius6 There are lots of instances of _PciInterfacesInstantiated - do we need to jmp them all?

#798

diderius6

⇗ @infuscomus
Good question.
Very evil structurated is normal acpi.sys.
The debug version of acpi.sys is clear.
And also funny: Because I have had very small text, not the variable
has been written in code from Ida Pro but only naked Hex with some comments for Debug version.
Because I was used to read this, it was much easier for me than now with
the soso much text via acpi.pdb for the normal acpi.sys
Dietmar
diderius6 has attached files to this post

- ⇗ Neu Textdokument (10).rar

#799

infuscomus

⇗ @diderius6
I think in non-debug XP acpi.sys
0000BD20 C2 75 4A 8D 55 8B 52 8D 55 8C 52
C2 75 4A 8D 55 8B 52 8D 55 8C 52 =>
C2 EB 4A 8D 55 8B 52 8D 55 8C 52
or in 5048
0000D440 D2 0B C2 75 4A 8D 55 8B 52 8D
D2 0B C2 75 4A 8D 55 8B 52 8D =>
D2 0B C2 EB 4A 8D 55 8B 52 8D
what do you think?

#800

diderius6

⇗ @infuscomus
I am not sure about. I make 2 different tries, both fail.
Last try was with change on the normal (german) acpi.sys
02 00 75 06 53 E8 => 02 00 75 00 53 E8 and at the same time also
0B C1 74 1D 38 0D => 0B C1 74 00 38 0D
Until the structure of this acpi.sys is not clear, a lot of try and error
we will have
Dietmar

#801 | infuscomus | ⇗ @diderius6 can you upload AML of your working XP DSDT too for me to try?

#802

infuscomus

⇗ @diderius6
So I just got a 7B BSOD with this acpi.sys 5048 on BIOS 5.40 - without DSDT patch
can you confirm the same result on your AB350 gaming K4 on 5.40?
infuscomus has attached files to this post

- ⇗ jmpacpi.zip

#803

diderius6

⇗ @infuscomus
Here they are the Acpi tables, just fresh from running XP via acpidump, acpixtract
Dietmar
diderius6 has attached files to this post

- ⇗ acpitables.rar

#804

diderius6

⇗ @infuscomus
Waaaooohh,
on Bios 3.30 it boots from asm106x harddisk,
Dietmar
PS: Now I try Bios 5.40.
⇗
Bios 3.40 works.

#805 | infuscomus | ⇗ @diderius6 BIOS 3.40 or 5.40? any luck getting AMD SATA ports to work?
#806 | diderius6 | ⇗ @infuscomus ⇗ Nice, look at the Bios Version. So, this is until now the best acpi.sys for XP SP3 Dietmar
#807 | infuscomus | ⇗ @diderius6 excellent! for sata ASMedia asm106x - which driver version is best? p.s now we should also fix amd sata too

#808

diderius6

Very easy, the one I send to you!
diderius6 has attached files to this post

- ⇗ asmXPAHCI.rar

#809 | infuscomus | ⇗ @diderius6 upload driver here please edit: Thanks very much

#810

diderius6

⇗ @infuscomus
In Bios 5.40 the network card works without problems.
But no nvme boot possible, no nvme as codevice. Uni-Ata not works. Dont install this, always installs itself wrong new on reboot, brrr..
I tested all drivers from Uni-Ata. So we have to wait for next version.
In Bios 3.30 problem with network card, can be fixed in DSDT,
just look, what they changed for the network card in 5.40 Bios. Uni-Ata not tested.
In Bios 5.40 is a conflict between Hpet and the other clocks, can be solved, just look at the DSDT from the Sabertooth board.
In Bios 3.30 this conflict with Hpet cant be seen, but I think it is there also.
When Standard PC changes to ACPI Multiprocessor, all
devices have to be recogniced new, because we change from PIC to APIC model.
When problems appear, just go via safe mode F8
or use windbg for to see, what is going on
Dietmar

## Page 55

#811 | infuscomus | ⇗ @diderius6 can you run a debug session with uniata debug version to try and find the problem? ⇗ http://alter.org.ua/soft/win/uni_ata/BusMaster_v47a_Dbg.rar
#812 | diderius6 | ⇗ @infuscomus On Bios 5.40 this uniata version was a fail. But now I try on Bios 3.30 Dietmar

#813

diderius6

⇗ @infuscomus
First I get now message
*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
*** Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480
This I have never seen before. It does not crash the compi.
I think it has to with the Irqs, how we call them
Dietmar

#814 | infuscomus | ⇗ @diderius6 so the uniata driver can not allocate an IRQ? p.s I test with last official amd_sata 1.2.1.321 for XP/2k3 - 7B BSOD

#815

diderius6

⇗ @infuscomus
I tested everything,
in Bios 5.40 the Uni-Ata driver
does not work
Dietmar
diderius6 has attached files to this post

- ⇗ Neu Textdokument (11).rar

#816 | infuscomus | ⇗ @diderius6 can you try force enabling registry hack? ⇗ http://alter.org.ua/soft/win/uni_ata/registry.php

#817

diderius6

⇗ @infuscomus
As you can see,
the driver uniata is loaded but does not start
Dietmar
PS: This is Bios 3.30
diderius6 has attached files to this post

- ⇗ uniataBios330.rar

#818 | infuscomus | ⇗ @diderius6 I think force GeomType = 0x00000002 in registry in debug log GeomType = 0xffffffff is hidden
#819 | diderius6 | ⇗ @infuscomus Uni-ata driver crashes whole XP installation, brrr.. ok, I am going to install XP with acpi.sys 5048 new Dietmar

#820

diderius6

I install XP fresh on the Asrock B350 board.
All is ok, survives reboot.
Only when loaded hacked acpi.sys XP cries,
file wrong..
hit "esc" and continue
Dietmar
⇗

#821

infuscomus

⇗ @diderius6
I ran into the same error of XP saying acpi.sys is wrong in a VM
I fixed checksum, OK now
remember to replace acpi.sys in driver.cab file as well
infuscomus has attached files to this post

- ⇗ jmpacpi checksum fixed.zip

#822

diderius6

⇗ @infuscomus
Yes, this I just notice:
Crazy XP changed acpi.sys back to original version on last boot,
I hope that this is last time that I see BSOD 0x7E 0xc0000005 ^^
Dietmar
EDIT: Voila, there is XP SP3 with "ACPI Multiprocessor" fresh after direct installation on the Asrock B350 board.
⇗

#823 | diderius6 | Problem with network card and HPET timer is still there. Now I make a try to upload the DSDT from 5.40 Bios with asl.exe direct to registry and we will see Dietmar
#824 | infuscomus | ⇗ @diderius6 you got the 7E BSOD because there is a backup copy of acpi.sys stored in driver.cab that setup ended up copying over

#825

diderius6

⇗ @infuscomus
Yes.
The DSDT (now vers. 3 from Bios 5.40) table upload with asl.exe works:
On next boot I got BSOD 0xA5 0x11,
even I use acpi.sys 5048 modmod version
Dietmar
PS: So, I installed also again "Standard PC",
noticed, that network card there works fantastic, looks in dsdt table from 5.40 Bios.
Then I delete the DSDT table via boot to "Standard PC"
asl /loadtable -d dsdt.aml
and on next boot all is as before,
meaning no BSOD and problem with network card^^.

## Page 56

#826 | infuscomus | ⇗ @diderius6 what error code does network card show?

#827

diderius6

⇗ @infuscomus
No error code at all.
In device manager all is ok, but on task bar yellow exclamationmark.
I got very slow internetconnection, but get.
When I change this card against T-Link Pcie card,
this one works.
So, it depends on DSDT of the Asrockboard or maybe Bios settings.
Until now, I do not find the device name of the Realtek RTL8111GR
in the Asrock B350 board
any one an idea, how this device can be named in DSDT?
I compare DSDT from Bios 3.30 with DSDT from Bios 5.40 but the device for lan I do not find.
I look for nic, lan, eth,..
nothing
Dietmar
EDIT: In Bios I found one place with name Broadcom in it. I extract both from Bios 5.40 and from Bios 3.30. A compare with Winhex shows 100% identic.
Other users with the Asrock B350 board write about the same problem. With Bios 5.40 this is gone, I think via DSDT.
EDIT2: I found the reason for slow Internet: The networkcard has the same Irq 32 as the USB 3.1 hostcontroller
in Bios 3.30.
EDIT3: The TP-Link network card also shares Irq 32 and works good.
So, Irq sharing is not the reason for not work correkt of the RT card.

#828 | infuscomus | ⇗ @diderius6 now that we have working acpi.sys for XP on AMD Ryzen, is there a possibility of also achieving a working storahci.sys?
#829 | diderius6 | ⇗ @infuscomus There exists an AMD driver for the AMD ahci drive. This needs to be hacked for to work under XP also Dietmar
#830 | infuscomus | ⇗ @diderius6 which driver are you referring to?
#831 | diderius6 | ⇗ @infuscomus On the Fernando site, as far as I remember, there was only one unsolved dependency to XP Dietmar
#832 | infuscomus | ⇗ @diderius6 there are several versions of AMD driver, which version?
#833 | infuscomus | ⇗ @diderius6 storahci.sys has no missing dependencies, but it gives a different BSOD
#834 | diderius6 | I think, it is not for harddisk Dietmar

#835

infuscomus

⇗ @diderius6
I attach debug versions of storahci and storport - can you load driver and debug?
infuscomus has attached files to this post

- ⇗ storahci debug.zip

#836 | diderius6 | ⇗ @infuscomus Both files have unsolved dependencies to ntoskrnl.exe Dietmar
#837 | infuscomus | ⇗ @diderius6 only 1 missing storahci.sys - depends on storport.sys only storport.sys - missing KeTestSpinLock found in Server 2003 checked ntoskrnl.exe
#838 | infuscomus | ⇗ @diderius6 normal non-debug storahci.sys gives 7E BSOD
#839 | infuscomus | ⇗ @diderius6 are you able to debug why nvme driver fails on BIOS 5.40? maybe it's related to why ahci fails?

#840

diderius6

⇗ @infuscomus
I read, that edge Interrups are better than level Interrupts. AMD wrote the same about Ryzen.
But then I found this:
"
Consider the scenario where an interrupt IS shared by two devices with the following scenario:
Device 1 requests service.
The processor starts serving device 1.
Device 2 requests service.
Device 1 no longer requests service.
The processor finishes serving device 1.
The processor starts serving device 2.
Here device 1 will assert an interrupt request in step 1. It de-asserts that request in step 5, but the request remains asserted due to step 3.
Now in step 6, if level triggered requests are used, the processor will service the other device since the request level is still asserted. With edge triggered requests, nothing will happen because there will be no new "edge" to be detected. The request remained asserted throughout the scenario. This is a failure of the interrupt system.
This is why only level triggered interrupts, in general. may be shared.
"
Dietmar

## Page 57

#841 | infuscomus | ⇗ @diderius6 how do we fix this?

#842

diderius6

⇗ @infuscomus
The handle of Irqs is a problem of the B350 chipset. I think other AM4 boards too, because no normal XP there.
Only because of that we needed the new hack in acpi.sys.
Now I make a check by check, at which places windbg tells, that there is a problem with Irq.
Hm, how to make windbg search especially for this kind of errors, dont know,
I try.
At the moment we have no DEBUG acpi.sys,
which overcomes the BSODs 0xA5 together with 0x11, 0x02..
like acpi.sys 5048 modmod, last from you
Dietmar

#843

diderius6

⇗ @infuscomus
First message from windbg about Irqs
*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
*** Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480
Dietmar
EDIT: "The documentation clearly says: This routine can only be called at IRQL
= PASSIVE_LEVEL.
Interrupts are disabled. This is the *equivalent* of running at IRQL
HIGH_LEVEL, without that nasty TPR programming."
sysload.c is in halmacpi.dll but the message may be in ntkrnlmp.exe or in acpi.sys (all debug versions) also.
⇗ https://sysinternals.d4rk4.ru/Informatio...SourceTree.html
'KeGetCurrentIrql() == PASSIVE_LEVEL',0 is in acpi.sys (debug version)
But I think, this message comes not from acpi.sys because in acpi.sys is written

    loc_34D12: ; CODE XREF: .text:00034CF7 j
    .text:00034D12                 inc     dword_56D34
    .text:00034D18                 call    ds:KeGetCurrentIrql
    .text:00034D1E                 test    al, al
    .text:00034D20                 jz      short loc_34D39
    .text:00034D22                 push    0
    .text:00034D24                 push    419h
    .text:00034D29                 push    offset asc_4B070 ; "d:\\xpsp\\base\\busdrv\\acpi\\driver\\amlinew"...
    .text:00034D2E                 push    offset aKegetcurren_19 ; "KeGetCurrentIrql() == PASSIVE_LEVEL"
    .text:00034D33                 call    ds:__imp_RtlAssert

EDIT2: This message comes from ntkrnlmp.exe, found it with Ida Pro

>     PAGE:005884F8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
>     PAGE:005884F8
>     PAGE:005884F8 ; Attributes: bp-based frame
>     PAGE:005884F8
>     PAGE:005884F8 ; PVOID __stdcall MmGetSystemRoutineAddress@4(PUNICODE_STRING SystemRoutineName)
>     PAGE:005884F8                 public _MmGetSystemRoutineAddress@4
>     PAGE:005884F8 _MmGetSystemRoutineAddress@4 proc near
>     PAGE:005884F8
>     PAGE:005884F8 var_20          = dword ptr -20h
>     PAGE:005884F8 var_18          = dword ptr -18h
>     PAGE:005884F8 var_10          = dword ptr -10h
>     PAGE:005884F8 var_8           = dword ptr -8
>     PAGE:005884F8 var_4           = dword ptr -4
>     PAGE:005884F8 SystemRoutineName= dword ptr  4
>     PAGE:005884F8 arg_4           = dword ptr  8
>     PAGE:005884F8
>     PAGE:005884F8                 mov     edi, edi
>     PAGE:005884FA                 push    ebp
>     PAGE:005884FB                 mov     ebp, esp
>     PAGE:005884FD                 sub     esp, 20h
>     PAGE:00588500                 push    ebx
>     PAGE:00588501                 push    esi
>     PAGE:00588502                 push    edi
>     PAGE:00588503                 call    ds:__imp__KeGetCurrentIrql@0 ; __declspec(dllimport) KeGetCurrentIrql()
>     PAGE:00588509                 xor     esi, esi
>     PAGE:0058850B                 test    al, al
>     PAGE:0058850D                 jz      short loc_588524
>     PAGE:0058850F                 push    esi
>     PAGE:00588510                 push    1D38h
>     PAGE:00588515                 push    offset asc_5883F4 ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
>     PAGE:0058851A                 push    offset aKegetcurren_50 ; "KeGetCurrentIrql() == PASSIVE_LEVEL"
>     PAGE:0058851F                 call    _RtlAssert@16   ; RtlAssert(x,x,x,x)
>     PAGE:00588524

>     PAGE:00588524 loc_588524: ; CODE XREF: MmGetSystemRoutineAddress(x)+15 j
>     PAGE:00588524                 push    offset off_588438
>     PAGE:00588529                 lea     eax, [ebp+var_18]
>     PAGE:0058852C                 push    eax
>     PAGE:0058852D                 mov     [ebp+var_4], esi
>     PAGE:00588530                 mov     [ebp+var_8], esi
>     PAGE:00588533                 call    _RtlInitUnicodeString@8 ; RtlInitUnicodeString(x,x)
>     PAGE:00588538                 push    offset off_588454
>     PAGE:0058853D                 lea     eax, [ebp+var_20]
>     PAGE:00588540                 push    eax
>     PAGE:00588541                 call    _RtlInitUnicodeString@8 ; RtlInitUnicodeString(x,x)
>     PAGE:00588546                 jmp     short loc_588554
>     PAGE:00588548 ; ---------------------------------------------------------------------------
>     PAGE:00588548

>     PAGE:00588548 loc_588548: ; CODE XREF: MmGetSystemRoutineAddress(x)+6C j
>     PAGE:00588548                 push    offset _MmShortTime
>     PAGE:0058854D                 push    esi
>     PAGE:0058854E                 push    esi
>     PAGE:0058854F                 call    _KeDelayExecutionThread@12 ; KeDelayExecutionThread(x,x,x)
>     PAGE:00588554

>     PAGE:00588554 loc_588554: ; CODE XREF: MmGetSystemRoutineAddress(x)+4E j
>     PAGE:00588554                 push    1
>     PAGE:00588556                 push    [ebp+arg_4]
>     PAGE:00588559                 lea     eax, [ebp+var_10]
>     PAGE:0058855C                 push    eax
>     PAGE:0058855D                 call    _RtlUnicodeStringToAnsiString@12 ; RtlUnicodeStringToAnsiString(x,x,x)
>     PAGE:00588562                 test    eax, eax
>     PAGE:00588564                 jl      short loc_588548
>     PAGE:00588566                 mov     eax, large fs:124h
>     PAGE:0058856C                 mov     edi, eax
>     PAGE:0058856E                 mov     eax, large fs:124h
>     PAGE:00588574                 cmp     edi, eax
>     PAGE:00588576                 jz      short loc_58858D
>     PAGE:00588578                 push    esi
>     PAGE:00588579                 push    1D52h
>     PAGE:0058857E                 push    offset asc_588464 ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
>     PAGE:00588583                 push    offset aCurrentthrea_4 ; "CurrentThread == KeGetCurrentThread ()"
>     PAGE:00588588                 call    _RtlAssert@16   ; RtlAssert(x,x,x,x)
>     PAGE:0058858D

>     PAGE:0058858D loc_58858D: ; CODE XREF: MmGetSystemRoutineAddress(x)+7E j
>     PAGE:0058858D                 dec     dword ptr [edi+0D4h]
>     PAGE:00588593                 push    1
>     PAGE:00588595                 mov     ebx, offset _PsLoadedModuleResource
>     PAGE:0058859A                 push    ebx
>     PAGE:0058859B                 call    _ExAcquireResourceSharedLite@8 ; ExAcquireResourceSharedLite(x,x)
>     PAGE:005885A0                 mov     esi, _PsLoadedModuleList
>     PAGE:005885A6                 jmp     short loc_5885EC
>     PAGE:005885A8 ; ---------------------------------------------------------------------------
>     PAGE:005885A8

>     PAGE:005885A8 loc_5885A8: ; CODE XREF: MmGetSystemRoutineAddress(x)+FA j
>     PAGE:005885A8                 push    1
>     PAGE:005885AA                 lea     eax, [esi+2Ch]
>     PAGE:005885AD                 push    eax
>     PAGE:005885AE                 lea     eax, [ebp+var_18]
>     PAGE:005885B1                 push    eax
>     PAGE:005885B2                 call    _RtlEqualUnicodeString@12 ; RtlEqualUnicodeString(x,x,x)
>     PAGE:005885B7                 test    al, al
>     PAGE:005885B9                 jnz     short loc_5885CE
>     PAGE:005885BB                 push    1
>     PAGE:005885BD                 lea     eax, [esi+2Ch]
>     PAGE:005885C0                 push    eax
>     PAGE:005885C1                 lea     eax, [ebp+var_20]
>     PAGE:005885C4                 push    eax
>     PAGE:005885C5                 call    _RtlEqualUnicodeString@12 ; RtlEqualUnicodeString(x,x,x)
>     PAGE:005885CA                 test    al, al
>     PAGE:005885CC                 jz      short loc_5885EA
>     PAGE:005885CE

>     PAGE:005885CE loc_5885CE: ; CODE XREF: MmGetSystemRoutineAddress(x)+C1 j
>     PAGE:005885CE                 inc     [ebp+var_4]
>     PAGE:005885D1                 lea     eax, [ebp+var_10]
>     PAGE:005885D4                 push    eax
>     PAGE:005885D5                 push    dword ptr [esi+18h]
>     PAGE:005885D8                 call    _MiFindExportedRoutineByName@8 ; MiFindExportedRoutineByName(x,x)
>     PAGE:005885DD                 test    eax, eax
>     PAGE:005885DF                 mov     [ebp+var_8], eax
>     PAGE:005885E2                 jnz     short loc_5885F4
>     PAGE:005885E4                 cmp     [ebp+var_4], 2
>     PAGE:005885E8                 jz      short loc_5885F4
>     PAGE:005885EA

>     PAGE:005885EA loc_5885EA: ; CODE XREF: MmGetSystemRoutineAddress(x)+D4 j
>     PAGE:005885EA                 mov     esi, [esi]
>     PAGE:005885EC

>     PAGE:005885EC loc_5885EC: ; CODE XREF: MmGetSystemRoutineAddress(x)+AE j
>     PAGE:005885EC                 cmp     esi, offset _PsLoadedModuleList
>     PAGE:005885F2                 jnz     short loc_5885A8
>     PAGE:005885F4

>     PAGE:005885F4 loc_5885F4: ; CODE XREF: MmGetSystemRoutineAddress(x)+EA j

>     PAGE:005885F4 ; MmGetSystemRoutineAddress(x)+F0 j
>     PAGE:005885F4                 mov     ecx, ebx
>     PAGE:005885F6                 call    @ExReleaseResourceLite@4 ; ExReleaseResourceLite(x)
>     PAGE:005885FB                 mov     eax, large fs:124h
>     PAGE:00588601                 cmp     edi, eax
>     PAGE:00588603                 jz      short loc_58861B
>     PAGE:00588605                 push    0
>     PAGE:00588607                 push    1D84h
>     PAGE:0058860C                 push    offset asc_5884AC ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
>     PAGE:00588611                 push    offset aCurrentthrea_5 ; "CurrentThread == KeGetCurrentThread ()"
>     PAGE:00588616                 call    _RtlAssert@16   ; RtlAssert(x,x,x,x)
>     PAGE:0058861B

>     PAGE:0058861B loc_58861B: ; CODE XREF: MmGetSystemRoutineAddress(x)+10B j
>     PAGE:0058861B                 inc     dword ptr [edi+0D4h]
>     PAGE:00588621                 jnz     short loc_588636
>     PAGE:00588623                 lea     eax, [edi+34h]
>     PAGE:00588626                 cmp     [eax], eax
>     PAGE:00588628                 jz      short loc_588636
>     PAGE:0058862A                 mov     cl, 1
>     PAGE:0058862C                 mov     byte ptr [edi+49h], 1
>     PAGE:00588630
>                      call    ds:__imp_@HalRequestSoftwareInterrupt@4 ;
>     __declspec(dllimport) HalRequestSoftwareInterrupt(x)
>     PAGE:00588636

>     PAGE:00588636 loc_588636: ; CODE XREF: MmGetSystemRoutineAddress(x)+129 j

>     PAGE:00588636 ; MmGetSystemRoutineAddress(x)+130 j
>     PAGE:00588636                 lea     eax, [ebp+var_10]
>     PAGE:00588639                 push    eax
>     PAGE:0058863A                 call    _RtlFreeAnsiString@4 ; RtlFreeAnsiString(x)
>     PAGE:0058863F                 mov     eax, [ebp+var_8]
>     PAGE:00588642                 pop     edi
>     PAGE:00588643                 pop     esi
>     PAGE:00588644                 pop     ebx
>     PAGE:00588645                 leave
>     PAGE:00588646                 retn    4
>     PAGE:00588646 _MmGetSystemRoutineAddress@4 endp ; sp =  4
>     PAGE:00588646
>     PAGE:00588646 ; ---------------------------------------------------------------------------
>     PAGE:00588649                 db 0CCh ; ¦
>     PAGE:0058864A asc_58864A      db 'EX: Pageable code called at IRQL %d',0Ah,0

>     PAGE:0058864A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+21 o
>     PAGE:0058866F                 db    0
>     PAGE:00588670                 db    0
>     PAGE:00588671                 db    0
>     PAGE:00588672 asc_588672      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588672 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+35 o
>     PAGE:00588691                 db    0

>     PAGE:00588692 asc_588692 db 'FALSE',0 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+3A o
>     PAGE:00588698                 db    0
>     PAGE:00588699                 db    0
>     PAGE:0058869A asc_58869A      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:0058869A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+B0 o
>     PAGE:005886B9                 db    0
>     PAGE:005886BA aNameprefixNull db 'NamePrefix == NULL',0

>     PAGE:005886BA ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+B5 o
>     PAGE:005886CD                 db    0
>     PAGE:005886CE asc_5886CE      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:005886CE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+CA o
>     PAGE:005886ED                 db    0
>     PAGE:005886EE aLoadedbasename db 'LoadedBaseName == NULL',0

>     PAGE:005886EE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+CF o
>     PAGE:00588705                 db    0
>     PAGE:00588706 asc_588706      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588706 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+10A o
>     PAGE:00588725                 db    0
>     PAGE:00588726 aMmisaddressv_5 db 'MmIsAddressValid (MmSessionSpace) == TRUE',0

>     PAGE:00588726 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+10F o
>     PAGE:00588750                 db    0
>     PAGE:00588751                 db    0

>     PAGE:00588752 aInSessionSpace db 'in session space',0 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+22B o
>     PAGE:00588763                 db    0
>     PAGE:00588764                 db    0
>     PAGE:00588765                 db    0

>     PAGE:00588766 asc_588766: ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+232 o
>     PAGE:00588766                 unicode 0, < >,0
>     PAGE:0058876A aMmSysldrLoadin db 'MM:SYSLDR Loading %wZ (%wZ) %s',0Ah,0

>     PAGE:0058876A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+240 o
>     PAGE:0058878A asc_58878A      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:0058878A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+270 o
>     PAGE:005887A9                 db    0
>     PAGE:005887AA asc_5887AA      db 'CurrentThread == KeGetCurrentThread ()',0

>     PAGE:005887AA ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+275 o
>     PAGE:005887D1                 db    0
>     PAGE:005887D2 asc_5887D2      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:005887D2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+2DC o
>     PAGE:005887F1                 db    0
>     PAGE:005887F2 aAlreadyopenTru db 'AlreadyOpen == TRUE || NextEntry == &PsLoadedModuleList',0

>     PAGE:005887F2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+2E1 o
>     PAGE:0058882A aMmloadsystemim db 'MmLoadSystemImage: Pulled %wZ from kd',0Ah,0

>     PAGE:0058882A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+31E o
>     PAGE:00588851                 db    0
>     PAGE:00588852 aMiloadimagesec db 'MiLoadImageSection: cannot open %wZ',0Ah,0

>     PAGE:00588852 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+380 o
>     PAGE:00588877                 db    0
>     PAGE:00588878                 db    0
>     PAGE:00588879                 db    0
>     PAGE:0058887A asc_58887A      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:0058887A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+3B0 o
>     PAGE:00588899                 db    0
>     PAGE:0058889A asc_58889A      db 'CurrentThread == KeGetCurrentThread ()',0

>     PAGE:0058889A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+3B5 o
>     PAGE:005888C1                 db    0
>     PAGE:005888C2 asc_5888C2      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:005888C2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+641 o
>     PAGE:005888E1                 db    0
>     PAGE:005888E2 aAlreadyopenT_0 db 'AlreadyOpen == TRUE',0

>     PAGE:005888E2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+646 o
>     PAGE:005888F6 asc_5888F6      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:005888F6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+65B o
>     PAGE:00588915                 db    0
>     PAGE:00588916 aLoadflagsMm_lo db 'LoadFlags & MM_LOAD_IMAGE_IN_SESSION',0

>     PAGE:00588916 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+660 o
>     PAGE:0058893B                 db    0
>     PAGE:0058893C                 db    0
>     PAGE:0058893D                 db    0
>     PAGE:0058893E asc_58893E      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:0058893E ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+674 o
>     PAGE:0058895D                 db    0
>     PAGE:0058895E aDatatableentry db 'DataTableEntry != NULL',0

>     PAGE:0058895E ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+679 o
>     PAGE:00588975                 db    0
>     PAGE:00588976 asc_588976      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588976 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+690 o
>     PAGE:00588995                 db    0
>     PAGE:00588996 aDatatableent_0 db 'DataTableEntry->LoadCount > 1',0

>     PAGE:00588996 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+695 o
>     PAGE:005889B4                 db    0
>     PAGE:005889B5                 db    0
>     PAGE:005889B6 aPppagepathassi db 'PpPagePathAssign FAILED for win32k.sys: %x',0Ah,0

>     PAGE:005889B6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+6DA o
>     PAGE:005889E2 asc_5889E2      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:005889E2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+717 o
>     PAGE:00588A01                 db    0
>     PAGE:00588A02 aDatatableent_1 db 'DataTableEntry != NULL',0

>     PAGE:00588A02 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+71C o
>     PAGE:00588A19                 db    0
>     PAGE:00588A1A aMmSessionDImag db 'MM: Session %d image %wZ is linked at a nonsharable address '

>     PAGE:00588A1A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+76D o
>     PAGE:00588A1A                 db '(%p)',0Ah,0
>     PAGE:00588A5C                 db    0
>     PAGE:00588A5D                 db    0
>     PAGE:00588A5E                 db    0
>     PAGE:00588A5F                 db    0
>     PAGE:00588A60                 db    0
>     PAGE:00588A61                 db    0
>     PAGE:00588A62 aMmImageWzHasBe db 'MM: Image %wZ has been moved to address (%p) by the system s'

>     PAGE:00588A62 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+77C o
>     PAGE:00588A62                 db 'o it can run,',0Ah,0
>     PAGE:00588AAD                 db    0
>     PAGE:00588AAE                 db    0
>     PAGE:00588AAF                 db    0
>     PAGE:00588AB0                 db    0
>     PAGE:00588AB1                 db    0
>     PAGE:00588AB2 aButThisNeedsTo db ' but this needs to be fixed in the image for sharing to occu'

>     PAGE:00588AB2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+786 o
>     PAGE:00588AB2                 db 'r.',0Ah,0

>     PAGE:00588AF2 aSysldr db 'SYSLDR',0 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+7A1 o
>     PAGE:00588AF9                 db    0
>     PAGE:00588AFA                 db  4Dh ; M
>     PAGE:00588AFB                 db  4Dh ; M
>     PAGE:00588AFC                 db  3Ah ; :
>     PAGE:00588AFD                 db  73h ; s
>     PAGE:00588AFE                 db  79h ; y
>     PAGE:00588AFF                 db  73h ; s
>     PAGE:00588B00                 db  6Ch ; l
>     PAGE:00588B01                 db  6Fh ; o
>     PAGE:00588B02                 db  61h ; a
>     PAGE:00588B03                 db  64h ; d
>     PAGE:00588B04                 db  20h
>     PAGE:00588B05                 db  2Dh ; -
>     PAGE:00588B06                 db  20h
>     PAGE:00588B07                 db  4Ch ; L
>     PAGE:00588B08                 db  64h ; d
>     PAGE:00588B09                 db  72h ; r
>     PAGE:00588B0A                 db  52h ; R
>     PAGE:00588B0B                 db  65h ; e
>     PAGE:00588B0C                 db  6Ch ; l
>     PAGE:00588B0D                 db  6Fh ; o
>     PAGE:00588B0E                 db  63h ; c
>     PAGE:00588B0F                 db  61h ; a
>     PAGE:00588B10                 db  74h ; t
>     PAGE:00588B11                 db  65h ; e
>     PAGE:00588B12                 db  49h ; I
>     PAGE:00588B13                 db  6Dh ; m
>     PAGE:00588B14                 db  61h ; a
>     PAGE:00588B15                 db  67h ; g
>     PAGE:00588B16                 db  65h ; e
>     PAGE:00588B17                 db  20h
>     PAGE:00588B18                 db  66h ; f
>     PAGE:00588B19                 db  61h ; a
>     PAGE:00588B1A                 db  69h ; i
>     PAGE:00588B1B                 db  6Ch ; l
>     PAGE:00588B1C                 db  65h ; e
>     PAGE:00588B1D                 db  64h ; d
>     PAGE:00588B1E                 db  20h
>     PAGE:00588B1F                 db  73h ; s
>     PAGE:00588B20                 db  74h ; t
>     PAGE:00588B21                 db  61h ; a
>     PAGE:00588B22                 db  74h ; t
>     PAGE:00588B23                 db  75h ; u
>     PAGE:00588B24                 db  73h ; s
>     PAGE:00588B25                 db  20h
>     PAGE:00588B26                 db  25h ; %
>     PAGE:00588B27                 db  6Ch ; l
>     PAGE:00588B28                 db  78h ; x
>     PAGE:00588B29                 db  0Ah
>     PAGE:00588B2A                 db    0
>     PAGE:00588B2B                 db    0
>     PAGE:00588B2C                 db    0
>     PAGE:00588B2D                 db    0
>     PAGE:00588B2E                 db  4Dh ; M
>     PAGE:00588B2F                 db  4Dh ; M
>     PAGE:00588B30                 db  3Ah ; :
>     PAGE:00588B31                 db  73h ; s
>     PAGE:00588B32                 db  79h ; y
>     PAGE:00588B33                 db  73h ; s
>     PAGE:00588B34                 db  6Ch ; l
>     PAGE:00588B35                 db  6Fh ; o
>     PAGE:00588B36                 db  61h ; a
>     PAGE:00588B37                 db  64h ; d
>     PAGE:00588B38                 db  20h
>     PAGE:00588B39                 db  2Dh ; -
>     PAGE:00588B3A                 db  20h
>     PAGE:00588B3B                 db  52h ; R
>     PAGE:00588B3C                 db  65h ; e
>     PAGE:00588B3D                 db  73h ; s
>     PAGE:00588B3E                 db  6Fh ; o
>     PAGE:00588B3F                 db  6Ch ; l
>     PAGE:00588B40                 db  76h ; v
>     PAGE:00588B41                 db  65h ; e
>     PAGE:00588B42                 db  49h ; I
>     PAGE:00588B43                 db  6Dh ; m
>     PAGE:00588B44                 db  61h ; a
>     PAGE:00588B45                 db  67h ; g
>     PAGE:00588B46                 db  65h ; e
>     PAGE:00588B47                 db  52h ; R
>     PAGE:00588B48                 db  65h ; e
>     PAGE:00588B49                 db  66h ; f
>     PAGE:00588B4A                 db  65h ; e
>     PAGE:00588B4B                 db  72h ; r
>     PAGE:00588B4C                 db  65h ; e
>     PAGE:00588B4D                 db  6Eh ; n
>     PAGE:00588B4E                 db  63h ; c
>     PAGE:00588B4F                 db  65h ; e
>     PAGE:00588B50                 db  73h ; s
>     PAGE:00588B51                 db  20h
>     PAGE:00588B52                 db  66h ; f
>     PAGE:00588B53                 db  61h ; a
>     PAGE:00588B54                 db  69h ; i
>     PAGE:00588B55                 db  6Ch ; l
>     PAGE:00588B56                 db  65h ; e
>     PAGE:00588B57                 db  64h ; d
>     PAGE:00588B58                 db  20h
>     PAGE:00588B59                 db  73h ; s
>     PAGE:00588B5A                 db  74h ; t
>     PAGE:00588B5B                 db  61h ; a
>     PAGE:00588B5C                 db  74h ; t
>     PAGE:00588B5D                 db  75h ; u
>     PAGE:00588B5E                 db  73h ; s
>     PAGE:00588B5F                 db  20h
>     PAGE:00588B60                 db  25h ; %
>     PAGE:00588B61                 db  78h ; x
>     PAGE:00588B62                 db  0Ah
>     PAGE:00588B63                 db    0
>     PAGE:00588B64                 db    0
>     PAGE:00588B65                 db    0
>     PAGE:00588B66 asc_588B66      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588B66 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BBE o
>     PAGE:00588B85                 db    0
>     PAGE:00588B86 aMissingprocedu db 'MissingProcedureName == NULL',0

>     PAGE:00588B86 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BC3 o
>     PAGE:00588BA3                 db    0
>     PAGE:00588BA4                 db    0
>     PAGE:00588BA5                 db    0
>     PAGE:00588BA6 aMissingproce_0 db 'MissingProcedureName %s',0Ah,0

>     PAGE:00588BA6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BEF o
>     PAGE:00588BBF                 db    0
>     PAGE:00588BC0                 db    0
>     PAGE:00588BC1                 db    0
>     PAGE:00588BC2 aMissingproce_1 db 'MissingProcedureName 0x%p',0Ah,0

>     PAGE:00588BC2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x):loc_5898D4 o
>     PAGE:00588BDD                 db    0
>     PAGE:00588BDE aMissingdrivern db 'MissingDriverName %ws',0Ah,0

>     PAGE:00588BDE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+C0D o
>     PAGE:00588BF5                 db    0

>     PAGE:00588BF6 off_588BF6 dd offset loc_53005B+1 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+CCB o
>     PAGE:00588BFA                 db  79h ; y
>     PAGE:00588BFB                 db    0
>     PAGE:00588BFC                 db  73h ; s
>     PAGE:00588BFD                 db    0
>     PAGE:00588BFE                 db  74h ; t
>     PAGE:00588BFF                 db    0
>     PAGE:00588C00                 db  65h ; e
>     PAGE:00588C01                 db    0
>     PAGE:00588C02                 db  6Dh ; m
>     PAGE:00588C03                 db    0
>     PAGE:00588C04                 db  52h ; R
>     PAGE:00588C05                 db    0
>     PAGE:00588C06                 db  6Fh ; o
>     PAGE:00588C07                 db    0
>     PAGE:00588C08                 db  6Fh ; o
>     PAGE:00588C09                 db    0
>     PAGE:00588C0A                 db  74h ; t
>     PAGE:00588C0B                 db    0
>     PAGE:00588C0C                 db    0
>     PAGE:00588C0D                 db    0

>     PAGE:00588C0E unk_588C0E db 25h ; % ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+D09 o
>     PAGE:00588C0F                 db  77h ; w
>     PAGE:00588C10                 db  73h ; s
>     PAGE:00588C11                 db  25h ; %
>     PAGE:00588C12                 db  77h ; w
>     PAGE:00588C13                 db  5Ah ; Z
>     PAGE:00588C14                 db    0
>     PAGE:00588C15                 db    0
>     PAGE:00588C16 off_588C16      dd offset aHandleinfoSing+25h

>     PAGE:00588C16 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+D1F o
>     PAGE:00588C1A asc_588C1A      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588C1A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+DF3 o
>     PAGE:00588C39                 db    0
>     PAGE:00588C3A aDatatableent_2 db 'DataTableEntry->LoadCount > 1',0

>     PAGE:00588C3A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+DF8 o
>     PAGE:00588C58                 db    0
>     PAGE:00588C59                 db    0
>     PAGE:00588C5A asc_588C5A      db 'd:\xpsp\base\ntos\mm\sysload.c',0

>     PAGE:00588C5A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+E42 o
>     PAGE:00588C79                 db    0
>     PAGE:00588C7A asc_588C7A      db 'CurrentThread == KeGetCurrentThread ()',0

>     PAGE:00588C7A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+E47 o
>     PAGE:00588CA1                 db    0

>     PAGE:00588CA2 off_588CA2 dd offset loc_610060+3 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x):loc_589BAE o
>     PAGE:00588CA6                 db  6Eh ; n
>     PAGE:00588CA7                 db    0
>     PAGE:00588CA8                 db  6Eh ; n
>     PAGE:00588CA9                 db    0
>     PAGE:00588CAA                 db  6Fh ; o
>     PAGE:00588CAB                 db    0
>     PAGE:00588CAC                 db  74h ; t
>     PAGE:00588CAD                 db    0
>     PAGE:00588CAE                 db  20h
>     PAGE:00588CAF                 db    0
>     PAGE:00588CB0                 db  66h ; f
>     PAGE:00588CB1                 db    0
>     PAGE:00588CB2                 db  69h ; i
>     PAGE:00588CB3                 db    0
>     PAGE:00588CB4                 db  6Eh ; n
>     PAGE:00588CB5                 db    0
>     PAGE:00588CB6                 db  64h ; d
>     PAGE:00588CB7                 db    0
>     PAGE:00588CB8                 db    0
>     PAGE:00588CB9                 db    0

>     PAGE:00588CBA off_588CBA dd offset loc_610066 ; DATA XREF:
>     MmLoadSystemImage(x,x,x,x,x,x)+F8E o
>     PAGE:00588CBE                 db  69h ; i
>     PAGE:00588CBF                 db    0
>     PAGE:00588CC0                 db  6Ch ; l
>     PAGE:00588CC1                 db    0
>     PAGE:00588CC2                 db  65h ; e
>     PAGE:00588CC3                 db    0
>     PAGE:00588CC4                 db  64h ; d
>     PAGE:00588CC5                 db    0
>     PAGE:00588CC6                 db  20h
>     PAGE:00588CC7                 db    0
>     PAGE:00588CC8                 db  74h ; t
>     PAGE:00588CC9                 db    0
>     PAGE:00588CCA                 db  6Fh ; o
>     PAGE:00588CCB                 db    0
>     PAGE:00588CCC                 db  20h
>     PAGE:00588CCD                 db    0
>     PAGE:00588CCE                 db  6Ch ; l
>     PAGE:00588CCF                 db    0
>     PAGE:00588CD0                 db  6Fh ; o
>     PAGE:00588CD1                 db    0
>     PAGE:00588CD2                 db  61h ; a
>     PAGE:00588CD3                 db    0
>     PAGE:00588CD4                 db  64h ; d
>     PAGE:00588CD5                 db    0
>     PAGE:00588CD6                 db    0
>     PAGE:00588CD7                 db    0
>     PAGE:00588CD8                 db 0CCh ; ¦
>     PAGE:00588CD9                 db 0CCh ; ¦
>     PAGE:00588CDA                 db 0CCh ; ¦
>     PAGE:00588CDB                 db 0CCh ; ¦
>     PAGE:00588CDC                 db 0CCh ; ¦
>     PAGE:00588CDD                 db 0CCh ; ¦
>     PAGE:00588CDE

#844 | infuscomus | ⇗ @diderius6 for debugging we could hack debug acpi.sys from server 2003 with the same hacks we used for 5048, but it will only work for server 2003
#845 | diderius6 | ⇗ @infuscomus I think, Longhorn-Vista 5048 is server 2003. May be, the acpi.sys 5048 modmod is enough for debugging Dietmar

#846

diderius6

This are next error messages from windbg
*** Assertion failed: ((Timer)->Header.Type == TimerNotificationObject) || ((Timer)->Header.Type == TimerSynchronizationObject)
*** Source File: d:\xpsp\base\ntos\ke\timerobj.c, line 195
*** Assertion failed: (MemoryDescriptorList->MdlFlags & ( MDL_MAPPED_TO_SYSTEM_VA | MDL_SOURCE_IS_NONPAGED_POOL | MDL_PARTIAL_HAS_BEEN_MAPPED)) == 0
*** Source File: d:\xpsp\base\ntos\mm\iosup.c, line 3542
*** Assertion failed: (MemoryDescriptorList->MdlFlags & ( MDL_PAGES_LOCKED | MDL_PARTIAL)) != 0
*** Source File: d:\xpsp\base\ntos\mm\iosup.c, line 3546

#847 | infuscomus | ⇗ @diderius6 so there is a problem in ntoskrnl?

#848

diderius6

⇗ @infuscomus
I do not know. For sure there is a problem with setting Irqs on AM4 boards.
The most crazy is, that with !MAPIC windbg told you, that it is empty,
even now with running XP Acpi Multiprocessor
Dietmar
PS: I found out, that Irq with "edge" setting has always exclusive Irq (means each device has its own Irq).
Irq with "level" setting can have share or exclusive Irq.
The most crazy things happen, when 2 devices share one Irq
and one of them is "edge" and the other "level", because this one with "edge"
thinks, there cant be another device with same Irq.
And I do not understand the message from ntkrnlmp.exe very early in boot process,
that
*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
*** Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480
This looks like, if the whole system after this runs without any Irqs.
EDIT: I know that certain operations can only be performed at IRQL PASSIVE_LEVEL.
Microsoft has this sample code of how to write to a file from a kernel driver:
if (KeGetCurrentIrql() != PASSIVE_LEVEL)
return STATUS_INVALID_DEVICE_STATE;

#849 | infuscomus | ⇗ @diderius6 can we somehow force hardware to use "edge" IRQs?

#850

diderius6

⇗ @infuscomus
In the DSDT table should (?) the hardwired devices from the board are listened.
For the hardwired networkcard RTL8111GR from the Asrock B350 board I do not find an device entry there!
And when you use another networkcard like the TP-Link, the Irq setting is described in their software I think.
So, I do not know, if this setting for Irq (level, edge) can be changed without problems for any hardware
Dietmar

#851 | infuscomus | ⇗ @diderius6 maybe BIOS 5.40 is using a newer network OpROM?

#852

infuscomus

⇗ @diderius6
also,
any luck with patching AMD AHCI driver 1.2.1.402?
we need to patch
PoUnregisterPowerSettingCallback
PoRegisterPowerSettingCallback

#853

diderius6

⇗ @infuscomus
The broadcom is only at 1 place in Bios.
They are identic for 3.30 and 5.40 Bios.
Dietmar
PS: Now I have to work. Yes, to try patch for the AMD AHCI driver 1.2.1.402
would be possible way, but I dont know how hard it is.
May be it is enough just to delete this functions.

#854 | infuscomus | ⇗ @diderius6 I'm not sure how to properly delete a function p.s I thought the network chip was a realtek?

#855

infuscomus

⇗ @diderius6
I made attempt to load AMD AHCI driver
first I attempted to load
amd_sata - from 1.2.1.402 with
amd_xata - from 1.2.1.321 - this resulted in 7F BSOD - Kernel Trap
next I try to patch out PoRegisterPowerSettingCallback PoUnregisterPowerSettingCallback from amd_xata.sys
uploaded if you want to test for yourself
infuscomus has attached files to this post

- ⇗ 32bit Win7 AMD AHCI Driver v1.2.1.402 patch attempt.zip

## Page 58

#856 | diderius6 | ⇗ @infuscomus It can be done with blackwingcat's PEMaker, if those 2 functions do nothing importand else Dietmar
#857 | infuscomus | ⇗ @diderius6 I attempted to load my modded 1.2.1.402 driver 7B BSOD :(
#858 | diderius6 | ⇗ @infuscomus Have you just deleted the 2 functions with blackwingcat's PEMaker Dietmar
#859 | infuscomus | ⇗ @diderius6 I changed the dword ptr that calls the function and I redirect the imports PoRegisterPowerSettingCallback PoUnregisterPowerSettingCallback to DbgPrint
#860 | infuscomus | ⇗ @diderius6 I recall you mentioning mixing scsiport and storport on the same system is bad?
#861 | diderius6 | ⇗ @infuscomus Have you done a dependency check with Dependency Walker? No red is allowed there. Yes, but now I know about scsiport and storport, that they can work at the same time Dietmar
#862 | infuscomus | ⇗ @diderius6 yes, I checked with dependency walker - all green check my attachment earlier for yourself if you do not believe me
#863 | infuscomus | ⇗ @diderius6 known working driver storahci - gives 7F BSOD - Kernel Trap - in XP can this be debugged?

#864

diderius6

⇗ @infuscomus
This storport 5.2.3790.3959 driver will not work together with nvme, because therefor you need storport vers. 5.2.3790.4173.
But maybe storport vers. 5.2.3790.4173 works with the storahci.sys driver.
In any case you need an storahci.inf for this.
Both need KeTestSpinLock function from ntoskrnl.exe, it is in WinServer2003
but not in XP kernel.
So, you have to cancel this KeTestSpinLock function or maximum it will work with WinServer2003
Dietmar

#865 | infuscomus | ⇗ @diderius6 If you have a WinServer2003 debug setup available, can you debug storahci?
#866 | diderius6 | ⇗ @infuscomus Today and tomorrow I have a lot of work for school because of examen. Make a try, install windbg and test via WinServer debug storahci. But for this you need registry entries or a working *.inf file Dietmar

#867

infuscomus

⇗ @diderius6
good luck with your exams!
I think maybe this is the right .inf file? it contains reference to storahci (i could not find a storahci.inf)
infuscomus has attached files to this post

- ⇗ mshdc.zip

#868 | diderius6 | ⇗ @infuscomus I think yes, but you have to add your Ven_&Dev_ id for your ahci controller to this *.inf file Dietmar
#869 | diderius6 | ⇗ @infuscomus In very short time we will have Storahci x86 and x64 for all AHCI controllers under XP Dietmar

#870

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #869

> In very short time we will have Storahci x86 and x64 for all AHCI controllers under XP

is this storahci from which os ?

## Page 59

#871 | diderius6 | Win8

#872

infuscomus

⇗ @diderius6
I tried to patch pciidex.sys of windows 7 to work with XP, so that I would be able to use msahci.sys of windows 7 with XP (msahci of win7 detects all drives properly)
attempted patch of pciidex.sys result is BSOD 7F - 0D
0x0000000D -- An exception not covered by some other exception; a protection fault that pertains to access violations for applications
same BSOD as storahci.sys
maybe there is something in driver that prevents modification that we need to find?

#873

diderius6

⇗ @infuscomus, ⇗ @Mov AX, 0xDEAD
Here is storahci driver 32 and 64 bit.
Please test on your compi under XP / win2003
Dietmar
PS: I tested it on the Asrock Ryzen B350 board
with ahci device VEN_1022 DEV_43B7, works, just nice!
Before installing the storahci driver, you need to copy by hand this storport.sys from nvme device to
folder windows\system32\drivers
⇗
diderius6 has attached files to this post

- ⇗ storahci.rar
- ⇗ storport.rar

#874

infuscomus

⇗ @diderius6
I have a slightly newer version of 2003 storport 5.2.3790.4485
can I use this version? or I must use 5.2.3790.4173?
infuscomus has attached files to this post

- ⇗ storport-4485.zip

#875

infuscomus

⇗ @diderius6
I've got only a SATA WD Green 120gb m.2 drive in m.2 slot and a separate JMicron card with non-ahci IDE BIOS for installation media connected to the motherboard and nothing else
(except some cables going to empty hot swap bays - should i remove these?)
I integrated storport.sys and storahci.sys and relevant HWIDs manually into txtsetup.sif and added storahci.reg entries into setupreg.hiv
boot into XP setup - 7B BSOD!! argh!!!
edit:
if i send you a copy of my installation media ISO can you check if i have integrated correctly?

#876

diderius6

⇗ @infuscomus
About storport:
Kai Schtrom makes a check with Ida Pro,
which functions are needed. This was new to me,
because I always think, that Dependency Walker is enough.
But now I understand: Dependency Walker with only "green" is necessary
but not sufficient. The only version of storport that I know with all needed functions
is the storport.sys 5.2.3790.4173 which I sent here.
You can compare it with storport from Vista (has some more functions but also not all) and from Win7 (has all).
Have you tested the storahci, which I sent on your board
Dietmar
PS: The empty slots do nothing. May be, the signal is worse a little bit, but unimportand.
You can use my generic *.inf from Reactos with
[STORAHCI.NTx86]
%SATA_AHCI.DeviceDesc%=storahci_Inst, PCI\CC_010601; Standard SATA AHCI Controller
Next ist USB.
Why you try to make in first step installations media?
I think, if you do so, via txtsetup.oem or nlite it is easier.
Much more easy is to test new version of driver on working XP.
I always go this way, because so you have all possibilities to see,
what works and what not. Install windbg for this.

#877

diderius6

⇗ @infuscomus
How do you correct checksum in acpi.sys 5048
for to make it XP installations friendly
Dietmar
PS: Can you install with this checksum correct checksum acpi.sys now normal via CD or *.iso file
XP on Ryzen without crying from XP, that acpi.sys is wrong?

#878

infuscomus

⇗ @diderius6
I use CFF explorer to fix the checksum
⇗ https://ntcore.com/?page_id=388
It fixes acpi.sys is wrong error (at least in a VM)
remember to replace acpi.sys in driver.cab too
I have not yet managed to do a successful install of XP on Ryzen - either A5 BSOD (solved) or 7B BSOD (not solved)

#879

diderius6

⇗ @infuscomus
1.) Extract full content of XP CD to a folder.
2.) Change there in folder i386 acpi.sy_ against modded acpi.sy_ (compressed files with makecab.exe).
3.) Integrate with nlite the driver for asm106x, which I send.
If you have an XP SP3 installation. If other versions of XP, also integrate update pack to XP SP3.
Make winlite.iso.
Burn winlite.iso to CD and install on Ryzen board with a connected harddisk at asmedia 106x slot (first black in row of 4)
Dietmar

#880 | infuscomus | ⇗ @diderius6 OK, Do you mind if I send you my modified installation ISO for you to check? p.s if possible, I would like to install xp onto the m.2 sata drive

#881

diderius6

⇗ @infuscomus
Test install on m.2 sata drive, I just make new txtsetup.oem for this
Dietmar
PS: You have to copy this version of storport.sys first into i386 installations folder also,
and again after first reboot, because crazy installation deleted it,
because XP does not have an own storport.sys.
diderius6 has attached files to this post

- ⇗ storahcitxtsetup.rar

#882 | infuscomus | ⇗ @diderius6 Thanks, I will test

#883

diderius6

⇗ @infuscomus
I just test install XP SP3 with new txtsetup.oem on normal AMD sata slot (not asm106x),
works nice
Dietmar
PS: But I still get message, that acpi.sys is wrong.
It is not a big problem because of hit "Esc" on keyboard,
but how to make this acpi.sys that XP likes:)) it?
After 1. reboot I get message 0x7B, it is normal, because XP deleted storport.sys
in windows\system32\drivers
so you have to copy storport.sys there by hand again.

#884 | infuscomus | ⇗ @diderius6 I sent you an email with my XP installation media. can you test it? see if it works for you? let me know of any problems you find

#885

diderius6

⇗ @infuscomus
I am just downloading,
slow, needs 30 min:)).
Then I compare it with Beyond Compare 2
and try to install.
I am 100% sure,
that we will have an XP SP3 installation,
which works on any compi and can be installed everywhere there,
I think even via COM1 port^^
Dietmar

## Page 60

#886

diderius6

About the rtl8111gr network chip on the Asrock B350 motherboard.
I just see, that the chip on the TP-Link adapter is identic
to this one on the Asrock board.
Now I am sure, that it is a design error on the Asrock board.
With the same driver, the rtl8111gr works without problem
on another PCIe slot with the same IRQ 32
But it does not work as inbuild chip on Bios 3.30
Dietmar

#887

diderius6

⇗ @infuscomus
Soso much drivers on this XP.iso.
I found the error:
You make a mistake in .SIF file for STORAHCI.
Why just dont use Nlite with txtsetup.oem which I sent?
Dietmar
PS: If I where you: Flash back to Bios 3.30.
Use a fresh XP install CD without this big amount of drivers.
Integrate acpi.sys and storport.sys by hand into setupfolder i386.
Dont change any entry in *.sif.
Use nlite for to integrate storahci, which I send here with txtsetup.oem.
EDIT: I think, you forget in TXTSETUP.SIF
[SCSI]
STORAHCI = "STORAHCI Installation Disk"

#888

infuscomus

⇗ @diderius6
Can you test your storahci driver with BIOS 5.40?
BIOS 3.30 does not support my CPU
[SCSI]
STORAHCI = "STORAHCI Installation Disk"
I thought this part was just for human readability - [SCSI.Load] is where it is loaded
I will start over with untouched source and load storahci with your txtsetup.oem using nlite

#889

diderius6

I just edit your TXTSETUP.SIF
adding only in
[SCSI]
STORAHCI = "STORAHCI Installation Disk"
and voila,
I can install XP
Dietmar

#890

diderius6

⇗ @infuscomus
But on reboot,
I got BSOD 0x7B.
It depends not on storport,
storport is there.
So, another mistake happens in TXTSETUP.SIF.
Better use Nlite
Dietmar

#891

diderius6

⇗ @infuscomus
Good news:))!!!
I just flash Bios 5.40 on the Asrock B350 board.
And installation works.
No BSOD 0x7B after reboot.
On nvme device this was other,
no nvme device at all under Bios 5.40 in XP
Dietmar
EDIT: I am just installing on the normal sata AMD port (not asm106x).
EDIT2: Storahci works only with alignment of 2048 at installationsmedia.
EDIT3: Bad news: On last reboot compi crashs, exact as with nvme device.
Now I try with Bios 4.60. Compi crashs also.
EDIT4: I set up a windbg session and I see, it is an ACPI related error
0x000000a5 (0x00000011,0x00000008,0xF778F1E8,0x20120913).
EDIT5: GOOD NEWS(!!!): This crazy XP changed a second time the acpi.sys back to its original version.
Just in this moment I start XP SP3 with Bios 5.40 on normal sata AMD (not asm106.x).
⇗

#892 | infuscomus | ⇗ @diderius6 how do i make sure that storahci is aligned to 2048 of installation media?
#893 | diderius6 | ⇗ @infuscomus You can look with Winhex or with AOMEI. On normal harddisk 63 sectors before 1. partition and on aligned 2048, mostly from beginning on SSD Dietmar
#894 | infuscomus | ⇗ @diderius6 is this for install ISO or harddisk? or both?
#895 | diderius6 | ⇗ @infuscomus It is for your sata ssd, how it is formatted. Aligned to 2048 is normal for ssd, from beginning. But not for harddisks, Dietmar
#896 | infuscomus | ⇗ @diderius6 I think I can use windows 10 to properly format SSD? also, do i need to do anything to the ISO? or does nlite align correctly?

#897

diderius6

⇗ @infuscomus
"I think I can use windows 10 to properly format SSD?"
Yes.
I noticed, that when I install on medium (harddisk with 63 sectors before first partition)
on next reboot compi hangs.
I come to the idea, that this may be because of not using 2048 alignment.
I reformat hd with 2048 and all went ok
Dietmar
PS: Has nothing to do with *.iso

#898 | infuscomus | ⇗ @diderius6 can you send me your known working XP install media with integrated storahci? That way, if I get a 7B BSOD I will know that there is something with my hardware causing the problem and not the install media
#899 | diderius6 | I am very interested to know, if somebody other get XP SP3 to work on Ryzen board Dietmar
#900 | infuscomus | ⇗ @diderius6 upload it here ⇗ https://uploadfiles.io/ then send me the link

## Page 61

#901 | infuscomus | ⇗ @diderius6 does the 2nd (lower) m.2 slot (the SATA one) on the AB350 gaming K4 work for you in XP?

#902

diderius6

⇗ @infuscomus
I have no real ssd SATA M.2. Only nvme devices with different connections and harddrives and a SATA ssd with a sata connector
exact like for harddisk.
XP on harddisk works in the sata slot, which is dedicated also to the M.2 sata ssd
Dietmar
PS: What is the name of your sata ssd with M.2 layout?
How is this device recogniced in Bios and later at boottime from XP via storahci?
I dont know, if the Asrock fatal1ty ab350 gaming k4 is compatible with sata M.2 devices.
EDIT: I just make a quick test: XP boots, works correct at each of the 6 Sata slots on the board.
This XP SP3 is build only direct via this installationsmedium.
EDIT2 : I just found this: Slot 1 is for a PCI-E M.2....SLot 2 is for SATA

#903

infuscomus

⇗ @diderius6
It's an WDS120G1G0B WD Green 120gb M.2 SATA SSD - It is in Slot 2 and is recognized by BIOS, linux and freedos can boot from it
I'm not sure if storahci recognizes it
can you post a screenshot of the harddisk selection screen you get to in XP textmode on AB350 K4?
p.s can you send me your known working install media?

#904 | diderius6 | ⇗ @infuscomus I will test it with sata M.2 ssd in slot 2 Dietmar EDIT: SATA port 3 is disabled if an M.2 SATA SSD is used in the secondary slot. EDIT2: SATA cable connector SATA3_3 blocks the use of the M2_2 slot!
#905 | infuscomus | ⇗ @diderius6 I have made sure not to use SATA3_3 on my board
#906 | infuscomus | ⇗ @diderius6 Does M.2 SATA work for you?

#907

diderius6

⇗ @infuscomus
I have no M.2 SATA here.
I ordered the same WD green 120 GB M.2 SATA as you have
and it will arrive in next days.
For USB mod until now no success
Dietmar

#908 | infuscomus | ⇗ @diderius6 can you upload a copy of your known working for ryzen XP install media?
#909 | diderius6 | ⇗ @infuscomus The installationsmedia works on any Sata slot on the Asrock B350 board Dietmar
#910 | infuscomus | ⇗ @diderius6 thanks
#911 | diderius6 | I would be happy to know, if somebody else also succeed to install XP SP3 on Ryzen board Dietmar

#912

diderius6

I found out that the WdfCoInstaller01011.dll and WUDFUpdate_01011.dll used in the Microchip winUsb inf file are not compatible to Windows XP at all. So I downloaded the Windows Driver Kit WDK 8.1 (it's about 400MB but we just need ~4Mb as always wink ) which contains the WdfCoInstaller01009.dll and WUDFUpdate_01009.dll.
Changing the Microchip Inf file to the Version 1.9 let it work in Windows XP, so this is what I changed:

    [CoInstallers_AddReg]
    HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller",
    "WinUSBCoInstaller2.dll","WUDFUpdate_01009.dll"
    [CoInstallers_CopyFiles]
    WinUSBCoInstaller2.dll
    WdfCoInstaller01009.dll
    WUDFUpdate_01009.dll

    [DestinationDirs]
    CoInstallers_CopyFiles=11

    [USB_Install.Wdf]
    KmdfService=WINUSB, WinUsb_Install
    UmdfServiceOrder=WINUSB

    [WinUSB_Install]
    KmdfLibraryVersion=1.9

#913 | infuscomus | ⇗ @diderius6 I tried your XP install media in my system - 7B BSOD, so it's my hardware on your install media. before the BSOD, the screen goes black to a blinking cursor - weird my guess is XP does not like my iodd 2531 - I'll have to go and get the real optical drive and media to test
#914 | infuscomus | ⇗ @diderius6 I was beginning to think I would never see this screen ⇗ yay! now that I've made it this far, when do i use storahci.reg?
#915 | diderius6 | ⇗ @infuscomus No need for storahci.reg, it is only, when you want to install storahci.sys on running XP, I am happy, that it worked for you Dietmar

## Page 62

#916

infuscomus

something strange I noticed with the AB350 Gaming K4
In my topmost pcie 1x slot I have a pcie USB2.0 card
⇗ https://www.aliexpress.com/i/32819465989.html
I have noticed that this USB2.0 card will not function (usb devices plugged in wont do anything) unless I install the drivers for the graphics card that is below it.
once i install the graphics card driver, the USB2.0 works fine
very strange
edit:
I think it is the power state - D3

#917 | kukonosau | To take me about installing acpi.sys please. I don't understand you. How to integrate or install new driver acpi.sys without acpi.inf? Can you show this process installation driver acpi.sys on new motherboard with B350 chipset?

#918

diderius6

⇗ @kukonosau
By hand you have to put modded acpi.sys into folder i386 on installationsmedium.
For this, put XP SP3 CD in and extract all content of the CD to a folder XPSP3.
In this folder via commandline type
makecab acpi.sys
this gives you acpi.sy_ which you have to copy into folder i386 in folder XPSP3.
With nlite make a bootable xp.iso from folder XPSP3
and burn it to CD
Dietmar

#919 | infuscomus | ⇗ @diderius6 got this error with XP today ⇗ any ideas for what causes it?
#920 | infuscomus | ⇗ @diderius6 have you seen this c021a error before?

#921

diderius6

⇗ @infuscomus
Yes, I have seen this error c021a before.
As far as i remember it happens, when an arcpath was not found.
You can go to registry with regedit
and delete whole key "Mounted Devices".
Now XP has no information about the arcpath at boottime and takes first partition on first harddisk
as drive c:\
Dietmar
EDIT: May be you can start compi in Safe Mode, using F8 at boottime.
Then delete key "Mounted Devices" in registry.

#922 | infuscomus | ⇗ @diderius6 is there a way to access the registry of the XP installation from within windows 10?

#923

diderius6

⇗ @infuscomus
Yes, you can import HIVE "system" (in windows\system32\config) from connected XP drive,
name it "otto"
via registry of Win10. Do all wished changes in "otto"
and then unload it. It is automatically stored back into Hive SYSTEM
for XP
Dietmar
PS: The bootloader seems to chose USB1.0 during XP setup and this makes it slow.

#924

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #923

> PS: The bootloader seems to chose USB1.0 during XP setup and this makes it slow.

That would explain why it took 20 hours

#925 | kukonosau | I already did BSOD, but not ACPI compliant. I forgot errors. Sorry, I speak in English very bad. I speak in Russian. Do you speak in Russian? Can you tell me about errors ACPI in Russian? Answer me, please. I have not English practics. I sometimes used google- or yandex-translater.
#926 | kukonosau | Sorry, I must be use disks only or flash also? Because I often used flash device, but sometimes used DVD disks. I recorded Windows XP in flash with program YUMI. USB-ports detected in our time installation, but not ready operating system. Fortunatelly, I have keyboard and mouse PS/2 that support in almost everywhere. If use USB mouse she is uncorrectly work and after stopped worked 2 mouses before restarting system!!!

#927

cedar

⇗ @diderius6
Great works. I am happy to see XP works on your Ryzen board. I burned 2 discs, integrated with Nlite. Installing to hard
drive. first disc failed with bsod 7E. 2nd disc failed with 7b, both failed during installation before first boot. My
motherboard is Asus prime b350 plus with 2 PCI slots, and Ryzen 2600. Probably didn't integrate it right.
I RWEverything Asus prime b350 plus, it has no MPS. Does your acpi work on your Asus b350?
Only 1 hdd connected. I used acpi.sys ver 5512.
1st disc, I integrated all: storahci,nvme,asm106x, got bsod 7E
2nd disc, integrated only storahci, got bsod 7b.
q1. Is sfc disabled a "must" during Nlite for Ryzen? I probably forgot did it here.
q2. Do I need to add my hardware id to your storahci.inf?
Under win8. I saw 2 entries, one is VEN_1022 DEV_43B7. the other has 7901, Should both ID needed to put into storahci.inf?
q3. I just noticed 5048 posted a day later. I think v5512 is the right one, right?
q4. I also have a Kingston A400 120GB SSD. Can I combine STORAHCI.sys's TXTSETUP.OEM and nvme.sys's TXTSETUP.OEM into 1
file like below so that I can choose(connect only) either HDisk or SSD before installation with the same iso disc.
Will 2 disk0 and 2 [Defaults] entries interfere?

    [Disks]
    disk0 = "STORAHCI Installation Disk", \storahci.inf, \
    disk0 = "nvme Installation Disk", \nvme.inf, \

    ;;; change disk0 of nvme to disk1?

    [Defaults]
    SCSI = STORAHCI
    SCSI = nvme

    ;;; two Defaults entries! likely will not work?

    [SCSI]
    STORAHCI = "STORAHCI Installation Disk", STORAHCI
    nvme = "nvme Installation Disk", nvme

    [Files.SCSI.STORAHCI]
    inf	= disk0, STORAHCI.inf
    driver	= disk0, STORAHCI.sys, STORAHCI

    [Files.SCSI.nvme]
    inf	= disk0, nvme.inf
    driver	= disk0, nvme.sys, nvme

    [HardwareIds.SCSI.STORAHCI]
    id = "PCI\CC_010601","STORAHCI"
    id = "PCI\CC_010802","nvme"

    [Config.STORAHCI]
    value = "", Tag, REG_DWORD, 1

    [Config.nvme]
    value = "", Tag, REG_DWORD, 1

#928

diderius6

⇗ @cedar
It is possibel to integrate many drivers in one txtsetup.oem.
But in the beginning, one step after the other is better I think.
You can test your STORAHCI integration via Nlite,
when you hit F5 during installation and chose "Standard PC" there.
When you can install XP, then do next step
Dietmar
PS: Here is example for 2 different drivers in one txtsetup.oem
; Copyright (c) 2010 Asmedia Technology
;#############################################################################
;#
;# Filename: TXTSETUP.OEM
;#
;#############################################################################
[Disks]
disk1 = "Asmedia 106x SATA Controller", \ASM106x, \i386
disk2 = "Asmedia 106x SATA Controller", \ASM106x, \amd64
[Defaults]
scsi = asAHCI_32bit
;#############################################################################
[scsi]
; asahci32.inf
asAHCI_32bit = "Asmedia 106x SATA Controller 32bit"
; asahci64.inf
asAHCI_64bit = "Asmedia 106x SATA Controller 64bit"
;#############################################################################
; asahci32.inf
[Files.scsi.asAHCI_32bit]
driver = disk1, asahci32.sys, asahci32
inf = disk1, asahci32.inf
dll = disk1, ahcipp32.dll
catalog = disk1, asahci32.cat
;------------asahxp64.inf---------------------------
; asahci64.inf
[Files.scsi.asAHCI_64bit]
driver = disk2, asahci64.sys, asahci64
inf = disk2, asahci64.inf
dll = disk2, ahcipp64.dll
catalog = disk2, asahci64.cat
;#############################################################################
[Config.asahci32]
value = parameters\PnpInterface,5,REG_DWORD,1
value = "", ErrorControl, REG_DWORD, 1
value = "", Group, REG_SZ, "SCSI Miniport"
value = "", Start, REG_DWORD, 0
value = "", Type, REG_DWORD, 1
[Config.asahci64]
value = parameters\PnpInterface,5,REG_DWORD,1
value = "", ErrorControl, REG_DWORD, 1
value = "", Group, REG_SZ, "SCSI Miniport"
value = "", Start, REG_DWORD, 0
value = "", Type, REG_DWORD, 1
;#############################################################################
; asahci32.inf
[HardwareIds.scsi.asAHCI_32bit]
id = "PCI\VEN_1B21&DEV_0601","asahci32"
id = "PCI\VEN_1B21&DEV_0602","asahci32"
id = "PCI\VEN_1B21&DEV_0611","asahci32"
id = "PCI\VEN_1B21&DEV_0612","asahci32"
; asahci64.inf
[HardwareIds.scsi.asAHCI_64bit]
id = "PCI\VEN_1B21&DEV_0601","asahci64"
id = "PCI\VEN_1B21&DEV_0602","asahci64"
id = "PCI\VEN_1B21&DEV_0611","asahci64"
id = "PCI\VEN_1B21&DEV_0612","asahci64"

#929

diderius6

⇗ @kukonosau
Use last 5048 modmod acpi.sys from ⇗ @infuscomus,
see here in download below.
For normal XP installation it is best until now
Dietmar
PS: Use real CD an PS/2. XP install via flash drive and USB, strange things happen to me.
diderius6 has attached files to this post

- ⇗ best5048acpi.rar

#930

cedar

@infuscomus.
Glad to know XP also work on your Ryzen board. I BSOD on two iso discs and also Winntsetup and get stuck on install loop. I can't boot back to win8x64 easily and need to repair boot manager to get back bootmenu.
I have no experience on VM. what (stable)version do you use to test xp installations.
Is there a preferred platform for your Asrock board? win7 or win8, 32 or 64bit?
Under VM, is winntsetup the best way to go?

## Page 63

#931 | kukonosau | Where is file ACPI from infuscomus? How to install Windows XP SP2 x64 on motherboard ASUS AM4 B350 PRIME B350M-K?
#932 | cedar | ⇗ @kukonosau I think at post #821
#933 | kukonosau | How to add acpi.sys in driver.cab?!
#934 | diderius6 | I think, because storahci needs storport.sys only XP SP3 can work with it Dietmar
#935 | cedar | ⇗ @kukonosau extract driver.cab to a folder using winrar or 7z put acpi.sys into folder. cabarc -r -m LZX:21 n driver.cab c:\folder\*.*
#936 | kukonosau | cabarc -r -m LZX:21 n driver.cab c:\folder\*.* is error in cmd: "cabarc" не является внутренней или внешней командой, пакетом или исполняемым файлом. Sorry, I can't translate in English. May be need this command in flash with MS-DOS? I don't understand.
#937 | infuscomus | ⇗ @kukonosau i think you need to download cabarc ⇗ https://stackoverflow.com/questions/3361...-cabarc-utility
#938 | kukonosau | Thanks. I used utility iexpress, create DRIVER.CAB, but BSOD after 2nd restart from install Windows XP when end registry components.
#939 | kukonosau | Congratulations!!! I can install XP with ACPI!!! I specially install and need BSOD. Before continue in Windows 10 and change old ACPI in folder C:\Windows\system32\drivers modify ACPI. Also before install I change file ACPI.SY_. DRIVER.CAB don't help me((( But where find files ACPI for Windows XP x64? ACPI from x32 doesn't work!

#940

infuscomus

⇗ @kukonosau
i don't have a patched acpi for XP x64
does it have to be XP x64? programs for XP were usually x32
edit:
try here
⇗ http://shorthornproject.com/allcategorie...em=item-drivers

#941 | kukonosau | How to correct acpi.sys for Windows XP x64? How you can correct acpi.sys for Windows XP x32?
#942 | infuscomus | ⇗ @diderius6 can you patch acpi 5048 64bit for ⇗ @kukonosau ? p.s I got my pcie usb2.0 card to function properly for xp testmode setup - i plugged a device into every port. now i can use my iodd 2531 for xp install
#943 | kukonosau | But how to patch acpi.sys? Do you can teach me?
#944 | infuscomus | ⇗ @kukonosau do you have a disassembler? such as ida pro?
#945 | kukonosau | No. I wont know, how disassemble file with expansion .sys

## Page 64

#946 | kukonosau | But I have Hxd.

#947

diderius6

⇗ @infuscomus
I get with XP 64 bit the same error on the Ryzen board
0x7E 0xc0000005 (now in 64 bit much loonger)
as with XP 32 bit.
I change storport.sys against the new version and acpi.sys against original 5048 (64 bit) version.
Then I make new txtsetup.oem and new *.inf for the storahci driver, integrate storahci with nlite, works as you can see during setup. But on XP 64 bit, there is no "Standard PC", only uniprocessor and multiprocessor, all with Acpi.
But because I do not see any symbols with Ida Pro,
I cannot hack the acpi.sys vers Longhorn 5048 64 bit.
I think, it is also exact in the same place as in the 32 bit version, one byte change,
means conditional jmp => forced jmp
but I cant see where to do this
Dietmar
diderius6 has attached files to this post

- ⇗ 64bit.rar

#948

cedar

⇗ @diderius6
Thanks for the suggestions. I have tried many variations last few days, even the 486 Standard PC option.
Installing ACPI Multiprocessor or Standard PC mode end up BSOD at the exact moment "Windows setup is starting" message appeared for my Asus Prime B350-Plus board.
So I used a working XP sp3 running storport.sys from a Gigabyte P75 D3 board, then added newest 5048 acpi.sys and swapped the hard disk to the Asus board.
Now, I can boot Standard PC only in "safe mode" with no usb mouse. It is stable inside this mode. It will BSOD on normal boot before entering Windows , however.
Could it be this Asus board has 2 PCI slots, causing acpi.sys some incompatibility issues.
Only an PCIE Geforce 8400 card was installed, nothing else, to isolate potential issues.

#949 | diderius6 | ⇗ @cedar What kind of BSOD you see, Dietmar

#950

diderius6

⇗ @cedar
I make a test with the asus prime b350 plus board.
Oha, I got BSOD like you.
NVME boot works, but only for "Standard PC".
Booting with mod mod 5048 acpi.sys
which works until now on any compi gives via windbg:

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Jun 29 21:17:16.812 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp.080413-2111
>     Machine Name:
>     Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Sat Jun 29 21:17:23.625 2019 (UTC + 2:00):
>     *** Fatal System Error: 0x000000a5
>                            (0x0000000D,0x8B6333C0,0x4449555F,0x00000000)

>     Sat Jun 29 21:17:23.656 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Jun 29 21:17:23.843 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ...........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A5, {d, 8b6333c0, 4449555f, 0}

>     *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
>     Probably caused by : ACPI.sys ( ACPI+527b )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     8052b5dc cc              int     3
>     2: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACPI_BIOS_ERROR (a5)
>     The ACPI Bios in the system is not fully compliant with the ACPI specification.
>     The first value indicates where the incompatibility lies:
>     This bug check covers a great variety of ACPI problems.  If a kernel debugger
>     is attached, use "!analyze -v".  This command will analyze the precise problem,
>     and display whatever information is most useful for debugging the specific
>     error.
>     Arguments:
>     Arg1: 0000000d, ACPI_REQUIRED_METHOD_NOT_PRESENT
>     	ACPI could not find a required method/object in the namespace
>     	This is the bugcheck that is used if a vendor does not have an
>     	_HID or _ADR present
>     Arg2: 8b6333c0, The ACPI Extension that ACPI needs the object for
>     Arg3: 4449555f, The (ULONG) name of the method ACPI looked for
>     Arg4: 00000000, Base Case

>     Debugging Details:
>     ------------------

>     ACPI_EXTENSION:  8b6333c0 -- (!acpikd.acpiext 8b6333c0)

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA5

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

>     STACK_TEXT:
>     b84dfaf4 804f8df9 00000003 b84dfe50 00000000 nt!RtlpBreakWithStatusInstruction
>     b84dfb40 804f99e4 00000003 8b6333c0 8b61d950 nt!KiBugCheckDebugBreak+0x19
>     b84dff20 804f9f33 000000a5 0000000d 8b6333c0 nt!KeBugCheck2+0x574
>     b84dff40 b7f1027b 000000a5 0000000d 8b6333c0 nt!KeBugCheckEx+0x1b
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     b84dff80 b7f0d168 8b6333c0 8b633368 b84dffb4 ACPI+0x527b
>     b84dff90 b7f0d2f4 8b633368 806e791a 80540980 ACPI+0x2168
>     b84dffb4 b7f0ddc0 b7f35ac8 b7f33010 806e791a ACPI+0x22f4
>     b84dffcc 80545e6f b7f35a80 00000000 00000000 ACPI+0x2dc0
>     b84dfff4 805459db b853fc4c 00000000 00000000 nt!KiRetireDpcList+0x61
>     b84dfff8 b853fc4c 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2b
>     805459db 00000000 00000009 0081850f bb830000 0xb853fc4c

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI+527b
>     b7f1027b cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  ACPI+527b

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  424d8208

>     FAILURE_BUCKET_ID:  0xA5_ACPI+527b

>     BUCKET_ID:  0xA5_ACPI+527b

>     Followup: MachineOwner
>     ---------

Dietmar

#951

diderius6

It is the same error as in post 488, the board Asus with B320 chipset there has also an PCI connector.
0xA5 (0x0000000D, Parameter2, Parameter3, Parameter4):
There are many objects that must be defined in the ACPI namespace, and one or more of these was not found. This error generally occurs if either the _HID or _ADR object is missing. An _ADR is used to define the address of a device on its parent bus. The _ADR is a static address that defines slot numbers for devices that reside on any number of bus types, including EISA, floppy, IDE controller, IDE channel, PCI, PCMCIA, and CardBus. The _HID contains objects that supply the operating system with Plug and Play hardware ID for a device. Technically, these objects are optional, but they absolutely must be present to describe any device that is enumerated by an ACPI driver.
So, some device is not recogniced via ACPI, may be pci slots
Dietmar
EDIT: I just boot "Standard PC" from harddisk. This means, the STORAHCI driver works like a charm.
Only acpi.sys needs some more handwork for this board.

#952

cedar

⇗ @diderius6
The old 5048 and 5512 acpi.sys BSOD 7B. With the two older acpi.sys. I can't even get to safe mode on Standard PC.
The newest (mod mod) 5048 have 7B or 7E. I Think mostly 7B. But the newest 5048 is good enough to be stable inside safe mode of Standard PC.
To test PCI compatibility, I add a ATI HDTV Wonder PCI card into a PCI slot. Also no crash inside Standard PC in safe mode. So PCI seems to be stable here. I am getting some Youtube windows debugger tutorials...

#953

diderius6

⇗ @cedar
Good news:))!
Small hack in mod mod acpi.sys 5048 from Infuscomus
and voila,
full XP SP3 "Multiprocessor ACPI" on the Asus Prime B350 Plus (with 2 PCI slots).
All works, sound, network, grafik, USB 3.1, nvme boot, all SATA ports.
The PS/2 port can only be used for one device, keyboard.
Later it is no problem, because you have a lot of working USB 2.0 slots too.
Dietmar
⇗
diderius6 has attached files to this post

- ⇗ acpi.rar

#954

infuscomus

⇗ @diderius6
I dug up PEMaker 0.82 again and noticed your newly modded ACPI 5048 has a checksum error
⇗
PEMaker 0.82 is able to fix it
infuscomus has attached files to this post

- ⇗ checksumfix-acpi.zip

#955 | diderius6 | ⇗ @infuscomus Thanks, I just build an XP.iso for the Asus Prime B350 Plus board, works, I am just installing Dietmar EDIT: Install of XP SP3 is ready, nice, absolut stable.
#956 | cedar | ⇗ @diderius6, @infuscomus. Thanks so much. I will test them very soon.

#957

cedar

⇗ @diderius6
New improvement at my end, replacing to the newest acpi on the swapped Hard Disk, I can boot APCI Multiprocessor in safe mode now. But still BSOD at normal boot and the blue screen extremely quickly flash may 1/10 of a second so, I can't even see what the message. Normally, the BSOD stay, and also no mouse.
Tried with or without your 6 USBXPSP1 files overwriting the existing USB files in the \systems32\drivers
folder, I still have no working USB!. So I used keyboard to install USB drivers, but only able to partially
install the USB devices in Safe Mode, one root hub is ok, another root hub with exclamation mark.
3.1 extensible host controller got installed, but 3.1 hub refused installed!. May be things in safe mode behave
a bit erratically, or the downloaded drivers did not match my USB hardware ID somehow.
⇗ @diderius6 , ⇗ @infuscomus
Can you upload a workable USB 2.0/3.0 or 3.1 inf? Will make another installation disc, may be this time it will
behave much better than the swapped hard disk method.
Thanks.
PS. the STORAHCI driver does works great even at my Gigabyte P75 (Z77) like board.

#958

diderius6

⇗ @cedar
Make a new installations disk for XP SP3 with nlite.
Copy storport.sys and acpi.sys there by hand to folder i386 using makecab.exe for them before.
The STORAHCI driver integrate via its txtsetup.oem in nlite.
Burn this XP.iso to CD.
On first reboot you have to copy storport again and later also acpi.sys.
Only connect the keyboard to the PS/2 port. You will have no mouse all the time, until the USB driver
works.
After install is ready, copy the 7 USB files from XP SP1 to windows\system32\drivers.
Then go to device manager, rightclick on USB device with DEV_43BB.
Select for this "new driver" and go to the USB3.1 installationsfolder "Controller Drivers".
After install of amdxhc31.sys a new window will open.
This time go to the USB3.1 installationsfolder "Hub Drivers".
Install amdhub31.sys.
After all is ok, connect your mouse to the USB 2.0 slot under the PS/2 slot.
Mouse will work and USB3.1 with full speed on green slots also. I tested yesterday this whole procedure
Dietmar
diderius6 has attached files to this post

- ⇗ storportAcpi.rar
- ⇗ USBXPSP1.rar
- ⇗ storahcitxtsetup.rar
- ⇗ AMD USB 3.1 drivers v1.0.5.3 WHQL.rar

#959 | kukonosau | Thank you!!! I connected USB-devices!!! Microphone Samson C01UPRO is working!!! You are better!!! :)))

#960

diderius6

Here is the AMD IOV device (AMD IOMMU DEVICE),
works now under XP
Dietmar
PS: Look for DEV_1577 in device manager and use only AmdIOV.inf.
diderius6 has attached files to this post

- ⇗ U10x86.rar

## Page 65

#961 | cedar | @diderius6. Thanks, I did used the AMD USB 3.1 drivers v1.0.5.3 WHQL on swapped hard disk earlier. The controller did installed , the Hub could not installed. Thus, no mouse. All of it was done in safe mode using only keyboard, slow and unsuccessful. Hopefully , nlite will fix it this time.

#962

diderius6

⇗ @cedar
I just make a new USB30 driver,
which works on the Asus Prime B350-PLUS board under XP SP3.
This is the very first time, that I see such an driver working^^
Dietmar
EDIT: Funny, USB30 is on the same USB stick faster than USB31.
⇗
diderius6 has attached files to this post

- ⇗ AMDUSB30.rar

#963

cedar

@Dietmar
Still BSOD 7b after several burn discs either ACPI Multiprocessor, Standard PC, or Uni ACPI.
All end up same message as below:
7B (0xF78D2524,0xc0000034, 0x00000000,0x00000000). Don't know if it is useful.
Also having some Nlite problems, all files in root directoy not copied into final ISO, may be because
Dotnet 2.0 SP1 was installed with a new copy nlite 1.4.9.3 download a day or 2 ago. Roots files and additional folders did copied into iso a week ago!.
I did try your new AMD USB3.0 driver on the swapped drive method ( it boots ACPI Multiprocessor in safe mode only, my only bootable XP condition for Asus B350 Prime Plus).
Have not succeed yet, as navigate with no mouse is a very slow process and prone to installing the driver into the wrong controllers and hubs as I can't see ID of controllers. So it is a hit and miss trials. Will try more later, since it works for you.
I want to get any mouse working, on usb2.0 or 3.0 ports so I can navigate Windows to investigate what devices are having problems such that it BSOD in normal boot. I have 1 mouse at usb 2.0 port, another mouse at usb 3.0 port just in case if either could work.
Still at partial installed of USB device controller and root hub. To see a bootable XP in my case. I need
PS2 keyboard to press F8 into safe mode. I read it is somewhat unsafe to hot swap PS2 devices.
It seem I can try hot swap PS2 keyboard with a PS2 mouse after "safe boot" into XP. But I am
worrying about repeat hot swaps the PS2 mouse or PS2 keyboard after every boot.
Is it hard to write a generic usb.reg script to install a USB 2.0 or 3.0 device?. I will google this.
Cedar
P.S. I will try this to see if it applies to XP.
⇗ https://windowsreport.com/usb-not-working-windows-10/

#964 | infuscomus | ⇗ @cedar are you using an external USB CD/DVD drive for XP install? or an internal SATA CD/DVD drive?

#965

cedar

⇗ @infuscomus
Before yesterday, I used an external USB CD/DVD drive for XP install.
Yesterday, I used an internal SATA CD/DVD drive as well.
I repeat older fails installs also on SATA just to make sure it is not USB problems.
The BSOD happen on both external USB and SATA dvd drive.
Setup is starting windows, BSOD always happened after this message.

#966 | infuscomus | ⇗ @cedar use the internal SATA CD/DVD drive for XP installs make sure to use nlite to integrate storahci driver for txtmode - ¶ Windows XP SP3 32bit and modern PC parts (59)

#967

diderius6

⇗ @cedar
Delete in boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
Dietmar

#968

cedar

@Dietmar
Sort of good news. Most recent burnt disc fail both external USB DVD drive and internal SATA DVD drive.
I just tried an old burn disc from 1 week earlier, with acpi ver 5512 on the internal SATA DVD driver,
it failed APCI install. But at "Standard mode", for the first time, it let me choose which partition to install, proceed install and successfully installed and add it to the boot.ini menu. Even though it still BSOD 7B on reboot, but at least it installed.
So the internal SATA DVD drive behaves much better than the USB external drive. Now I can swap this HDisk to another computer, and replace the older acpi ver. 5512 with the latest from June 29. and see what happen.
So now, I would "avoid" the external USB drive to install. The old disc has all the files structure burnt
correctly. Newer discs from last 2 days had Nlite problems, root files in ISO needed to be added back manually.
Ok. I will remove "/noexecute=optin /fastdetect" from boot.ini
Cedar

#969

diderius6

⇗ @cedar
I changed the cpu X4 950 against Ryzen 1700 on the Asus Prime B350-PLUS board.
Funny, the USB30 changed with the processor now to DEV_145C
where until now no 32 bit version is on the market. But USB31 is still there.
The installations CD for XP SP3 works with new acpi.sys as good as before
Dietmar

#970

cedar

@Dietmar
Good news! and good work on your X4 950. I recently learned that hardware ID got changed between IDE and AHCI mode. There was times I search for my hardware IDs and could not find a match on
the net. It was confusing and unproductive.
First time success installing XP in Standard Mode on normal boot, mouse works on USB2.0 port. USB3.1 extensive controller and hub were also installed. The other mouse on the USB3.0 port not
work yet, as there is still 1 USB controller with yellow question mark. The Hardware ID is DEV_145F
Tried your AMD3.0 driver on this USB controller. but did not work yet. may be in other PC mode, it will.
The remaining yellow mark Devices are as follow:
SM Bus controller with hardware ID DEV_790B
PCI Encryption with ID DEV_1456
PCI Device with ID DEV_145A
PCI Device with ID DEV_1455
PCI Device with ID DEV_1451
I suspect them to be south bridge controller, PCI Standard Host PCI bridge, Stander PCI to PCI bridge.
Do they needed to be installed? They don't seem to interfere much at the moment.
I will switch to ACPI Multiprocessor soon. Right now I navigate around to see if it is stable first.
Then back it up to another partition before more testing.
Edited: south bridge controller, PCI Standard Host PCI bridge, Stander PCI to PCI bridge all installed
except PSP 3.0.
Cedar

#971 | cedar | ⇗ @infuscomus Luckily, I still kept a few earlier fail installed discs. I was surprise it actually let me install sucessfuly from internal SATA drive.

#972

cedar

@Dietmar
I followed the procedures to switch-windows-xp-hal-from-standard-pc-to-acpi-without-reinstall
⇗ https://zedt.eu/tech/windows/switch-wind...hout-reinstall/
Instructions there is like below. It let me choose ACPI hal at the end of instruction without problem,
and no hanging. I can still navigate around Windows. But upon reboot, can't get in this XP Windows anymore. But I can boot another backup Standard PC mode XP at a different partition.
After normal booting ACPI Multiprocessor PC fail. I try to boot into Safe mode. It failed as well.
This is strange ,because I could boot ACPI Multiprocessor PC in safe mode from swapped hard
disk method mentioned earlier.
Their Instructions:
---------------------------------------------------------------------------------------------------------------------------------------------
So youve installed Windows Xp on a (probably very) old computer and forgot to check the BIOS to make sure APCI is enabled
Now to switch Windows Xp from the Standard PC Hardware Abstraction Layer to the A(dvanced) C(onfiguration and) P(ower) I(nterface) one so that things like standby/hibernation and auto-power off work youve got two choices:
Performs a repair install
Follow the steps below:
Open Registry Editor and browse to
HKLM\System\CurrentControlSet\Enum\Root\PCI_HAL000
Right click the 0000 key and choose Permissions. Check the Full Control checkbox for Everyone. This will give you control to edit this registry key.
Open the HardwareID value and change it from e_isa_up to acpipic_up (followed by one line break, the cursor should be on the line directly under acpipic_up).
Open Device Manager, open the Computer key, right-click Standard PC, and select Update Driver. Youll pick from a list, dont search, answer accordingly. Select the ACPI entry, which will now be shown in the Compatible Hardware list (joy!), thanks to the previous registry tweak.
If you actually CONTINUE with this and your system is NOT actually an ACPI system, it will become unbootable.
Select Next and let the new HAL install.
Reboot, and youre done!
Since hal.inf locks you into only compatible HALs, you can now update again and select Multi-Processor PC if your system supports it, then youll have multi-cores.
---------------------------------------------------------------------------------------------------------------------------
I was hoping their instructions work in my case. If works, it saves ton of time. I think there might be other
method by add hal option into boot.ini. but not sure if it works.
Edit: They use acpipic_up, may be the right one is "acpiapic_mp". for ACPI Multiprocessor PC.
Edit2: Just tried "acpiapic_mp". It shows 4 entries of CPU types allow to be changed.
So I chose ACPI Multiprocessor PC. All seem well. No hanging. Can operate Windows as usual.
Next reboot, BSOD 7B. So something deeper is happening here.
On normal boot This 7B is a bit different
7B ( 0xBACC3524, 0xC000 0034, 0x0000 0000, 0x0000 0000)
Edit3:
Try safe boot, got this
0x0000007B (0xF789E524, 0xC0000034, 0x0000000,0x0000000)

#973 | diderius6 | ⇗ @cedar All this you dont need, if you make a good installationsdisk via nlite for XP SP3, it works Dietmar

#974

diderius6

I overclock the Ryzen 1700 to 3650 MHZ. Stable, tested with Prime95, Cinebench 11.529 on XP SP3 and youtube video at the same time on the Asus Prime B350 Plus board. Max temperature is 70 degree celsius.
Now it is exact as fast as the Intel Core i7-8700K,
impressive
Dietmar
EDIT: Ram is Corsair Vengeance LPX schwarz DIMM Kit 32GB, DDR4-3200, CL16-18-18-36 (CMK32GX4M2B3200C16).

#975

cedar

@Dietmar
That is a nice system you have there :-).
I am getting closer. I could proceed to complete install XP in graphic mode. change region
setting, minor things etc. XP has no complains and stated setup is completed,and ask for
reboot.
Upon reboot, I get BSOD 7B. It could be a bios version problem. My Asus prime plus B350
bios is 4023. What version is your motherboard BIOS?
Reboot in safe mode also BSOD 7B. I am pretty sure it installed(auto) at ACPI multiproc PC.
I reinstalled at another partition sometime later. XP also said installation is completed, no errors.
So it is not files or disk errors. But restart XP also 7B and safe mode too.
I swapped the Hard disk to my Gigabyte P75-D3. Replaced jun 29 acpi.sys back with XP SP3 2008
ver. This XP from Ryzen installation work fine on P75-D3 (i3470 cpu). I verified it is indeed in
ACPI multiproc PC mode. No error, mouse worked too in P75-D3.
I think it is either my Nlite or BIOS version may be the problem.
Cedar

## Page 66

#976

infuscomus

⇗ @cedar
on your XP drive go to c:\windows\system32\drivers folder
check that you have these files
acpi.sys - our patched version - should be about 234kb in size
storahci.sys
storport.sys
if you don't have these 3 files you will get A5 or 7B BSOD

#977

cedar

@infuscomus.
They are all there. I put extra copies in driver cache , i386 folder too, just in case.
Windows may or may not look there. I also have a Sp3.cab and a Sp2.cab. I replaced
the acpi.sys in those two cab as well just case.
If I swap the XP installed on Ryzen hard disk to my other Ivy 3470 CPU system. Replace the
newest (Ryzen) acpi.sys , your checksumed version with the one original from XP SP3.
I can run this "new" installed XP (from Ryzen) on the older Gigabyte P75 Ivy system.
So, the newly installed XP seem fully functional on Ivy but BSOD on Ryzen.
On my Ivy system the same storport.sys also run the ahci mode.
I can run XP on Ryzen in standard PC with the same storport.sys and Storachi, but not
APCI Uni or Multi mode.
Cedar

#978 | diderius6 | ⇗ @cedar I test with Bios version 3806 and 5007 on the Asus PRIME B350-PLUS board, both work Dietmar
#979 | infuscomus | ⇗ @cedar do you get the same BSODs in XP textmode setup?

#980

cedar

@Dietmar
Good to know that, mine is 4023 is somewhere in between, it should work then.
⇗ @infuscomus
I got BSODs in XP textmode. and then swap the hard disk to the ivy system. Manually add
acpi.sys, storport, and USBXPSp1. Storachi is already there.
Swap back the HD drive to the Ryzen system. To install Std. mode or lately ACPI multi proc
mode. Ryzen system then let me complete install graphic mode asking bunch of usual
questions.
Name, region time zone etc. till the end. Then XP said install complete, Click finish. quite
smooth, no hiccup. On the Std PC mode. I can reboot back to XP.
On ACPI mode, next reboot is BSOD 7B, so I try reboot again, this time in Safe Mode.
Same thing, also 7B. reboot third time, 7B.
The thing is, it let me completely installed. a bit unusual here .
Cedar

#981 | diderius6 | ⇗ @cedar storport.sys is gone on reboot Dietmar
#982 | cedar | @Dietmar storport of course is always gone, after txtmode BSOD. After manually added after txtmode BSOD, it stays there. Is it not? Do you mean every reboot?
#983 | infuscomus | ⇗ @cedar during xp textmode setup do you ever see something like this? ⇗ as in, does storahci ever load?

#984

cedar

⇗ @infuscomus
I did see a textmode screen. and can choose which partition to install to. Whether the
word " Storahci" appeared at the end of the sentence. I am not sure. I will install again
to see if it is there.
I installed 3 times successfully at graphic mode. After textmode complete installed,
BSOD is expected. I knew that. If I don't use the checksum version, it will complain.
otherwise it proceed to complete textmode install. Windows folder size is about
550 MB in size after this
After textmode installed. I add Storport and USBXPSp1. Next reboot, Windows let
me install graphically with mouse working till the end. XP will say setup completed.
Ask to click "Finish" button.
On next (final) reboot, BSOD 7B. This I don't expect is normal!.
BSOD 7B with this message
(0xF78A2524, 0xC000 0034, 0x00000000, 0x00000000)
Try a 4th boot in safe mode, message "slightly changed" to
(0xF789E524, 0xC000 0034, 0x00000000, 0x00000000).
Windows folder size now is about 800 to 900MB. and Storport is here in system32\drivers
folder after "Graphic Mode" completed. I swap HD verified that Storport, acpi, Storahci
are all in system32\drivers folder.
This Ryzen XP installation will boot ACPI in my older P75 (z77 clone), with 1 file acpi.sys
replaced. So I am sure the XP is fully functional.
I will install a 4th time, may be in MPS or other mode and see what happen.
Cedar

#985 | diderius6 | ⇗ @cedar I think, the acpi.sys is restored to the original one. You only have to change this original acpi.sys (5512) against the modded acpi.sys (5048) one time more, Dietmar

#986

cedar

⇗ @diderius6
It is not ver. 5512. This version got me to Std. mode only.
I used the newest jun 29 version on the burnt disc for the 3rd successful installation.
Another older disc with jun 26 version from a week ago, I got the first 2 successful installed
at textmode. and then I replaced the older jun 26 version, in \system32\drivers
with the newest "jun 29". This let me boot again to install graphic mode successfully.
I did it twice to 2 different partitions. Both success completely installed. But both XPs
BSOD on next reboot. Safe mode BSOD too.
On 3rd installed, I burn a new disc last night contain latest jun 29 version. Textmode and Graphic
mode installed fine. Hoping it differs this time.
But still BSOD after successful XP installion. Safe mode too. I am a bit confused now.
Cedar

#987 | cedar | ⇗ @diderius6 Does it work in MPS mode? Or it is not meant to work in MPS mode. Cedar
#988 | cedar | @Dietmar I checked every time after installation. I have no version 5512 in any folders. All acpi are jun 29 lastest version. Cedar
#989 | infuscomus | ⇗ @cedar MPS has never worked for me have you got a storahci.inf in c:\windows\inf ?
#990 | cedar | ⇗ @infuscomus Hmm... there is no storahci.inf in my inf folder! Cedar

## Page 67

#991 | cedar | ⇗ @infuscomus and @ Dietmar I wonder if storport needed a .inf too?.
#992 | infuscomus | ⇗ @cedar storport didn't for me (although i needed to manually copy storport.sys over) storahci might need inf though
#993 | cedar | ⇗ @infuscomus I will put it in the inf folder. Edit: It did not work in this case, just tested.

#994

diderius6

⇗ @cedar
No *.inf is needed,
when you can install Graphik Mode until its end.
Make try to eliminate the extra entries in boot.ini.
In other case, I am quite sure, that one of the
files, I think acpi.sys (5048), is missed in
windows\system32\drivers
Dietmar

#995 | cedar | @Dietmar /noexecute=optin /fastdetect was deleted since 2 days ago on boot.ini for Ryzen. Did you hard code "Windows\system32\drivers" in Storahci or acpi? My Windows folder is renamed XP-ryz or something. This is the only thing I can think of which is different.
#996 | diderius6 | ⇗ @cedar Only C:\WINDOWS\system32\drivers is allowed Dietmar
#997 | infuscomus | ⇗ @cedar try reformatting your XP drive using default settings in windows 10 or linux - XP default settings does not align properly for SSDs then install XP onto it - in XP setup when asked to format select no changes

#998

cedar

⇗ @infuscomus
Any good utility to check alignment, are they accurate if the HD has 5 partitions?.
How do you manage trim in XP?. I read that without trim. SSD life span is several
times shorter without proper trimming.
@Dietmar
Does it mean D:\WINDOWS\system32\drivers or E:\WINDOWS\system32\drivers
will not boot XP because of acpi.sys ?!!

#999

infuscomus

⇗ @cedar
I dont think XP likes more than 5 partitions on a drive - max 4
SSD alignment see here
⇗ https://www.disk-partition.com/windows-1...ws-10-3889.html
corsair SSD toolbox can TRIM in XP
⇗ https://www.corsair.com/ww/zh/blog/the-corsair-ssd-toolbox
whichever windows is booted is always C:

#1000

cedar

⇗ @infuscomus
My C partitions are usually 2GB, sometime with w2k in it. Winntsetup can setup any drive
letter you want to the OS. It worked for me a few times. But properly not easy in this case,
within Win81.
I ended up repairing the bootmanager a few times on this XP,Ryzen setup.
My other XPs on P75-S3 boot to D: or E: etc.

#1001 | infuscomus | ⇗ @cedar you should also check that your XP drive is MBR partitioned and not GPT partitioned

#1002

diderius6

⇗ @cedar
Best tool for correct formatting any device for XP is
RMPrepUSB 2.1.739.
I use for this an ICY BOX IB-112StU3-B,
which makes life easy.
If you use something other than
C:\WINDOWS\system32\drivers
it can happen, that the arcpath is not found, gives BSOD 0x7B.
To change this, only chance is to boot without any
boot.ini (delete complete boot.ini)
and delete via regedit the whole key
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Dietmar
PS: When you set up or try something new: Make it clear and easy as much as possible,
means in this case: Use a normal harddisk formatted as above with no other partition on it and MBR, partition aligned to 2048 sectors.

#1003

cedar

⇗ @infuscomus
My drives are 2 TB. No GPT partitioned needed at the moment.
@Dietmar
My drives are 70% full. Yup, if I have a relatively empty HD, I can backup to
another drive and reformat it. The fastest route now is burn another disc
without renaming Windows default folder in NLite, and make sure
all partitions are aligned.
Nlite, on the same source files 2 weeks ago, Nlite work. About a week later,
iso created by Nlite has issue. else I would have burnt a new disc already.
It is getting pretty close to work now.
Thanks

#1004

cedar

⇗ @infuscomus
At textmode installation today, I did see StorAHCI on the right corner like your picture.
@Dietmar
Today I burn 2 discs. After edit the default Windows folder to "Window" instead of
XP-Ryz. made the ISO, checked ISO txtsetup.sif file. It is Windows as default folder.
Next add the AMDUSB30 and several more drivers. Made another ISO. burn the disc.
NLite somehow reverted it back to Xp-Ryz. Should have check the final ISO again before burn!
So changed the txtsetup.sif again. This time ISO changed "Xp-Ryz" to " Windows". I burn 2nd
disc. and installed XP to the "true" C:\Windows partition hoping it will work.
This is the 4th successful XP graohically installed. Reboot next, same "exact" BSOD 7b message,
safe mode as well compare to 3rd successful installation. When I have an empty HD, wiill reformat
as your suggested. May be alignment cause it.
I will try my Kingston SSD after backup its Win81 content first.
Cedar

#1005

infuscomus

⇗ @diderius6
i found a work around for storport not copying
in txtsetup.sif
[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4
now it copies across

## Page 68

#1006 | diderius6 | ⇗ @infuscomus Nice finding, I will integrate in CD. In few days I test new Ryzen >=3000 for XP:)) Dietmar
#1007 | diderius6 | The generic modded STORAHCI driver for XP SP3 for all AMD boards works also generic on Intel AHCI Dietmar

#1008

diderius6

I just ordered an Asus Prime x570 Pro board,
which has an COM1 port, important for windbg.
After I saw first benchmarks I also ordered a cpu
Ryzen 3700x
and then I test test test under XP SP3
Dietmar

#1009

XPLives

⇗ @diderius6
Good CPU choice. I also think it's the best one from the 7nm launch.
But why a new x570 MB? X370 BIOS update supports 3700X. X570 only good for Ryzen 9 16 Core / 32 Threads in September.
⇗ https://www.amd.com/en/products/cpu/amd-ryzen-9-3950x
Better to use the money on that CPU instead of the 3700X if pairing with x570MB.
3700X no point on it since you also own the i9-9900K with same 8 Cores / 16 Threads.

#1010 | infuscomus | ⇗ @XPLives He is testing if the newer X570 chipset and 3700X CPU is compatible with XP B350 is already confirmed to work the 300 series motherboards might have power delivery issues for the newer 3000 series CPUs - AMD left it up to the motherboard vendors to support it

#1011

XPLives

⇗ @infuscomus
If the point is testing X570 compatibility then just get the X570 MB and test an older gen CPU on it like a Ryzen 7 1700 which is 8 cores also. If it works then buy the Ryzen 9 3950x for 16 Cores.
If you want to test 7nm compatibility then just buy a low end 7nm like a cheap quad core when it comes out.
I just examined the AsRock X370 board and found it supports these latest Ryzen 3000 CPUS:
AM4 Ryzen 7 3800X(100-000000025) 105W Matisse 3.9GHz 4MB B0 P5.80
AM4 Ryzen 9 3900X(100-000000023) 105W Matisse 3.8GHz 6MB B0 P5.80
Note the 3900X is Ryzen 9 3900X
US $499 12 Cores (24) Threads
So it looks like it can handle 12 Cores without needing X570. It's possible 16 Cores might work on a X370 MB when it releases in September with a BIOS update.
Also note some of the newer > X370 MBs may no longer have legacy PCI slots on them making it harder to run 98SE retro cards so going to the newest generation will make it much harder if an older gen chipset already has the PCI slots you want and can support the 7nm CPU you want to use. It was already tough to find any X370 with them and I'm sure X470 and X570 will be even rarer.
The only slight benefit for X570 is PCIe v4.0 which most graphics cards from XP era were probably PCIe 3.0 for the extreme models so it won't have any benefit for XP at all.
If you want a chipset worth upgrading to it's 8 Dimm slots and 16GB or 32GB DDR4 or 64GB/128GB DDR5 memory sticks to reach the 256GB-1TB max. Most motherboards are capped at 64GB with 4 memory slots so 8 Cores feels too constrictive already and I would rather have 256TB memory with 8 Cores than 64TB memory with 16 Cores.

#1012 | infuscomus | ⇗ @XPLives PCI slots are still a possibility with enclosures ⇗ http://eshop.sintech.cn/pcie-express-x1-...le-w-p-933.html

#1013

diderius6

It is just a lie,
that Ryzen 1700 does not work on x570 motherboards.
Just in this moment I am installing XP SP3 on
Asus Prime x570 Pro
Dietmar
EDIT: It hangs with blinking cursor,
I cant see the harddisk. It seems to be a problem
of the STORAHCI driver.
It is not acpi related.
NVME boot also not works.
EDIT2: I connect the CD drive and the harddisk to different SATA slots,
first and last.
Now I can install XP !!!
EDIT3: Acpi multiprocessor works, network works, sound works, graphik works, but USB is a problem,
also no y-cable possible, only PS/2 mouse or keyboard.
EDIT4: Nice, on this board, the Ryzen 1700 (!) at 3741 MHZ with 71 degree Celsius max, is faster than the i7 8700k.
EDIT5: I just ordered USB card Silverstone SST-ECU05 and
I-TEC PCI-E Karte 4x USB 3.0 PCI-Express 2x external 2x internal ueber 1x 20 Pin Adapter internal USB 3.0 port Windows 7 Vista XP (PCE22U3)
⇗
⇗

#1014

XPLives

> Zitat von ⇗ infuscomus im Beitrag ¶ #1012

> @XPLives
> PCI slots are still a possibility with enclosures
> ⇗ http://eshop.sintech.cn/pcie-express-x1-...le-w-p-933.html

I recommended that enclosure method on another site about 2 years ago when SkyLake already begun phasing out PCI slots on the AsRock Fatal1ty. Fortunately other brands like Gigabyte made a SkyLake MB with 2 PCI slots.
But when building a compact fanless all in one retro machine you want as little external adapters as possible. I think there was one that you could mount internally into a 5 1/4" front slot but you'd have to do internal wiring to a rear bracket for sound output.
Finding 2 PCI slots on a X570 or Z470 / Z570 Ice Lake / Tiger Lake will probably be slim to none would be my guess. Maybe one or two models may exist as a B570 in limited quantities.
I also have a PCIe to Dual PCI Slot adapter card (no enclosure) basically the same thing without paying a fortune for the external enclosure. I haven't had time to test that either to see if all PCI cards work properly in it via the PCIe slot but this is the cheapest solution.

#1015

XPLives

> Zitat von ⇗ diderius6 im Beitrag ¶ #1013

> It is just a lie,
> that Ryzen 1700 does not work on x570 motherboards.
> Just in this moment I am installing XP SP3 on
> Asus Prime x570 Pro
> Dietmar
> EDIT: It hangs with blinking cursor,
> I cant see the harddisk. It seems to be a problem
> of the STORAHCI driver.
> It is not acpi related.
> NVME boot also not works.
> EDIT2: I connect the CD drive and the harddisk to different SATA slots,
> first and last.
> Now I can install XP !!!
> EDIT3: Acpi multiprocessor works, network works, sound works, graphik works, but USB is a problem,
> also no y-cable possible, only PS/2 mouse or keyboard.
> EDIT4: Nice, on this board, the Ryzen 1700 (!) at 3741 MHZ with 71 degree Celsius max, is faster than the i7 8700k.

Yeah I would find it strange if R7 1700 would not work. A newer one should maintain compatibility, but I hear the BIOS may run out of room soon for all the CPUs supported and I wonder if squeezing all future Ryzen 4000 CPU series will work on the X370.
Do you have any X570 MB with Asmedia 106X SATA controller to test?
Your method seems to only work with the nVME slot or is this on any AMD SATA controller too?
Which universal SATA driver are you using with the X570 and where is the link? I will try this on the regular AMD SATA controller for compatibility.
Also which ACPI.sys file are you using and I will see if X370 is compatible? The one modified by infuscomus for checksum for VM testing did not work on my X370 MB.
Try installing XP using F7 NO ACPI method on X570 and see if it boots to desktop or can only run in Safe Mode. I'm curious if it also hangs on your motherboard during first boot to desktop.

#1016

cedar

⇗ @diderius6
Good works on your Asus board.
I am having trouble to get the Lan network work.
I tried a couple of Realtek drivers by adding my hardware ID to it.
VEN_10EC&DEV_8168&SUBSYS_86771043&REV_15
It installed but with yellow exclamation mark. So it did not work.
Can I try your Asus Realtek Lan driver?.
Versions tried:
0001-Install_Win8_8.1_Win7_Vista_6112_03122014
0001-PCI_Install_XP_2K_5719_04062012
Gigabyte P75-D3 ,date 2011
Asus Prime-Plus B350 disc Lan driver.
Cedar

#1017

cedar

⇗ @infuscomus
I am having trouble with XP Realtek Lan driver.
Can I try your Asrock Realtek Lan driver too? May be
it will work on my board too.
As suggested earlier.
[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4
I added storport.sys,4. But I got message "Storport has value 0 in
[SourceDisksFiles]..." Can not install. Press F3 to exit.
Cedar

#1018 | XPLives | Did you install and get that Realtek LAN working in Windows 7 or 10? If so what is the name of the device listed in Device Manager? Sometimes it will tell you Realtek 8168A,B,C,... the last letter at the end is important. If not shown there, you have to examine your motherboard with your eyeballs and see if you can find the Realtek Chip ID name which should show the letter after 8168.

#1019

cedar

@ XPLives. The Realtek Lan works in win81. I believe I saw 8168H
with H from Doubledriver.
Edit: It is in section H. Not necessary 8168H. My mistake.
From Doubledriver 's Restore.inf of Win7 a while back.
DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=7.109.526.2017
DriverDate=5-26-2017
DriverProvider=Realtek
DriverClass=Net
DriverInfPath=oem5.inf
DriverInfSection=RTL8168H.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&subsys_86771043&rev_15
-------------------------------------------------------------------
From Doubledriver 's Restore.inf of "Win81", It has 2 IDs?!
[RestoreInformation]
DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=8.1.510.2013
DriverDate=5-10-2013
DriverProvider=Microsoft
DriverClass=Net
DriverInfPath=netrt630x64.inf
DriverInfSection=RTL8168E.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&rev_06
[RestoreInformation1]
DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=8.1.510.2013
DriverDate=5-10-2013
DriverProvider=Microsoft
DriverClass=Net
DriverInfPath=netrt630x64.inf
DriverInfSection=RTL8168.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&rev_15
Strange! 2 Hardware ID's.
Cedar

#1020

diderius6

⇗ @cedar ⇗ @infuscomus ⇗ @XPLives
I use this lan-driver for Realtek.
acpi.sys is my latest version and STORAHCI (big thank to Samuel Marins Oliveira) also with new storport.sys and txtsetup.oem
Dietmar
PS: I do not edit txtsetup.sif by hand, only use nlite and copy by hand acpi.sy_ and storport.sy_ via makecab.exe to the installationsfolder i386 for CD.
diderius6 has attached files to this post

- ⇗ PCIE_Install_5836_02142018.rar
- ⇗ acpi.rar
- ⇗ storahcitxtsetup.rar

## Page 69

#1021 | cedar | ⇗ @diderius6 Thanks. I will try them soon. Cedar

#1022

XPLives

Yeah you will have to do the eyeball to motherboard check.
Look for where the Ethernet connector comes in from the rear side of the motherboard. Then follow that into the motherboard and look for any Realtek 8168 chip. You can find which model it is that way.
Probably starts with RTL.
I have a few PCIe NIC from Realtek and you can read it off the chip if you look closely.
I can confirm the one in Ivy Bridge I had is 8168E that works in XP.
Okay the one I recommended to buy off eBay the chip will say on it:
RTL8111E.
Cost about $5 on average shipped to the US total cost.
This one works great if not depending on the motherboard to hook it up which sometimes you have to be picky about which motherboard to get if you don't want to use any internal slots up.

#1023

diderius6

I just flashed the new Bios PRIME-X570-PRO-ASUS-7010
with result, that the board with Ryzen 1700 does not promt any longer, brrr.
But before I make a complete extract of the Bios with Universal BIOS Backup ToolKit 2.0.exe.
Now I am going to flash the Bios back, because ASUS CrashFree BIOS 3 does not work at all!
The Bios chip is Winbond 25Q256JWEQ, which is package size WSON 8x6-mm (8 pins)
25Q256JW
1.8V 256M-BIT
SERIAL FLASH MEMORY WITH
DUAL/QUAD SPI
I use for this Epromer tl866ii plus which supports this Bios chip as W25Q256JW(1.8V) @SOIC8
Dietmar
EDIT: I cant flash this Bios chip until now, because the package size 8x6-mm is too big for my test clip.
Because my original 407 Bios version is not listed at Asus site, I think, they just deleted the CPU id for Ryzen 1700,
for to make true, that this first generation of Ryzen chips can not work on this board..

#1024

diderius6

I just see, that the Universal BIOS Backup ToolKit 2.0.exe reads out only 16Mbyte (I compared 2 times)
but the Bioschip 25Q256JWEQ is 32Mbyte!!! So, on 256 Megabit Bios chip forget about this tool!
(EDIT: May be, that the Bios was before 16 Mbyte. And this information is written in header and the rest may be only FFFFFFFF..
In this case, I have a working Bios file.EDIT2: No, the Bios is always 32 Mbyte. The Tool Universal BIOS Backup ToolKit 2.0 does not work for this BIOS. )
I make a try with Epromer tl866ii plus to read the chip out, but fail.
I solder 8 cables, check check check each one for good contact, ok, works.
But even without cpu, ram, cmos battery,
the Epromer told "unknown chip" (but Pin check is ok) and reads out only FFFFFFFFFFFFFFFFF...also as serial number FFFFFFFF.
This behavior I know from results with other Bios chips, it just means, that not enough power is left for the insoldered chip.
To solder this Bios chip out will be a hard job, because other solder points are very near.
So I make NO try to write anything to this Bios chip, I also have no valid copy(?see above) from original Bios before.
Now, I desolder all cables, connect cpu, batterie, ram but behavior is the same as before:
The yellow LED is on all the time (ram). I changed to other DDR4 ram, test every slot,
no success, always yellow LED on.
So I wait for my 3700x cpu and then we will see.
No error message has been there when updating the Bios with Asus EZflash tool from version 407 to 7010.
Dietmar
⇗

#1025

cedar

⇗ @XPLives
Wow, it is small like a pea on the motherboard.
I need a flash light. It shows 8111H on the chip.
Good info to know, thanks.
After adding my HW ID to Dietmar's driver. Networking is ok now.
The remaining 2 devices still have yellow exclamation mark are
the AMD GPIO device and USB 3.0 driver. If I try to install
USB 3.0 driver on the Standard Enhanced USB controller(installable),
but with no function USB HUB driver.
I got BSOD with USBport.sys error. So mouse on USB 3.0 port not
working, but mouse on 3.1 port works, as USB 3.1 driver works.
Cedar

#1026

diderius6

I changed the cpu Ryzen 1700 against Ryzen X4 950 on the Asus Prime x570-Pro.
This time nothing at all happens, when I try to start the board.
So I hope for the best, that the Ryzen 3700x (comes tomorrow)
will boot this board. Interesting, if it is possible to flash back to the first, original 407 Bios
Dietmar

#1027

diderius6

The yellow LED (ram) stays enlighted, even with new processor Ryzen 3700x on the Asus Prime x570-Pro.
So, Asus has done a very bad job on their new Bios 7010 for this board. No flashback Bios no crashfree Bios, all lie
Dietmar
PS: Hope, that desoldering the Bios chips and flash new (with old Bios 407) will help.
Or I put this board away and just stay with Intel.
It is not me, to give up so quick. I just ordered the Epromer REVELPROG IS
who supports the 25Q256JW Bios chip. I hope, that with this Epromer I can flash
the still insoldered Bios chip. Until now, I do not find this Bios chip for to buy.
EDIT: I found this Bios chip at mouser.com and ordered it:
Mouser-Nr.:
454-W25Q256JWEIQ
Herst.- Nr.:W25Q256JWEIQ
Beschr.: NOR-Flash spiFlash, 1.8V, 256M-bit, 4Kb Uniform Sector
EDIT2: After long search I found also a socket for this Bios Chip
Description
The socket is designed for chips with WSON8 6*8 mm package. The socket can be soldered directly on the WSON8 6*8 mm PCB foot print. Will be not easy to solder.
⇗

#1028

diderius6

I succeed to flash the original Bios 407 back to the Asus Prime x570-Pro board.
The serial number of the Bios chip 25Q256JWEQ is EF6019.
Uefi tool shows this as a valid Bios, 16 Mbyte.
I test this 2 times. All seems ok. I also read out before the "new" Bios 7010, Uefi tool show this as valid Bios, 32 Mbyte.
I reset Cmos, put the Ryzen 1700 in, which works there before.
But the yellow LED (ram) continues to shine. I test different DDR4 rams, in different slots. Always the same,
Dietmar
EDIT: I just order a new board Asus Prime x570-Pro.

#1029

diderius6

This message I send to Asus:
"Dear Sirs and Madames,
5 days ago I bought an Asus Prime x570-Pro.
The CPU is Ryzen 1700. Everything worked with it.
A bios version 407 was indicated to me.
I have made a backup of this bios,
however, it does not work, possibly because of the wrong size 16 Mbytes, since the new updates all have a size of 32 Mbytes. The biochip is Winbond 25Q256JWEQ (Wson 8 * 6, 8 pins).
With this Ryzen 1700 CPU I have updated to the Bios 7010. The update via USB stick was normal, means works full until the end, without any error message.
After that I could not start the board anymore, the yellow LED (RAM) lights up constantly. Other DDR4 Ramsticks in different slots do not change that.
I have also tested the Ryzen processor 3700x, the yellow LED is constantly on.
I would be very happy if you could send me an original Bios 407 with the number for the network card, etc.
I have experience in biosupdate and can flash a bios by eprommer.
Please send me such a bios without the CAP backup,
many greetings
Dietmar
"

#1030 | diderius6 | Now I will test the Ryzen 3700x for XP on the Asrock Fatal1ty AB350 Gaming k4 board, there I can change the Bios chip Dietmar

#1031

diderius6

Yessssssa, nice board Asrock Fatal1ty AB350 Gaming k4 !!!
I think, this is very first time, XP SP3 on Ryzen 3700x.
I update Bios from 5.40 to 5.80.
Size of Bios is always 16 Mbyte.
Even USB 3.1 works, ACPI, lan, sound, STORAHCI, mouse, y-cable on PS/2 and everything else.
The Ryzen 3700x is in Cinebench without any overclock
exact as fast as the 9900k
Dietmar
EDIT: Chipset is not running hot, and also the Mosfets not. Temperature is about 50 degree Celsius
with Prime95, 3DMark2001, Cinebench, Youtube video running all at the same time.
The CPU Ryzen 3700x reaches 78 degree Celsius during this torture , which is about the same as with Ryzen 1700.
Both use 65 Watt.
EDIT2: I just get 143 brandnew updates for XP SP3 from Posready2009:)).
EDIT3: Any overclocking makes the cpu a little bit slower!
EDIT4: Nvme boot of XP does not work. Last time was with Bios 3.30.
EDIT5: With nearly zero load, cpu core is 1.50 Volt (standard settings all). This is not good for cpu long life.
⇗

#1032

XPLives

⇗ @diderius6
Try installing XP with F7 NO ACPI method on the same motherboard.
Will it install XP all the way to first desktop boot or freeze?
Freezes on my Asrock X370. Safe Mode works but very sluggish as if something stalling it and mouse is laggy sometimes.
Any Windows 2000 OS install on Ryzen success?
Maybe try to add 3700X CPU MicroCode to BIOS 3.30 so it works and can use nVME XP boot?
My hope is Intel Ice Lake / Tiger Lake continues same backward compatibility as Z370 so XP will continue to work using 10nm including Windows 2000.
Seems too many compatibility issues with AMD AM4 so far. Intel's backward compatibility is superior.
Intel Sapphire Rapids for 7nm and DDR5 / PCIe 5.0 256GB-512GB RAM support with 8 memory modules I will upgrade then and use XP.
Tired of limited 64GB memory max with 4 slots instead of 64GB DDR5 memory sticks and 8 slots to match the 16 Cores / 32 Threads.

#1033

diderius6

⇗ @XPLives
I have not tried to install "Standard PC" on Ryzen 3700x,
because then you dont get Acpi after.
Only vice versa this works.
The installation works without any crash or freeze.
I noticed another thing: On Ryzen 1700 the STORAHCI driver was faster than the ASM106x.
But on Ryzen 3700x, the ASM106x is faster
Dietmar
PS: Asrock changed whole Bios from version 3.30 to version 3.40.
With 3.40 the problem with lancard is gone, but also nvme boot is gone.
So, in the end I stay with Intel, because those kind of problems I have never seen there.
It is a problem of how the board is constructed. Crazy, how Asrock can to give lancard the same lines as for USB3.1.
On all my newer Intel boards I can do nvme boot of XP SP3 and those crazy problems with Bios updates I match the first time with AMD, brrr.., but ok, now I am again better in soldering..and do crazy things to flash an Bios chip:)).

#1034 | infuscomus | ⇗ @XPLives Can you take a screenshot of the A5 BSOD you are getting on X370 in XP?

#1035

diderius6

⇗ @Lost_N_BIOS
Can you please help me to save my Mac adress etc.
from the broken Bios of AMD board asus prime x570-pro?
I make a backup with working Bios 407 with Universal BIOS Backup ToolKit 2.0.exe, which may have wrong file 16Mbyte size which I call 407.
The other is with Epromer full read out after the update, not working Bios 7010 32MByte,
I call 7010.
Dietmar
PS: Both Bioses should have Mac adress etc. from my board and they should be identic.
⇗ https://ufile.io/0nlebva8
⇗ https://ufile.io/pttbiy9k

## Page 70

#1036

diderius6

Ok, what I found with Winhex for the Asus Prime x570-Pro board in its readout of Bios 407 (and also 7010) is
SN 190551498900517 (Dezimal) at 2 places
MAC 04D9F51E29E0 (Hex) at 2 places
UUID D008090B92A5E8F9C07D04D9F51E29E0 (Hex) at 2 places
From Asus Website I download oldest Bios, what I can get
0602 version.
This Bios I open with UEFI-Tool and for to delete cap I store only UEFI image (under AMI Aptio capsule).
I use FD44Editor.exe to copy this values direct into the downloaded Bios (free from cap) from Asus website (to change the 2 times 50 (FF..) against the above values at its 2 places )
and flash via Epromer direct to Bios chip,
Dietmar

#1037 | diderius6 | I flashed this bios 602 with Mac, UUID, SN back to Asus Prime x570-Pro board. I doublecheck, that the written Bios is exact the same as the Bios file. But still the yellow LED is on, so something really bad is going on Dietmar
#1038 | infuscomus | ⇗ @diderius6 faulty RAM maybe?

#1039

diderius6

⇗ @infuscomus
No, I tested different Ram sticks, different brands. All they work on other boards.
Double, single mode, each slot.
It is Bios related, because the same ram works before also on this board,
see photos in post 1013 here. And it is not only one Bios
for this motherboard, that fails. The 602 version fails also,
next to 7010.
The only Bios, that worked, was version 407 for Ryzen 1700.
Tomorrow I will test this Bios 407 and also Bios 804 on second new board Asus Prime x570-Pro with Ryzen 3700x.
Dietmar
PS: Asus sent me mail, that they accepted my case
but nothing more.

#1040

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1033

> @XPLives
> I have not tried to install "Standard PC" on Ryzen 3700x,
> because then you dont get Acpi after.

Yes that is the point of the test to see if it installs fully and boots to the desktop in F7 NO ACPI method. If it works then you can still use XP minus hyperthreading and shutdown/standby on AMD AM4.
This determines compatibility. In all the tests I've seen with Coffee Lake and SkyLake both have no issues installing XP to completion using this method.
I want to see what happens on your X370 and your X570 MBs using "F7 NO ACPI method" if XP can install successfully and boots to desktop in normal mode.
If not I want to know where it freezes and if Safe Mode works to get to the desktop during this failure.

#1041

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #1034

> @XPLives
> Can you take a screenshot of the A5 BSOD you are getting on X370 in XP?

It's your typical BSOD A5 screen message.
Here are the Error Codes using your image:
⇗ How to install Windows XP OS on AMD (AM3+ 990FX and AM4 X370 Ryzen 7)

#1042 | diderius6 | I just ordered the cheapest RAM stick (20 Euro), which is in the compatiblity list from Asus for memory for the Asus Prime x570-Pro board. G.Skill NT Series DIMM 4GB, DDR4-2133, CL15-15-15-35 (F4-2133C15S-4GNT) Dietmar PS: If this one also will fail, it is to 100% the fault of Bios from Asus.
#1043 | diderius6 | ⇗ @XPLives At the moment I have no working x570 board. But I think, without ACPI install of XP SP3 will be no problem Dietmar PS: When you install XP SP3 via CD, the screen with special BSOD is important for diagnosis.

#1044

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1043

> @XPLives
> At the moment I have no working x570 board.
> But I think, without ACPI install of XP SP3 will be no problem
> Dietmar
> PS: When you install XP SP3 via CD, the screen with special BSOD is important for diagnosis.

Test on your X370 MB with F7 NO ACPI method install. Let me know the results for your Ryzen 7 3700X and Ryzen 7 1700 CPUs if both install XP successfully with NO ACPI.
BSOD A5 ACPI Error Code Results are here:
⇗ How to install Windows XP OS on AMD (AM3+ 990FX and AM4 X370 Ryzen 7)
Unfortunately your ACPI.SYS did not work. It's possible your ACPI.SYS is only compatible with your MotherBoard or just Ryzen CPUs but not earliest AM4 Bristol Ridge and Raven Ridge CPUs.
At the moment I cannot say the ACPI.SYS is universal since it has failed on my X370 which should have worked.
I have yet to test it on the SkyLake and Coffee Lake MB to see if that fixes the ACPI issue.
I'm now testing F7 NO ACPI method using the same image. Should see the new results within the hour.

#1045

diderius6

⇗ @XPLives
Read post 891 here
Dietmar
PS: I test Athlon X4 950, A8-9600, Ryzen 1700, Ryzen 3700x, 8700k, 9900k for XP SP3.
All work with this acpi.sys. And Infuscomus test also 2400G with success.
Also I test some Celerons, Pentium for Skylake, Coffeelake, work with full ACPI.

#1046

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1045

> @XPLives
> Read post 891 here
> Dietmar
> PS: I test Athlon X4 950, A8-9600, Ryzen 1700, Ryzen 3700x, 8700k, 9900k for XP SP3.
> All work with this acpi.sys. And Infuscomus test also 2400G with success.

If your X370 works with Bristol Ridge then maybe motherboard differences exist between B350 and X370 chipsets.
Test F7 NO ACPI on your B350 XP install on your Bristol Ridge see if it can install XP completely to first desktop.
Still installing XP (driver.cab) 7% stuck for a long time almost half an hour. Might reboot the computer and hook optical drive to a different SATA port than AMD if this takes too long with no progress.

#1047

diderius6

⇗ @XPLives
Until now I do not have a x370 board for testing.
From AMD I tested B320, B350, x570 which all works with full acpi and XP SP3
Dietmar
PS: I installed XP SP3 on 2 different Bristol Ridge CPUs without and also with acpi,
see above.

#1048

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1047

> @XPLives
> Until now I do not have a x370 board for testing.
> From AMD I tested B320, B350, x570 which all works with full acpi and XP SP3
> Dietmar
> PS: I installed XP SP3 on 2 different Bristol Ridge CPUs without and also with acpi,
> see above.

Ahh... I had to reset then moved both optical drive and SATA SSD to Asmedia 106X ports.
I think AMD SATA ports dislike XP installation for some reason. Even SSD on AMD and optical drive on Asmedia had issues.
Seems to copy now faster on both Asmedia but hanged on different parts after files copied.
Now I reset the BIOS and do a clean test again now to be certain no conflict.
Were your ACPI and NO ACPI tests all done on SATA SSD on Asmedia SATA ports?

#1049

diderius6

⇗ @XPLives
Most I use normal harddisk (I use about 20 harddrives each 2 Terabyte black WD, very fast>200 Mbyte/sec)
because I can easy format, align and copy file by file from and to them via USB adapter
Dietmar
PS: Before we have STORAHCI driver, which works for any AMD and any Intel SATA, I always use asm106x. Only for Intel board,
there has been a generic SATA driver for years now on the market.
The CD drive only hangs, when the CD disk is not absolut clean.

#1050

infuscomus

⇗ @XPLives
So my install media that I used for my AB350 GamingK4 board froze for you on X370?
What motherboard do you have?
Which BIOS version?
BSOD A5 ACPI Errors:
0x00000011
0x00000008
0xF79A1478
0x20120913
I think this means ACPI failed to load DDB.
⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error
I would get this error when I tried to patch the DSDT table, never worked and ended up using the patched driver that supports more arguments (CreateQWordField for example)

## Page 71

#1051

diderius6

⇗ @Lost_N_BIOS
Do you know a tool,
that can read out the full 32 Mbyte of Bios chip on AMD AM4 board Asus Prime x570-Pro?
Universal BIOS Backup ToolKit reads only 16 Mbyte out,
but Winbond chip 25Q256JWEQ is 32 Mbyte,
Dietmar
PS: Ok, this means soldering.

#1052

diderius6

With original readout of the 407 Bios (nightmare, is really 32 Mbyte and not all FF after first 16 MB, so the tool
Universal BIOS Backup ToolKit 2.0 cant be used for this Bios chip with 32 Mbyte!)
I succeed to start with Ryzen 1700 and with Ryzen 3700x
on the AMD AM4 board Asus Prime x570-Pro XP SP3 full Acpi, all works, USB only via Pcie card.
The website from Asus tells only nonsense about Bios versions, compatible Ram and compatible processors for this board Asus Prime x570-Pro. And the most evil is, that the Bios version 407 cant be found there.
Ryzen 1700 works at once with all different ram sticks,
but for the Ryzen 3700x I had to change ram as much as possible,
before one time I see the yellow LED blinking.
After next 4 tries with changing ram, slots..
the board starts with Ryzen 3700x. Any other Bios version than 407 does not work on this board until now.
NEVER update your BIOS on this board or you will be lost!!!
EDIT: After 30 min prime95 with Ryzen 3700x it crashes. The Asrock Fatal1ty AB350 Gaming k4 runs stable for about 2 hours with the Ryzen 3700x and the torture includes prime95, Cinebench, 3Dmark2001 and Video from Youtube all the time.
So, this 80 Euro board is better than this new one for 280 Euro, brrr..
EDIT2: With Ryzen 1700 @3641 MHZ and the same torture test, the Asus Prime x570-Pro (Bios 407) crashes after 53min.
Tmax is 74 degree Celsius. Repeating the same for Ryzen 1700 no overclock at all, now it crashes after 35 min.
Asus Prime x570-Pro is build quick and dirty.
Dietmar
⇗

#1053

diderius6

I run a new stresstest on the Asrock Fatal1ty AB350 Gaming k4
with the Ryzen 3700x cpu.
prime95, Cinebench, 3dmark2001, video from Youtube all the time.
It is stable, nice board.
Even the temperature managment is better on the Asrock board than on the asus prime x570-pro:
78 degree Tmax Asrock against 81 degree Celsius Tmax Asus in long run
Dietmar
PS: Asus send me a mail, that I can rma the board.
And that they dont have the Bios 407 (from their own board(!)) .
Oh, a lie in combination with worst service ever.
EDIT: Correction, Asrock Fatal1ty AB350 Gaming k4 board crashes on this torture also after about 1 hour.
First network connection is gone (this is reproducible in about 1 hour torture) (Youtube) and then BSOD, brrr..
EDIT2: Now 90 min torture on the Asrock board without any crash.

#1054

diderius6

I succeed to flash the Bios back on the Asus Prime x570-Pro board,
something, from what the man from Asus told "it is impossible".
The Bios chip is now "hardwired",
I use the SPI-TPM link for this:
Adapter with 2 rows a 7 pin, 2 mm distance
SQT-107-01-L-D
via mouser.com
Dietmar
PS: By the way I notice, that all about Mac, UUID, serial etc. is also nonsense.
I have now 2 compis which where to 100% identic.
Take a look at the Bios version:))!!!
EDIT: On Cinebench, the Ryzen 3700x is 23% faster as the Ryzen 1700. Hm, for what is the Hype?
⇗
⇗
⇗

#1055

diderius6

The REVELPROG IS is by far the best Epromer, that I know.
It is manufactured in Poland and quite expensive (150 Euro).
Very good quality and good Software support.
And it is fast. It runs on XP SP3, Vista, Win7, Win8, Win8.1, Win10 (all 32 or 64 bit).
Now I can read and flash any Bios chip,
without any soldering or to put the Bios chip out of the mainboard.
No clip is needed. I just use the SPI TPM connector with this nice Epromer, professional as in factory,
Dietmar
PS: It includes a Hexeditor, so you can manipulate single Bits in Bios file and flash this new Bios.
Also it has a checksum tool.
And a DiffChecker tool, that allows you to compare 2 bin or hex files at one screen (waoh).
EDIT: SPI TPM (female) Adapter is 2 rows 7 pin, 2 mm distance
SQT-107-01-L-D
via mouser.com

#1056

nofearek9

hello,whats the solution for winxp to see hard drivers bigger than 2TB ? Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.

#1057

diderius6

⇗ @nofearek9
You can buy the driver Paragon GPT Loader for XP, I have,
with which you can read GPT drives under XP as large as you want
Dietmar
EDIT: And even with MBR XP can work via USB with really big drives, just formatted
with NTFS and 4k sectors.
⇗ https://www.seagate.com/de/de/internal-h...s/hdd/ironwolf/
16TB 5 years garantie, 250 MByte/s, sectors 512e , means Emulation via 4k should be recogniced from XP from start.
By the way, I prefer WD, no error on HD in 10 years.
Align to 4096 sectors and all HD with 512e > 2TB can be used in XP 32 bit also as boot device with MBR,
very fast, no difference to <= 2TB.
⇗ https://geizhals.de/western-digital-wd-b...=de&hloc=de&v=k
250Mbyte/s read, write in XP, nice.

#1058

nofearek9

i dont want to format the drives cause they already have data on them,its about 3TB usb drives,paragon dont offer anymore the driver is discontinued. Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.

#1059 | infuscomus | ⇗ @nofearek9 I have GPT loader if you want it

#1060

nofearek9

yes please ,if you can upload it will be nice,thanks. Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.

#1061 | infuscomus | ⇗ @nofearek9 I sent you a PM

#1062

XPLives

⇗ @nofearek9, ⇗ @diderius6, ⇗ @infuscomus

> Zitat von ⇗ nofearek9 im Beitrag ¶ #1056

> hello,whats the solution for winxp to see hard drivers bigger than 2TB ?

Since this discussion relates more to my other thread I felt it better to respond there in its entirety where it makes more sense.
⇗ The XP Yeager Project: 16TB -- Breaking the 2.2TB Capacity Barrier

#1063 | canonkong | I had made some generic USB drives for XP 32/64bit, and it test on my B360, X370 and R7-3700X has a usb controller named 149C, the same with X570. They are all working!
#1064 | infuscomus | ⇗ @canonkong Nice! I have a B350, 2700X, 2 extra AMD USB 3 controllers 15E0 and 15E1 that currently are not working on XP
#1065 | nofearek9 | thank you all for your replys. Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 . Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.

## Page 72

#1066

diderius6

⇗ @canonkong
I am very interested,
how you reach this
Dietmar
PS: Do you have an idea, how to make USB ports on newer Intel boards to work under XP?
This would be a big step forward.

#1067 | canonkong | ⇗ @diderius6 Modify like win7 usb drivers for new platforms. You need to find some USB driver support XP and use XHCI 1.0 and modify them inf/sys files. Then sign the driver.

#1068

XPLives

!canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1067

> @diderius6
> Modify like win7 usb drivers for new platforms. You need to find some USB driver support XP and use XHCI 1.0 and modify them inf/sys files. Then sign the driver.

What is your interest in XP and Windows 7?
Can you make Intel USB 3.0 driver for Vista work?
I'm not sure what your process is.
You took Intel Windows 7 USB 3.0 driver and did what to it to make it work in XP?
How do you sign the driver for XP?
Can you modify Intel XP Graphics Driver for Intel HD Graphics 4000 to work on newer SkyLake HD Graphics 530 and Coffee Lake 630?
Would be nice to use newer Intel HD Graphics 4000 driver even if not using the full power of the iGPU while under XP instead of generic Windows driver.
Also any way to modify the graphics driver to use shared memory above 4GB memory region instead of taking away from XP OS region and increase shared memory usage range higher like 2GB to 4GB RAM?

#1069

canonkong

⇗ @XPLives
I am still using win7 for my B360 Z390 X370 and prepared to buy X570 and 3950X, they all will install win7 because I dont like Bug10.
I modified few usb drivers for B360/H370/Q370/Z390 and X570, they both can work on win7/win8/8.1,but I dont have try vista. Maybe it also can work.
I aslo modified UHD630 drivers for win7/win8/8.1, but I dont think it can support Xp.
For sign, I have signtool to do that.
XP 32bit can also support above 4G RAM like server 2003.

#1070

diderius6

⇗ @canonkong
I have a lot of USB 3.0 and USB 3.1 drivers,
which work under XP.
To modify *.inf is clear for me,
but all fail for newer Intel chipset USB ports (bluescreen or drivers does not start).
How to modify *.sys files as you told?
Is there the _DEV number something like hard-coded in the *.sys files for XP
Dietmar

#1071

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1054

> I succeed to flash the Bios back on the Asus Prime x570-Pro board,
> something, from what the man from Asus told "it is impossible".
> The Bios chip is now "hardwired",
> I use the SPI-TPM link for this:
> Adapter with 2 rows a 7 pin, 2 mm distance
> SQT-107-01-L-D
> via mouser.com
> Dietmar
> PS: By the way I notice, that all about Mac, UUID, serial etc. is also nonsense.
> I have now 2 compis which where to 100% identic.
> Take a look at the Bios version:))!!!
> EDIT: On Cinebench, the Ryzen 3700x is 23% faster as the Ryzen 1700. Hm, for what is the Hype?
> ⇗
> ⇗
> ⇗

Only 23% faster is not bad for one generation for AMD. But I think the real hype is the lower wattage consumption going to 7nm.
I still think Intel has better BIOS options than AMD on the same MB manufacturer. I don't know why that is.
Can you lower CPU Ratio to below 8 on your X570 MB?
Can you decrease CPU speed below 800 MHz?
How low can the CPU Core Voltage be set?

#1072

canonkong

⇗ @diderius6
Use IDA7.0, it can show the sys files running. Find out the DEV_ID confirm parts, replace ID or use jmp and nop to block them.
You can download this modified driver, it not only can support Intel USB devices, you can modify the ID like CC_0C30 or CC_0C330, that it can work almost all usb controllers devices.
⇗ [Solution] Win7 drivers for USB 3.0/3.1 Controllers of new Intel chipset systems

#1073

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1069

> @XPLives
> I am still using win7 for my B360 Z390 X370 and prepared to buy X570 and 3950X, they all will install win7 because I dont like Bug10.
> I modified few usb drivers for B360/H370/Q370/Z390 and X570, they both can work on win7/win8/8.1,but I dont have try vista. Maybe it also can work.
> I aslo modified UHD630 drivers for win7/win8/8.1, but I dont think it can support Xp.
> For sign, I have signtool to do that.
> XP 32bit can also support above 4G RAM like server 2003.

Yes that is why I wonder if you can use the Intel HD Graphics 4000 driver for XP to work on HD 530 and 630 Intel Graphics with some modding?
Not the other way modding Windows 7 driver to work in XP.
Vista if you can make work for Intel USB 3.0 will work for Windows 7 and maybe 8 automatically. Forward compatible so no worries.
Which signtool for XP do you use?
XP 32-Bit can use over 4GB but mainly for a large Ramdisk but 2003 does it better directly.
"Use IDA7.0, it can show the sys files running. Find out the DEV_ID confirm parts, replace ID or use jmp and nop to block them."
Which USB 3.0 driver are you modifying to work in XP?
Can you use a hex editor to modify the parts also?
Are you getting full USB 3.0 speeds in XP or USB 2.0 speeds?
Did you test with all USB devices working? - USB Keyboard, USB Mouse, USB Audio, USB hard drive, USB webcam?

#1074

canonkong

⇗ @XPLives
Signtool can use Asia Trust signtool.
You need find a driver can support XP original then when you modified the sys file,it will success more easily. Almost all usb drivers can modify support other devices if the driver use XHCI1.0 original.
Use IDA will better than HxD.
The speed base one the controller, if it can support usb3.0, it will run 3.0 mode.
Almost all usb devices can work, but USB to nvme disk maybe can not work if you dont link a usb hub.

#1075

diderius6

⇗ @canonkong
How can I find "DEV_ID confirm parts" with IDA pro
in *.sys file? Have I to mod both, xhci and hub driver? Do I need the *.pdb for this?
Is there a difference between AMD and Intel USB drivers?
Is there a difference between USB3.0 and USB 3.1?
Which XP 32 bit USB 3.0, USB 3.1 drivers you woul recommend for hack?
Have you done this for XP with success?
Is PCI\CC_0C03 best as generic _DEV
Dietmar
PS: Sorry for this a lot of questions. But I want to make USB work on newer Intel, AMD chipsets for XP.

#1076

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1074

> @XPLives
> Signtool can use Asia Trust signtool.
> You need find a driver can support XP original then when you modified the sys file,it will success more easily. Almost all usb drivers can modify support other devices if the driver use XHCI1.0 original.
> Use IDA will better than HxD.
> The speed base one the controller, if it can support usb3.0, it will run 3.0 mode.
> Almost all usb devices can work, but USB to nvme disk maybe can not work if you dont link a usb hub.

The link you had earlier was for the Windows 7 USB 3.0 driver? Or does that one also work on XP?
If not where is the one for XP you modified?
Which XP USB driver company did you base the mod test on before you modified it? It was not Intel since they didn't have any XP or Vista one released even today.
How do you know which USB drivers support XHCI1.0 original? Are you referring to USB 3.0 drivers for XP and not USB 3.1?

#1077 | canonkong | ⇗ @diderius6 Just modify xhci.sys and *.inf is enough. *pdb is not need. I didnt found any difference between 3.0 and 3.1.They both can work. NEC VIA intel amd both are ok. I will share an USB driver tonight when I after work, you can test it and report it.

#1078

diderius6

⇗ @canonkong
The VIA USB 3.0 driver is very stable and fast in XP. So this would be a good choice.
I just take a look at the Asmedia ASMUSBHost_v1.16.55.1 driver for USB 3.1 for XP,
which works. You are right, for example in xhci.sys with unicode 0, <PCI\VEN_1B21&DEV_2142&*>,0
is hardcoded there, so it can work
Dietmar
EDIT: I just make a test, changing in Asmedia ASMUSBHost_v1.16.55.1 driver for USB 3.1 for XP

    asmtxhci.sys

    PCI\VEN_1B21&DEV_2142&*   =>  PCI\CC_0C03

    5000430049005C00560045004E005F00310042003200310026004400450056005F00320031003400320026002A000000

    =>

    5000430049005C00430043005F0030004300300033000000909090909090909090909090909090909090909090909090

#1079 | diderius6 | At once I come to the idea, to test this nice method from ⇗ @canonkong also for other devices, namly Intel(R) Ethernet Connection I219 Dietmar
#1080 | infuscomus | ⇗ @diderius6 I wonder if HWIDs are hardcoded into nvidia drivers? It would be awesome to have RTX 2080Ti working on XP sure ray tracing won't work but still having a faster GPU would be nice

## Page 73

#1081

diderius6

⇗ @infuscomus
I think, it has only a chance to work,
when there is a generic driver, as for USB
PCI\CC_0C03
Then you can change the special VEN_&DEV_ against the generic one
Dietmar
PS: And you need a driver, that works for XP before.
Sometimes you have luck with driver for Vista or Win2003 or Win7.
This you can check with Dependency Walker. If there is one red mark, no chance without
heavy mod.

#1082 | canonkong | ⇗ @diderius6 Try it, maybe can both support AMD and Intel usb device. Tell me it wokes or not.

#1083

diderius6

⇗ @canonkong
On Intel board this nice driver works as generic USB 3.1 for XP SP3 32 bit.
On Intel board for USB 3.0 this driver does not work.
Waaoh, great work
Dietmar
EDIT: Correction: The driver (xhci and hub) installs, but the device (USB stick or mouse) is not recogniced.

#1084 | canonkong | ⇗ @diderius6 What about AMD 300/400series and x570?
#1085 | canonkong | ⇗ @diderius6 "The driver (xhci and hub) installs, but the device (USB stick or mouse) is not recogniced." intel usb3.1 or 3.0, and both can not work? There few ways to modify it. Maybe need to change somewhere.

#1086

diderius6

⇗ @canonkong
USB 3.0 does not work.
For USB 3.1 xhci and hub driver installs correct,
but the mouse and Usbstick is shown as unknown device
with each Vid_0000&Pid_0000
meaning, those numbers are not recogniced gives "unknown device"
in device manager. This happens for mouse and for Usb stick
Dietmar
EDIT: This empty Vid&Pid means, that Usbstor.sys is not loaded.

#1087 | canonkong | diderius6 What about AMD 300/400series and x570? Because this driver once is prepare for X570, just add an ID for intel, not fully suport , maybe intel platform need to fix somewhere.

#1088

diderius6

⇗ @canonkong
On the Asus Prime x570-Pro
all USB3.0 slots work (mouse, usb stick) under XP SP3 with your driver.
All drivers for USB3.1 and USB3.2 are installed,
but usbstor does not start for them, which gives unknow device (for mouse, usb stick) as for the Intel board
Dietmar

#1089 | canonkong | ⇗ @diderius6 "X570 is working well? All USB3.0 slots work (mouse, usb stick) under XP SP3." Right? "All drivers for USB3.1 and USB3.2 are installed,but usbstor does not start for them, which gives unknow device" meant x570 for mouse, usb stick can not work?
#1090 | infuscomus | ⇗ @canonkong is amdstor.sys necessary? can you just use usbstor.sys?
#1091 | canonkong | @ infuscomus Maybe we can try it.

#1092

diderius6

⇗ @canonkong
I tried the Asmedia Usb files.
They are installed,
ask for reboot,
but then not start.
The Asmedia USB has the advantage, that there are real USB3.1 and USB3.2 drivers for AMD and Intel.
When you can describe a little bit more, how and what you change in the xhci.sys file
may be I can help you
Dietmar
PS: My own created Asmedia driver is also installed correct, but does not work.
EDIT: No other files are needed. It is just a small missing thing in modding xhci.sys.

#1093

diderius6

I just see, that in the *.inf file
the file amdstor.sys is mentioned.
So, now I think, it takes the role from usbstor.sys
Dietmar
PS: So you need to copy the file amdstor.sys
into folder windows\system32\drivers.
I make a try with renaming amdstor.sys to usbstor.sys.

#1094 | canonkong | The driver work well on win7, maybe Xp need to change more. Because I dont have any experience about programing, so I just try it again and again. Few days ago a hacker told me that we can modify the win10 usb driver. Is it possible to modify a win10 usb driver work on win7? And I thought maybe some hackers can do that, but they dont have this ability, it to hard.

#1095

diderius6

Yessssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaa, I got all USB 3.0 3.1 3.2 drivers to work under XP SP3 !!!!!
I just rename in *.inf all
amdstor => usbstor
Thats all
Dietmar
PS: So much thanks to ⇗ @canonkong!
⇗
⇗
diderius6 has attached files to this post

- ⇗ AMD USB TEST 32BIT.rar

## Page 74

#1096

cedar

⇗ @diderius6
Good works!. The USB3.0 posted earlier did not work in my Asus Prime 350 board.
Can you post the new mod 3.0 driver? may be it will work for me too.
Any progress on XP64 ACPI?. Backup from X265 is about 35% faster on
X64 platform than 32 bit OS. The newest ffmpeg64 for XP64 tested is at
about Nov 2017. Don't know if anyone have a newer version?
Cedar

#1097 | diderius6 | ⇗ @cedar Make try with the USB file that I post here (with nice help from ⇗ @canonkong). It is really generic Dietmar

#1098

cedar

⇗ @infuscomus
Not much luck with the burned iso. It did installed without swapped hard
till the end with no error(grahicic mode). But it also flash BSOD next run
like my own earlier installs. No minidump. Standard mode is ok.
Tried 2003 ent. trial version. Std mode also ran. Can see Standard mode
and multi PC ACPI under CPU entry at the same time. BSOD when changed
to ACPI and see next message as IRQL NOT LESS OR EQUAL.
bluescreenview pointed to Ntoskrnl error.
XP2003 was tried from installed on ivy system than swap to Ryzen. Will
try burn ISO sometime later.
Cedar

#1099 | diderius6 | Also all USB 2.0 USB 3.0 USB 3.1 USB 3.2 slots work now on the nice board asrock fatal1ty ab350 gaming k4 under XP SP3, just together with Ryzen 3700x Dietmar

#1100

diderius6

⇗ @canonkong
Can you please upload the whole package,
with the unmodded driver for AMD USB?
I notice, that for the Asmedia USB there are
2 different xhci.sys files for Intel and AMD.
On Intel boards we have to mod the other one
Dietmar

#1101

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1100

> I notice, that for the Asmedia USB there are
> 2 different xhci.sys files for Intel and AMD.
> On Intel boards we have to mod the other one
> Dietmar

Not him, but if you are talking about the AMD64 and the IA64 folders, they're just different instruction sets - x64 (otherwise known as AMD64, x86-64) and the Intel Itanium architecture (otherwise known as IA-64, isn't in mainstream anymore and retired in 2021) respectively.

#1102

diderius6

⇗ @IntiMD
I mean the AMD driver (AMD64 64 bit, just name for AMD) for XP
and the i386 name for Intel for XP 32 bit.
Until now I do not have the this whole package of unmodded drivers.
With the Asmedia driver I have some success today,
but I think this are the most difficult drivers of all USB,
so may be AMD or VIA is much easier to mod and to take the oldest version of them which works for XP 32 bit
Dietmar

#1103

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1102

> @IntiMD
> I mean the AMD driver (AMD64 32 bit, just name for AMD) for XP
> and the i386 name for Intel for XP 32 bit.

Like i said before, AMD64 is one of the names for the x86-64 (64-bit) arch, while i386 is one of the names of the x86 (32-bit) arch. The folders are depending on the OS bitness. The ASMedia drivers include both 32 and 64-bit builds of the drivers and since the usb 3.0 drivers should be targetted for XP 32-bit, the driverfiles in the i386 folder need to be modified.

#1104

diderius6

⇗ @IntiMD
Of course you are right,
it was my mistake.
There is no difference between AMD 32 bit and Intel 32 bit,
driver is always in i386 folder
Dietmar
PS: The generic AMD driver here works also for the Asmedia 3.1 USB under XP 32 bit.
But it does not work for Intel chipset USB 3.0 which looks strange to me, I dont understand why not.
I make new test with the VIA 3.0 driver for Mod.

#1105 | canonkong | ⇗ @diderius6 Very good! Use the same name to replace the system itself usb driver, maybe we can make a generic usb driver replace the system inside usb driver.
#1106 | infuscomus | ⇗ @cedar was IRQL NOT LESS OR EQUAL. BSOD with my ISO, or server 2003 ISO?
#1107 | canonkong | ⇗ @diderius6 Try this new, not have stor.sys. KEY: xiaofengmod ⇗ https://yadi.sk/d/8MtPIJxFYoBAbQ

#1108

diderius6

⇗ @canonkong
I test the new driver on Intel evga z390 dark board,
for the USB 3.0 from Intel chipset.
The same happens as before, during install of this driver the compi gets frozen
Dietmar
PS: May be, in this case a modded VIA USB 3.0 driver would be the better choice.
EDIT: Your new AMD driver for XP has also the problem, that usbstor.sys again does not start (gives unknow device).
So, until now we have only the generic USB driver for XP, where I changed amdstor.sys against usbstor.sys.
This one works everywhere, only for INTEL chipset USB and XP not, this is so strange.
EDIT2: So strange things happen with usb3 driver for Intel chipset:
The xhci.sys file is NOT copied correct to windows\system32\drivers (something like a sceleton of this xhci.sys appears there) and
even when you put the whole file xhci.sys there into by hand,
on next boot it is gone there!!! I never saw anything like this before in XP.
I set start=0 and Group=System Reserved for all USB files which starts them very early, no chance of version missmatch
or something like, because at this very early bootstage all will be loaded.
Crazy, I can see, that the driver xhci.sys is loaded very early together with usbstor.sys, but then again xhci.sys is deleted(!).
May be because of this soso strange thing, the hub3.sys driver can not install(!) and start
Dietmar

#1109 | canonkong | ⇗ @diderius6 Maybe we can use intel itself USB driver for xp to modify.

#1110

diderius6

⇗ @canonkong
The problem in to use Intel driver for USB is, that there are none for XP with USB 3.0.
For Win7 32 bit they exist, but there are dependencies in drivers to ntoskrnl,
that XP does not fullfill.
The only chance in this is, that somebody has the source code for this drivers
and compiles it for win server 2003 32 bit
Dietmar

## Page 75

#1111 | canonkong | ⇗ @diderius6 I think NEC will best than other. ⇗ https://downloadcenter.intel.com/zh-cn/d...ctronics-USB3-0-
#1112 | diderius6 | ⇗ @canonkong I just see, that the VIA xhci driver can be replaced by the driver from Asmedia. But the Intel chipset for USB 3.0 does not work with modded Asmedia or Via driver Dietmar PS: So, NEC (now Renesas) may be the better choice for generic USB 3.0 for XP for Intel chipset.
#1113 | canonkong | ⇗ @diderius6 If you use IDA to open the xhci.sys ,you will find almost all usb drivers will have a ven ID 1033, VEN_1033 meant NEC's ID.
#1114 | infuscomus | ⇗ @canonkong this doesn't work in virtualbox ⇗ https://www.zone62.com/media/jcm/og/8fc8461f672fdba2.png
#1115 | canonkong | ⇗ @infuscomus Some intel devices can not work well some parts using this driver. I think we need to find a better one to modify to support XP.
#1116 | diderius6 | ⇗ @canonkong For Intel with x390 chipset with modded *.inf for xhci.sys comes message code 10, driver (xhci from Nec) does not start Dietmar
#1117 | diderius6 | ⇗ @canonkong I just found with IDA pro, that there is a hardcoded ID 1033 check and 194x in the NEC driver xhci.sys and so, suddently BIG chances for success with Intel Dietmar
#1118 | canonkong | diderius6 Some drivers just modify the ID identify area is not enough. Like intel usb3.1 driver, I modified few parts to make it work. If you know DebugView ,Debuggers , OllyDbg . You can use them to find out where is the block.

#1119

diderius6

PAGE:0003420B mov eax, 1033h
PAGE:00034210 cmp [ebp-11Ch], ax
PAGE:00034217 jnz short loc_34239
PAGE:00034219 mov eax, 194h
PAGE:0003421E cmp [ebp-11Ah], ax
PAGE:00034225 jnz short loc_34239
PAGE:00034227 cmp byte ptr [ebp-114h], 4
PAGE:0003422E jnz short loc_34239
PAGE:00034230 mov byte ptr [ebx+192h], 1
PAGE:00034237 jmp short loc_34240

#1120

diderius6

Hack to
PAGE:0003420B mov eax, 1033h
PAGE:00034210 cmp [ebp-11Ch], ax
PAGE:00034217 jnz short $+2
PAGE:00034219 mov eax, 194h
PAGE:0003421E cmp [ebp-11Ah], ax
PAGE:00034225 jnz short $+2
PAGE:00034227 cmp byte ptr [ebp-114h], 4
PAGE:0003422E jnz short $+2
PAGE:00034230 mov byte ptr [ebx+192h], 1
PAGE:00034237 jmp short loc_34240
Now I get code 39
Dietmar

#1121 | canonkong | ⇗ @diderius6 Not right, you can compare my modified intel USB driver and the original driver, you will find what I had did. jnz=>jmp ⇗ [Solution] Win7 drivers for USB 3.0/3.1 Controllers of new Intel chipset systems

#1122

cedar

⇗ @infuscomus
"IRQL NOT LESS OR EQUAL" was from 2003.
From bluescreenview, it pointed to Ntoskrnl error.
I also tried ACPI 64 bit on XP64. the screen instantly BSOD
and reboot immediately on normal or safe mode, so I couldn't see
what message was.
Cedar

#1123 | diderius6 | ⇗ @canonkong I tried this also, does not work for Nec USB 3.0 driver on Intel USB 3.0 on chipset from z390 Dietmar
#1124 | infuscomus | ⇗ @cedar ACPI for XP64 will need a patched ACPI driver and XP64 is not well supported, best to use Win7 64 any luck installing with my ISO?

#1125

cedar

⇗ @infuscomus
The acpi64bit was from diderius6 posted earlier. As it was
an early version, so I can't expect too much.
Your iso can installed from burnt disc, Like my other burnt discs,
It will BSOD in multi acpi both std or safe mode too when reboot.
But If installed on my Ivy system. and then swap HD to Ryzen board.
I think it can boot in safe mode, like my other trials.
PS. I think diderius6 's new usb3.2 driver can work on your iso, but not
on my own XP installation after many BSODs on usbport.sys trials.
Cedar

## Page 76

#1126 | infuscomus | ⇗ @cedar did you manage to get multiprocessor ACPI PC working? or did you get a BSOD?
#1127 | diderius6 | ⇗ @cedar Until now we dont have a good acpi.sys for XP 64 bit, which works on a lot of newer mainboards, Dietmar

#1128

cedar

⇗ @infuscomus
In safe mode, multiprocessor ACPI PC seems fine. I can install other
drivers. After exiting safe mode. I may or may not be able to
get back to safe mode if XP installed through optical Sata drive.
I remember probably 2 weeks or more ago, I can repeatly go back to
safe mode with multiprocessor ACPI PC. Out side safe mode, BSOD.
I just upated 2003 from SP0 to Sp1, and SP2. Will try if they work later?
Cedar

#1129 | cedar | ⇗ @diderius6 Any chance to work on XP 64 ACPI?. I realize too XP64 has no Standard mode!. Cedar

#1130

cedar

⇗ @infuscomus
Wow. SP2 for 2003 instead of SP0 works. I am in
Multi PC ACPI mode now.
Edit: And it is from swap drive method.
Edit2: Now I can use similar way on XP. Different SPs may make
or break things.
Edit3: Even SP1 works.
Cedar

#1131

diderius6

I found NEC USB3.0 driver from 10 January 2010 vers. 1.0.19.0.
This driver is really very simple structurated.
With this I make new try using Windbg for XP SP3
Intel chipset 3.0 driver
Dietmar
EDIT: I have now NEC driver USB 3.0 from June 2009 for XP, Vista (means before Win7), vers 1.0.1.0.

#1132 | canonkong | ⇗ @diderius6 If you use IDA7.0 to open the *.sys, than press F5, it will converting to C language, maybe some one can use it to recompile. ⇗ https://github.com/microsoft/Windows-driver-samples
#1133 | diderius6 | ⇗ @canonkong This is really a nice feature, but my Ida Pro is from 2004 :)) Dietmar PS: Starting from autumn 2009, NEC makes USB 3.0 drivers also for Win2000 and NT4 .
#1134 | infuscomus | ⇗ @diderius6 can you upload to station-drivers for driver archiving? If we are lucky, it might even work for windows 98 assuming all function requirements are met by ntkern.vxd

#1135

diderius6

⇗ @infuscomus
Here it is.
The xhci.sys driver is loaded in XP as I can see
but the hub.sys not.
So, the problem with DEV_&VEN_ is gone,
but something is wrong with the hub
Dietmar
diderius6 has attached files to this post

- ⇗ Nusb3Driver.rar

#1136 | canonkong | ⇗ @diderius6 If the xhci.sys is loaded but the hub.sys not. It meant that the XHCI.sys need to fix somewhere. HUB is follow to XHCI.

#1137

infuscomus

⇗ @diderius6 ⇗ @canonkong
I noticed with the earlier modified AMD USB 3.0 drivers there was a FileSize error in the sys files
⇗
maybe this was causing problems? i fixed them
or maybe its nothing, i dont know
infuscomus has attached files to this post

- ⇗ AMD USB TEST 32BIT.zip

#1138 | canonkong | ⇗ @infuscomus I signed the driver use driving signature tool, it can automatic checksum, so I don't have noticed FileSize error.

#1139

diderius6

Now I get
usbstor.sys
usbd.sys
xhci.sys
hub3.sys
loaded very early (start 0, Group System Reserved)
but still yellow questionmark for USB 3.0 xhci and no hub3
in device manager
Dietmar
PS: I corrected yesterday the above size error. It does not change anything.

#1140

diderius6

There is only one small step, to make the very first NEC driver from June 2009 make to work for Intel chipset USB3
It looks like the "IRP_MN_START_DEVICE" failed and this can be the fault of hub3.sys because Child 0000000000.
Dietmar

    0: kd> !DevNode 0x8a47f250
    DevNode 0x8a47f250 for PDO 0x8a4c1818
      Parent 0x8a4bb6e0   Sibling 0x8a47bbb0   Child 0000000000
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "nusb3xhc"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeStartCompletion (0x306)
      StateHistory[06] = DeviceNodeStartCompletion (0x306)
      StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[04] = DeviceNodeStartCompletion (0x306)
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      StateHistory[07] = Unknown State (0x0)
      Flags (0x00002030)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_HAS_PROBLEM
      CapabilityFlags (0x00002000)  WakeFromD3
      Problem = CM_PROB_FAILED_START
      Failure Status 0000000000

    CM_PROB_FAILED_START

    This function is reserved for system use.

    The device failed to start.
    Error Code 10
    Display Message

    If
     the device's hardware key contains a "FailReasonString" value, the
    value string is displayed as the error message. (A driver or enumerator
    supplies this registry string value.) If the hardware key does not
    contain a "FailReasonString" value, the following generic error message
    is displayed:

    "This device cannot start. (Code 10)"

    "Try upgrading the device drivers for this device."
    Recommended Resolution

    Select Update Driver, which starts the Hardware Update wizard.

    This error code is set when one of the drivers in the device's driver stack fails IRP_MN_START_DEVICE.
    If there are many drivers in the stack, it can be difficult to determine the one that failed.

## Page 77

#1141 | canonkong | ⇗ @diderius6 Use IDA to fix hub.sys, maybe will work.
#1142 | infuscomus | If we can figure out how to backport KMDF 1.13 to XP then we could use the generic Microsoft driver seems like a bit of a challenge though

#1143

diderius6

This is really strange: The very first NEC USB 3.0 driver is started in legacy mode, but fails for the Intel chipset USB 3.0.
This makes me sure, that the problem is in xhci.sys (here name nusb3xhc, together with Intel) and not in hub3.sys
Dietmar

    0: kd> !devnode 0 1 nusb3xhc
    Dumping IopRootDeviceNode (= 0x8a4c7810)
    DevNode 0x8a4c55e8 for PDO 0x8a4c5730
      InstancePath is "Root\LEGACY_NUSB3XHC\0000"
      ServiceName is "nusb3xhc"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
    DevNode 0x8a4c7128 for PDO 0x8a4c1a08
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "nusb3xhc"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeStartCompletion (0x306)
      Problem = CM_PROB_FAILED_START
      Failure Status 0000000000

#1144 | diderius6 | @ infuscomus There is KMDF for Vista, I think also with an example driver for USB Dietmar docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/tutorial--write-your-first-usb-client-driver--kmdf-

#1145

diderius6

May be we need WDFLDR.SYS (from Vista-Longhorn5048, Vista, Win7) all 32 bit
for XP for Intel USB
Dietmar
PS:Intel USB 3 drivers need WDFLDR.SYS (Kernel Mode Driver Framework LOADER) which doesn't exist on XP.
XP drivers require coinstaller WdfCoInstaller01009.dll (included with driver, it installs wdfldr.sys and wdf01000.sys) and separate usbd.sys.
I install the Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe' extracted from WdfCoinstaller01009.dll which is the co-installer for KMDF 1.9.
This drivers here have all only dependecies for XP!
EDIT: This brings me to the idea, to install the very first USB driver from NEC on Longhorn 5048 for Intel chipset USB3.0.
diderius6 has attached files to this post

- ⇗ wdfldr.rar
- ⇗ WdfLdr2.rar
- ⇗ WdfLdr3.rar
- ⇗ Wdf01000Win7.rar
- ⇗ Wdf01000Vista.rar
- ⇗ Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.rar
- ⇗ wdfcoinstaller01009.rar

#1146 | infuscomus | Someone tried to make an xhci driver for ReactOS ⇗ https://reactos.org/blogs/gsoc-xhci-final-submission ⇗ https://github.com/reactos/reactos/tree/...ers/usb/usbxhci

#1147

diderius6

⇗ @infuscomus
This person from reactos has the problem with xhci.sys for USB 3.0, that USBSTOR.sys is not loaded but he does not understand this.
Because of this comes "unknown device".
Even I do not know, if this will work for Intel USB chipset, because Intel makes now use of KMDF driver model for all their USB.
We have KMDF 1.9 (from Win7) for XP , the Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe above installs with all registry entries WDFLDR.SYS and wdf01000.sys in XP SP3 32 bit, I have tested.
Now we can use the *.inf from Win7 for USB from ⇗ @canonkong with xhci.sys and usbhub3.sys with dependencies only for XP
and voila, there is USB on XP for all Intel chipsets. A first try can be done with Vista and the modded USB drivers for Win7 from ⇗ @canonkong, if Vista fullfill all the dependencies
Dietmar
PS: Here is the installer for KMDF 1.9 for Vista 32 bit.
diderius6 has attached files to this post

- ⇗ Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.rar

#1148 | canonkong | ⇗ @diderius6 Is it possible to Import table dynamic patch and point the Win10-specific import API to wrapper. Like NDIS-Wrapper. Some hackers told me that we can port win10's USB driver to win7, but I think even the world's top hackers don't have this ability.
#1149 | diderius6 | ⇗ @canonkong I think, for to make to work Intel chipset USB under XP, it is now just enough, to cancel the not from XP fullfilled dependencies from your USB drivers for Win7 Dietmar

#1150

diderius6

This VIA USB3 is for XP, Vista and Win7.
It has the installer for KMDF 1.9 for each of them integrated and fullfills all dependencies for XP.
Any generic USB 3.0 driver for XP SP3 32bit Intel chipset should look very similar to this one
Dietmar
PS: I installed all versions for XP, Vista, Win7,
but no one works for XP for Intel chipset USB, strange..
EDIT: The VEN_1106&DEV_3432 seems to be hardwired in xhcdrv.sys.
⇗ @canonkong can you please make a try to mod this one for generic?
EDIT2: CM_PROB_FAILED_ADD
CM_PROB_FAILED_ADD
A driver's attempt to add a device failed.
Error Code
31
Display Message (Windows 2000 and later versions of Windows)
"This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)"
Recommended Resolution (Windows 2000 and later versions of Windows)
Update the device driver.
Starting with Windows XP,
this problem can only occur if the driver's AddDevice routine fails.
May be this is because of hardwired VEN_&DEV_.
diderius6 has attached files to this post

- ⇗ ViaXPVistaWin7USB3.rar

#1151

infuscomus

⇗ @diderius6 ⇗ @canonkong
Fresco logic driver also uses KMDF 1.9 - so it might be an option
infuscomus has attached files to this post

- ⇗ fresco-usb3-v3.6.9.0.7z.zip

#1152 | diderius6 | ⇗ @infuscomus The file fresco-usb3-v3.6.9.0.7z.zip cant be downloaded correct, has error Dietmar EDIT: Correction, newest winrar works for to unpack this file.

#1153

diderius6

Fresco driver is loaded in XP for Intel chipset USB30, but does not start.
The reason, why it does not start can also be the fault of the hub3.sys there
Dietmar

    0: kd> !DevNode 0x8a475a58
    DevNode 0x8a475a58 for PDO 0x8a476a90
      Parent 0x8a4c26e0   Sibling 0x8a475938   Child 0000000000
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "FLxHCIc"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeStartCompletion (0x306)
      StateHistory[06] = DeviceNodeStartCompletion (0x306)
      StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[04] = DeviceNodeStartCompletion (0x306)
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      StateHistory[07] = Unknown State (0x0)
      Flags (0x00002030)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_HAS_PROBLEM
      CapabilityFlags (0x00002000)  WakeFromD3
      Problem = CM_PROB_FAILED_START
      Failure Status 0000000000

#1154 | infuscomus | ⇗ @diderius6 can you manually install the hub?

#1155

diderius6

⇗ @infuscomus
This is not possible.
First has always the main driver xhci.sys to be loaded
and only if this is ok, hub3.sys asks for driver.
Even if from a working USB3 installation you delete the registry entries for xhci.sys,
the before working hub3.sys is also not loaded any longer
Dietmar
PS: One can make a try vice versa, if a working USB3 driver for Intel chipset also works on normal USB3,
because until now the difference between them is unclear.

## Page 78

#1156 | infuscomus | ⇗ @diderius6 can you go back to our earlier generic amd usb 3.0 driver and try to debug what causes it to fail when in virtualbox?

#1157

diderius6

⇗ @infuscomus
I make a check, which driver starts and which not:
It is possible to start xhci.sys without hub3.sys
but not hub3.sys without xhci.sys.
So, in the case with virtualbox, something went wrong with
hub3.sys.
And this also means, all our tries with xhci.sys for USB3 for Intel chipsets fail because of xhci.sys.
Take a look in device manager, what kind the error message is there.
XP tells you, if something is wrong with entries in registry for hub3.sys
or with the driver itself
Dietmar

#1158 | diderius6 | ⇗ @infuscomus "can you go back to our earlier generic amd usb 3.0 driver and try to debug what causes it to fail when in virtualbox?" On which compi runs virtualbox, AMD or with Intel chipset Dietmar

#1159

diderius6

⇗ @canonkong
Can you please convert Assembler file to C with Ida Pro 7
from xhci for Win7 from post 1150
and also xhci from original driver for Intel chipset Win7
and look, if there is a major difference
Dietmar

#1160

infuscomus

⇗ @diderius6 ⇗ @canonkong
I think I know what the problem is -
the hub3.sys file has not been linked to the usb 3.0 hub as it's driver
⇗
we will need to either fix amdxhci.inf to install the hub driver properly or find/write a proper amdhub3.inf
⇗ @canonkong
do you have the original unmodified amd usb 3 driver you used?

#1161 | canonkong | ⇗ @diderius6 In fact, it's very difficult for me because I don't know any assembly language or programming language. What I can do is just use IDA to modify some drivers and signature. If we can find out the breakpoints, maybe we can use IDA to Skip it.
#1162 | canonkong | ⇗ @infuscomus The original driver 2.0.0.48 only can work for 64bit system.

#1163

diderius6

⇗ @canonkong
Can you use Ida Pro for to translate those 2 Win7 32 bit xhci.sys drivers to C language?
If yes, you can send them to me
dietmar.stoelting@t-online.de
and I compare them
Dietmar

#1164 | canonkong | ⇗ @diderius6 Which two xhci.sys files? I will send it to you later.
#1165 | infuscomus | ⇗ @diderius6 ⇗ @canonkong a manual install of the usb 3.0 hub worked in virtualbox ⇗ so, I think all we need to do is fix a problem in amdxhci.inf
#1166 | diderius6 | ⇗ @infuscomus Is it USB 3 on Intel chipset? Or is it an AMD board Dietmar
#1167 | canonkong | ⇗ @infuscomus This driver can work with virtual box, but cant work on real machine.
#1168 | infuscomus | whoops! I spoke too soon ⇗

#1169

diderius6

⇗ @canonkong
Here are the 2 Win7 32 bit xhci files for USB3,
one from VIA and the one from you
Dietmar
diderius6 has attached files to this post

- ⇗ Win7xhci.rar

#1170 | canonkong | ⇗ @diderius6 Too many entries need to be converted! I think download IDA PRO 7.2 will more faster and easily.

## Page 79

#1171

diderius6

I renamed the last xhci for XP from ⇗ @canonkong (post 1107) as asmxhci.sys
and integrate the values to registry by hand (no hub3.sys at all).
Now, for the first time no crash and the driver "asmxhci.sys" is loaded and deleted after
but message via windbg

    Code 28 (CM_PROB_FAILED_INSTALL)

    Indicates that the installation failed and there is no driver selected for this
    device, although the kernel did not report a problem (and there is no
    DNF_XXX match for this the problem). This problem can be the result of
    an on-board system device (ISA timer, ISA RTC, RAM Memory, and so forth)
     that does not yet have an INF file.

This looks like, if something with my handmade registry entries is wrong
or the driver "asmxhci.sys" looks for something like codriver
Dietmar

#1172

infuscomus

> Zitat von ⇗ canonkong im Beitrag ¶ #1162

> @infuscomus
> The original driver 2.0.0.48 only can work for 64bit system.

⇗ @canonkong
how did you manage to make it work for 32bit system?

#1173 | diderius6 | ⇗ @infuscomus I noticed that few days ago. So I think, canonkong is not so blind (as we..) Dietmar

#1174

diderius6

⇗ @infuscomus
I make a try with the last driver xhci for XP (post 1107) from ⇗ @canonkong in KMDF 1.9 clothes,
but then the compi does not start, hangs running blue mark in the beginning of boot stopped
and Windbg tells nothing, "break" command does not work and no BSOD
Dietmar

#1175

diderius6

With little help from Ida Pro,
I just noticed, that the last AMD file for XP 32 bit from canonkong vers. 2.0.0.68
is from ETRON.
Hihi, may be, now all other is easy.
This Etron driver has VEN_8086&DEV_7023.
This I will change against my USB3 with
VEN_8086&DEV_A2AF
and then we will see
Dietmar
EDIT: The Etron USB3.0 driver from 2009 works for nearly all USB
but not for Intel USB chipset.

#1176 | infuscomus | ⇗ @diderius6 I can only suggest going through all the other USB 3 drivers from other manufacturers and see if one of them works for intel ⇗ USB 3.0/3.1 Drivers (original and modded)
#1177 | canonkong | ⇗ @diderius6 ⇗ @infuscomus I had tested all usb drivers yesterday. only AMD usb driver 2.0.0.48 and intel usb drivers can work for all usb devices. but they cant work perfect on X570 mainboards(install/uninstall the USB driver if without AMD chips drivers will BSOD) ASMedia VIA NEC Erron and most of USB drivers can only work for few devices, and some of them only can work for xhci but hub can not work.

#1178

diderius6

The Fresco fresco-usb3-v3.6.9.0 (it is for Win7 with KMDF 1.9) driver is "best" until now for Intel USB3 chipset for XP SP3, but
failed to start with code 10, even I changed in driver VEN_&DEV_
to my individual values.
By the way I noticed, that I get code 39, when checksum etc.
of the driver was not correct. With PEmaker 0.82 from Blackwingcat I corrected this
Dietmar

    0: kd> !DevNode 0x8a475a58
    DevNode 0x8a475a58 for PDO 0x8a476a90
      Parent 0x8a4c26e0   Sibling 0x8a475938   Child 0000000000
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "FLxHCIc"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeStartCompletion (0x306)
      StateHistory[06] = DeviceNodeStartCompletion (0x306)
      StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[04] = DeviceNodeStartCompletion (0x306)
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      StateHistory[07] = Unknown State (0x0)
      Flags (0x00002030)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_HAS_PROBLEM
      CapabilityFlags (0x00002000)  WakeFromD3
      Problem = CM_PROB_FAILED_START
      Failure Status 0000000000

#1179 | infuscomus | ⇗ @canonkong wasn't your modified generic USB 3 driver from earlier an Etron driver?
#1180 | canonkong | ⇗ @infuscomus Etron can not work for intel devices on real machine, but can work on VM...
#1181 | canonkong | ⇗ @diderius6 ⇗ @infuscomus Test it. ⇗ https://yadi.sk/d/JsPRQ94R0TE3XQ
#1182 | infuscomus | ⇗ @canonkong This driver calls functions from ntoskrnl that are not available in XP
#1183 | canonkong | ⇗ @infuscomus I uploaded it incorrectly, I will upload a new one soon.
#1184 | canonkong | ⇗ @diderius6 I tested the Fresco USB drivers, xhci had installed and work, but the hub failed.
#1185 | diderius6 | ⇗ @canonkong Can you please upload your version of the Fresco USB driver? Any help is welcome Dietmar PS: You can just use hub from other USB driver.

## Page 80

#1186 | canonkong | ⇗ @diderius6 No problem, I will send you when I after work. You can use IDA to open it, you will find i it has other devices ID from intel,NEC,Etron,ASMedia,ect

#1187

diderius6

I just noticed,
that the Fresco USB3 driver has extra entries in registry.
None of them is set for my Intel USB 3.0 with VEN_8086&DEV_A2AF.
How to come to this values? May be, a Win7 install will help via original Intel USB3.0 drivers
and copy this values one by one to the registry of XP
Dietmar

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc]
    "Type"=dword:00000001
    "Start"=dword:00000003
    "ErrorControl"=dword:00000001
    "Tag"=dword:00000034
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
      52,00,49,00,56,00,45,00,52,00,53,00,5c,00,46,00,4c,00,78,00,48,00,43,00,49,\
      00,63,00,2e,00,73,00,79,00,73,00,00,00
    "DisplayName"="Fresco Logic xHCI (USB3) Device Driver"
    "Group"="Base"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Parameters]
    "SGRD_15D9_0A4C"=dword:00000000
    "STIC_07CA"=dword:00000000
    "STIC_15A4_1003"=dword:00000000
    "STIC_1B80_E39B"=dword:00000000
    "STIC_2040_7200"=dword:00000000
    "STIC_185B_2850"=dword:00000000
    "NIOC_185B_2850"=dword:00000000
    "SNIC_07CA_2830"=dword:00000000
    "DDOS_045E_063E"=dword:00000000
    "DDOS_12D1_1001"=dword:00000000
    "DDOS_12D1_1003"=dword:00000000
    "DDOS_0408_EA03"=dword:00000000
    "DDOS_17E9_028F"=dword:00000000
    "DDOS_0A5C_2046"=dword:00000000
    "DDOS_19D2_0031"=dword:00000000
    "DDOS_1A8D"=dword:00000000
    "DDOS_0915_2000"=dword:00000000
    "DDOS_07B8_4002"=dword:00000000
    "DDOS_17E9_01D4"=dword:00000000
    "ABIG_03F0_5817"=dword:00000000
    "CCSD_13FE_1E00"=dword:00000000
    "DDIP_13FE_1E00"=dword:00000000
    "PBIN_12D1_1035"=dword:00000000
    "U1U2_1CA1"=dword:00000000
    "U1U2_152D_0539"=dword:00000000
    "U1U2_152D_2509"=dword:00000000
    "U1U2_1058_0740"=dword:00000000
    "U1U2_1058_1123"=dword:00000000
    "U1U2_1058_1140"=dword:00000000
    "U1U2_1D5C_8347"=dword:00000000
    "U1U2_04C5_201D"=dword:00000000
    "U1U2_067B_2771"=dword:00000000
    "U1U2_1759_9000"=dword:00000000
    "U1U2_1759_5002"=dword:00000000
    "U1U2_1759_5000"=dword:00000000
    "U1U2_0411_0180"=dword:00000000
    "U1U2_21E6_0001"=dword:00000000
    "U1U2_1EDB_BD3B"=dword:00000000
    "U1U2_0A6B_0101"=dword:00000000
    "U1U2_04E8_60C6"=dword:00000000
    "U1U2_1058_1042"=dword:00000000
    "FAHS_0951_1652"=dword:00000000
    "FAHS_05E3_0731"=dword:00000000
    "ECSD_199E_8207"=dword:00000000
    "NSEL_152D_0539"=dword:00000000
    "NSEL_1F75_0902"=dword:00000000
    "NSEL_1005_B128"=dword:00000000
    "NHLP_2297_0321"=dword:00000000
    "NOSD_1F75_0902"=dword:00000000
    "NOSD_125F_312A"=dword:00000000
    "NOSD_3538_0901"=dword:00000000
    "NMEL_1EDB_BD3B"=dword:00000000
    "NSSR_0951_1652"=dword:00000000
    "NSSR_1759_5000"=dword:00000000
    "NSSR_1759_5002"=dword:00000000
    "NSSR_152D_0539"=dword:00000000
    "NSSR_152D_2509"=dword:00000000
    "NSSR_152D_0551"=dword:00000000
    "NSSR_0BC2_2300"=dword:00000000
    "NSSR_0BC2_3300"=dword:00000000
    "NSSR_059F_1016"=dword:00000000
    "NSSR_1058_0740"=dword:00000000
    "NSSR_059F_100C"=dword:00000000
    "NSSR_0411_01D8"=dword:00000000
    "DPDE_0951_1652"=dword:00000000
    "DPDE_1759_5000"=dword:00000000
    "DPDE_1759_5002"=dword:00000000
    "DPDE_152D_0539"=dword:00000000
    "DPDE_152D_2509"=dword:00000000
    "DPDE_152D_0551"=dword:00000000
    "DPDE_0411_01D8"=dword:00000000
    "WRDP_152D_0539"=dword:00000000
    "WRDP_152D_2509"=dword:00000000
    "ROSR_045E_063E"=dword:00000000
    "ROSR_045E_0710"=dword:00000000
    "ROSR_058F_9520"=dword:00000000
    "ROSR_05AC_1294"=dword:00000000
    "ROSR_05AC_129A"=dword:00000000
    "ROSR_05AC_129F"=dword:00000000
    "ROSR_0BC2_2300"=dword:00000000
    "ROSR_0BC2_3300"=dword:00000000
    "ROSR_059F_1016"=dword:00000000
    "ROSR_1058_0740"=dword:00000000
    "ROSR_059F_100C"=dword:00000000
    "SMSZ_0DD8_1D04"=dword:00000000
    "SMSZ_04B8_083F"=dword:00000000
    "SMSZ_1759_5000"=dword:00000000
    "SMSZ_1759_5002"=dword:00000000
    "SMSZ_1058_1042"=dword:00000000
    "GSOR_1390_0001"=dword:00000000
    "OEHD_045E_001C"=dword:00000000
    "OEHD_045E_002F"=dword:00000000
    "OEHD_8086_9303"=dword:00000000
    "OEHD_042B_9316"=dword:00000000
    "OEHD_050F_0001"=dword:00000000
    "OEHD_046A_0003"=dword:00000000
    "OEHD_04E1_0201"=dword:00000000
    "OEHD_0419_8001"=dword:00000000
    "OEHD_055D_8001"=dword:00000000
    "OEHD_0968_9999"=dword:00000000
    "OEHD_04CA_9304"=dword:00000000
    "OEHD_0416_0101"=dword:00000000
    "OEHD_04A8_0101"=dword:00000000
    "OEHD_0405_0000"=dword:00000000
    "OEHD_0451_1446"=dword:00000000
    "OEHD_0423_1237"=dword:00000000
    "OEHD_0430_36BA"=dword:00000000
    "OEHD_0471_0201"=dword:00000000
    "OEHD_0471_0700"=dword:00000000
    "OEHD_0409_55AA"=dword:00000000
    "OEHD_0409_8010"=dword:00000000
    "OEHD_0409_8011"=dword:00000000
    "OEHD_0400_1237"=dword:00000000
    "OEHD_054C_0001"=dword:00000000
    "OEHD_054C_0002"=dword:00000000
    "OEHD_056D_0000"=dword:00000000
    "OEHD_04A6_0180"=dword:00000000
    "OEHD_0654_0006"=dword:00000000
    "OEHD_0654_0016"=dword:00000000
    "STRZ_1759_5000"=dword:00000000
    "NGU3_2109_3431"=dword:00000000
    "NP2P_052E_1028"=dword:00000000
    "NSND_174C_5106"=dword:00000000
    "ABCP_05AC"=dword:00000000
    "NFRW_0B95_772B"=dword:00000000
    "NFRW_0424_EC00"=dword:00000000
    "FSCD_04C5_132B"=dword:00000000
    "ZDSI_0B6A_5347"=dword:00000000
    "ZDSI_070A_000D"=dword:00000000
    "DERE_0525_A4A2"=dword:00000000
    "1656103C"=dword:00000000
    "3388103C"=dword:00000000
    "1657103C"=dword:00000000
    "1658103C"=dword:00000000
    "3581103C"=dword:00000000
    "3582103C"=dword:00000000
    "3583103C"=dword:00000000
    "1659103C"=dword:00000000
    "165A103C"=dword:00000000
    "3389103C"=dword:00000000
    "165B103C"=dword:00000000
    "17F8103C"=dword:00000000
    "1899103C"=dword:00000000
    "06451025"=dword:00000000
    "06471025"=dword:00000000
    "06491025"=dword:00000000
    "064B1025"=dword:00000000
    "064D1025"=dword:00000000
    "064F1025"=dword:00000000
    "06511025"=dword:00000000
    "06531025"=dword:00000000
    "05041025"=dword:00000000
    "05111025"=dword:00000000
    "050E1025"=dword:00000000
    "05131025"=dword:00000000
    "FC401179"=dword:00000000
    "KSSD_04C5_2029_0001"=dword:00000000
    "KSSD_1058_1123_0003"=dword:00000000
    "KSSD_152D_0539"=dword:00000000
    "KSSD_13FE_5000_0110"=dword:00000000
    "KSSD_04C5_202B_0001"=dword:00000000
    "KSSD_2109_0701_0006"=dword:00000000
    "KSSD_1759_5002_2270"=dword:00000000
    "ABCP_05AC_129A"=dword:00000000
    "ABCP_05AC_1294"=dword:00000000
    "ABCP_05AC_1297"=dword:00000000
    "ABCP_05AC_12A0"=dword:00000000
    "ABCP_05AC_129F"=dword:00000000
    "ABCP_05AC_12A4"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Parameters\Wdf]
    "KmdfLibraryVersion"="1.9"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Security]
    "Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
      00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
      00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
      05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
      20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
      00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
      00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Enum]
    "Count"=dword:00000001
    "NextInstance"=dword:00000001
    "0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\2&ebb567f&0&A0"

#1188

diderius6

Win7 tells also code 10 for Fresco driver.
I am sure, that this can be hacked in xhci.sys driver.
Here is registry entry from Win7, not all are zero(!).
Dietmar

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc]
    "Type"=dword:00000001
    "Start"=dword:00000003
    "ErrorControl"=dword:00000001
    "Tag"=dword:0000001a
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
      52,00,49,00,56,00,45,00,52,00,53,00,5c,00,46,00,4c,00,78,00,48,00,43,00,49,\
      00,63,00,2e,00,73,00,79,00,73,00,00,00
    "DisplayName"="Fresco Logic xHCI (USB3) Device Driver"
    "Group"="Base"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Parameters]
    "SGRD_15D9_0A4C"=dword:00000000
    "STIC_07CA"=dword:00000000
    "STIC_15A4_1003"=dword:00000000
    "STIC_1B80_E39B"=dword:00000000
    "STIC_2040_7200"=dword:00000000
    "STIC_185B_2850"=dword:00000000
    "NIOC_185B_2850"=dword:00000000
    "SNIC_07CA_2830"=dword:00000000
    "DDOS_045E_063E"=dword:00000000
    "DDOS_12D1_1001"=dword:00000000
    "DDOS_12D1_1003"=dword:00000000
    "DDOS_0408_EA03"=dword:00000000
    "DDOS_17E9_028F"=dword:00000000
    "DDOS_0A5C_2046"=dword:00000000
    "DDOS_19D2_0031"=dword:00000000
    "DDOS_1A8D"=dword:00000000
    "DDOS_0915_2000"=dword:00000000
    "DDOS_07B8_4002"=dword:00000000
    "DDOS_17E9_01D4"=dword:00000000
    "ABIG_03F0_5817"=dword:00000000
    "CCSD_13FE_1E00"=dword:00000000
    "DDIP_13FE_1E00"=dword:00000000
    "PBIN_12D1_1035"=dword:00000000
    "U1U2_1CA1"=dword:00000000
    "U1U2_152D_0539"=dword:00000000
    "U1U2_152D_2509"=dword:00000000
    "U1U2_1058_0740"=dword:00000000
    "U1U2_1058_1123"=dword:00000000
    "U1U2_1058_1140"=dword:00000000
    "U1U2_1D5C_8347"=dword:00000000
    "U1U2_04C5_201D"=dword:00000000
    "U1U2_067B_2771"=dword:00000000
    "U1U2_1759_9000"=dword:00000000
    "U1U2_1759_5002"=dword:00000000
    "U1U2_1759_5000"=dword:00000000
    "U1U2_0411_0180"=dword:00000000
    "U1U2_21E6_0001"=dword:00000000
    "U1U2_1EDB_BD3B"=dword:00000000
    "U1U2_0A6B_0101"=dword:00000000
    "U1U2_04E8_60C6"=dword:00000000
    "U1U2_1058_1042"=dword:00000000
    "FAHS_0951_1652"=dword:00000000
    "FAHS_05E3_0731"=dword:00000000
    "ECSD_199E_8207"=dword:00000000
    "NSEL_152D_0539"=dword:00000000
    "NSEL_1F75_0902"=dword:00000000
    "NSEL_1005_B128"=dword:00000000
    "NHLP_2297_0321"=dword:00000000
    "NOSD_1F75_0902"=dword:00000000
    "NOSD_125F_312A"=dword:00000000
    "NOSD_3538_0901"=dword:00000000
    "NMEL_1EDB_BD3B"=dword:00000000
    "NSSR_0951_1652"=dword:00000000
    "NSSR_1759_5000"=dword:00000000
    "NSSR_1759_5002"=dword:00000000
    "NSSR_152D_0539"=dword:00000000
    "NSSR_152D_2509"=dword:00000000
    "NSSR_152D_0551"=dword:00000000
    "NSSR_0BC2_2300"=dword:00000000
    "NSSR_0BC2_3300"=dword:00000000
    "NSSR_059F_1016"=dword:00000000
    "NSSR_1058_0740"=dword:00000000
    "NSSR_059F_100C"=dword:00000000
    "NSSR_0411_01D8"=dword:00000000
    "DPDE_0951_1652"=dword:00000000
    "DPDE_1759_5000"=dword:00000000
    "DPDE_1759_5002"=dword:00000000
    "DPDE_152D_0539"=dword:00000000
    "DPDE_152D_2509"=dword:00000000
    "DPDE_152D_0551"=dword:00000000
    "DPDE_0411_01D8"=dword:00000000
    "WRDP_152D_0539"=dword:00000000
    "WRDP_152D_2509"=dword:00000000
    "ROSR_045E_063E"=dword:00000000
    "ROSR_045E_0710"=dword:00000000
    "ROSR_058F_9520"=dword:00000000
    "ROSR_05AC_1294"=dword:00000000
    "ROSR_05AC_129A"=dword:00000000
    "ROSR_05AC_129F"=dword:00000000
    "ROSR_0BC2_2300"=dword:00000000
    "ROSR_0BC2_3300"=dword:00000000
    "ROSR_059F_1016"=dword:00000000
    "ROSR_1058_0740"=dword:00000000
    "ROSR_059F_100C"=dword:00000000
    "SMSZ_0DD8_1D04"=dword:00000000
    "SMSZ_04B8_083F"=dword:00000000
    "SMSZ_1759_5000"=dword:00000000
    "SMSZ_1759_5002"=dword:00000000
    "SMSZ_1058_1042"=dword:00000000
    "GSOR_1390_0001"=dword:00000000
    "OEHD_045E_001C"=dword:00000000
    "OEHD_045E_002F"=dword:00000000
    "OEHD_8086_9303"=dword:00000000
    "OEHD_042B_9316"=dword:00000000
    "OEHD_050F_0001"=dword:00000000
    "OEHD_046A_0003"=dword:00000000
    "OEHD_04E1_0201"=dword:00000000
    "OEHD_0419_8001"=dword:00000000
    "OEHD_055D_8001"=dword:00000000
    "OEHD_0968_9999"=dword:00000000
    "OEHD_04CA_9304"=dword:00000000
    "OEHD_0416_0101"=dword:00000000
    "OEHD_04A8_0101"=dword:00000000
    "OEHD_0405_0000"=dword:00000000
    "OEHD_0451_1446"=dword:00000000
    "OEHD_0423_1237"=dword:00000000
    "OEHD_0430_36BA"=dword:00000000
    "OEHD_0471_0201"=dword:00000000
    "OEHD_0471_0700"=dword:00000000
    "OEHD_0409_55AA"=dword:00000000
    "OEHD_0409_8010"=dword:00000000
    "OEHD_0409_8011"=dword:00000000
    "OEHD_0400_1237"=dword:00000000
    "OEHD_054C_0001"=dword:00000000
    "OEHD_054C_0002"=dword:00000000
    "OEHD_056D_0000"=dword:00000000
    "OEHD_04A6_0180"=dword:00000000
    "OEHD_0654_0006"=dword:00000000
    "OEHD_0654_0016"=dword:00000000
    "STRZ_1759_5000"=dword:00000000
    "NGU3_2109_3431"=dword:00000000
    "NP2P_052E_1028"=dword:00000000
    "NSND_174C_5106"=dword:00000000
    "ABCP_05AC"=dword:00000000
    "NFRW_0B95_772B"=dword:00000000
    "NFRW_0424_EC00"=dword:00000000
    "FSCD_04C5_132B"=dword:00000000
    "ZDSI_0B6A_5347"=dword:00000000
    "ZDSI_070A_000D"=dword:00000000
    "DERE_0525_A4A2"=dword:00000000
    "DERE_043E_9A46"=dword:00000000
    "DERE_043E_9A02"=dword:00000000
    "RSBI_0403_FF0B"=dword:00000100
    "RSBO_0403_FF0B"=dword:00000100
    "RSBI_164C_5533"=dword:00000200
    "RSBI_1E10_3300"=dword:00000200
    "1656103C"=dword:00000000
    "3388103C"=dword:00000000
    "1657103C"=dword:00000000
    "1658103C"=dword:00000000
    "3581103C"=dword:00000000
    "3582103C"=dword:00000000
    "3583103C"=dword:00000000
    "1659103C"=dword:00000000
    "165A103C"=dword:00000000
    "3389103C"=dword:00000000
    "165B103C"=dword:00000000
    "17F8103C"=dword:00000000
    "1899103C"=dword:00000000
    "06451025"=dword:00000000
    "06471025"=dword:00000000
    "06491025"=dword:00000000
    "064B1025"=dword:00000000
    "064D1025"=dword:00000000
    "064F1025"=dword:00000000
    "06511025"=dword:00000000
    "06531025"=dword:00000000
    "05041025"=dword:00000000
    "05111025"=dword:00000000
    "050E1025"=dword:00000000
    "05131025"=dword:00000000
    "FC401179"=dword:00000000
    "SPPROC"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Parameters\Wdf]
    "KmdfLibraryVersion"="1.9"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Enum]
    "Count"=dword:00000001
    "NextInstance"=dword:00000001
    "INITSTARTFAILED"=dword:00000001
    "0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\3&11583659&0&A0"

#1189

diderius6

And here come the registry entries for the Intel xhci
and hub3 entry (they all work).
May be the 3 entries are just, what ⇗ @canonkong missed for his hub via Fresco
Dietmar
xhci:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc]
    "Type"=dword:00000001
    "Start"=dword:00000003
    "ErrorControl"=dword:00000001
    "Tag"=dword:00000014
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
      52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,75,00,73,00,62,00,33,00,78,\
      00,68,00,63,00,2e,00,73,00,79,00,73,00,00,00
    "DisplayName"="Intel(R) USB 3.0 eXtensible-Hostcontrollertreiber"
    "Group"="Base"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc\Parameters]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc\Enum]
    "0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\3&11583659&0&A0"
    "Count"=dword:00000001
    "NextInstance"=dword:00000001

hub3:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub]
    "Type"=dword:00000001
    "Start"=dword:00000003
    "ErrorControl"=dword:00000001
    "Tag"=dword:00000015
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
      52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,75,00,73,00,62,00,33,00,68,\
      00,75,00,62,00,2e,00,73,00,79,00,73,00,00,00
    "DisplayName"="Intel(R) USB 3.0-Hubtreiber"
    "Group"="Base"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub\Parameters]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub\Enum]
    "0"="IUSB3\\ROOT_HUB30\\4&556f44c&0"
    "Count"=dword:00000003
    "NextInstance"=dword:00000003
    "1"="USB\\VID_174C&PID_2074\\5&14a73d14&0&3"
    "2"="USB\\VID_174C&PID_3074\\5&14a73d14&0&23"

#1190

diderius6

Found this on the way, from Fresco for XP USB3
Dietmar
diderius6 has attached files to this post

- ⇗ FrescoXP.rar

#1191 | canonkong | ⇗ @diderius6 All usb drivers origenal package. ⇗ https://yadi.sk/d/5jkmVZBjNgNZMw
#1192 | diderius6 | ⇗ @canonkong Thank you. What do you think, which driver has best chances for to work for XP USB3 for Intel chipset USB Dietmar
#1193 | infuscomus | ⇗ @diderius6 I think either the texas instruments driver or the amd 3.1 driver I'm basing my guess on the size in kb of the controller driver compared to intels driver

#1194

diderius6

⇗ @infuscomus
I wonder, how ⇗ @canonkong makes a 32 bit version of the USB3 xhci and hub driver vers. 2.0.0.0068 from AMD.
Because there is only a 64 bit version of this driver from AMD on the market,
he needs the sourcecode for this driver for to compile it for 32 bit.
If I am right, we have this driver, but something went wrong during compiling,
Dietmar
PS: Until now, we do not know, which makes the difference between Intel USB3 and all USB3 from other manufactures.
I think, may be it is the KMDF driver concept but VIA and Fresco have KMDF also. Texas instruments I dont know.
docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/tutorial--write-your-first-usb-client-driver--kmdf-

#1195

canonkong

⇗ @diderius6 ⇗ @infuscomus
For win7 64bit, AMD Zeppelin USB driver is the best one, it can support all usb devices just add the device ID into the *.inf and don't need to modify the *sys.
Intel 1.0.10.255/ 5.0.4.43/ 15.2.30.13/ 17.2.70.3 are also can support all usb devices just add the device ID into the *.inf but need to modify the *sys. And it can support 32/64bit.
Fresco VIA NEC can only work for the XHCI, but the hub can not work.
As my platform can not support XP, so I can only test on VM, the amd USB driver can support nearly all usb devices but Intel can not work on real machines.

#1196

diderius6

I modified the xhci.sys and *.inf for Intel chipset USB3.0 under XP as good as I can for the Texas Instrument USB 3.0 driver for Win 7 DriverVer=04/14/2016, 1.16.6.0. I use PEmaker 0.82 for to correct the size and the checksum.
Compi tries 4 times to install it, as you can see with Windbg.
The message is about a filtered list,
DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED (0x00000200)
The device's resource requirements list is a filtered list.
so may be only in the extra settings in this special xhci.sys driver is wrong for XP
Dietmar
PS: KMDF driver has started correct in XP.
EDIT: On WIN7 the Texas driver for Intel chipset USB 3.0 is also not loaded, showes the same code 31 as for XP.

    0: kd> !DevNode 0x8a475a58
    DevNode 0x8a475a58 for PDO 0x8a476a90
      Parent 0x8a4c2500   Sibling 0x8a475938   Child 0000000000
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "tixhci"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeInitialized (0x302)
      StateHistory[18] = DeviceNodeInitialized (0x302)
      StateHistory[17] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[16] = DeviceNodeInitialized (0x302)
      StateHistory[15] = DeviceNodeUninitialized (0x301)
      StateHistory[14] = DeviceNodeRemoved (0x312)
      StateHistory[13] = DeviceNodeInitialized (0x302)
      StateHistory[12] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[11] = DeviceNodeInitialized (0x302)
      StateHistory[10] = DeviceNodeUninitialized (0x301)
      StateHistory[09] = DeviceNodeRemoved (0x312)
      StateHistory[08] = DeviceNodeInitialized (0x302)
      StateHistory[07] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[06] = DeviceNodeInitialized (0x302)
      StateHistory[05] = DeviceNodeUninitialized (0x301)
      StateHistory[04] = DeviceNodeRemoved (0x312)
      StateHistory[03] = DeviceNodeInitialized (0x302)
      StateHistory[02] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      Flags (0x00002230)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_HAS_PROBLEM
      CapabilityFlags (0x00002000)  WakeFromD3
      Problem = CM_PROB_FAILED_ADD

diderius6 has attached files to this post

- ⇗ TexasMOD.rar

#1197 | diderius6 | So, only hope at the moment for USB 3.0 under XP for Intel chipset is, that somebody has the sourcecode for the generic Microsoft USB 3.0 drivers from Win8 and just compiles it for Win2003 32 bit Dietmar
#1198 | infuscomus | ⇗ @diderius6 do you know how to change the value of a string when using a disassembler?

#1199

diderius6

⇗ @infuscomus
All string values are coded as Hexnumbers (unicode), each separated with "." => 00
"1" => 31
"2"=> 32
...
"A" => 41
"B" => 42
...
Dietmar
⇗ https://unicode-table.com/de/

#1200

infuscomus

⇗ @diderius6
So I made an attempt to modify AMD driver 1.0.5.3 for intel - can you please test for yourself?
please add your HWID to the INF yourself since i was not sure which HWID you have
hub driver might need an INF mod too, I'm not sure
edit:
alt version in case first one crashes
infuscomus has attached files to this post

- ⇗ AMD USB 3.1 drivers v1.0.5.3 WHQL modded.7z.ZIP
- ⇗ AMD USB 3.1 drivers v1.0.5.3 WHQL modded.7z - alt.ZIP

## Page 81

#1201

diderius6

⇗ @infuscomus
Waaaaooooohhhhhhhh , for the very first time the xhci.sys controller starts for Intel chipset USB 3.0
What a great work!
Hub does not start until now but this can be, because in xhciMod.sys you changed the name for the Hub
and so XP looks in hub.inf for a name, which now not exist.
I test this.
But this is really a BIG day for Windows XP!!!
Open Diff file with Browser.

    0: kd> !DevNode 0x8a475a58
    DevNode 0x8a475a58 for PDO 0x8a476a90
      Parent 0x8a4c2500   Sibling 0x8a475938   Child 0x88480a70
      InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
      ServiceName is "amdxhc31"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[09] = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[08] = DeviceNodeStarted (0x308)
      StateHistory[07] = DeviceNodeEnumerateCompletion (0x30d)
      StateHistory[06] = DeviceNodeStarted (0x308)
      StateHistory[05] = DeviceNodeStartPostWork (0x307)
      StateHistory[04] = DeviceNodeStartCompletion (0x306)
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      Flags (0x000000f0)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED
      CapabilityFlags (0x00002000)  WakeFromD3

diderius6 has attached files to this post

- ⇗ diffXHCI.rar

#1202

diderius6

I edit amdhub31.inf,
but now amdhub31.sys shows in Device Manager code 29

    Code 29 - This Device Is Disabled Because the Firmware of the Device Did Not Give It the Required Resources

    Dietmar

    ;*****************************************************************************
    ;
    ; Name:  amdhub31.inf
    ;
    ; Function:
    ;	Install AMD USB3.1 Hub Driver
    ;
    ; Copyright (c) 2014-2018 AMD, ASMedia, MCCI.
    ;
    ; MCCI(R) is a registered trademark of MCCI Corporation.
    ;
    ;*****************************************************************************

    [Version]
    Signature="$WINDOWS NT$"
    Class=USB
    ClassGuid={36fc9e60-c465-11cf-8056-444553540000}
    Provider=%Provider%
    DriverVer=01/22/2018, 1.0.5.3

    [SourceDisksNames.x86]
    1=%DiskKey%,"amdhub31.sys",,\x86

    [SourceDisksFiles.x86]
    amdhub31.sys=1

    [DestinationDirs]
    DefaultDestDir = 12

    [Manufacturer]
    %RootHub.MFG%=RootHub, ntx86
    %Hub.MFG%=Hub, ntx86

    [Hub.ntx86]
    %Hub_Product_1%=Hub_Product2_Install,USB\USB_HUB30

    [RootHub.ntx86]
    %RootHub_Product_1%=RootHub_Product1_Install,USB\USBROOT_HUB31

    [RootHub_Product1_Install.ntx86]
    FeatureScore=80
    CopyFiles=amdhub31.CopyFiles.x86
    DriverVer=01/22/2018, 1.0.5.3
    AddReg=RootHub_Product1_Install.AddReg
    AddReg=amdhub31.DeviceInterfaceGuids
    AddReg=amdhub31.ProductDeviceInterfaceGuids

    [RootHub_Product1_Install.ntx86.services]
    AddService=amdhub31,0x00000002,amdhub31_service

    [amdhub31.CopyFiles.x86]
    amdhub31.sys

    [amdhub31.DeviceInterfaceGuids]
    HKR,DeviceInterfaces,GUID_DEVINTERFACE_USB_HUB3,, "{314B0371-157A-434A-8459-685D389ED910}"

    [amdhub31.ProductDeviceInterfaceGuids]
    HKR,DeviceInterfaces,GUID_DEVINTERFACE_USB_USB3_DRIVERS,, "{C6164C12-A1E1-4B7E-B49C-F942E3A8C050}"

    [amdhub31_service]
    DisplayName=%amdhub31_ServiceDescription%
    ServiceType=1
    StartType=3
    ErrorControl=1
    ServiceBinary=%12%\amdhub31.sys
    LoadOrderGroup=Base
    AddReg=WinToGo_amdhub31.AddReg

    [Strings]
    DiskKey = "AMD USB 3.1 Install Disk"
    Hub.MFG = "(Generic USB Hub)"
    Hub_Product_1 = "Generic USB Hub"
    Provider = "Advanced Micro Devices, Inc."
    RootHub.MFG = "(Standard USB Host Controller)"
    RootHub_Product_1 = "AMD USB3.1 Root Hub"
    amdhub31_ServiceDescription = "AMD USB3.1 Hub Service"

    ;**** end of file ****

#1203

diderius6

⇗ @infuscomus
This is, what Windbg tells about amdhub31.sys
Such a code 29 I have never seen before
Dietmar

    0: kd> !DevNode 0x884ae530
    DevNode 0x884ae530 for PDO 0x884b1be0
      Parent 0x8a471180   Sibling 0000000000   Child 0000000000
      InstancePath is "USB\USBROOT_HUB31\3&216d82cf&2&0"
      ServiceName is "amdhub31"
      State = DeviceNodeRemoved (0x312)
      Previous State = DeviceNodeStartPostWork (0x307)
      StateHistory[07] = DeviceNodeStartPostWork (0x307)
      StateHistory[06] = DeviceNodeAwaitingQueuedRemoval (0x30f)
      StateHistory[05] = DeviceNodeStartPostWork (0x307)
      StateHistory[04] = DeviceNodeStartCompletion (0x306)
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      Flags (0x00002130)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_NO_RESOURCE_REQUIRED, DNF_HAS_PROBLEM
      CapabilityFlags (0x00002200)  SurpriseRemovalOK, WakeFromD3
      Problem = CM_PROB_HARDWARE_DISABLED

#1204

diderius6

⇗ @infuscomus
I noticed with Ida Pro,
that in the amdhub31.sys is still reference to
AMDHUB31
AmdUsb3_1Root
which you renamed in amdxhc31.sys.
Why did you rename them?
And I noticed, that

         .rdata:000628A8	                unicode	0, <AMDROOT_HUB31&VID040E&PID0100&VER00010000000>

    =>

         .rdata:000628A8			unicode	0, <USBROOT_HUB31&VID040E&PID0100&VER00010000000>

which may be too special to give explicit VID_&PID_ here for the Hub from MCCI.
Mine is for example VID8086&PIDA2AF
Dietmar

#1205

diderius6

⇗ @infuscomus
I take a look at your xhci driver and mod it new with minimal changes for my USB device VEN_8086&DEV_A2AF.
My modded xhci.driver works also.
I dont change anything in the names of AMD or USB there.
So, I can use the unmodded *.inf file for the also unmodded Hub.sys
But again the message code 29 appears,
seems to be a serious problem,
last bastion^^ from Intel against USB3 hack for XP
Dietmar
PS: May be it is just, that we need an USB 3.0 hub. This one with code 29 is USB 3.1, but the hardware from Intel chipset is in real only USB 3.0.
⇗
diderius6 has attached files to this post

- ⇗ AMDUSB3.1driversv1.0.5.3 WHQLModDietmar.rar

#1206 | canonkong | ⇗ @diderius6 You can use the hub driver from AMD zeppelin USB driver 2.0.0.48/2.0.0.68.

#1207

diderius6

⇗ @canonkong
Nice idea, I just tested,
but gives the same code 29.
Hm, all the different Hub drivers give this code 29,
so something went wrong
Dietmar

#1208 | canonkong | ⇗ @diderius6 I use 2.0.0.48 hub, but code 10. EDIT: And I found that your mod xhci not fully change, you need to replace all 22 10 00 00 to 86 80 00 00, and 39 4B 00 00 to your dev ID.
#1209 | infuscomus | ⇗ @diderius6 ⇗ @canonkong I'm just guessing, but maybe we need that intel switch driver for the hub to work? edit: usb power settings? maybe hub is asleep?

#1210

diderius6

⇗ @infuscomus ⇗ @canonkong
I also think, that may be intel switch has a meaning. Does somebody know, how and for what this is good?
We can integrate this driver by hand with its registry entries.
What I will try today:
1.) Look about all new registry entries from Win7 32 bit for exact this driver from AMD 1.0.5.3.
For this I will set up a new Win7 with minimal environment, copy registry and
check after install of this driver with "Beyond Compare 2" those 2 registries for all differences.
2.) I make by hand entries in registry in "CriticalDeviceDatabase" in XP for this USB device. This will be a hard job,
Dietmar
PS: Any idea is welcome. What really does code 29 mean for a driver?

#1211

canonkong

@ diderius6
You can try this one.
8086_A2AF_USB_XP_32BIT_TEST
⇗ https://yadi.sk/d/DVZl98FGYDFgSw
EDIT:
I test it for my 3700x on win7, it is working, but intel A2AF need test.
⇗ ⇗ http://uploadoss.smxdiy.com/forum/201908...8a1rr14vze5.jpg

#1212

diderius6

⇗ @canonkong
Nice driver also, asmxhci.sys starts correct my A2AF USB 3.0 controller,
but Hub gives again code 29.
Interesting, that there are more than 1 usb driver,
which works for Intel chipsets
Dietmar

#1213

infuscomus

⇗ @diderius6
Error Code
29
Display Message
"This device is disabled because the firmware of the device did not give it the required resources. (Code 29)"
Recommended Resolution
Enable the device in the BIOS.
⇗ https://docs.microsoft.com/en-us/windows...rdware-disabled

#1214

diderius6

⇗ @infuscomus
All what can be enabled in Bios is enabled.
And under Win7 this USB 3.0 device with A2AF works
Dietmar
PS: I think, CriticalDeviceDatabase can make this symptoms (code 29) also,
I know from USB2.0 and from ahci.sys, the Intel driver for harddisks has entries there also.

#1215

diderius6

Ha, I understand, what is going on.
Look at the picture, no energy management can be seen (on top from devicemanager).
For to safe energy, the crazy XP shuts this USB device off,
and now no switch there to start it again
Dietmar
⇗

## Page 82

#1216 | infuscomus | ⇗ @diderius6 try disabling USB power savings in control panel, see if it turns on

#1217

diderius6

⇗ @infuscomus
In XP, there is no such switch. Only for each hub itself.
All hubs, that I tested show code 29.
I am quite sure, that XP switched this hub off.
And nothing I know, how to switch it on again.
I succeed to install the Intel switch. It installs without problems (via hardware manager) and gives a pci device in device manager. But even if this could enable power on for Intel hubs, it does not work in XP
Dietmar

#1218 | infuscomus | ⇗ @diderius6 i meant something like this - ⇗ http://tools.thermofisher.com/content/sf...onnectivity.pdf

#1219

diderius6

⇗ @infuscomus
I found this
HKR,,WdkSelectiveSuspendEnable, 0x10001, 0
Dietmar
EDIT: Again code 29. So may be, something other stopps HUB in last moment from start.
For this Hub is valid:
PDCAP_D0_SUPPORTED
PDCAP_D3_SUPPORTED
PDCAP_WAKE_FROM_D3_SUPPORTED
Energy state now = D3 (off)

#1220 | infuscomus | ⇗ @diderius6 try plugging in a powered USB hub - ⇗ https://www.ebay.de/itm/USB-7-Port-HUB-P...lC_klgSxX3qtOfg I had this problem earlier with my USB 2.0 card and the powered hub fixed it The following contents have been linked to this post:

#1221

diderius6

⇗ @infuscomus
Nice idea, I have powered USB hub and I will test.
First I thought, that may be this USB hub does not have the possibility
to save power (D3 <=> D0) like the VIA hub3.0.
But then I noticed, that I can also install the normal Asmedia USB 3.1 USB hub with this new driver
and there this one shows powermanagment.
So, indeed this USB Hub3.0 for Intel chipset is not awaken frome sleep D0 => D3.
Only question is,
why not
Dietmar
Dietmar

#1222

daniel_k

⇗ @diderius6
As I was suspecting, the issue lies in the ACPI's DSDT table.
The DSDT table from Z390 chipsets do not have many custom methods and memory operations for integrated devices.
But for the Z370, there are many operations for the same integrated devices.
Just search for Device (XHC) and see the differences.
Remove all instructions from the Z370' DSDT and leave it as close as possible as the Z390's.
After doing this, many host drivers are now loaded successfully.

#1223 | infuscomus | ⇗ @diderius6 Looking at ASMedia 1.16.56.1 and AMD 1.0.5.3 USB 3.1 drivers it looks to me like the code for both these drivers is identical and they just swapped the HWIDs

#1224

diderius6

⇗ @infuscomus
I connected a powered USB 3.0 hub,
but no reaction, USB 3.0 from Intel chipset still sleeps with code 29, grrr..
I make a test, if this can be indeed the fault of the DSDT table as recommend from ⇗ @daniel_k .
For this, I make a new setup, compi first in "ACPI Multiprocessor" and then also at the same time as "Standard PC" for XP.
Hm, on Acpi multiprocessor I get now also for the working xhci driver code 10,
device cannot start. But when I switch to the "Standard PC", suddently
I can install the same USB xhci driver for the Intel chipset without any error.
But then the Intel chipset USB hub shows also code 29, D3 powerstate =off, not awake.
I know, that for "ACPI Multiprocessor" and for "Standard PC" are two, absolut independend sets of installation routines
in every DSDT. This you can see, because all drivers are loaded new, when you switch from ACPI Multiprocessor to
Standard PC. This works only in XP and only, it you first install the "ACPI Multiprocessor" and after "Standard PC"
and not vice versa
Dietmar
PS: For me is now the question, how Win7 32 bit can survive with such a faulty DSDT table.

#1225

diderius6

After I read about xhc device in DSDT and problems with Acpi (crazy, so big problems with Apple compis with USB and ACPI)
I am sure, that we need a mod in DSDT for USB3 an XP. It is not the fault of the drivers for USB3 for XP.
Idea from ⇗ @daniel_k looks not bad on a second view.
I know now, that he is right.
So lets have a look at the DSDT from z390 for xhc and differences to z370.
There is even a whole Bios for pur XP for the EVGA dark z390 board
Dietmar
PS: We have the asl.exe tool. With this, it is easy to mod DSDT without any risk for Bios, revertible whenever and as long as you want , no need to load again on every boot because it stays in registry, I tested. Nice tool. So, its much easier than for Hackintosh to modmodmod DSDT for XP. And I make a new try with the Fresco USB driver.

#1226

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1223

> @diderius6
> Looking at ASMedia 1.16.56.1 and AMD 1.0.5.3 USB 3.1 drivers it looks to me like the code for both these drivers is identical and they just swapped the HWIDs

That's because AMD uses ASMedia core logic.

#1227

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1225

> ...
> So lets have a look at the DSDT from z390 for xhc and differences to z370.
> There is even a whole Bios for pur XP for the EVGA dark z390 board
> Dietmar
> PS: We have the asl.exe tool. With this, it is easy to mod DSDT without any risk for Bios, revertible whenever and as long as you want , no need to load again on every boot because it stays in registry, I tested. Nice tool. So, its much easier than for Hackintosh to modmodmod DSDT for XP. And I make a new try with the Fresco USB driver.

Unfortunately, still it is not that easy.
For now, the "best" driver I've tried and easier to mod was the Renesas 3.0.23.0: both the Host controller and the Hub driver are properly loaded.
However, it doesn't always work. I need to enable/disable the Host controller several times for it to work. When it does, works perfectly.
I've attached the driver here. It is completely generic, removed all device checks. Did not try it on anything but the A2AF controller. Original driver is included for you to see what I did.

#1228 | daniel_k | ⇗ @diderius6 What is your board with Intel USB 3.0 (A2AF)? I can mod the DSDT my way for you to see what I did here.
#1229 | diderius6 | ⇗ @daniel_k Asrock Fatal1ty z370 Gaming k6 with yes VEN_8086&DEV_A2AF USB3.0. With the asl.exe tool, you can load and unload the DSDT at any time to registry in XP SP3, Dietmar

#1230

diderius6

⇗ @daniel_k
On "Standard PC" the xhci installs and the hub starts:)) !!!
Usbstor.sys does not start, this is exact the situation as on the AMD boards before
Dietmar
PS: Nice work!
⇗

## Page 83

#1231

daniel_k

⇗ @diderius6 , hopefully we're almost there!
I've attached the DSDT tables of your board (and a reference Z390 from ASRock) for you to see what I did.
Please note that I've also removed the following entry:

    Scope (_GPE)
        {
            Method (_L6D, 0, Serialized)  // _Lxx: Level-Triggered GPE
            {
                \_SB.PCI0.XHC.GPEH () -> REMOVED THIS
                \_SB.PCI0.HDAS.GPEH ()
                \_SB.PCI0.GLAN.GPEH ()
                \_SB.PCI0.XDCI.GPEH ()
            }
        }

daniel_k has attached files to this post

- ⇗ DSDT_MOD.rar

#1232

diderius6

Waaaaoooohhhhh, for the very first time XP and USB3 on Intel chipset !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For this I set in Registry for
usbstor Group System Reserved
start 0
xhci Group System Reserved
start 0
hub Group System Reserved
start 0
Dietmar
⇗

#1233 | daniel_k | ⇗ @diderius6, after doing these changes, does it work every time? Please try to restart Windows and check if it Always work. Here in ACPI mode without registry changes, only works after 7 ~ 10 enable / disable retries.

#1234

diderius6

⇗ @daniel_k
The registry changes are necessary
Dietmar
PS: I test test test now:))!!!
EDIT: There is still a lot to do:)). With ACPI Multiprocessor xhci gives always code 10.
With Standard PC not always usbstor.sys is loaded.

#1235 | canonkong | ⇗ @daniel_k For AMD new cpu and X570, they have the USB controller ven1022_dev_149C. Do you know which is the best driver for them? Because they running on PCI-E 4.0, I tested some driver for them, AMD zeppelin usb driver 2.0.0.48 and Intel USB drivers can work for them, but will BSOD sometimes. ASMedia and AMD USB3.1 driver can work but the USB disks cant work.

#1236

diderius6

⇗ @daniel_k
I just upload the new compiled, modded DSDT table for the board Asrock Fatal1ty z370 Gaming k6 via
asl /loadtable dsdt.aml
on working ACPI Multiprocessor XP for to look for behavior on Intel chipset USB3.
Change of DSDT table has been done and works, because on next reboot I got
BSOD 0x000000A5 (0x00000003, xxx, C0140004, yyy).
with newest modded acpi.sys ver. 5048
Now I look with Windbg,
at which place this BSOD in acpi.sys happens
Dietmar
BSOD 0xA5 (0x00000003, Parameter2, Parameter3, Parameter4):
This error is defined as "ACPI failed must succeed method." This error occurs if ACPI cannot build a control method to reference the ACPI namespace. Other arguments for this error reference the ACPI object that was being run and the name of the control method. One greatly simplified explanation (which might not be completely accurate) is that the system cannot find a way to get to the ACPI tables that define the Plug and Play and Power Management capabilities of the system.

#1237 | infuscomus | ⇗ @diderius6 Intel ASL compiler also has it's own acpiexec command line tool which can also load DSDT from registry maybe try that? edit: or maybe i'm wrong about iasl being able to load a different DSDT

#1238

diderius6

⇗ @infuscomus
The asl.exe Tool works perfect.
I change the acpi5048.sys against my first modded original acpi.sys from XP SP3
(gives BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy)
because now I get Symbols in Ida Pro and windbg shows me exact the line,
where it crashes.
May be, it is just an simple error in DSDT.
The fantastic thing in the asl.exe tool is,
that now I can start the same XP (with uploaded DSDT) as "Standard PC" and write simple command
asl /loadtable -d dsdt.aml
and the uploaded DSDT table is deleted in registry and XP now uses the unmodified DSDT table from Bios,
meaning all is exact like before
Dietmar
EDIT: The changes in DSDT are a little bit to heavy^^. Now the COM1 port does not work any longer, meaning no windbg.
But for me it is a good test, if really I can delete this DSDT (stays only in registry) with asl.exe and if all is good as before.
In "Standard PC" the changes in DSDT do not help for better USB3. May be other tables need to be fixed too.
EDIT2: I change by hand the adress of the COM port, now it works again with windbg.
Still I use the modded DSDT for to see, what is going on:

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI!ACPIBuildCompleteMustSucceed+33
    b7f3967f c7401802000000  mov     dword ptr [eax+18h],2

    SYMBOL_STACK_INDEX:  4

    SYMBOL_NAME:  ACPI!ACPIBuildCompleteMustSucceed+33

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  480252b1

    FAILURE_BUCKET_ID:  0xA5_ACPI!ACPIBuildCompleteMustSucceed+33

    BUCKET_ID:  0xA5_ACPI!ACPIBuildCompleteMustSucceed+33

    Followup: MachineOwner

EDIT3: Hack in acpi.sys succeeds, but now I get BSOD 0xA5 (0x00000002,xxx,0x00000001,yyy)

    0xA5(0x00000002, Parameter2, Parameter3, Parameter4):

    This error is defined as ACPI root PCI resource failure. To discover what
    current resources are being used by PCI devices, ACPI must be able to
    query the CRS descriptor in the ACPI namespace. This error occurs if the
     BIOS lacks a pointer to the list, or if the list is empty, or if the
    list contains errors or conflicts.

The "1" in this BSOD means: 1 : ACPI cannot convert the BIOS' resource list into the proper
format. This probably represents a flaw in the BIOS' list
encoding procedure.
Ok, next hack^^ in acpi.sys.
Works also, but gives now exotic BSOD

    0xA5 (0x00010007,0x000000FF,0x0000000,0x0000000)
    0x10007 :
    The _PRT contained a reference to a vector not described in the
    I/O APIC entries MAPIC table.
    2 - The vector that couldn't be found

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI!MakeTempVectorCountsPermanent+59
    b7f5a087 8a4607          mov     al,byte ptr [esi+7]

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  ACPI!MakeTempVectorCountsPermanent+59

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  480252b1

    FAILURE_BUCKET_ID:  0xA5_ACPI!MakeTempVectorCountsPermanent+59

    BUCKET_ID:  0xA5_ACPI!MakeTempVectorCountsPermanent+59

    Followup: MachineOwner

EDIT4: I cant correct this error on acpi.sys, because 0xA5 (0x00010007,0x000000FF,0x0000000,0x0000000)
is produced from hal.dll.
Here I give up.
Now I just delete with the nice asl.exe Tool the DSDT in registry via boot to "Standard PC" in commandline

    asl /loadtable -d dsdt.aml

A message pops up, "registry data deleted"
and on next boot I have the original DSDT table from Bios back. I think, this works only in XP, because Win Server 2003 looks
only in Bios for DSDT table.
Interesting, this boot for "ACPI Multiprocessor" I tested with my again 2 times modded acpi.sys
and it starts. So, there are really errors in DSDT table (I think before mod also),
Dietmar

#1239

canonkong

⇗ @diderius6 ⇗ @infuscomus ⇗ @daniel_k
I modifie some usb drivers for ryzen 3000 series and x570, but it just work for the mouse keyboard soundcard, but USB DISK do not work well, U disk has been identified and driven successfully, but there will be no U disk character or it will said prompt formatting on computer pages.
Can you help me find what I need to midify with them.
Here is the test driver: ⇗ https://yadi.sk/d/C6kvjsrdwE4MOw
Error like this: ⇗ ⇗ http://uploadoss.smxdiy.com/forum/201908...8jp8okzmxth.png

#1240

diderius6

⇗ @canonkong
With 64 bit I have no good intrumentarium here for to analyze.
I would make a try in the registry entries as I write above for all
start=0
Group System Reserved
But editing registry can produce strange results
Dietmar

#1241

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1238

> EDIT: The changes in DSDT are a little bit to heavy^^. Now the COM1 port does not work any longer, meaning no windbg.
> But for me it is a good test, if really I can delete this DSDT (stays only in registry) with asl.exe and if all is good as before.
> In "Standard PC" the changes in DSDT do not help for better USB3. May be other tables need to be fixed too.

Dietmar, on my Gigabyte Z370 Gaming 3 there are no side effects.
Anyway, start the original table and delete small parts of the code, specially the OperationRegion blocks.

#1242

daniel_k

⇗ @canonkong, there are some additional checks, try the one I've attached.

daniel_k has attached files to this post

- ⇗ TIUSB3_HostDriver.rar

#1243 | canonkong | ⇗ @daniel_k It said Code 31, TI and other MICC driver has ID cheksum, we need change it. So we need use HxD find 50 00 43 00 49 EDIT: Finish ID cheksum, XHCI and HUB driver can work. But all usb mouse key board U disk are spotting "Generic USB Hub" and can not work.

#1244

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1243

> @daniel_k
> It said Code 31, TI and other MICC driver has ID cheksum, we need change it. So we need use HxD find 50 00 43 00 49
> EDIT:
> Finish ID cheksum, XHCI and HUB driver can work. But all usb mouse key board U disk are spotting "Generic USB Hub" and can not work.

Sorry, no more ideas, for now.

#1245

daniel_k

⇗ @canonkong, one last try. The string check I missed actually accepts wildcard, see what I did.
⇗ @diderius6, please try this TI driver in Standard PC mode, check if it works better than the Renesas.
There are more issues with the ACPI tables, more specifically in many SSDT tables.
For Z370, GUID 6B5C8FE5-70DD-4E17-BFF4-D21C26586EB3, you'll find:

        Scope (\_SB.PCI0.XHC.RHUB)
        {
            Method (PS0X, 0, Serialized)
            {
                Store (Zero, \_SB.PCI0.XHC.USPP)
            }

            Method (PS2X, 0, Serialized)
            {
                OperationRegion (XHCM, SystemMemory, And (MEMB, 0xFFFFFFFFFFFF0000), 0x0600)
                Field (XHCM, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x02),
                    XHCV,   16,
                    Offset (0x480),
                    HP01,   1,
                    Offset (0x490),
                    HP02,   1,
                    Offset (0x530),
                    SP00,   1,
                    Offset (0x540),
                    SP01,   1
                }

                If (LEqual (XHCV, 0xFFFF))
                {
                    Return (Zero)
                }

                If (LAnd (LEqual (HP01, Zero), LEqual (SP00, Zero)))
                {
                    Or (\_SB.PCI0.XHC.USPP, 0x02, \_SB.PCI0.XHC.USPP)
                }

                If (LAnd (LEqual (HP02, Zero), LEqual (SP01, Zero)))
                {
                    Or (\_SB.PCI0.XHC.USPP, 0x04, \_SB.PCI0.XHC.USPP)
                }
            }

            Method (PS3X, 0, Serialized)
            {
            }
        }

For Z390, GUID 7E374E25-8E01-4FEE-87F2-390C23C606CD, you'll find:

        Scope (\_SB.PCI0.XHC.RHUB)
        {
            Method (PS0X, 0, Serialized)
            {
            }

            Method (PS2X, 0, Serialized)
            {
            }

            Method (PS3X, 0, Serialized)
            {
            }
        }

daniel_k has attached files to this post

- ⇗ TIUSB3_HostDriver.rar

## Page 84

#1246 | canonkong | ⇗ @daniel_k It doesn't matter. I've found another better driver. VIA work very well on it.
#1247 | canonkong | ⇗ @daniel_k I test it again. It also works for the mouse keyboard soundcard, but USB DISK do not work well, U disk has been identified and driven successfully, but there will be no U disk character or it will said prompt formatting on computer pages.

#1248

diderius6

⇗ @daniel_k
Thank you for the driver,
I test in 5 min from now:)), before очень вкусный coffee. My tip for a good driver would be Fresco vers. 3.6.9.0
But with my Ida Pro from 2004 it is a very hard job to do any modding, so any help is welcome.
Do you know, why the Asmedia and the AMD hub stays in sleeping mode D3?
Can this hub been awaken with entries in xhci.inf?
I do not find any documentation about it
Dietmar

#1249

diderius6

⇗ @daniel_k
In "Standard PC" the Texas xhci.sys starts.
The hub.sys stays in sleeping mode code 29. I see, that in its xhci.inf there is the possibility put to registry,
that hub is allowed to sleep. May be it is enough to cancel this there.
On "ACPI Multiprocessor" the Texas xhci.sys starts not, shows code 10
Dietmar
PS: I am very interested, which tool you use after modding, to let the Build date, version etc. exact as that from original file.

#1250

diderius6

Oh, so much fun with XP !
Now I have
"ACPI Multiprocessor"
"MPS"
"Standard PC"
on one XP SP3 32 bit installation and I can chose between them just on each boot.
I see, that the NEC USB3 works also in MPS mode.
This means, that USB3 does not work until now for "ACPI Multiprocessor"
is only because of the faulty ACPI implementation in DSDT.
One thing more I noticed:
Only, when all 3 HUBs are started from NEC (for one xhci controller),
USB 2.0 Hub
USB 3.0 Hub
USB 3.0 Root Hub
usbstor.sys starts and "unknown device" is gone
Dietmar
PS: I make just small speed test with Sandisk Ultra USB stick: 314.1 Mbyte/s.
EDIT: I solved the problem with "unknown device". For this I boot "MPS" in safe mode and there I can disable for the HUBs
the possibility to save energy. Now they start always and we have stable USB 3.0 support for XP.
EDIT2: Also my Samsung phone is recogniced correct at once. On other compis with USB there was so much trouble with it.
All 8 ports work, can be mice, phone, usbstick 2.0, 3.0, 3.1, 3.2, camera, USB hub all work at once and no power fall back.
⇗

#1251

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1250

> EDIT: I solved the problem with "unknown device". For this I boot "MPS" in safe mode and there I can disable for the HUBs
> the possibility to save energy.

Can you please check the registry value name so we can add it to the INF file?
Should be easy to spot that under the following registry tree:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\????

where ???? can be any device instance number, search for Renesas.
Disable and check which value is changed.

#1252

diderius6

⇗ @daniel_k
I think you mean this, it is just copied from working Registry, not any longer sleeping Hubs.
Dietmar

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0004]
    "InfPath"="oem10.inf"
    "InfSection"="RUSB3XHC"
    "InfSectionExt"=".NT"
    "ProviderName"="Renesas Electronics"
    "DriverDateData"=hex:00,40,3b,e8,2f,7f,cd,01
    "DriverDate"="8-21-2012"
    "DriverVersion"="3.0.23.0"
    "MatchingDeviceId"="pci\\cc_0c0330"
    "DriverDesc"="Renesas Electronics USB 3.0 Host Controller"
    "DataPumpDebugFlags"=dword:0000a003
    "DataPumpHubAutoSuspendEnable"=dword:00000000
    "DataPumpMinU1TimeoutEncodeValue"=dword:00000000
    "DataPumpMinU2TimeoutEncodeValue"=dword:00000000
    "DataPumpPowerOffWhenSleep"=dword:00000000
    "DataPumpU1Enable"=dword:00000000
    "DataPumpU2Enable"=dword:00000000
    "DataPumpWakeOnConnectionEnable"=dword:00000001
    "DataPumpWakeOnDisconnectionEnable"=dword:00000001
    "DataPumpWakeOnOvercurrentEnable"=dword:00000001
    "DataPumpXhcdEventRingSegmentSize"=dword:00000400
    "DataPumpXhcdMaxEventRingSize"=dword:00000400
    "DataPumpXhcdNumOfBufferSegment"=dword:00000008
    "DataPumpXhcdPollPortStatusTime"=dword:000007d0
    "DataPumpXhcdRxThreshold"=dword:28400000
    "DataPumpXhcdSystemResumeRecoveryTime"=dword:000007d0
    "DataPumpXhcdTxThreshold"=dword:22040000
    "DataPumpXhcdWiringValue"=dword:0006360a
    "Disable64BitDma"=dword:00000000
    "EnableClockPower"=dword:00000001
    "EnableDynamicD3"=dword:00000002
    "EnablePciBridge"=dword:00000001
    "EnableXiWake"=dword:00000002
    "WdkSelectiveSuspendEnable"=dword:00000001
    "WmiOverCurrentMessageDisable"=dword:00000000
    "Controller"=hex:01
    "CoInstallers32"=hex(7):72,00,75,00,73,00,62,00,33,00,63,00,6f,00,32,00,2e,00,\
      64,00,6c,00,6c,00,2c,00,4e,00,75,00,73,00,62,00,33,00,43,00,6f,00,49,00,6e,\
      00,73,00,74,00,61,00,6c,00,6c,00,65,00,72,00,00,00,00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0004\DeviceInterfaces]
    "GUID_DEVINTERFACE_TI_XHCI_8241_02"="{8e5f3630-a165-11df-867e-005056a72cb6}"
    "GUID_DEVINTERFACE_TI_XHCI"="{106c44a2-8ac7-11df-867e-005056a72cb62}"
    "GUID_DEVINTERFACE_TI_USB3_DRIVERS"="{0e16b110-8ac7-11df-867e-005056a72cb6}"

#1253

diderius6

⇗ @daniel_k
I tried to set the Hubs back to sleep, set mark in each.
But I do not succeed, they are still awake
and with Beyond Compare2 I check both registry entries,
they are 100% identic,
which means, we dont know how to set Hubs to sleep and how to awake until now
Dietmar
EDIT: This values are all from the Texas xhci.inf but Nec takes them one by one.

#1254

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1253

> @daniel_k
> I tried to set the Hubs back to sleep, set mark in each.
> But I do not succeed, they are still awake
> and with Beyond Compare2 I check both registry entries,
> they are 100% identic,
> which means, we dont know how to set Hubs to sleep and how to awake until now
> Dietmar

I'm sure this occurs because ACPI is not enabled. Some device drivers are not written taking Standard PC mode in consideration. It expects ACPI to send power management status messages to the driver.
Once we fix the ACPI tables this should not be needed anymore.
Search for EnableSelectiveSuspend in the Registry.
By the way, I sent you a Private Message regarding the tools I use.

#1255

diderius6

⇗ @daniel_k
I found with value "1"
WdkSelectiveSuspendEnable
For the asmedia I found "40h"
Dietmar
PS: Of course I want to share:))!

#1256

daniel_k

⇗ @diderius6, for the USB 3.0 controller to start, you only need to make the following change.
Search for Device (XHC) and scroll down until you find Method (_PS0, 0, Serialized).
Then replace this:

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (DVID == 0xFFFF)
                    {
                        Return (Zero)
                    }

                    Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    PDBM &= 0xFFFFFFFFFFFFFFF9
                    D3HE = Zero
                    STGE = Zero
                    D0D3 = Zero
                    MEMB = XWMB /* \XWMB */
                    PDBM = (Local1 | 0x02)
                    OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
                    Field (MC11, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x81C4),
                            ,   2,
                        UPSW,   2
                    }

                    UPSW = Zero
                    PDBM &= 0xFFFFFFFFFFFFFFFD
                    MEMB = Local2
                    PDBM = Local1
                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        PS0X ()
                    }

                    If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
                    {
                        MPMC = One
                        While (PMFS)
                        {
                            Sleep (0x0A)
                        }
                    }
                }

With this:

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (DVID == 0xFFFF)
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        PS0X ()
                    }
                }

_PS0 is Device ON State.

#1257

canonkong

⇗ @diderius6 ⇗ @infuscomus ⇗ @daniel_k
I have completed the USB driver test of the existing manufacturer. For AMD new platform, there are only two drivers that do not appear BSOD and unidentified U disk. One is Etron, another is VIA, and VIA is better than Etron.
Modified AMD 2.0.0.48 and Intel USB drivers can work, but will bsod sometimes.
Modified AMD 1.0.5.3, ASMedia and TI can work, but will unidentified U disk.
Fresco only work for the XHCI, and the hub driver will bsod when I try to install it.
NEC will BSOD when I try to install it. Maybe I've modified it incorrectly.

#1258

diderius6

⇗ @canonkong
"Fresco only work for the XHCI, and the hub driver will bsod when I try to install it."
Make a try to install in safe mod (F8) hub3.sys driver from Fresco new, onto another Hub from other vendor installed.
And even it crashes, look what happens after reboot
Dietmar

#1259

diderius6

⇗ @daniel_k
Thank you a lot, I just found in DSDT of my board.
Does it mean, that all D3 states for all hubs are gone?
Dietmar
PS: I try tomorrow, now I am too tired. All the other drivers should work then also (because no D3 sleep) and
maybe there is one, which says "hello world" even under ACPI.

#1260

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1259

> @daniel_k
> Thank you a lot, I just found in DSDT of my board.
> Does it mean, that all D3 states for all hubs are gone?
> Dietmar

Method _PS0 is processed during device initialization. This is what matters to us.
No changes for all other power states.
This just means you won't be getting error 10 anymore.
But for the hub driver, I still haven't figured it out. Please try to debug this with both the Renesas and the TI driver.

## Page 85

#1261 | canonkong | ⇗ @diderius6 Can you help me test it? USB driver 32bit for 149C&A36D&A2AF ⇗ https://yadi.sk/d/zof4ujwHu8Lk6Q

#1262

diderius6

⇗ @canonkong
I test under XP "MPS" on my Asrock z370 K6 board (Intel).
xhci and hub3 installs without problems.
But a deeper look at them with windbg tells other:
xhci starts but hub3 not.
In the device manager from XP is written,
that there are no resources needed for this hub3 device.
I look at the xhci.inf. There is also the possibility, that this device sleeps.

    0: kd> !DevNode 0x87f8f938
    DevNode 0x87f8f938 for PDO 0x87faa1a0
      Parent 0x8a846970   Sibling 0000000000   Child 0000000000
      InstancePath is "USB\VIA_ROOT_HUB\3&216d82cf&5"
      ServiceName is "VUSB3HUB"
      State = DeviceNodeResourcesAssigned (0x304)
      Previous State = DeviceNodeDriversAdded (0x303)
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
      StateHistory[01] = DeviceNodeInitialized (0x302)
      StateHistory[00] = DeviceNodeUninitialized (0x301)
      StateHistory[19] = Unknown State (0x0)
      StateHistory[18] = Unknown State (0x0)
      StateHistory[17] = Unknown State (0x0)
      StateHistory[16] = Unknown State (0x0)
      StateHistory[15] = Unknown State (0x0)
      StateHistory[14] = Unknown State (0x0)
      StateHistory[13] = Unknown State (0x0)
      StateHistory[12] = Unknown State (0x0)
      StateHistory[11] = Unknown State (0x0)
      StateHistory[10] = Unknown State (0x0)
      StateHistory[09] = Unknown State (0x0)
      StateHistory[08] = Unknown State (0x0)
      StateHistory[07] = Unknown State (0x0)
      StateHistory[06] = Unknown State (0x0)
      StateHistory[05] = Unknown State (0x0)
      StateHistory[04] = Unknown State (0x0)
      StateHistory[03] = Unknown State (0x0)
      Flags (0x00000130)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                          DNF_NO_RESOURCE_REQUIRED
      CapabilityFlags (0x00000002)  DeviceD2

    DNF_NO_RESOURCE_REQUIRED (0x00000100)
    The device does not require resources.

This tells XP, that this device hub3 does not want any driver, even they are installed!
This is of course an error
Dietmar
PS: Yepp, I just found, that this device sleeps energy level=D3 (off).

#1263 | canonkong | ⇗ @diderius6 Hub driver need manual install again on Xp, it work well on win7, maybe 149C can work on Xp, but intel can not.

#1264

diderius6

⇗ @daniel_k
I found the differences in registry for energy settings for Hubs.
Open it with browser
Dietmar
PS: Left side: energie safe enabled (Hubs sleep allowed) right side energie safe disabled (Hubs always awake)
First extract file and then rename it to rpt64952.htm
diderius6 has attached files to this post

- ⇗ rpt64952.rar

#1265 | canonkong | ⇗ @diderius6 Make a try to install in safe mod (F8) hub3.sys driver from Fresco new, onto another Hub from other vendor installed. I tried it, BSOD again.
#1266 | canonkong | ⇗ @daniel_k Can you help me modifiy VIA USB 64bit driver as a generic usb driver? I found that your method is unique. I don't know any assembly language, so I usually use ID replace and jmp/nop to modify it.

#1267

diderius6

When I change my DSDT on the Asrock z370 K6 board with the post 1256 from ⇗ @daniel_k
I got famous BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
Hm, this looks strange to me, because before I thought, this BSOD happens
only in the case of unknow words from Acpi 2.0.
But with this hack in DSDT I only want to set xhc driver always awake
Dietmar
PS: May be ⇗ @Mov AX, 0xDEAD can help with this.
On page 12, post 172 he wrote, that he overcomes to 99% this BSOD with custom acpi.sys.
And it can be, that his acpi.sys is better than our one.
EDIT: It can be, that the Device (XHC) becomes faulty,
if I destroy in
Method (_PS0, 0, Serialized) // _PS0: Power State 0
the settings and construction for this device xhc in this method. And so, no acpi.sys at all can help.
May be it is enough, just to cancel this part about sleeping in the end from this method

    If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
                    {
                        MPMC = One
                        While (PMFS)
                        {
                            Sleep (0x0A)
                        }
                    }

EDIT: Strange, I got the same famous BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) again,
even the only thing I changed in DSDT is to delete the above 8 lines.

#1268 | infuscomus | ⇗ @diderius6 does it work even if you make no changes but load the table into registry anyway? I mean, dump the table from BIOS and then load it into registry using microsoft ASL?

#1269

diderius6

⇗ @infuscomus
Exact the same idea I have had 5 min ago:)).
So, I delete with the asl Tool the modded dsdt.raw,
ok, XP starts after deleting with full ACPI Multiprocessor.
Then I upload with the asl Tool the exact original working dsdt.raw which I extracted before from its real own working Bios.
Now comes the good and bad news at the same time:
The asl Tool fails with BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) after uploading a working DSDT table for Acpi, brrr..
So, now again on Intel boards I have to use flashtools but for AMD boards this means
flash always whole Bios
Dietmar

#1270 | infuscomus | ⇗ @diderius6 one more idea to try perhaps microsoft ASL uses a different syntax to Intel ASL? take original unmodded dsdt.raw then disassemble with Microsoft ASL, change nothing, then reassemble with Microsoft ASL and upload to registry?
#1271 | diderius6 | ⇗ @infuscomus I tried this. 4 Bytes are changed as I can see with Winhex, but BSOD is the same Dietmar

#1272

diderius6

Again I noticed, that the Tool
Universal BIOS Backup ToolKit 2.0.exe
reads also the Bios from Asrock k6 board
faulty out.
So be just careful, take an intensive look with UEFItool at your Bios before you flash it
Dietmar
PS: FPTW.exe from Intel seems to work ok.

#1273

diderius6

The mod of XHC gives BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy)
also with real new modded DSDT in Bios and in "MPS" the network card i211 is listened but red cross in Task list as if no cable is connected
Dietmar
EDIT: hihi, what crazy things Bios Mod do:
Before in win7 32 bit, always the networkcard does not work.
But after this mod (kill sleep of xhc) networkcard works in Win7 for the very first time.
So, the set to sleep affects also Win7, logo, because they use one and the same Bios!
EDIT2: The Bios Mod with only deleting the last 8 lines in DSDT (for sleep XHC device, see above) gives also
BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) in ACPI XP.
But now, in XP "MPS" networkcard works again.

#1274

diderius6

The FPTW.exe from Intel produce also faulty Bios.
I upload DSDT.aml (which works for Acpi) in Bios with Uefi Tool.
This Bios I compare with winhex with the original complete outread via FPTW.exe -D
Winhex tells: 100% identic.
But when I upload this Bios again,
I got BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
This simply means: The outread from FPTW.exe is different from original Bios.
Now I trust only Epromer
Dietmar
EDIT: Waaoh, a compare with Beyond Compare 2 with the original 3.20 Bios from Download site of Asrock tells 127 sections are different.
This is a lot, I know from experiments with Bios before.
EDIT2: Hard job, to give Asrock fatal1ty z370 gaming k6 full XP SP3 ACPI back, but now I have. Crazy Bios..

#1275

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1266

> @daniel_k
> Can you help me modifiy VIA USB 64bit driver as a generic usb driver? I found that your method is unique.
> I don't know any assembly language, so I usually use ID replace and jmp/nop to modify it.

⇗ @canonkong
Sure.

## Page 86

#1276

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1274

> The FPTW.exe from Intel produce also faulty Bios.
> I upload DSDT.aml (which works for Acpi) in Bios with Uefi Tool.
> This Bios I compare with winhex with the original complete outread via FPTW.exe -D
> Winhex tells: 100% identic.
> But when I upload this Bios again,
> I got BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
> This simply means: The outread from FPTW.exe is different from original Bios.
> Now I trust only Epromer
> Dietmar
> EDIT: Waaoh, a compare with Beyond Compare 2 with the original 3.20 Bios from Download site of Asrock tells 127 sections are different.
> This is a lot, I know from experiments with Bios before.

That is why I bought Gigabyte boards, completely unlocked descriptors, I can flash and mod without any worries using their own utility.
Good luck, hope you can get it working soon to help me with the Hub driver issue.

#1277

AddFun

My Ryzen 1600x X370 machine is still getting 000000x7B issue. Tried half a dozen combinations of using the modified ACPI.sys, nLite'ing proper files, and similar, no difference. Tried F7 no ACPI, uni, multi, etc, etc, what have you. Just burned my 6th nlite'd CD. Nope. In fact no difference, never get past the reboot stage of WinXP setup where it goes straight into the 0x7b BSOD. Like it did with stock WinXP SP3 install.
What are you guys EXACTLY doing? What is your success rate with the modified files? (100%, 50%, random%?) Is there a XP ISO out there that has the files needed for the Ryzen platform that has repeatable success rate? It feels like this is not 100% repetable and there is a certain element of "luck" + random piece of hardware + random BIOS rev + random combo of ACPI/modded files = maybe it install XP is what the algorithm of WinXP on Ryzen platform seems to be.

#1278 | infuscomus | ⇗ @AddFun have you integrated the storahci driver we used? are you using a SATA or USB optical drive?
#1279 | AddFun | single SATA DVD drive with a single 120GB SATA disk and only PS/2 keyboard plugged in. Nothing else plugged to keep from any issues cropping up. Motherboard is Gigabyte AX370 Gaming 5. I've even tried 4-5 different BIOS revisions over the last week or so before coming to this board/thread. No difference, always dead ends at the usual x7b BSOD after the first reboot.

#1280

diderius6

⇗ @AddFun
Before, XP with ACPI was impossible on Ryzen.
Now, the situation is complete other.
Use of the latest modded acpi.sys , the storahci driver together with my storport.sys (post 706)
and result via nlite is for me at once 100% succeed install on 3 different AMD boards 350, 350, 570
Dietmar

#1281

infuscomus

⇗ @AddFun
after first reboot?
So I'm assuming XP textmode setup completes without a BSOD?
that might be the storport.sys not copying itself across for 1st reboot issue we had earlier
to fix - in txtsetup.sif look for [files.acpi]
make it look like this
[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4
then the storahci driver should work
edit:
If you have not yet grabbed the storahci driver it is here
¶ Windows XP SP3 32bit and modern PC parts (64)

#1282 | AddFun | Textmode always finishes, I had no problems with that even with my stock XP-SP3 disc when I tried XP on x370 first time two years ago. Let me check the txtsetup.sif as per your instructions.
#1283 | AddFun | Yeah, its in there. Everyone is using regular XP SP3 correct?

#1284

diderius6

⇗ @daniel_k
I flash my new DSDT without the 8 lines for sleep of xhc to my new Bios (asl.exe for DSDT does again not work, BSOD)
Now no BSOD but still on ACPI XP your Renesas/nec driver for xhci does not start, code 10
Dietmar
EDIT: I did the whole mod of my DSDT for XHC but this gives BSOD 0x7B (only for ACPI, "MPS" starts).
Even Win7 32 bit does not start, tells BSOD 0xA5(0x00000011,..) so its acpi related.
To edit the DSDT for USB3 on Intel chipset with full ACPI on XP is really hard bread.

#1285 | infuscomus | ⇗ @AddFun Yep, using XP SP3 Do you know what the HWIDs of your storage controllers are? Do you mind uploading your txtsetup.sif so I can check it?
#1286 | diderius6 | ⇗ @AddFun "always dead ends at the usual x7b BSOD after the first reboot" I think acpi.sys and/or storport.sys have changed back to their original version, which gives BSOD 0x7B on first reboot Dietmar
#1287 | AddFun | I meant after textmode reboot, after it copies the files and attempts to continue the install. Not sysos reboot.
#1288 | diderius6 | ⇗ @AddFun Use nlite and life becomes easy Dietmar PS: Make sure, that your harddisk is aligned to 2048. This means, any use of the XP for formatting is forbidden.

#1289

AddFun

PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51
PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02
PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01
PCI\VEN_126F&DEV_2262&REV_03
USB\VID_0BC2&PID_331A&REV_0911
Nothing exotic

#1290 | AddFun | Burning 7th nlite'd disc, diderius6. I don't think that's it.

## Page 87

#1291 | infuscomus | ⇗ @AddFun also, check driver.cab and replace the acpi.sys, storahci.sys and storport.sys in there use 7zip to extract driver.cab and cabpack 1.4 to recompress - ⇗ https://www.techspot.com/downloads/7104-cabpack.html

#1292

infuscomus

> Zitat von ⇗ AddFun im Beitrag ¶ #1289

> PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51
> PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02
> PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01
> PCI\VEN_126F&DEV_2262&REV_03
> USB\VID_0BC2&PID_331A&REV_0911
> Nothing exotic

PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51 - amd ahci - will need storahci
PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02 - amd ahci - will need storahci
PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01 - Sonnet Tempo SATA Gen 1 PCI-X Adapter (i'm not sure if ahci)
PCI\VEN_126F&DEV_2262&REV_03 - nvme?
USB\VID_0BC2&PID_331A&REV_0911 - usb HDD? disconnect this

#1293 | diderius6 | Yessssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I got it, USB3.2 USB3.1 USB3.0 USB 2.0 USB1.1 on Intel Chipset under XP 32 bit with full "ACPI Multiprocessor" Dietmar ⇗

#1294

AddFun

Alright, tried it with some tweaks. I got this error in textmode install (pic #1 below)
⇗
but ignoring it the install continued and rebooted without the BSOD, it continued into graphical install where it installed all the drivers and then it rebooted again.... however I got a different BSOD this time (pic #2 below)
⇗
this is the farthest Ive gotten to date, any tips?

#1295

diderius6

⇗ @AddFun
I have seen this picture for myself.
It happens, when the driver (here acpi.sys) is not copied correct to the CD.
Copy acpi.sy_ in the installations folder i386 before you run nlite
Dietmar
PS: I do NOT integrate all the drivers in the *.cab file.
This force me on every reboot to put them on harddisk by hand again, but it works.

#1296 | AddFun | Was copied, both in the cab that I repackaged and the i386 directory. Hmm.
#1297 | diderius6 | ⇗ @AddFun Have you used the last checksum corrected version of acpi.sys from @Infuscomus? Dietmar

#1298

infuscomus

> Zitat von ⇗ AddFun im Beitrag ¶ #1294

> Alright, tried it with some tweaks. I got this error in textmode install (pic #1 below)
> ⇗
> but ignoring it the install continued and rebooted without the BSOD, it continued into graphical install where it installed all the drivers and then it rebooted again.... however I got a different BSOD this time (pic #2 below)
> ⇗
> this is the farthest Ive gotten to date, any tips?

⇗ @AddFun
for the 1st image, I solved this error by replacing the acpi.sys copy in driver.cab
the 2nd error - A5 BSOD probably happens because the old unpatched acpi.sys was copied from driver.cab

#1299 | infuscomus | ⇗ @AddFun I just noticed, there is a copy of acpi.sys in SP3.cab, so that will need replacing too
#1300 | AddFun | Just went into the XP install remotely, and replaced the ACPI.sys with yours, 186kb vs 234kb. Tried booting and got the 7b BSOD, non-specific this time. Any ideas?
#1301 | AddFun | Technically, the XP system is installed and configured since the graphical install completed on it's end. Browsing the "\WINDOWS\system32\drivers" now and I can see proper storport and storahci in there. Proper ACPI was copied too. Dunno guys...
#1302 | AddFun | Browsing from a different OS with the drive in question attached that is...
#1303 | diderius6 | ⇗ @AddFun The acpi.sys was replaced again with the old one. This gives exact this BSOD Dietmar
#1304 | infuscomus | ⇗ @AddFun So storahci.sys and storport.sys are present in C:\WINDOWS\SYSTEM32\DRIVERS but you are still getting 7B BSOD?

#1305

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1293

> Yessssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> I got it, USB3.2 USB3.1 USB3.0 USB 2.0 USB1.1
> on Intel Chipset under XP 32 bit with full "ACPI Multiprocessor"
> Dietmar

⇗ @diderius6
What did you do?
Tell me so I can try it!

## Page 88

#1306

diderius6

⇗ @daniel_k
I use your brandnew driver:)).
And I delete only everything in the Method (_PS0 for the device XHC in DSDT.
I look for this at the other installations of
Method (_PS0, 0, Serialized) // _PS0: Power State 0
how this is handled there.
Even I succeed to disable also any energy savings for the hubs via the device manager of XP,
still not always all USB devices are recogniced at boot. The "unknown device" message is gone,
but happens sometimes just nothing. But when I delete the xhci device one time in devicemanger
always at once all other is recogniced and works.
Now it is not perfect, only about 90% because I also do not find the switch that the hubs are always awaken.
There entries in DSDT marks them always as in D0, awaken
Dietmar
PS: Example for the hub from DSDT
Device (RHUB)
{
Name (_ADR, Zero) // _ADR: Address
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
If (DVID == 0xFFFF)
{
Return (Zero)
}
If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS0X))
{
PS0X ()
}
}

#1307 | infuscomus | ⇗ @daniel_k I tried your Renesas driver in virtualbox and got code 39 after installing

#1308

AddFun

ACPI.sys is still the modified one from here @ 234kb, sitting pretty in system32/drivers directory, it hasn't been swapped back. The proper storahci.sys and storport.sys are there too. 7b error just again. Went through my BIOS, not a whole lot there.
ACPI.sys: SHA1 -- 182eb4f6911818923965f938700546d87bb268ce
STORAHCI.sys: SHA1 -- 6daf4bb09af562d978a3503ef17dedaad0e4880a
STORPORT.sys: SHA1 -- 911e15fada65ab813ef4ce4cea82d185e82cb55a
that's whats in there.

#1309 | AddFun | Updated with proper hashes, copy paste playing with me.
#1310 | diderius6 | ⇗ @AddFun May be crazy XP loads acpi.sys from other place. This BSOD is typical for old acpi.sys Dietmar
#1311 | AddFun | windows/system32? minus drivers folder?
#1312 | AddFun | Wait, heh, I have half a dozen images of WinXP installs from other machines, I can check.

#1313

diderius6

⇗ @AddFun
I have seen, that XP can load drivers from different other places.
XP looks in all directories, if there is a "better" bootfile for this.
I have seen this for acpi.sys ntoskernl.exe hal.dll ntbootdd.sys
It is like a small part of intelligence from XP, I would say more "intelligent" than any other system on market
Dietmar

#1314 | daniel_k | ⇗ @diderius6, can you please share your DSDT? From what I understand, to delete the XHCI controlller has the same effect as Disabling / Enabling the device, like I do. Did you manage to get it working immediately after a reboot?

#1315

infuscomus

⇗ @AddFun
my acpi.sys is different
acpi.sys - 79a50a477541bea181d8a5009e5ec2e12209ffb4
but storahci.sys and storport.sys match
storahci.sys - 6daf4bb09af562d978a3503ef17dedaad0e4880a
storport.sys - 911e15fada65ab813ef4ce4cea82d185e82cb55a
it is strange that GUI setup manages to complete before reboot to 7B BSOD
are any of your drives not in ahci mode? ide mode?

#1316 | AddFun | Nope, it's in the right place. I just checked two of my other XP installs, acpi.sys is system32/drivers folder.

#1317

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1307

> @daniel_k
> I tried your Renesas driver in virtualbox and got code 39 after installing

Thanks for trying.
Does the original driver work? I think I got it working some time ago.

#1318 | AddFun | hmm, what is the link for the ACPI.sys, I downloaded the one from few pages ago.
#1319 | AddFun | SHA1 00e5ccbf42176c5cedf2f076314f30610638b602 for best5048acpi.sys that one?

#1320

infuscomus

⇗ @AddFun
here is that file
but SHA1 00e5ccbf42176c5cedf2f076314f30610638b602 might be the most recent, not sure now, I've confused myself
infuscomus has attached files to this post

- ⇗ patchedacpilatest.rar

## Page 89

#1321

diderius6

⇗ @daniel_k
Until now, on reboot the intel 3.1 xhci and the 3.0 renesas hub are there.
But no USB device.
If you deinstall the Intel 3.1 xhci one time
all other is recogniced automatically and also all USB devices
Dietmar
PS: The DSDTUSB3.rar file contains old DSDT file from me before xhc mod
and DSDT2 contains xhc mod.
My Asrock Fatal1ty z370 gaming k6 has the BIOS 3.20.
This is important, because you can only flash a Bios version with a higher versions number with the ezflash tool from Asrock.
The DSDT tables are in Bios 3.20 and 3.30 identic.
diderius6 has attached files to this post

- ⇗ DSDTUSB3.rar

#1322 | infuscomus | ⇗ @daniel_k In virtualbox, I tried installing both, same result
#1323 | AddFun | Downloaded, just dropped it in. Thanks! Let me give it a whirl. Will report.

#1324

daniel_k

⇗ @canonkong
Here they are, Renesas and VIA final modified drivers.
Please sign both without changing anything and post the signed driver here.
You can make your own changes later for your own release.
For Renesas, only rusb3xhc.inf and rusb3xhc.sys must be signed, used a trick so the hub always has the same device ID.
For VIA, only xhcdrv.inf and xhcdrv.sys must be signed. No device check in the Hub driver.

#1325 | AddFun | Sigh, 7b BSOD as usual. Going to take a short coffee break and then load up the registry hives from this XP install and see how the HAL is set up, but I KNOW it's ACPI since it wouldn't have gotten this far and I didn't go with the F7 route or no-ACPI option anywhere during the install.

#1326

diderius6

⇗ @AddFun
This is the last and best acpi.sys for Ryzen boards
Dietmar
PS: I can understand frustration a lot. Since yesterday I work about 20 hours for USB. And going nearly crazy with Bios modding and BSODs with all Tools.
In bad times, just fetch coffee and have an apple for 5 min relax, this is important.
diderius6 has attached files to this post

- ⇗ acpi.rar

#1327 | daniel_k | ⇗ @canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder? Thanks!
#1328 | canonkong | ⇗ @daniel_k OK, I will send it soon.

#1329

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1321

> @daniel_k
> Until now, on reboot the intel 3.1 xhci and the 3.0 renesas hub are there.
> But no USB device.
> If you deinstall the Intel 3.1 xhci one time
> all other is recogniced automatically and also all USB devices
> Dietmar
> PS: The DSDTUSB3.rar file contains old DSDT file from me before xhc mod
> and DSDT2 contains xhc mod.
> My Asrock Fatal1ty z370 gaming k6 has the BIOS 3.20.
> This is important, because you can only flash a Bios version with a higher versions number with the ezflash tool from Asrock.
> The DSDT tables are in Bios 3.20 and 3.30 identic.

That's exactly the same behaviour I'm experiencing.
Must be something in the ACPI table that XP doesn't like as the same Renesas driver works perfectly on Windows 7 x64.

#1330 | AddFun | Yeah, went through the relevant registry hives... it is set up as "acpiapic_mp" aka "ACPI Multiprocessor". ACPI enabled. So far, this seems like work in progress guys and an experiment without completely repeatable results. Hopefully with more time we will get there.

#1331

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1328

> @daniel_k
> OK, I will send it soon.

⇗ @canonkong
By the way, let me know how the VIA driver works.
Let me clarify something.
I recommend that you don't include a generic XHCI ID like PCI\CC_0C0330 to prevent the driver from being installed on XHCI controllers which have an official driver provided by the manufacurer.
For example, both the Renesas and the VIA drivers will BSOD if you install on ASMedia.

#1332 | canonkong | ⇗ @daniel_k I use ID replace, VIA usb driver Include four manufacturers: VIA is 1106, Gigabyte is 1458, MSI is 1462, ZHAOXIN is 1D17, so you can replace them with other VEN ID and DEV ID, like 149C A36D 9DED ect. It can modify to support 4 VEN ID and16 dev ID.

#1333

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1332

> @daniel_k
> I use ID relace, VIA usb driver Include four manufacturers: VIA is 1106, Gigabyte is 1458, MSI is 1462, ZHAOXIN is 1D17, so you can replace them with other VEN ID and DEV ID, like 149C A36D 9DED ect. It can modify to support 4 VEN ID and16 dev ID.

Yeah, I noticed that.
Did the driver work?
PS: Thanks for the signed files!

#1334 | canonkong | ⇗ @daniel_k It is working well on my X370 and B360, and the 149C USB from 3700X on win7.
#1335 | daniel_k | ⇗ @canonkong Glad to know it works. Found a small bug, could you please sign the Renesas driver again?

## Page 90

#1336 | canonkong | ⇗ @daniel_k OK, I will send it soon.

#1337

diderius6

⇗ @daniel_k ⇗ @canonkong
On XP, the Via xhci starts but the Via hub shows code 10.
So, may be this is a good test for DSDT to have a look,
why this code 10 happens and maybe then also the Nec/Renesas drivers works
to 100%
Dietmar
EDIT: Also on "MPS" the Via Hub shows code 10. So this is not ACPI related!

#1338

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1336

> @daniel_k
> OK, I will send it soon.

Thanks, now it is perfect!

#1339 | daniel_k | ⇗ @diderius6 VIA driver also gives error code 10 on Windows 7 x64, so this is definitively a driver issue. Renesas works just fine on Windows 7x 64, so we need to find out, what in the ACPI table affects its behavior on XP.
#1340 | diderius6 | ⇗ @daniel_k May be, it is a problem of usbstor.sys. There was a patch from Microsoft for XP, after that no USB devices where recogniced any longer, because setting wrong rights for usbstor.sys Dietmar

#1341

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1340

> @daniel_k
> May be, it is a problem of usbstor.sys.
> There was a patch from Microsoft for XP, after that no USB devices where recogniced any longer,
> because setting wrong rights for usbstor.sys
> Dietmar

⇗ @diderius6
Unfortunately not, it even fails to detect a simple USB 2.0 hub.

#1342 | canonkong | ⇗ @diderius6 ⇗ @daniel_k The VIA usb driver modified by daniel_k work very well for 149C on win7, maybe xp also can work. But the Renesas usb driver can not work for 149C, it will bsod when it install.
#1343 | canonkong | ⇗ @daniel_k Do you think it is possible to transplant the universal USB driver of win8/win8.1/win10 to win7 or Xp? In the absence of USB driver source.
#1344 | infuscomus | ⇗ @AddFun I forgot to ask this earlier, have you double checked that you have disabled driver signing?

#1345

infuscomus

> Zitat von ⇗ daniel_k im Beitrag ¶ #1327

> @canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder?
> Thanks!

⇗ @daniel_k
do you know what this driver is used for?
I have a card with the same chip and i found the stock usbehci.sys driver worked fine

#1346

diderius6

⇗ @daniel_k
The problem with hub3 under XP may be in CapabilityFlags (0x00001602) DeviceD2
Do you know, where those flags are set
"DeviceD2
Specifies whether the device hardware supports the D2 power state. Drivers should not change this value."
Dietmar

>     0: kd> !DevNode 0x8a4dbce8
>     DevNode 0x8a4dbce8 for PDO 0x8a4dbe30
>       Parent 0x8a6a3848   Sibling 0000000000   Child 0000000000
>       InstancePath is "RENESAS_USB3\ROOT_HUB30\4&556f44c&8"
>       ServiceName is "rusb3hub"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       StateHistory[07] = DeviceNodeEnumerateCompletion (0x30d)
>       StateHistory[06] = DeviceNodeStarted (0x308)
>       StateHistory[05] = DeviceNodeStartPostWork (0x307)
>       StateHistory[04] = DeviceNodeStartCompletion (0x306)
>       StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
>       StateHistory[02] = DeviceNodeDriversAdded (0x303)
>       StateHistory[01] = DeviceNodeInitialized (0x302)
>       StateHistory[00] = DeviceNodeUninitialized (0x301)
>       StateHistory[19] = Unknown State (0x0)
>       StateHistory[18] = Unknown State (0x0)
>       StateHistory[17] = Unknown State (0x0)
>       StateHistory[16] = Unknown State (0x0)
>       StateHistory[15] = Unknown State (0x0)
>       StateHistory[14] = Unknown State (0x0)
>       StateHistory[13] = Unknown State (0x0)
>       StateHistory[12] = Unknown State (0x0)
>       StateHistory[11] = Unknown State (0x0)
>       StateHistory[10] = Unknown State (0x0)
>       StateHistory[09] = Unknown State (0x0)
>       StateHistory[08] = Unknown State (0x0)
>       Flags (0x00000130)  DNF_ENUMERATED, DNF_IDS_QUERIED,
>                           DNF_NO_RESOURCE_REQUIRED
>       CapabilityFlags (0x00001602)  DeviceD2, SurpriseRemovalOK,
>                                     WakeFromD0, WakeFromD2

#1347 | XPLAKE8175 | I want intel hd 5500 drivers for windows xp. I finished modding Windows XP drivers for my 940m PC. Or will it work with Vesa VBE miniport.
#1348 | XPLAKE8175 | I want windows xp drivers for my Intel HD 5500 drivers for Windows XP to run Nvidia Geforce 940m.

#1349

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1343

> @daniel_k
> Do you think it is possible to transplant the universal USB driver of win8/win8.1/win10 to win7 or Xp? In the absence of USB driver source.

Unfortunately, it is just impossible.
There are far more changes besides resolving missing function API dependencies, which I've already tried.
Microsoft makes changes "under the hood", the way memory is allocated, ACPI changes also affect the driver behavior.

#1350

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1345

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1327

> > @canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder?
> > Thanks!

> @daniel_k
> do you know what this driver is used for?
> I have a card with the same chip and i found the stock usbehci.sys driver worked fine

Hi, that is a filter driver to fix Power Management issues with the MSC9990 chipset.
On my both H270 / Z370 based boards, the system would not shutdown completely, I'll try the driver later to see if this helps.

## Page 91

#1351

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1346

> @daniel_k
> The problem with hub3 under XP may be in CapabilityFlags (0x00001602) DeviceD2
> Do you know, where those flags are set
> "DeviceD2
> Specifies whether the device hardware supports the D2 power state. Drivers should not change this value."
> Dietmar

The issue is not with the Hub itself.
For some reason when the device is detected is remains in Disabled (D3) state.
PS: The driver you've asked me by PM is here:
¶ Windows XP SP3 32bit and modern PC parts (89)
It's just a minor Revision and SubsysID cosmetic issue.

#1352

canonkong

⇗ @daniel_k
I found for AMD 149C usb, VIA usb driver will cause 0x0000001E bsod suddenly sometimes.So we need to find a better driver.
And ASMedia and TI usb driver cant work for the U disk on 149C.
After testing all the usb drivers, there are only three drivers can work as a generic both can support intel/amd/asmedia/nvidia and more.
There are Intel series usb drivers , AMD zeppelin USB driver, Etron USB drivers.
Can you use your method to modify them?

#1353

diderius6

⇗ @daniel_k
It seems, that from the 3 Hubs only
Renesas Electronics USB 3.0 Root Hub
can find the driver rusb3hub.sys
by itself.
Renesas Electronics USB 2.0 Hub
asks in my very best driver version now always for rusb3hub.sys and shows me the correct path, but asks,
even rusb3hub.sys is found there from first Hub before.
The same is true for
Renesas Electronics USB 3.0 Hub.
I modded the *.inf files, so after install USB starts with this driver,
but I think on reboot the path to rusb3hub.sys is not found from
the other 2 Hubs as mentioned before
Dietmar
PS: This USB driver works for Intel chipset USB3 under XP SP3 for the Asrock Fatal1ty z370 gaming k6 board.
EDIT: I just found, that my idea is true. Now I have to mod the *.inf files again, I split them in hub1.Inf hub2.inf hub3.inf
EDIT2: I can load only one HUB with hub.inf, for example 2.0 Hub but no possibility to load the other 2 hubs with other *.inf.

#1354 | skullteria | Hello, ⇗ @diderius6, in case, Renesas driver works on XP SP3 with ACPI enabled (HALMACPI) or only MPS/Standard PC?
#1355 | canonkong | ⇗ @diderius6 Etron USB driver also can also work as a generic USB driver and it also support Xp, we can try it.

#1356

diderius6

⇗ @skullteria
Take a look at picture in post 1293,
the Renesas driver works also on full "ACPI Multiprocessor"
Dietmar
PS: The only problem with this driver ist, that not all 3 Hubs start always. This may be a problem in xhci.sys, how the Hub is called.
I think it has to do, that for first HUB sleep D3 isnt allowed, but for the other both D3 (sleep) is allowed.
And my idea above ist just, that these 2 Hubs sometimes cant find their driver rusb3hub.sys.

#1357 | diderius6 | ⇗ @canonkong Do you have a test driver for Etron? I am very bad in modding, because no good tools for this here, I do all by hand (and brain sometimes) Dietmar
#1358 | canonkong | ⇗ @diderius6 I tested it for amd 149C, it is working very well.

#1359

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1352

> @daniel_k
> I found for AMD 149C usb, VIA usb driver will cause 0x0000001E bsod suddenly sometimes.So we need to find a better driver.
> And ASMedia and TI usb driver cant work for the U disk on 149C.
> After testing all the usb drivers, there are only three drivers can work as a generic both can support intel/amd/asmedia/nvidia and more.
> There are Intel series usb drivers , AMD zeppelin USB driver, Etron USB drivers.
> Can you use your method to modify them?

Sure, will do it later today.

#1360

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1353

> @daniel_k
> It seems, that from the 3 Hubs only
> Renesas Electronics USB 3.0 Root Hub
> can find the driver rusb3hub.sys
> by itself.
> Renesas Electronics USB 2.0 Hub
> asks in my very best driver version now always for rusb3hub.sys and shows me the correct path, but asks,
> even rusb3hub.sys is found there from first Hub before.
> The same is true for
> Renesas Electronics USB 3.0 Hub.
> I modded the *.inf files, so after install USB starts with this driver,
> but I think on reboot the path to rusb3hub.sys is not found from
> the other 2 Hubs as mentioned before
> Dietmar
> PS: This USB driver works for Intel chipset USB3 under XP SP3 for the Asrock Fatal1ty z370 gaming k6 board.
> EDIT: I just found, that my idea is true. Now I have to mod the *.inf files again, I split them in hub1.Inf hub2.inf hub3.inf
> EDIT2: I can load only one HUB with hub.inf, for example 2.0 Hub but no possibility to load the other 2 hubs with other *.inf.

Just tested the XP driver on Windows 7, and it works just fine.
Now I'm sure the issue really lies in the ACPI, something that XP doesn't like.

#1361

diderius6

⇗ @daniel_k
It can be,
that XP dont like different path.
Normaly, all hubs are under Enum\USB
but this Renesas Hub builds an own path with Enum\RENESAS_USB3.
I checked the Via Hub, the Via Hub is also under Enum\USB\VIA_RootHub
and the same for Asmedia_RootHub
Dietmar
PS: I just check this again. From Renesas the Hub2 and Hub3 are also build under Enum\USB
but the RootHub is build under Enum\RENESAS_USB3, means an extra path.
This could be tested, the call from driver xhci.sys just change from
RENESAS_USB3 => USB
Dietmar

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d]
    "Capabilities"=dword:00000080
    "UINumber"=dword:00000000
    "HardwareID"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,53,\
      00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,00,33,00,\
      30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,26,00,50,00,49,\
      00,44,00,5f,00,41,00,32,00,41,00,46,00,26,00,52,00,45,00,56,00,5f,00,30,00,\
      30,00,30,00,30,00,26,00,53,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,31,\
      00,38,00,34,00,39,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
      55,00,53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,\
      00,33,00,30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,26,00,\
      50,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,26,00,52,00,45,00,56,00,5f,\
      00,30,00,30,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,\
      5f,00,55,00,53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,\
      00,42,00,33,00,30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,\
      26,00,50,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,00,00,00,00
    "CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
      53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,00,33,\
      00,30,00,00,00,00,00
    "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
    "Class"="USB"
    "Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0115"
    "Mfg"="Renesas Electronics"
    "Service"="rusb3hub"
    "DeviceDesc"="Renesas Electronics USB 3.0 Root Hub"
    "ConfigFlags"=dword:00000000
    "ParentIdPrefix"="4&3296d942&0"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\Device Parameters]
    "SymbolicName"="\\??\\RENESAS_USB3#ROOT_HUB30#3&216d82cf&1d#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
    "EnumStatusID3"=dword:00000000
    "EnumStatusID6"=dword:00000000
    "EnumStatusID7"=dword:00000003
    "EnumStatusID8"=dword:00000000
    "EnumStatusID12"=dword:00000000
    "EnumStatusID14"=dword:00000000
    "EnumStatusID17"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\LogConf]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\Control]
    "ActiveService"="rusb3hub"

And for HUB2

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3]
    "DeviceDesc"="Renesas Electronics USB 2.0 Hub"
    "LocationInformation"="ASM107x"
    "Capabilities"=dword:00000084
    "UINumber"=dword:00000000
    "HardwareID"=hex(7):55,00,53,00,42,00,5c,00,56,00,69,00,64,00,5f,00,31,00,37,\
      00,34,00,63,00,26,00,50,00,69,00,64,00,5f,00,32,00,30,00,37,00,34,00,26,00,\
      52,00,65,00,76,00,5f,00,30,00,31,00,30,00,30,00,00,00,00,00
    "CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
      53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,00,26,\
      00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,30,00,26,00,\
      50,00,72,00,6f,00,74,00,5f,00,30,00,32,00,00,00,52,00,45,00,4e,00,45,00,53,\
      00,41,00,53,00,5f,00,55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,\
      73,00,5f,00,30,00,39,00,26,00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,\
      00,5f,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
      55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,\
      00,00,00,00,00
    "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
    "Class"="USB"
    "Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0116"
    "Mfg"="Renesas Electronics"
    "Service"="rusb3hub"
    "ConfigFlags"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\Device Parameters]
    "SymbolicName"="\\??\\USB#Vid_174c&Pid_2074#4&3296d942&0&3#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
    "EnableSelectiveSuspend"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\LogConf]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\Control]

And for Hub3

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23]
    "DeviceDesc"="Renesas Electronics USB 3.0 Hub"
    "LocationInformation"="ASM107x"
    "Capabilities"=dword:00000084
    "UINumber"=dword:00000000
    "HardwareID"=hex(7):55,00,53,00,42,00,5c,00,56,00,69,00,64,00,5f,00,31,00,37,\
      00,34,00,63,00,26,00,50,00,69,00,64,00,5f,00,33,00,30,00,37,00,34,00,26,00,\
      52,00,65,00,76,00,5f,00,30,00,31,00,30,00,30,00,00,00,00,00
    "CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
      53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,00,26,\
      00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,30,00,26,00,\
      50,00,72,00,6f,00,74,00,5f,00,30,00,33,00,00,00,52,00,45,00,4e,00,45,00,53,\
      00,41,00,53,00,5f,00,55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,\
      73,00,5f,00,30,00,39,00,26,00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,\
      00,5f,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
      55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,\
      00,00,00,00,00
    "ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
    "Class"="USB"
    "Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0120"
    "Mfg"="Renesas Electronics"
    "Service"="rusb3hub"
    "ConfigFlags"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\Device Parameters]
    "SymbolicName"="\\??\\USB#Vid_174c&Pid_3074#4&3296d942&0&23#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\LogConf]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\Control]

#1362 | diderius6 | ⇗ @canonkong Please send me your Etron driver Dietmar
#1363 | canonkong | ⇗ @diderius6 Test it. ⇗ https://yadi.sk/d/Li6PI1NZG6NFbQ
#1364 | diderius6 | ⇗ @canonkong Unfortunately the Etron driver crashes during install on XP, for "MPS" and for Acpi mode Dietmar
#1365 | canonkong | ⇗ @diderius6 AMD platfrom? Maybe I modifed incorrect on 32bit, I wiil upload a new one.

## Page 92

#1366 | diderius6 | ⇗ @canonkong No, for the AMD platform with x570, the AMD driver from post 1095 works for XP 32 bit Dietmar

#1367

diderius6

I found the problem with the Renesas driver.
Only the Root_HUB30 is in energylevel D0 (full on).
The other 2 Hubs stay until now in D2 and this makes the problem
Dietmar
EDIT: When I disable the switch in device manager "Computer enable power save"
those energylevel D2 => D0 after clicking ok, as I can see via Devicemanager.
But all my other Hubs stay only in D0, even when this switch "powersave" is enabled.
PS: This Renesas driver with modded *.inf by me is best until now for Intel chipset and XP 32 bit.
⇗
diderius6 has attached files to this post

- ⇗ Renesas3.0.23.0fromDietmar.rar

#1368

daniel_k

⇗ @canonkong, here is the Etron driver.
There are 2 variants, as there are some hacks depending on the XHCI controller detected.
Couldn't try them here, as it crashes or hangs Windows immediately.
Try both and pick the best one.
Theoretically, the 7052 driver should be "better" as it has less hacks for the newer models.
What is the version of the AMD Zeppelin driver?

#1369

diderius6

⇗ @daniel_k
I just tested the 2 Etron drivers.
Both crash for XP 32 bit on Intel chipset from the Asrock k6 board.
They crash in "ACPI Multiprocessor" and in "MPS".
After crash, compi does even not boot in Safe Mode (F8)
Dietmar

#1370

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1369

> @daniel_k
> I just tested the 2 Etron drivers.
> Both crash for XP 32 bit on Intel chipset from the Asrock k6 board.
> They crash in "ACPI Multiprocessor" and in "MPS".
> After crash, compi does even not boot in Safe Mode (F8)
> Dietmar

Yeah, it is of no use for Intel.
Actually, they are meant for AMD Ryzen.
Can you try it on Ryzen, please? It's based on the same driver canonkong used in post 1095.

#1371

diderius6

⇗ @daniel_k
On 149C the etronxhci7052.sys works at once.
It is Ryzen 3700x on the nice AMD board asrock fatal1ty ab350 gaming k4
Dietmar
PS: On 43BB it gives unknown device. Also the USB 2.0 port does not work.
For the etronxhci7023.sys is exact the same.
EDIT: With my modded driver in post 1095 it is other. ALL USB on Ryzen 1700x and Ryzen 3700x works on
asus prime x570-pro and asrock fatal1ty ab350 gaming k4 board under XP 32 bit.

#1372

daniel_k

⇗ @diderius6!!!!!
I did it!!!!
Finally a working driver for Intel which fully works and passes basic tests.
All devices are detected after several restarts, doesn't crashes when disabled/enabled!
Performance seems OK, detects USB 2.0 hub and a pendrive connected to it.
Just hold a few minutes.

#1373 | diderius6 | ⇗ @daniel_k I wantttttttt !!!!!
#1374 | canonkong | ⇗ @daniel_k AMD zeppelin USB driver is 2.0.0.48 ⇗ Download
#1375 | canonkong | ⇗ @daniel_k Your modified Etron USB driver work very well. Etron seems that has ven_1033, dev_1094 in the xhci.sys.

#1376

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1373

> @daniel_k
> I wantttttttt !!!!!

Here it is, based on the last USB 3.0 driver for XP from AMD.
Please try it on Intel Z370 or Z390 (do you have any?) and also on AMD platform.
Test USB 2.0, 3.1 and 3.2 devices.
USB 3.1 and 3.2 benchmarks would be great as well.
Driver can be found in the following post:
¶ Windows XP SP3 32bit and modern PC parts (128)

#1377 | asasin | ⇗ @daniel_k Can this driver work on intel h110? Edit:Thanks I will write when I test

#1378

daniel_k

> Zitat von ⇗ asasin im Beitrag ¶ #1377

> @daniel_k
> Can this driver work on intel h110?

Possibly yes.

#1379

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1374

> @daniel_k
> AMD zeppelin USB driver is 2.0.0.48
> ⇗ Download

Hmm, this driver is strange.
Either the device codes are encrypted somehow or there is simply no device check.
Try to edit the INF file and install it.

#1380

diderius6

⇗ @daniel_k
Itworksitworksitworks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
What a nice day for Windows XP
Dietmar
PS: Thank you a lot Daniel!
⇗

## Page 93

#1381 | skullteria | In my computer, Motherboard H110 and core i7 6700k, all drivers get code 10 on Windows XP/2003 32 bits. I think maybe is related with ACPI OSI, maybe checking Windows Version provided by ACPI

#1382

diderius6

⇗ @skullteria
You have to mod the DSDT table in Bios for to overcome code 10
see post 1321
Dietmar
PS: Be very careful with Bios mod. I crashed 2 compis, even I try to work as careful as possible.
I succeed to reflash the Bios to this compis but it needs months.

#1383 | diderius6 | Now its time, lets start XP 32 bit on UEFI:)) Dietmar

#1384

diderius6

⇗ @daniel_k
On the Scandisk Ultra I get more than 300 Mbyte/s read write via the AMD driver on the Intel chipset USB3.0 via XP SP3.
This is exact as fast as the Asmedia 3.1 USB slot with the same USB stick.
I tested a lot of different USB, all work, even the crazy Samsung phone is recogniced at once.
When I change 6 USB devices at the same time, I get "unknown device".
But on next reboot this is gone. Now I try USB boot via your nice AMD driver
Dietmar

#1385 | skullteria | Well, i think we need find a way to get usb working without modify the bios. I'm trying compile usb 3.0 from win 8/win 10, however, it is not easy.

#1386

diderius6

⇗ @skullteria
Before I thought, that we need Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.rar
For example the Renesas driver has in coinstaller something like this and mostly all newer USB drivers.
You can see with Dependency Walker if WDFLDR.sys is needed for this driver.
But the AMD driver from Daniel from just now shows, that it is possible without WDFLDR.sys
Dietmar

#1387 | skullteria | I understand...However, i mean modify BIOS is dangerus and if we want Windows XP keep used on the world, need a easy way to end users. And maybe run it on reactos, for example.
#1388 | infuscomus | ⇗ @skullteria ⇗ @diderius6 It may be possible to avoid doing a bios mod to fix the USB code 10 problem But it would require the installation of grub2 bootloader onto windows for its ability to apply ACPI patches
#1389 | canonkong | ⇗ @skullteria ⇗ @diderius6 ⇗ @daniel_k Can we use this USB Driver source code to modified and make a usb general driver? ⇗ https://yadi.sk/d/yQw1Q3mtLsiA_w
#1390 | infuscomus | ⇗ @canonkong ⇗ @skullteria ⇗ @diderius6 ⇗ @daniel_k correct me if i'm wrong but it's my understanding that the ReactOS usbxhci driver is unfinished/incomplete

#1391

diderius6

⇗ @infuscomus ⇗ @skullteria ⇗ @daniel_k ⇗ @canonkong
I also think, that the Reactos xhci driver will not be ready next years and so cant help us.
I noticed, that the AMD driver vers. 1.1.0.0145, which works for XP on Intel chipsets has a problem
with
Class_08&SubClass_06&Prot_50 (USB harddisks)
devices. It is not the fault of the driver direct, because under Win7 my last driver from Renesas and
the nice driver AMD 1.1.0.0145 from Daniel work.
The device is recogniced, it sounds (plop) 3 times in a quick row
and thats all
Dietmar
EDIT: For my last Renesas driver vers. 3.0.23.0 happens exact the same under XP. All USB devices are recogniced.
But Class_08&SubClass_06&Prot_50 (USB harddisks) devices gives always 3 fast plops and thats all.
May be it has to do with the switch in XP, that they are not removable disks.
Yepp, I have a Kingston Workspace USB stick, which is set as nonremovable. There happens exact the same, 3 fast plops.
EDIT2: It has nothing to do with Class_08&SubClass_06&Prot_50
I have an USB stick with exact this class (removable) which is recogniced and works under XP and Intel chipset.
EDIT3: I set up a new XP. Now this problem is gone with the nice driver AMD vers. 1.1.0.0145 from Daniel. I changed soso many settings in USB before, so one makes, that no unremovable sticks or disks are recogniced. Funny, I search all database from Microsoft and via Internet, such a switch is not documented for XP. Only, that all USB devices are forbidden (easy set start=4 for service usbstor in registry).

#1392 | daniel_k | ⇗ @diderius6, glad you sorted it out. Never had such issue here. Does USB work fine during Setup? Did you install XP from USB?

#1393

diderius6

⇗ @daniel_k
I just boot this XP direct from USB with no other device connected,
this is really the hardest test for this nice driver from you
Dietmar
PS: The speed on USB boot device is during USB3 slot 93.55% from native speed, waaoh !
EDIT: I run Cinebench, prime95, 3Dmark2001 on this XP, bootet with your AMD driver from USB3 port,
absolut stable:)).
⇗

#1394 | canonkong | ⇗ @daniel_k AMD vers. 1.1.0.0145 bsod will bsod when it install for 149C. And now I found that only Etron usb driver can work well. Intel serise and AMD 2.0.0.48 also can work, but it must install it on windows after install the AMD chips driver. If don't install like that. it will BSOD.

#1395

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1394

> AMD vers. 1.1.0.0145 bsod will bsod when it install for 149C.
> And now I found that only Etron usb driver can work well. Intel serise and AMD 2.0.0.48 also can work, but it must install it on windows after install the AMD chips driver. If don't install like that. it will BSOD.

⇗ @canonkong, so the AMD 2.0.0.48 works without modding amdxhci.sys? Only INF mod needed?
At least one driver, Etron, works fine.

## Page 94

#1396 | canonkong | ⇗ @daniel_k Yes, AMD 2.0.0.48 is only INF mod needed, and it can support almost all usb devices, it can work for intel, amd asmedia, nvidia usb-c and more.

#1397

diderius6

⇗ @daniel_k
What do you think,
is it possible, to mod one of the following Intel network drivers for XP,
that it supports i219? This package contains them all from i210 to i218 for XP 32 bit.
i219 is the Intel chipset driver for network on a lot of motherboards
Dietmar
diderius6 has attached files to this post

- ⇗ IntelnetI21x.rar

#1398 | canonkong | ⇗ @diderius6 You can replace the i218-v GBE to the i219 use uefitool with the BIOS.

#1399

diderius6

⇗ @canonkong
I want vice versa:))
i219 => i218
And this are only the networkfiles in Bios.
For XP, you need to mod for example the e1rxp5132.sys (for i210, i211) for to support i219.
But there are other files coinstaller etc. also
Dietmar
PS: Have you modded networkfiles via this way in Bios?

#1400 | canonkong | ⇗ @diderius6 Yes, my board have i219-v, and it don't have windows server driver, when you replace the i219-LM GBE, I219-V will become I219-LM, becaus it is not a fully network device, just a phy. Also i211-AT can replace the rom, and it will becom to i210 serise.

#1401

diderius6

⇗ @canonkong
Hm, does this mean, that the newer Intel PCI device IDs for the network only depend
on Bios?
And will it work for
i219 => i211
Dietmar

#1402 | canonkong | ⇗ @diderius6 Yes, the newer Intel PCI device IDs for the network depend on bios GBE. But i219 => i211 is not possible, i219 => i218/i217 is OK.
#1403 | diderius6 | ⇗ @canonkong Can you please write a short tutorial, how to change i219 => i218/i217 Dietmar

#1404

XPLives

⇗ @canonkong
I would be interested in seeing a step by step tutorial on how you signed the drivers from scratch.
Is this a free program or where to get it?
This would be helpful in making the driver installation process automated without user interaction.
Since you are using Windows 7, do you know how to disable ACPI in Windows 7 or Vista during setup?

#1405 | canonkong | ⇗ @diderius6 Use uefitool (UBU) to open a bios which have i218, then extract the gbe, use uefitool to open your needed bios, repalce it and save it, then you can flash it.

#1406

diderius6

⇗ @XPLives
Vista or Win7 cant be installed without ACPI.
I tried to install Vista 32 on Ryzen PC, impossible. But Vista 32 bit works after the same hack in acpi.sys for Vista as for XP.
Depending on Bios version and motherboard, even Win7 32 bit can fail install on Ryzen, I have had this experience.
And all Linux versions 32 bit, that I testet, fail on Ryzen.
Dietmar

#1407 | canonkong | ⇗ @XPLives I signed the drivers use a signtool named Trust Asia, it very easy to sign a driver using this tool. Disable ACPI in Windows 7 or Vista during setup is very hard, but if you meet A5 bsod, try to delete the acpipmi.sys and its regs before install.

#1408

asasin

hello again
Unfortunately, I have a problem with the driver (or something else) from ⇗ @daniel_k .
Installs it through the device manager.
The device returns code 39.
Driver installation returns error "Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)".
any ideas?
Motherboard: ⇗ https://www.asus.com/us/Motherboards/H11...specifications/
usb id PCI\VEN_8086&DEV_A12F&CC_0C0330

#1409 | diderius6 | ⇗ @asasin Code 39 means, that something with the driver is wrong, for example checksum Dietmar
#1410 | asasin | So for now I can't do anything about this usb?

## Page 95

#1411 | infuscomus | ⇗ @asasin we are still experimenting
#1412 | infuscomus | ⇗ @daniel_k concerning your previously uploaded AMDXHCI driver from post #1376 - there is a hardcoded HWID in there could that hardcoded HWID cause issues?

#1413

cedar

⇗ @diderius6, ⇗ @infuscomus
Regarding sleep states:
My Asus Prime B350-Plus Ryzen can not sleep like
my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.
The Ivy board with its cpu fan can go to a complete stop and wake up in
a keystroke. Is this a D3 sleep mode? How can I enable this?
The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
stopped. And it stays locked forever(test for an hour) unless reboot!.
Any helps appreciated.
Cedar

#1414 | diderius6 | ⇗ @cedar Please ask a concrete question. Some steps about sleep states can be done in Bios settings. But be careful there, Dietmar
#1415 | cedar | ⇗ @diderius6 I will double check the bios setting again. maybe I missed something before.

#1416

diderius6

⇗ @infuscomus ⇗ @daniel_k ⇗ @canonkong
Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.
Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?
Also I want to try the nice tip from ⇗ @canonkong for the Intel i219 => i217, which this board has but no XP driver for it.
I never used the UBU tool only UEFI-tool, so any help with UBU is welcome.
When I succeed, I write a tutorial about all. May be it is possible, to mod the BIOS in a generic way, that it can be flashed
with its own tools. For this we need to understand, how the flash tool check validity of the Bios.
We can then use the normal Bios from download side in Web, do the generic DSDT mod for xhc on it, check it and flash.
Via this way the risk is minimal (but not zero, as I have seen for the Asus x570 -Pro board)
Dietmar

#1417

diderius6

⇗ @Lost_N_BIOS
Can there be a problem, when you use for modbiosfilenamehere.bin the original Bios version from download Webside
FPTw.exe -bios -f modbiosfilenamehere.bin
Dietmar
PS: I ask this, because I noticed, that the all in one order for to backup Bios via
FPTw.exe -d myBios.bin
gives not the original flashed Bios on chip back.

#1418 | XPLives | ⇗ @diderius6 I have not tried to full install from scratch for Vista or W7 on AMD AM4. But here's a trick if you want to use Vista or Windows 7 on AMD AM4. This worked with Bristol Ridge CPU. Install the OS on Ivy Bridge then just move the SATA drive over and connect to the AMD AM4 system and it boots up to the desktop no issue. It uses the Microsoft AHCI SATA driver so no BSOD 7B. It might trigger the genuine activation since it detects different hardware however not matching motherboard may deactivate the genuine status. But you can still bypass and continue to use the OS with an occasional nag screen every now and then. I used this to copy the Hardware IDs of the SATA controller before installing XP as this was the only way to get it easily.
#1419 | diderius6 | ⇗ @XPLives Does it work also for Vista 32 bit Dietmar

#1420

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1407

> @XPLives
> I signed the drivers use a signtool named Trust Asia, it very easy to sign a driver using this tool.
> Disable ACPI in Windows 7 or Vista during setup is very hard, but if you meet A5 bsod, try to delete the acpipmi.sys and its regs before install.

Is this Trust Asia signtool free? Can you upload or message me the link to get it? I need to test if this will work with my customized drivers that I want to later upload for user testing in unattended 2000->W7 installs.
Also can you name the company who signed it or will it say only Trust Asia on the certificate?
How about a customized unattended install file for Vista / W7? That would be easier to do to disable ACPI internally from the start if it is similar to XP. Later we can look into disabling the registry references to acpi files and registry entries so it doesn't load them.

#1421

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1419

> @XPLives
> Does it work also for Vista 32 bit
> Dietmar

Yes it does. I actually test with Vista 32-Bit because it is smaller in size than the 64-Bit version. It had to fit on a 16GB SSD so I chose Vista 32-Bit for the portable Vista boot to get Hardware Ids for XP. Vista 64-Bit needs at least 20GB to even start the installation. I used Vista 64-Bit on a larger hard drive and boots up also with swapping the drive. I also have a Windows 7 32-Bit also but it should work the same as Vista.

#1422

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1416

> @infuscomus @daniel_k @canonkong
> Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
> First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.
> Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?
> Also I want to try the nice tip from @canonkong for the Intel i219 => i217, which this board has but no XP driver for it.
> I never used the UBU tool only UEFI-tool, so any help with UBU is welcome.
> When I succeed, I write a tutorial about all. May be it is possible, to mod the BIOS in a generic way, that it can be flashed
> with its own tools. For this we need to understand, how the flash tool check validity of the Bios.
> We can then use the normal Bios from download side in Web, do the generic DSDT mod for xhc on it, check it and flash.
> Via this way the risk is minimal (but not zero, as I have seen for the Asus x570 -Pro board)
> Dietmar

You shouldn't need to mod the BIOS for Intel USB 3.0 to work. That would prevent a lot of laptop users from using them.
Just as ACPI.SYS mod is better than BIOS mod for universal usage.
Also your ACPI.SYS I tested on Z370 Coffee Lake had issues. Works to install ACPI Multiprocessor.
Problem is Video Card does not show up in Device Manager. It's missing. I cannot install the driver for it so XP becomes useless without Titan X as its friend.
Did you figure out how to change device default IRQs assigned? Can you disable IRQ6 and free it from being used by the FDC so maybe the video card can use it or Intel USB 3.0 will use that IRQ instead? I think this is the problem the Intel USB 3.0 may not be functioning correctly since it does not get assigned the necessary resources.
Also a way to disable some PCI standard PCI-PCI bridge from using any resources. Too many of these overwhelm XP and I believe that's why the Video card is not showing up in Device Manager and possibly why Intel USB 3.0 not working.

#1423

diderius6

⇗ @XPLives
This means,
that Vista 32bit can handle crazy Irq calls from the AM4 processors
better than Linux 32 bit
Dietmar
PS: I have no success to install Vista 32 on Ryzen. I also noticed big problems with all AHCI drives in Vista,
compared with XP.
Intel chipset USB does not work until now in XP, because Intel set its driver to sleep in DSDT, gives code 10.
And only the Intel xhci.sys knows, how to wake up. No other USB driver on the market can do that.
Because of this, there was no USB for XP on the Intel chipset, even the drivers are nearly all the same (generic).

#1424 | canonkong | ⇗ @XPLives Trust Asia signtool can down free, but you need CA. I can share this tool and CA, but this tool only has Chinese language, I dont know you can read it or not.

#1425

diderius6

I just notice, that for the xhc device on Asrock k6 and on Asus Apex X
Method (_PS0, 0, Serialized) // _PS0: Power State 0
in DSDT table is absolut identic. Force to sleep with code 10.
So, from tomorrow also USB 3.0 should run on Intel chipset on the Asus Apex X board
Dietmar

## Page 96

#1426

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1424

> @XPLives
> Trust Asia signtool can down free, but you need CA. I can share this tool and CA, but this tool only has Chinese language, I dont know you can read it or not.

Yes can you upload the link here? I can probably have it translated or figure it out.
Are there any English sign tools you know of free/paid to do this?

#1427 | diderius6 | ⇗ @XPLives Just try other grafikcard for XP Dietmar

#1428

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1427

> @XPLives
> Just try other grafikcard for XP
> Dietmar

Yes I did that with multiple cards swapping. All appear Missing in Device Manager. But you can still boot up on the Video Card and get video output. Just no way to install a driver for the graphics card so stuck at MS VGA driver on Coffee Lake.
When moving the drive to Ivy Bridge, it sees the Video Card in Device Manager.

#1429

diderius6

⇗ @XPLives
Something went wrong during install of XP.
I have also strange results for some newer boards during install of XP.
In this case I use an install of XP from another board,
where everything works.
I think it depends on faulty DSDT and other SSDT in Bios
Dietmar

#1430

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1429

> @XPLives
> Something went wrong during install of XP.
> I have also strange results for some newer boards during install of XP.
> In this case I use an install of XP from another board,
> where everything works.
> I think it depends on faulty DSDT and other SSDT in Bios
> Dietmar

So far besides your Z370, Z390, how many other users tested your ACPI to work on Coffee Lake without issues and no Bios Mod done?
Did you try testing your Z370 and Z390 on clean unmodified BIOS and only using your ACPI.sys mod for XP SP3 clean install?
On AMD AM4 Bristol Ridge test, ACPI Multiprocessor shows, VGA card shows, only issues is slower processor performance, and when using a very large Ramdisk it slows the boot up time that does not happen on Intel.

#1431 | canonkong | ⇗ @XPLives Signtool always is free and you can use Microsoft signtool, but the CA is not free and very expensive.

#1432

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #1431

> @XPLives
> Signtool always is free and you can use Microsoft signtool, but the CA is not free and very expensive.

Okay message me the link where you download yours from and I will test. Or you can upload the one you have if it is clean.
As long as it is signed and can install without prompting the user to confirm is all I need for testing.

#1433

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1423

> @XPLives
> This means,
> that Vista 32bit can handle crazy Irq calls from the AM4 processors
> better than Linux 32 bit
> Dietmar
> PS: I have no success to install Vista 32 on Ryzen. I also noticed big problems with all AHCI drives in Vista,
> compared with XP.
> Intel chipset USB does not work until now in XP, because Intel set its driver to sleep in DSDT, gives code 10.
> And only the Intel xhci.sys knows, how to wake up. No other USB driver on the market can do that.
> Because of this, there was no USB for XP on the Intel chipset, even the drivers are nearly all the same (generic).

I have not done extensive testing on Vista on AMD AM4 but I didn't see any problems booting into it and checking Device Manager and seemed stable to me. I used a USB card to use the USB mouse.
Do you have an Ivy Bridge or earlier Intel chipset MB to install Vista 32-Bit clean onto a Sata drive?
After fully installed you can then move the drive to your AMD AM4 and it should boot to the OS without issue. I only tested on my Bristol Ridge but I don't see why it would not work on Ryzen CPU.
It's possible you can't install Vista clean on AMD AM4 directly but I never tried. On SkyLake I can install Vista on it without issue. I didn't test a clean Vista install using Coffee Lake yet have you tried?

#1434

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1393

> @daniel_k
> I just boot this XP direct from USB with no other device connected,
> this is really the hardest test for this nice driver from you
> Dietmar
> PS: The speed on USB boot device is during USB3 slot 93.55% from native speed, waaoh !
> EDIT: I run Cinebench, prime95, 3Dmark2001 on this XP, bootet with your AMD driver from USB3 port,
> absolut stable:)).

So glad to know!
After so much work, it was worth the effort!

#1435 | canonkong | ⇗ @daniel_k How to solve the problem about the USB driver meet 01E and 02C BSOD sometimes? For example, 149C use via intel amd 2.0.0.48 driver mod driver. VIA will meet 01E BSOD sometimes. Intel/AMD 2.0.0.48 will meet 02C BSOD when install/uninstall, or meet memory can not read 0x0000002C.

#1436

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1412

> @daniel_k
> concerning your previously uploaded AMDXHCI driver from post #1376 - there is a hardcoded HWID in there
> could that hardcoded HWID cause issues?

Not at all.
I've just changed the minimum required for the driver to work with any XHCI controller.
Those HWIDs are used just for device specific fixes and ensures the driver will behave the same when used with the devices it was originally designed for.
The less changes the better.

#1437

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #1435

> @daniel_k
> How to solve the problem about the USB driver meet 01E and 02C BSOD sometimes?
> For example, 149C use via intel amd 2.0.0.48 driver mod driver. VIA will meet 01E BSOD sometimes. Intel/AMD 2.0.0.48 will meet 02C BSOD when install/uninstall, or meet memory can not read 0x0000002C.

⇗ @canonkong
Unfortunately, that is beyond my knowledge.
While XHCI is a standard, manufacturers include a lot of device specific code to fix design flaws etc.
Most probably the driver expects something the controller doesn't do or the driver does something that it shouldn't if following the standards.
When we remove the device ID checks, we are just hoping for the driver to work properly. It's just a matter of luck.

#1438

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #1413

> @diderius6, @infuscomus
> Regarding sleep states:
> My Asus Prime B350-Plus Ryzen can not sleep like
> my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
> The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.
> The Ivy board with its cpu fan can go to a complete stop and wake up in
> a keystroke. Is this a D3 sleep mode? How can I enable this?
> The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
> stopped. And it stays locked forever(test for an hour) unless reboot!.
> Any helps appreciated.
> Cedar

ACPI 1.0a support is broken in the new systems.
It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.
I've tried really hard to fix the ACPI table, but just gave up.

#1439

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1429

> @XPLives
> Something went wrong during install of XP.
> I have also strange results for some newer boards during install of XP.
> In this case I use an install of XP from another board,
> where everything works.
> I think it depends on faulty DSDT and other SSDT in Bios
> Dietmar

Yes. I intend to do another project to shrink down XP setup files to the bare minimum smaller than Tiny XP size. But will require lots of help to identify all the files we don't need.
After sorting through the 6,000+ files then the fun can begin to trim XP to bare minimum and XP install will be very fast even on an optical drive. Maybe it's possible to shrink below 100MB and hopefully under 100 files.
Currently, XP SP0 uses the least amount of files and installs to around 600 some MB. XP SP3 uses more files and bloats it too much.
But XP SP1 first supports large partition so may need to use this as the XP installer source.
I found XP SP0 can get the full 4.0GB memory usage compared to SP2/SP3 drops to 3.15GB->3.5GB max. So MS stole 0.5->0.85GB of memory from XP users.

#1440

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1414

> @cedar
> Please ask a concrete question.
> Some steps about sleep states can be done in Bios
> settings. But be careful there,
> Dietmar

⇗ @diderius6
He wants to get Standby working on Ryzen.
Dietmar, have you ever try to put your system in Standby (Sleep) then Wake it?
Tried to fix myself but gave up, too much work.

## Page 97

#1441

XPLives

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #1438

> > Zitat von ⇗ cedar im Beitrag ¶ #1413

> > @diderius6, @infuscomus
> > Regarding sleep states:
> > My Asus Prime B350-Plus Ryzen can not sleep like
> > my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
> > The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.
> > The Ivy board with its cpu fan can go to a complete stop and wake up in
> > a keystroke. Is this a D3 sleep mode? How can I enable this?
> > The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
> > stopped. And it stays locked forever(test for an hour) unless reboot!.
> > Any helps appreciated.
> > Cedar

> ACPI 1.0a support is broken in the new systems.
> It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.
> I've tried really hard to fix the ACPI table, but just gave up.

I never use hibernation since if you install 32GB or more RAM it requires an equal amount of RAM for the hibernat.fil in Vista and maybe even 2003. But since XP memory will be capped it's probably 3.15->4.00GB in size depending on which SP version used.
Standby was never 100% reliable even on Ivy Bridge. Sometimes if you sleep too long you can never wake the system up and if you use a large Ramdrive you cannot backup the data first so it is lost.
I prefer to underclock and undervolt the system to your preferred speed and just leave all cores running. XP hardly crashes in this scenario.
If you used Standby on IB it is better to not let it sleep too long. A few minutes is safe. Better to get a UPS instead so you can shut down safely.
On the bright side diderius6 ACPI.sys mod still allows Coffee Lake and Ryzen MB to shut down instead of a manual power off.

#1442

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1416

> @infuscomus @daniel_k @canonkong
> Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
> First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.
> Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?

⇗ @diderius6
Found the culprit ACPI statement that prevents the driver from loading on XP.
Taken from the ACPI table of your ASRock Z370 board.
Search for Device (XHC) and change this:

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (DVID == 0xFFFF)
                    {
                        Return (Zero)
                    }

                    Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    PDBM &= 0xFFFFFFFFFFFFFFF9
                    D3HE = Zero
                    STGE = Zero
                    D0D3 = Zero
                    MEMB = XWMB /* \XWMB */
                    PDBM = (Local1 | 0x02)
                    OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
                    Field (MC11, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x81C4),
                            ,   2,
                        UPSW,   2
                    }

                    UPSW = Zero
                    PDBM &= 0xFFFFFFFFFFFFFFFD
                    MEMB = Local2
                    PDBM = Local1
                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        PS0X ()
                    }

                    If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
                    {
                        MPMC = One
                        While (PMFS)
                        {
                            Sleep (0x0A)
                        }
                    }
                }

To this:

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (DVID == 0xFFFF)
                    {
                        Return (Zero)
                    }

                    Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    If (OSYS >= 0x07D6)
                    {
                        PDBM &= 0xFFFFFFFFFFFFFFF9
                    }
                    D3HE = Zero
                    STGE = Zero
                    D0D3 = Zero
                    MEMB = XWMB /* \XWMB */
                    PDBM = (Local1 | 0x02)
                    OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
                    Field (MC11, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x81C4),
                            ,   2,
                        UPSW,   2
                    }

                    UPSW = Zero
                    If (OSYS >= 0x07D6)
                    {
                        PDBM &= 0xFFFFFFFFFFFFFFFD
                    }
                    MEMB = Local2
                    PDBM = Local1
                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        PS0X ()
                    }

                    If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
                    {
                        MPMC = One
                        While (PMFS)
                        {
                            Sleep (0x0A)
                        }
                    }
                }

Which means that PDBM &= 0xFFFFFFFFFFFFFFF9 and PDBM &= 0xFFFFFFFFFFFFFFFD must be run only if OS is Vista or later. That's all.
This way we ensure the changes won't affect other OSes.

#1443

diderius6

⇗ @daniel_k
I have not tried sleeping mode on XP,
because also on chipsets before Skylake it was faulty.
On the evga z390 dark board they make a Bios for real XP.
It is version 0.92 and there you may find some intuition
for to change Acpi tables. It is not on their Website,
so I put it here.
This board I use for generic XP install, really best.
Have you an idea, how to overcome for your new driver
the sleeping code 10 in DSDT table in
Method (_PS0, 0, Serialized) // _PS0: Power State 0
⇗ @XPLives is right, that Bios mod of DSDT is nothing for "normal" people.
But I think, this mod can make like generic
Dietmar
Edit: Funny, I wrote this few mins ago.
The Bios 0.92 for XP on z390 is too big for to upload here,
so I give you the link, it is on top of this website
⇗ https://forums.evga.com/EVGA-Z390-DARK-O...T-m2930290.aspx

#1444

diderius6

⇗ @XPLives
I make XP SP1 install at a size of about 3 Mbyte^^
Dietmar
⇗ http://reboot.pro/topic/3717-xpsp1-with-...fs-below-10-mb/
PS: And Windows Server 2003 at a size of about 2 Mbyte, fits on1 diskette.
This is record until now.

#1445

diderius6

⇗ @daniel_k
I just give the asl.exe tool a new chance.
I upload your new mod DSDT table via asl.exe.
But then I get again BSOD A5, crazy tool because of ACPI.
But then I remembered, that I still have a "MPS" XP installation.
And voila, there your mod works.
This means, also the asl tool works, only not correct for Acpi mod.
So at once I can give a mini Tutorial for to test if USB3 for intel chipset works on your compi without real Bios modding.
0.) Make a "MPS" XP installation (This is without ACPI. You can also use "Standart PC" hitting F5 during setup of XP.)
1.) Extract with UEFI tool your DSDT table. From this raw file make dsdt.dsl with the tool iasl in commandline C:\ iasl.exe dsdt.raw
2.) Do the mod in DSDT as in post 1442.
3.) Make dsdt.aml from this modded file dsdt.dsl via C:\iasl dsdt.dsl in commandline.
3.) Copy the Tool asl.exe to your C:\ folder
4.) Type via commandline C:\asl /loadtable dsdt.aml
Reboot your Compi.
5.) Install the USB driver from ⇗ @daniel_k
Voila:))
Thats all. The real Bios is not touched on your COMPI!
Modded DSDT is stored only in registry.
When you want to unload the modded DSDT from your compi
just type in commandline C:\asl /loadtable -d dsdt.aml
I just tested this,
it works
Dietmar

#1446

infuscomus

⇗ @diderius6
i recall from my experimenting earlier that you need to load the FACP table before loading the DSDT table
perhaps that is why you get A5 BSOD when in ACPI mode?
try
asl.exe /loadtable facp.raw
asl.exe /loadtable dsdt.raw

#1447

cedar

⇗ @daniel_k
------------
ACPI 1.0a support is broken in the new systems.
It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.
I've tried really hard to fix the ACPI table, but just gave up.
------------
It is good to know that it is not my specific Prime B350 that has this problem.
So it is a general problem.
I tried all the usb 3.0 drivers from yours,diderius6,and canonkong.
So far no success on my Gigabyte B75 Ivy board. Some Host controllers
can be installed, but none of 3.0 hubs drivers can be installed.
Have you had any successful USB3.0 XP installed on any other Intel board?
As older boards have no ACPI problems. Wouldn't it be more likely to be modded
successfully than present board?
Cedar

#1448 | cedar | ⇗ @XPLives Were you able to install XP sp2 and earlier on Ryzen?
#1449 | skullteria | Hello, i will install Windows Vista on my system, motherboard with chipset H110 and try install usb driver from here. If succeded, maybe problem ACPI driver or power saving on Vista. If get Code 10 too, maybe it is related with Windows version on OSI function. We really need run usb 3.0 on XP without edit Bios

#1450

diderius6

⇗ @daniel_k
I just tested my own Tutorial for USB mod direct on the Asus Apex X board
with minimod of DSDT via Daniel.
Works !!!
Have a nice day
Dietmar
⇗
⇗

#1451

cedar

⇗ @diderius6 and ⇗ @XPLives
3 Mb XP is really good and hilariuous. I am very interested to stall a very small XP64 or
Win7x64 on my ivy MB or Win7x64 on Ryzen, as long as it can run ffmpeg64 for fast
x265 backup. I prefer ffmpeg over x265.exe as no audio remux (intermediate files
created) is required.
Cedar

#1452

diderius6

⇗ @daniel_k
At the same time I feel,
that we will not be able to have an USB driver for XP 32 bit
for Intel chipset USB without Bios Mod,
because always XP hangs up itself when it comes in Bios
for the xhc driver to the lines (64 bit) with
PDBM &= 0xFFFFFFFFFFFFFFF9
and
PDBM &= 0xFFFFFFFFFFFFFFFD
Dietmar
PS: So it is not (?!) the fault of Intel but of motherboard manufacturers.

#1453

diderius6

⇗ @infuscomus
I tried first to load facp and then dsdt
asl.exe /loadtable facp.raw
asl.exe /loadtable dsdt.raw
but again on ACPI XP BSOD 0xA5
this is very strange, because the asl tool works very good in other cases
Dietmar
PS: So, the only hope without real Bios Mod Intel USB is to repair or write new the Tool asl.exe.

#1454 | infuscomus | ⇗ @diderius6 There is source code for intel ASL on github ⇗ https://github.com/acpica/acpica I am not sure if it will help

#1455

diderius6

⇗ @infuscomus
Do you have the binary for Intel ASL
and how is the Syntax for its use?
Another idea would be: The DSDT table can be seen in (ACPI only) XP registry
and also been edited there. But on next boot the Bios loads
its original own DSDT. If we just can stop writing of Bios its own DSDT to the registry again,
it would be done
Dietmar

## Page 98

#1456 | infuscomus | ⇗ @diderius6 is this what you are looking for? ⇗ https://acpica.org/downloads/binary-tools can we set DSDT to read only using permissions in the registry editor?

#1457

diderius6

I just found, how the asl Tool works.
When you read the registry on running XP with ACPI out,
the values of the DSDT are NOT stored.
But when you upload DSDT with asl.exe
suddently is there a BIG set of data, all Hexvalues at the place from DSDT
Dietmar
EDIT: With asl the whole DSDT is blown up to a very big dataset at the same place,
where in working ACPI XP it stays.
It gets an extra start signature,
but then follows the normal "DSDT" signature
and it ends with the normal signature for dsdt.
And then follows in registry the entry for FACP, as normal.

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\DSDT\ALASKA\A_M_I_\01072009]

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\FACP]

    => (asl loads DSDT)

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\DSDT\ALASKA\A_M_I_\01072009]
    "00000000"=hex:0d,ae,02,00,00,00,00,00,00,00,00,00,f0,1b,00,00,44,53,44,54,0d,\
      ae,02,00,02,6b,41,4c,41,53,4b,41,41,20,4d,20,49,20,00,00,09,20,07,01,49,4e,\
      54,4c,05,04,19,20,a0,43,83,00,15,5c,2e,5f,47,50,45,41,4c,36,46,08,00,15,5c,\
      2e,5f,47,50,45,48,4c,56,54,08,00,15,5c,2e,5f,47,50,45,50,30,4c,36,08,00,15,\
      5c,2e,5f,47,50,45,50,31,4c,36,08,00,15,5c,2e,5f,47,50,45,50,32,4c,36,08,00,\
      15,5c,2e,5f,50,52,5f,42,47,49,41,00,00,15,5c,2e,5f,50,52,5f,42,47,4d,41,00,\
      00,15,5c,2e,5f,50,52,5f,42,47,4d,53,00,00,15,5c,2e,5f,50,52,5f,43,46,47,44,\

    ...

      35,31,34,39,30,37,31,34,38,35,28,52,29,00,5b,82,4d,05,57,4d,49,31,08,5f,48,\
      49,44,0d,50,4e,50,30,43,31,34,00,08,5f,55,49,44,0d,4d,58,4d,32,00,08,5f,57,\
      44,47,11,17,0a,14,3c,5c,cb,f6,ae,9c,bd,4e,b5,77,93,1e,a3,2a,2c,c0,4d,58,01,\
      02,14,20,57,4d,4d,58,03,8a,6a,00,46,55,4e,43,a0,10,93,46,55,4e,43,0c,53,4c,\
      49,41,a4,53,4c,49,43,a4,00
    "Action"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\FACP]

Because in registry only ControlSet001 is stored, FACP is always stored normally,
but DSDT without asl is always loaded new via Bios.
May be adding the line in DSDT in registry
`"Action"=dword:00000000`
is enough and copy DSDT into ControlSet001
Dietmar

#1458 | diderius6 | ⇗ @infuscomus "can we set DSDT to read only using permissions in the registry editor?" Good idea, but until now without success for me Dietmar

#1459

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #1457

> Which means, with use of asl the whole FACP entry in registry is gone.

asl.exe /loadtable facp.raw
did not help?

#1460 | XPLAKE8175 | I'm getting A5 ACPI error on my ASUS k555lb laptop. I don't want to install XP without ACPI. Which is the latest version of XP ACPI compliant for my laptop K555LB?

#1461

diderius6

⇗ @infuscomus
The asl tool
builds complete DSDT entry new in ControlSet001.
Without asl, the DSDT is not stored at all in ControlSet001,
DSDT is loaded each time on reboot new from Bios
Dietmar

#1462 | diderius6 | ⇗ @XPLAKE8175 acpi.sys from post 1326 should work, this is a notebook with Intel chipset Dietmar

#1463

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1457

> I just found, how the asl Tool works.
> When you read the registry on running XP with ACPI out,
> the values of the DSDT are NOT stored.
> But when you upload DSDT with asl.exe
> suddently is there a BIG set of data, all Hexvalues at the place from DSDT
> Dietmar
> EDIT: With asl the whole DSDT is blown up to a very big dataset at the same place,
> where in working ACPI XP it stays.
> It gets an extra start signature,
> but then follows the normal "DSDT" signature
> and it ends with the normal signature for dsdt.
> And then follows in registry the entry for FACP, as normal.
> ...
> Because in registry only ControlSet001 is stored, FACP is always stored normally,
> but DSDT without asl is always loaded new via Bios.
> May be adding the line in DSDT in registry
> `"Action"=dword:00000000`
> is enough and copy DSDT into ControlSet001
> Dietmar

While I can't help you with this, isn't possible to export the ACPI tables created by the ASL tool then import them into SETUPREG.HIV, which is the default registry for Windows Setup?
This way could be possible to create a custom SETUPREG.HIV for every board.

#1464

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #1447

> I tried all the usb 3.0 drivers from yours,diderius6,and canonkong.
> So far no success on my Gigabyte B75 Ivy board. Some Host controllers
> can be installed, but none of 3.0 hubs drivers can be installed.
> Have you had any successful USB3.0 XP installed on any other Intel board?
> As older boards have no ACPI problems. Wouldn't it be more likely to be modded
> successfully than present board?
> Cedar

⇗ @cedar
What do you mean by "none of 3.0 hubs drivers can be installed"?
Isn't the root hub detected?
Or it is detected but won't work properly?

#1465 | infuscomus | ⇗ @daniel_k if you have the time - can you figure out what causes code 39 error when using amdxhci driver for USB 3.0 in virtualbox?

#1466

cedar

⇗ @daniel_k
I didn't see any usb 3.0 root hub entry available after installing the 3.0 host controller. Only the default generic usb 2.0 hub is available. So I guessed at that point, I am stuck.
I ran the drivers without my hardware ID first. When they failed. I added my Ivy HW ID as
an alternative test. But without any successes. If you are interested, I can test your drivers
again.
Cedar

#1467

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #1466

> @daniel_k
> I didn't see any usb 3.0 root hub entry available after installing the 3.0 host controller. Only the default generic usb 2.0 hub is available. So I guessed at that point, I am stuck.
> I ran the drivers without my hardware ID first. When They failed. I added my Ivy HW ID as
> an alternative test. But without any successes. If you are interested, I can test your drivers
> again.
> Cedar

The root hub is detected as an unknown device.
If the XHCI host controller is enabled succesfully, it immediately creates a child device.
Try to view the devices by connection and check if the host controller has a child device.

#1468

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1465

> @daniel_k
> if you have the time - can you figure out what causes code 39 error when using amdxhci driver for USB 3.0 in virtualbox?

You must use the Renesas driver and am sure I've got it working.
Will try again later.

#1469 | XPLAKE8175 | #1326
#1470 | diderius6 | ⇗ @infuscomus I think, the Renesas driver from post 1367 ist best Dietmar

## Page 99

#1471 | infuscomus | ⇗ @diderius6 I tried renesas driver you mentioned in virtualbox - code 39 again

#1472

cedar

⇗ @daniel_k
I retest AMDXHCI_FINAL_ from #1376 on XP32 on Ivy Mb with
my hardware IDs

    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C0320
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C03
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458&REV_04
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C0320
    %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C03 ; my tests

All instant reboots after installing the host controller with or without my HW IDs.
I did remember some host controller drivers can be installed a few days ago.
The TI Host controller can definitely installed.
I will try the XP64 versions soon.
Cedar

#1473

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #1472

> @daniel_k
> I retest AMDXHCI_FINAL_ from #1376 on XP32 on Ivy Mb with
> my hardware IDs

>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C0320
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C03
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458&REV_04
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C0320
>     %AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C03 ; my tests

> All instant reboots after installing the host controller with or without my HW IDs.
> I did remember some host controller drivers can be installed a few days ago.
> The TI Host controller can definitely installed.
> I will try the XP64 versions soon.
> Cedar

The BIOS is not properly configured for USB 3.0.
Those device IDs are USB 2.0 controllers (CC_0C0320).
You need to set xHCI Mode to Enabled and HS Port #1 Switchable~HS Port #4 Switchable to Disabled.

#1474

cedar

⇗ @daniel_k
Ok. the test was on AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04,
as it was the 1st top entry chosen during installation. I didn't pick
CC_0C03 specificly. "my tests" was there to remind myself I tested the driver.
I will delete all (CC_0C0320)s entries. I believe my Bios was with xHCI enabled.
But I will recheck to confirm.
Cedar

#1475 | daniel_k | The device ID of the Intel USB 3.0 controller should be the following: PCI\VEN_8086&DEV_1E31&SUBSYS_50071458 PCI\VEN_8086&DEV_1E31&CC_0C0330 Unless you are using PS/2 keyboard or mouse, your input device will be unavailable until a proper driver is installed.

#1476

diderius6

I understand a little bit more, how the asl Tool works.
In registry HKLM\services the acpi.sys driver is called. Normally, acpi.sys fetch its data from DSDT from Bios.
May be, this happens just now also and only later it should be overwritten with the DSDT values in "parameters".
Then the call from the DSDT table from Bios gives BSOD A5, before it can be overridden by the "parameters".
The asl.exe Tool writes after loadtable the data of DSDT in its "parameters"
for next boot. There, "new DSDT" stays.
The size of the ACPI "parameters" there is enourmous, but it is just the dsdt.aml with very small changes.
It is splitted in 19 entries whereas its counterpart in HKLM\hardware\acpi\dsdt is not splitted
Dietmar
PS: Interesting, how "MPS" XP can read the DSDT, because it has no acpi.sys.
EDIT: May be, the asl.exe tool cant work together with If (OSYS >= 0x07D6)

#1477 | XPLAKE8175 | you have to download ahci drivers or switch sata mode to ide (if it is available).

#1478

cedar

⇗ @daniel_k
I disable the 4 switchable in bios and delete VEN_8086&DEV_1E26&CC_0C0320.
The XP32 still instantly reboot, without install anything upon
reboot.
But the XP64 version is better. I can install the host controller, and
install the 3.0 hub. This time the unknown hub 3.0 appear and can also
installed but with code 10.
Edit: I will retest 32 bits with
PCI\VEN_8086&DEV_1E31&SUBSYS_50071458
PCI\VEN_8086&DEV_1E31&CC_0C0330
Cedar

#1479

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1443

> @daniel_k
> I have not tried sleeping mode on XP,
> because also on chipsets before Skylake it was faulty.
> On the evga z390 dark board they make a Bios for real XP.
> It is version 0.92 and there you may find some intuition
> for to change Acpi tables. It is not on their Website,
> so I put it here.
> This board I use for generic XP install, really best.
> Have you an idea, how to overcome for your new driver
> the sleeping code 10 in DSDT table in
> Method (_PS0, 0, Serialized) // _PS0: Power State 0
> @XPLives is right, that Bios mod of DSDT is nothing for "normal" people.
> But I think, this mod can make like generic
> Dietmar
> Edit: Funny, I wrote this few mins ago.
> The Bios 0.92 for XP on z390 is too big for to upload here,
> so I give you the link, it is on top of this website
> ⇗ https://forums.evga.com/EVGA-Z390-DARK-O...T-m2930290.aspx

When XP is installed in MPS, NO ACPI, which file is loaded instead of ACPI.SYS?
Is there a way to take the code for shutdown you fixed in ACPI.SYS and add as a registry fix or patch alternate file XP uses for NO ACPI mode?
This is still useful for F7 test on Intel even without hyperthreading but all cores will show up. AMD AM4 can only use Standard PC unicore so alas. :(

#1480

XPLives

⇗ @XPLAKE8175

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1460

> I'm getting A5 ACPI error on my ASUS k555lb laptop. I don't want to install XP without ACPI. Which is the latest version of XP ACPI compliant for my laptop K555LB?

Since you have a Kaby Lake laptop this is interesting to test for compatibility.
Can you still do F7 NO ACPI XP install on it to completion to GUI setup mode or all the way to first desktop screen?
Is CSM mode still intact?

#1481 | XPLAKE8175 | I have got Broadwell Laptop

#1482

XPLives

⇗ @XPLAKE8175

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1481

> I have got Broadwell Laptop

Broadwell laptop should install with ACPI normally since Haswell laptop should work.
Are you getting BSOD A5 issue on it?
Try F7 NO ACPI install method and see if it finishes to desktop. The USB 2.0 ports on it should work for USB mouse/keyboard.
Check the Task Manager and you should see all cores working just no hyperthreading.

#1483 | XPLAKE8175 | Yes I'm still getting ACPI error on my K555LB. My BIOS version is 605 which is the latest version.
#1484 | XPLAKE8175 | I don't want to install Windows XP without ACPI because my integrated keyboard does not work, I can't see my battery life and I can't shutdown without holding power button.

#1485

XPLives

⇗ @XPLAKE8175

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1483

> Yes I'm still getting ACPI error on my K555LB. My BIOS version is 605 which is the latest version.

Then it's possible Haswell laptops will have the same issue since they should be the same.
Haswell/Broadwell desktops are the last fully XP ACPI compliant then it seems for fresh install and Ivy Bridge laptop the last generation.
For now then try the F7 NO ACPI install method and see if it finishes to desktop. The USB 2.0 ports on it should work for USB mouse/keyboard.
Check the Task Manager and you should see all cores working just no hyperthreading.
Which CPU is installed in your laptop? How many memory slots does it have?

## Page 100

#1486 | XPLAKE8175 | My CPU is Intel Core i5 5200u and I have two memory slots and total of 8 gb of ram.
#1487 | diderius6 | ⇗ @XPLAKE8175 Make a photo or describe all the exact numbers of your BSOD Dietmar

#1488

XPLives

⇗ @XPLAKE8175

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1484

> I don't want to install Windows XP without ACPI because my integrated keyboard does not work, I can't see my battery life and I can't shutdown without holding power button.

If you don't even attempt the F7 NO ACPI install you will never know if the USB 2.0 ports on it will even work so the internal keyboard will not work either even with ACPI since it's hooked into the USB ports and if it's connected to the USB 3.0 ports then it will not work. But if your laptop has USB 2.0 ports then you have a chance to use external USB mouse/keyboard combo. Also I use Das Keyboard instead of the laptop keyboard. Laptop keyboards have a very lousy orientation sometimes hitting the wrong key due to non standard layouts when they swap the keys with others you are not used to compared to standard 101 enhanced.
Aside from that you will still have to deal with the laggy MS VGA standard driver as there are no working Intel HD Graphics XP drivers for laptops past Ivy Bridge. So no 3D gaming in XP will be possible. Internet surfing might be possible if you have XP drivers for the WIFI or a removable one to swap.
What are your Wired Ethernet and Wireless WIFI devices called in Device Manager?
Can you copy the Hardware IDs of both including the Compatible IDs, and Matching IDs and paste here?
Also which onboard Audio is it? Include the Hardware IDs of both including the Compatible IDs, and Matching ID.
It might be possible to get some multimedia usage out of it for internet only if you really want to use XP on a Broadwell laptop.

#1489 | XPLAKE8175 | I don't want to use my laptop without acpi. I want using with acpi.
#1490 | infuscomus | ⇗ @XPLAKE8175 you should first install XP without ACPI for testing purposes once that works you can re-enable ACPI with another XP install later
#1491 | XPLAKE8175 | I don't want to test
#1492 | infuscomus | ⇗ @XPLAKE8175 If you are not willing to test then there is no way we can help you
#1493 | XPLAKE8175 | I don't want to get help from you.

#1494

XPLives

⇗ @XPLAKE8175

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1491

> I don't want to test

If you don't test you will never find out if it works. Like I said your first complaint is you want to use the internal keyboard. But if you don't do the F7 NO ACPI test you will not find out whether or not the internal keyboard is tied to the USB 2.0 or USB 3.0 ports. If it's tied to the USB 3.0 ports then even with ACPI you are screwed and cannot use the internal keyboard.
I hope you understand this reasoning. Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work.
Also without knowing whether you have USB 2.0 ports that can work with a USB floppy drive or USB flash drive with MSDOS 7.1 you cannot do the acpi.sys overwrite manually. If your USB 3.0 ports can do xHCI hand off and operate as USB 2.0 eHCI then you are in luck.
Unfortunately since I do not own any laptop beyond Ivy Bridge I cannot tell you whether yours has real USB 2.0 ports or USB 3.0 ports or if your USB 3.0 ports can act as USB 2.0 ports.
Infuscomus is correct that you need to do the F7 NO ACPI test to see if you can even get a working desktop screen and use the internal keyboard or external USB mouse. If you can't then it doesn't matter whether it's ACPI or not. Also if you are worried about laptop battery life there is no guarantee even diderius6 acpi.sys can handle sleep mode or stand by mode on laptops. I think it doesn't work on desktops at the moment but I have not tested. Shutdown does work on desktops so I assume it will also work on laptops.
One final thing if you ever get this far to do the F7 NO ACPI test. I can show you how to install 32GB of RAM on the laptop. It might even be possible to use 28GB-29GB as a large Ramdrive on a Broadwell laptop in XP.

#1495

diderius6

⇗ @XPLives
"Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work."
When you use RMPrepUSB v2.1.739 version and you format your harddisk in an ICY USB box,
you can format it with NTFS. With this nice tool, you can also change after its formatting files as much as you want in Vista, Win7..
Dietmar

#1496

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1471

> @diderius6
> I tried renesas driver you mentioned in virtualbox - code 39 again

⇗

#1497

XPLives

> Zitat von ⇗ diderius6 im Beitrag ¶ #1495

> @XPLives
> "Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work."
> When you use RMPrepUSB v2.1.739 version and you format your harddisk in an ICY USB box,
> you can format it with NTFS. With this nice tool, you can also change after its formatting files as much as you want in Vista, Win7..
> Dietmar

I like XP on FAT32. :) Easier to do hack tests or use with 98SE to exchange files. I used the built in 98SE DOS to go to prompt so no need for USB floppy. Then modify XP files as needed.
NTFS I only use for large video files. But NTFS only required for Vista+ which is a shame. Would be nice to install Vista or W7 clean onto FAT32 partition.

#1498 | daniel_k | ⇗ @diderius6 Forgot to tell you, I've managed to patch the DSDT of my Z370 to be fully compatible with XP. No patched ACPI.SYS here. Do you have any interest? I can patch the DSDT table of your board if you want, there are several changes to explain here, nothing to do with the eVGA's Z390 XP BIOS.

#1499

diderius6

⇗ @daniel_k
Of course I want to know.
I also think, that it is very interesting here for a lot of people.
I hope, that you have time and mood to write a Tutorial,
Dietmar
PS: I succeed to mod the Bios of my Asus Apex X board. Now I have really full USB support!

#1500 | diderius6 | ⇗ @XPLives Long time ago I wrote Tutorial how to install Vista on Fat32 partition Dietmar ⇗ https://msfn.org/board/topic/102556-how-...at32-partition/

## Page 101

#1501

diderius6

The flash of the modded Bios for the Asus Apex X was not easy.
I downloaded from webside the Bios version 1704,
which works also for the 9900k, despite Asus tells there.
I delete with UEFI-Tool the Cap of this Bios.
Then with Uefi-tool I changed dsdt against my modded one.
But when I try to flash this Bios with Intel flash tool
FPTw.exe -bios -f modbiosfilenamehere.bin
it tells me, that it is not allowed^^ to flash this Bios.
Ok, I try direct Bios flashback on this nice board,
renaming my Bios file to the wished M10A.CAP name.
Does not work.
Then I use the original Bios 1704 from Asus website and change there with Uefi-tool
the DSDT to my modded one.
This time, I do not touch the CAP header of this crazy Bios.
Then I make a new try for to flash via Bios flashback, compi
is not on, only power is connected.
This time it works
Dietmar
PS: As you can see, now ALL USB ports work on this board.
And pur USB boot from XP SP3 works on the Asus Apex X now for the very first time!
⇗

#1502

cedar

⇗ @daniel_k
I absolutely thrilled if you can patch my Asus Prime B350 Plus
of its the DSDT to be fully compatible with XP. Or my
Gigabyte Ivy D3-P75 to use usb 3.0. I have lot of problems install
XP on my Asus Prime B350. Although win2003 works.
That would be great news for many users.
If patched, since it does not need acpi.sys. Can XP64 be installed
as well?.
Cedar

#1503

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1500

> @XPLives
> Long time ago I wrote Tutorial how to install Vista
> on Fat32 partition
> Dietmar
> ⇗ https://msfn.org/board/topic/102556-how-...at32-partition/

Ah... I was hoping you found a new way to install from scratch directly to FAT32 from optical disc install.
Your method involves copying files after installation from NTFS partition.
If you can use a NTFS to FAT32 partition conversion program that would probably do the same?
But still nice that Vista can work on FAT32 after all that work as it should and Windows 7 should as well.
Now how to force NTFS check to be disabled for Vista / Windows 7 fresh optical disc installation from the beginning?
Even XP POS 2009 forces NTFS installation partition and no longer supports installation to FAT32 and forces to partition 1 so you can't install multiple times to different partitions like XP.

#1504

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1499

> @daniel_k
> Of course I want to know.
> I also think, that it is very interesting here for a lot of people.
> I hope, that you have time and mood to write a Tutorial,
> Dietmar
> PS: I succeed to mod the Bios of my Asus Apex X board. Now I have really full USB support!

Using your modified BIOS for USB 3.0 can you test if you install XP in MPS Mode or Standard PC (NO ACPI) without using your acpi.sys does the USB 3.0 still function correctly?

#1505

daniel_k

⇗ @diderius6
Take a look at the tables.
Included is the table of BIOS 4.00, I've already modded it before I realized you were on BIOS 3.20.
daniel_k has attached files to this post

- ⇗ Z37GK6_DSDT_MOD.rar

#1506

diderius6

⇗ @XPLives
"Using your modified BIOS for USB 3.0 can you test if you install XP in MPS Mode or Standard PC (NO ACPI) without using your acpi.sys does the USB 3.0 still function correctly?"
Yes, I just test this. It works in "MPS" and in "ACPI Multiprocessor" mode of XP SP3 also on the Apex X board.
Dietmar

#1507 | cedar | ⇗ @diderius6 Could you please test Xp64 as well? Edit: Nevermind. I was having too much hopes. Cedar

#1508

daniel_k

⇗ @diderius6
Here is the DSDT table of your ROG MAXIMUS X APEX 1704.
Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out.
daniel_k has attached files to this post

- ⇗ MAXIMUS-X-APEX-1704_DSDT_MOD.rar

#1509

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #1502

> @daniel_k
> I absolutely thrilled if you can patch my Asus Prime B350 Plus
> of its the DSDT to be fully compatible with XP. Or my
> Gigabyte Ivy D3-P75 to use usb 3.0. I have lot of problems install
> XP on my Asus Prime B350. Although win2003 works.
> That would be great news for many users.
> If patched, since it does not need acpi.sys. Can XP64 be installed
> as well?.
> Cedar

Ryzen has other issues, don't think we can simply patch the ACPI table.

#1510

diderius6

⇗ @daniel_k
"Here is the DSDT table of your ROG MAXIMUS X APEX 1704.
Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out."
Yes, I know this. The board Apex IX before was full XP compatibel from beginning.
And the acpi.sys from Vista-Longhorn 5048 works on ROG MAXIMUS X APEX 1704 without any mod.
But on direct install with normal Acpi.sys from XP I get BSOD A5 (0x11,..)
so I have until now to use my modded acpi.sys from december 2018
Dietmar
PS: So, for me it is very strange, why the asl Tool shows BSOD A5 on this board.

#1511 | asasin | hello again Would you advise something on the main board asus h110m-a / m.2? I still have the same problem with usb.
#1512 | cedar | ⇗ @daniel_k So even the bios modded could not save XP64!. What is the difference between ⇗ @diderius6 's Acpi.sys modded and the Bios modded? Cedar

#1513

diderius6

⇗ @daniel_k
How can you fix so quick a DSDT table?
I need for this whole day..
By the way: For you, to make your life easier,
update the iasl tool.
* Compiler Version 0x20160422 (538313762)
The messages about unknown dependencies are complete gone
with newer version
Dietmar
PS: And thank you a lot!
EDIT: I just notice, that XP support for this iasl.exe is gone.
So I add the last version from iasl.exe, which supports XP.
diderius6 has attached files to this post

- ⇗ iasl-win-20190703.zip
- ⇗ iasl-win-20190509(1).zip

#1514

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1513

> @daniel_k
> By the way: For you, to make your life easier,
> update the iasl tool.
> * Compiler Version 0x20160422 (538313762)
> The messages about unknown dependencies are complete gone
> with newer version

Thanks.
I know that IASL is updated frequently.
For compatibility reasons, I usually like to compile the table with the same version used to build the original, as you should know, the BIOS updates certain variables in the ACPI tables.

#1515

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1510

> @daniel_k
> "Here is the DSDT table of your ROG MAXIMUS X APEX 1704.
> Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out."
> Yes, I know this. The board Apex IX before was full XP compatibel from beginning.
> And the acpi.sys from Vista-Longhorn 5048 works on ROG MAXIMUS X APEX 1704 without any mod.
> But on direct install with normal Acpi.sys from XP I get BSOD A5 (0x11,..)
> so I have until now to use my modded acpi.sys from december 2018
> Dietmar
> PS: So, for me it is very strange, why the asl Tool shows BSOD A5 on this board.

How do you create your modded acpi.sys?
Are you using XP's acpi.sys original file and hex mod?
Can you use Windows 2000's acpi.sys file instead for full forward compatibility will all NT5.X versions?
If not I will help to remake from scratch if I know how you did the XP version.
Also need to disable or reassign default IRQs for devices detected. Any ideas to free IRQ6 from FDC?

## Page 102

#1516 | XPLAKE8175 | But Vista does not get this A5 error message.
#1517 | XPLAKE8175 | My laptop is ASUS too and why I'm getting A5 error on Windows XP but not Vista.
#1518 | XPLAKE8175 | How did you get ACPI on the Latest Gen i9?
#1519 | infuscomus | ⇗ @diderius6 that HWID PCI\VEN_1912&DEV_0014 doesn't match the HWID I get in virtualbox - I get PCI\VEN_8086&DEV_1E31

#1520

infuscomus

> Zitat von ⇗ XPLives im Beitrag ¶ #1515

> Are you using XP's acpi.sys original file and hex mod?
> Can you use Windows 2000's acpi.sys file instead for full forward compatibility will all NT5.X versions?

⇗ @XPLives
We used acpi.sys of Vista beta 5048 because it includes new acpi words like CreateQWordField that are not present in 2000/XP acpi.sys

#1521 | XPLAKE8175 | OK, I will try adding the new acpi words to XP x86 and x64 acpi from Vista x86 and Vista x64. Vista ACPI works on my broadwell laptop.
#1522 | XPLAKE8175 | It finishes to desktop without errors with MPS multiprocessor.
#1523 | XPLAKE8175 | I can disable XHCI preboot mode from bios without bricking BIOS and I can enable Launch CSM setting from BIOS.
#1524 | XPLAKE8175 | How can I patch my DSDT table on my ASUS k555lb laptop without bricking my bios?
#1525 | diderius6 | ⇗ @XPLAKE8175 There is still a risk, even when you have flashed 100 Bios. When you have no experience with Bios mod it is a big risk and I would do NOT! Dietmar

#1526

diderius6

⇗ @daniel_k
I just install your nice USB driver without any Bios mod
on the EVGA z390 dark board.
This is only possible, because its Bios does
not contain the Device (xhc).
Oho, there is a motherboard manufactor with Intel chipset,
who is not slave of Intel
Dietmar
PS: And for the very first time I can boot XP direct from USB on this nice EVGA z390 dark board !
⇗
diderius6 has attached files to this post

- ⇗ USB3forIntel.rar

#1527 | XPLAKE8175 | OK, I will install with your acpi.sys
#1528 | diderius6 | ⇗ @infuscomus "that HWID PCI\VEN_1912&DEV_0014 doesn't match the HWID I get in virtualbox - I get PCI\VEN_8086&DEV_1E31" There are some synonyme in VEN_&DEV_ for an absolut identic device Dietmar
#1529 | diderius6 | Crazy, even the EVGA z390 dark board crashes with BSOD A5 when I upload via asl.exe its own DSDT. So, this tool has a major problem with ACPI on newer boards Dietmar
#1530 | infuscomus | ⇗ @diderius6 even if the device is a synonym - I still get code 39 ⇗ ⇗ ⇗

## Page 103

#1531 | XPLAKE8175 | ⇗ @diderius6 Can I test your modded acpi.sys on my asus k555lb i5 5200u laptop? If it works, may your acpi.sys brick my bios? If I still get ACPI A5 error, I'll send you an error message with error image and error description. I know laptop bios is more vulnerable to brick than desktop bios.

#1532

diderius6

⇗ @infuscomus
This is not the Renesas driver from my post 1367
Dietmar
PS: You can try a change by hand in xhci.inf
to
%PCI\VEN_1912&DEV_0014&REV_01.DeviceDesc% = RUSB3XHC, PCI\CC_0C03

#1533

diderius6

⇗ @XPLAKE8175
No, the modded acpi.sys does nothing with Bios.
This was the reason, why we make it
Dietmar
PS: When you get BSOD A5
you can try this acpi.sys. This was my first from December 2018.
diderius6 has attached files to this post

- ⇗ acpi.rar

#1534 | XPLAKE8175 | OK, I will try.
#1535 | infuscomus | ⇗ @diderius6 yes, i have tried the renesas driver, as well as VIA, Etron, TI, and AMD I have also tried that INF mod all give code 39 in virtualbox 5.2 (last 32bit version) I will boot into 64bit windows to install 6.0 64bit and see if that works

#1536

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1526

> @daniel_k
> I just install your nice USB driver without any Bios mod
> on the EVGA z390 dark board.
> This is only possible, because its Bios does
> not contain the Device (xhc).
> Oho, there is a motherboard manufactor with Intel chipset,
> who is not slave of Intel
> Dietmar
> PS: And for the very first time I can boot XP direct from USB on this nice EVGA z390 dark board !

Can you try 2 things for me please?
- Renesas driver, if it has the same device detection issue or works fine with the proper eVGA XP BIOS.
- Standby/sleep works maybe or even hibernation, I'm really curious about them.

#1537

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1535

> @diderius6
> yes, i have tried the renesas driver, as well as VIA, Etron, TI, and AMD
> I have also tried that INF mod
> all give code 39 in virtualbox 5.2 (last 32bit version)
> I will boot into 64bit windows to install 6.0 64bit and see if that works

Here I'm running VirtualBox 6.0.10, maybe this is the reason it works fine?

#1538 | canonkong | ⇗ @daniel_k Most modify usb driver can use on VM, but real machine can not.
#1539 | infuscomus | ⇗ @daniel_k ⇗ @diderius6 So I upgraded virtualbox to 6.0 I still get code 39 maybe it's because my host machine is AMD ryzen?

#1540

diderius6

⇗ @daniel_k
I succeed to start the Renesas USB3 driver on the EVGA board, but behavior is exact like before.
You have to deinstall the xhci.sys driver and in about each 3. attempt you succeed that all the other Hubs are loaded
and the USB devices can be used. If the other Hubs are not loaded, the message "unknown device" appears for each USB device. The same is true for reboot, no USB device starts.
On the Asrock k6 board I succeeded with the Renesas driver in full ACPI, that after reboot the USB devices are correct recogniced
but this was unstable.
Sleeping or Hibernation does not work. XP starts with this, the monitor and harddisk went off.
But then a message appears, that the driver for Acpi sleeping does not work correct and XP starts at once to active mode again
Dietmar
PS: In Hibernation, the compi went down (shuts not complete off), but does not awake again .

#1541 | diderius6 | ⇗ @infuscomus What happens, when you use the driver from post 1095 Dietmar

#1542

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1539

> @daniel_k @diderius6
> So I upgraded virtualbox to 6.0
> I still get code 39
> maybe it's because my host machine is AMD ryzen?

Possibly yes.
Don't you have an Intel based system to try it?

#1543 | infuscomus | ⇗ @diderius6 using driver from post 1095, the controller start but hub fails with code 39

#1544

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1540

> @daniel_k
> I succeed to start the Renesas USB3 driver on the EVGA board, but behavior is exact like before.
> You have to deinstall the xhci.sys driver and in about each 3. attempt you succeed that all the other Hubs are loaded
> and the USB devices can be used. If the other Hubs are not loaded, the message "unknown device" appears for each USB device. The same is true for reboot, no USB device starts.
> On the Asrock k6 board I succeeded with the Renesas driver in full ACPI, that after reboot the USB devices are correct recogniced
> but this was unstable.
> Sleeping or Hibernation does not work. XP starts with this, the monitor and harddisk went off.
> But then a message appears, that the driver for Acpi sleeping does not work correct and XP starts at once to active mode again
> Dietmar
> PS: In Hibernation, the compi went down (shuts not complete off), but does not awake again .

Thanks for trying.
That's a pity it doesn't work.
At least I'm not missing anything.

#1545

infuscomus

> Zitat von ⇗ daniel_k im Beitrag ¶ #1542

> Possibly yes.
> Don't you have an Intel based system to try it?

⇗ @daniel_k
I have an older Z97 system i'm not using at the moment, i'll have to setup XP on it
which driver should I test on it first?

## Page 104

#1546

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1545

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1542

> > Possibly yes.
> > Don't you have an Intel based system to try it?

> @daniel_k
> I have an older Z97 system i'm not using at the moment, i'll have to setup XP on it
> which driver should I test on it first?

If there is an OS installed and running fine, try VirtualBox with the oficial Renesas driver.
Otherwise, install XP as usual before messing with USB 3.0 drivers.

#1547

cedar

⇗ @infuscomus
As I tried daniel_k AMD-final driver again today on 64 bit XP.
I did get code 39. It was tried on my Ivy board. I also got
code 10 on usb3 root hub and code 28 on controller upon reboots at different time.
It was all tested on real XP64. The 32bit ver. did not installed
at all. We still have a long way to go.
Cedar

#1548 | asasin | How does the "xhci hand-off" option work in bios? I made a flash bios to an earlier version and this option appeared to me. My tests have shown that changing this option does nothing. Any ideas?
#1549 | infuscomus | ⇗ @diderius6 ⇗ @daniel_k I tried virtualbox 6.0 on my intel system, same result as before - code 39 (either on the controller, or the hub, depending on the driver) I'll install XP natively andd see what result I get

#1550

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1549

> @diderius6 @daniel_k
> I tried virtualbox 6.0 on my intel system, same result as before - code 39 (either on the controller, or the hub, depending on the driver)
> I'll install XP natively andd see what result I get

Did you follow the instructions outlined in the VB's forum?
⇗ https://forums.virtualbox.org/viewtopic.php?f=28&t=74575

#1551

infuscomus

> Zitat von ⇗ daniel_k im Beitrag ¶ #1550

> Did you follow the instructions outlined in the VB's forum?⇗ https://forums.virtualbox.org/viewtopic.php?f=28&t=74575

⇗ @daniel_k
Thanks, I actually didn't know about this - I thought the emulated intel USB 3.0 was the only option.
So this changes the emulated USB 3.0 controller from an intel to a Renesas?

#1552

diderius6

I changed GbE region in Bios in the Asus Apex X board with Lan i219-V
against the GbE region in Bios from Asus Z87I-PRO with Lan i217-V with the Uefi-tool.
But nothing changed. The Lan is still shown as VEN_8086&DEV_15B8
which is i219-V as before
Dietmar
PS: May be, here is a fundamental missunderstanding.
When I change in the *.inf file against the one for i217-V
I get code 10, exact as before.
And Win7 32 bit starts happy again with its i219-V driver for VEN_8086&DEV_15B8.

#1553 | daniel_k | ⇗ @infuscomus, yes it changes the chipset emulated to a Renesas one. After trying this, if possible, would be great if you could test any of the USB3 drivers and see if it Works with your Z97 board.

#1554

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1552

> I changed GbE region in Bios in the Asus Apex X board with Lan i219-V
> against the GbE region in Bios from Asus Z87I-PRO with Lan i217-V with the Uefi-tool.
> But nothing changed. The Lan is still shown as VEN_8086&DEV_15B8
> which is i219-V as before
> Dietmar
> PS: May be, here is a fundamental missunderstanding.
> When I change in the *.inf file against the one for i217-V
> I get code 10, exact as before.
> And Win7 32 bit starts happy again with its i219-V driver for VEN_8086&DEV_15B8.

Try this.

#1555

diderius6

⇗ @daniel_k
Gives also code 10. What did you change and
do you think, there is any chance to mod this?
Do you know something about GbE region?
I tried also the UBU tool UBU_v1_74_0_3
but no information which can help there
Dietmar
PS: The output from the UBU tool before mod and after
is to 100% identic.
Comparing the both Bios (Original 1704 and after Mod 1704) shows with Beyondcompare 2 (minimal) differences,
very first in the beginning. The rest of the Bios are complete identic.
This code 10 remembers me a lot at code 10 for USB3 before^^.
May be, Intel set this device also to sleep in Bios via 64 bit entries for variables.
Do you know the name of the lan Device () in DSDT?

#1556

diderius6

⇗ @daniel_k
For to test my idea,
I just boot Apex X in "MPS" mode.
Oha, suddently the network i219-v is recogniced as i217-v version 2, installs correct,
but on reboot again code 10.
So, the Bios mod changed something into the right direction, question is about this version 2
Dietmar
Edit: I just see with Ida Pro, that beside *.inf mod you also changed the ID number in e1d5132.sys.
But in the original file, the ID 1559h appears at 3 places,
and you changed only one place.
EDIT2: I change ID
1559h => 15B8h
with Winhex at all its three places in e1d5132.sys.
But this does not help, still code 10.
When I delete this lan driver in device manager,
now always comes the message, that a new device is found
i217-V, its crazy.
diderius6 has attached files to this post

- ⇗ XPnic219-V.rar

#1557 | canonkong | ⇗ @diderius6 Replace GBE, you need to flash the bios with flashback or flash burner. Another is you can compare 219-V GBE and 217-V GBE, find the difference and modify the 219-V GBE.

#1558

diderius6

⇗ @canonkong
"Replace GBE, you need to flash the bios with flashback"
I used the Bios flashback on the Asus Apex X board. Do you mean a special program
and why you need this. And how can I compare this 2 files? I put them here,
Dietmar
EDIT: Is it because normally only the Bios-region is flashed?
But the downloaded Bios file from Website contain its own correct GbE?
EDIT2: Now I think, my GbE files are just nearly empty, right?
I have to use the whole Bios content from both compi, extract its GbE and then
change? This would mean, I need another real Compi or full Bios with i217-V in its Bios.
diderius6 has attached files to this post

- ⇗ i217andi219GBE.rar

#1559 | canonkong | ⇗ @diderius6 219-v: F4 18 00 0A 43 08 13 01 B7 15 AD BA B7 15 B8 15 is dev id 15B7 217-v: F4 18 00 0A 43 08 13 01 3B 15 AD BA 3B 15 3B 15 is dev id 153B What happen you replace the 217 GBE? POST your need bios and a bios has a 217-V/LM from the same brand. I help you to modify it.

#1560

diderius6

⇗ @canonkong
Thanks a lot:))!
When I change this 2 Hexvalues in my own 219-v GbE
and load it up again to my own Bios with Uefi-Tool,
than it is flashed to compi with normal Bios Flashback?
Interesting, what happend, because I changed whole GbE with i219 against Gbe with i217 on my Asus Apex X Bios
Dietmar
PS: I still do not understand this procedure: I just see, that those ID appear more than one time in this Hexvalues.
Which of them is the correct one? Have I to change them all?
Or is it only one time direct after the Hexvalues 13 01?

## Page 105

#1561 | canonkong | ⇗ @diderius6 Flash it. ⇗ https://yadi.sk/d/KFetwSwt-_mSGw

#1562

diderius6

⇗ @canonkong
Thank you. But it looks not as easy.
45 regions are different in this 2 Bios files.
Because I have 1704 Bios version, which is even modded with DSDT table for Intel USB,
I need to understand, how this works
Dietmar

#1563 | canonkong | @ diderius6 217/218/129 series of network cards are incomplete, just a PHY, you can regard GBE as the firmware of this PHY, replacing GBE is like replacing the firmware of network cards. Device ID and MAC address are determined by GBE.

#1564

diderius6

⇗ @canonkong
This is a very good explanation from you!
I just extracted the GBE from those 2 Bios files, that you send to me.
They are 100% identic to my 2 GBE files.
So, why does it not work for me?
When I flash this Bios, is the GBE also flashed or only the Bios region
Dietmar
PS: When the GBE region would be also flashed, my Mac etc. would be gone.

#1565 | canonkong | @ diderius6 GBE is similar to ME and has high permissions. Generally, a burner is needed to burn BIOS.

#1566

diderius6

⇗ @canonkong
Ok, this I understand. I have good Eprom flasher.
So, when I want to keep all my informations as Mac etc.
is there a way just to change the needed values for to go from i219 => i217 ?
Or is the rest really like firmware, so I have to burn the whole package at once?
And then later put my Mac etc. back into Bios by hand?
Dietmar
PS: By the way, now I understand what happens during my Bios flash.
The whole GBE region is complete ignored from compis Biosflashback, it copied only the Bios-region,
so I just changed to an 100% identic Bios.

#1567 | canonkong | ⇗ @diderius6 Yse, use HxD open GBE, the first line 88 88 88..., use MAC replace it and save.

#1568

diderius6

⇗ @canonkong
Thanks a lot, I understand everything.
I do not know anybody, who succeeds to change his 219-V => 217-V.
But always somebody will do it first,
why not me
Dietmar
PS: The funny thing in this is, I have the mainboard ASUS Z87I-Pro with whole Bios with i217-V.
So a make a try, to understand which parts are really needed to be copied, away from Uefi-tool.

#1569

daniel_k

⇗ @diderius6
In DSDT, the LAN is Device (GLAN).
About the driver, many Intel devices are identical, just different IDs.
For each "group" of devices, there are 2 sets of "presets".
Open e1d6232_Win7.sys and search for B8 15 (15B8), you'll find:

    00430451: 3DB8150000      cmp   eax,0000015B8
    00430456: 7F6D           jg   0004304C5     -> JUMP IF GREATER THAN 15B8
    00430456: 3DB7150000      cmp   eax,0000015B7
    00430456: 7D3A           jge   000430499      -> JUMP IF GREATER OR EQUAL (15B7/15B8)
    ...
    00430499: C7819C0000000C000000     mov  d,[ecx][00000009C],00000000C    -> PRESET ID
    004304A3: E91CFEFFFF  jmp   0004302C4

    0043DD98: 3DB8150000     cmp   eax,0000015B8
    0043DD9D: 7F23           jg    00043DDC2
    0043DD9F: 3DB7150000     cmp   eax,0000015B7
    0043DDA4: 7D2C          jge   00043DDD2
    ...
    0043DDD2: 898E406D0000       mov  [esi][000006D40],ecx
    0043DDD8: C7864808000002000000    mov   d,[esi][000000848],2    -> PRESET ID

The XP driver doesn't have the device IDs 15B7 and 15B8, but the presets are there, so I've added a compare against these IDs and, if there is a match, it jumps right to the corresponding ID.
The order of the checks is reversed in the XP driver. First preset is set to 2 and the second is C.
At offset 38F00 there are more checks, against the mask and later against the ID.
Got it?

#1570 | daniel_k | Here is another try.

#1571

diderius6

⇗ @daniel_k
Yes, I understand everything. If there are no other differences between those i219 and i217 it will work.
Oh, nice so much help, also to ⇗ @canonkong!
I will test both methods,
but now I am sure
we get it to work.
And I know, there are a lot of other users,
who go away from XP because no USB and no Internet any longer
Dietmar

#1572

diderius6

⇗ @daniel_k
On "MPS" and on ACPI Multiprocessor again code 10.
Question is, if the drivers for i217 and i219 even for Win7
are a little bit different. I think yes.
And so, the way via firmware change in Bios may be the easier way.
Question in this is only, if those 2 physical devices (called i217 and i219) are identic
Dietmar
PS: And still remains (because of code 10) the possibility, that Device GLAN is killed somewhere
in DSDT for newer Bios via Intel for XP.
Now I am tired and 4 hours after midnight here in germany:))!
But tomorrow..

#1573

diderius6

⇗ @daniel_k
A test for to check the driver compatibility is,
if a real i219 device can run under Win7 with a modded (for i219) i217 driver from Win7
Dietmar
EDIT: For Win7, the i217 and i219 appear for the very first time together in the Intel driver package
Intel® Netzwerk Adapter-Treiber für Windows 7 *
Version: 21.0 (Zuvor veröffentlicht) Datum: 23.05.2016
And in the other package is the very first driver for Intel i217-V for Win7 32 bit.
If THIS driver can be modded for to support i219 on Win7, than XP i219 should be possible.
This driver is from Intel 18.4.
diderius6 has attached files to this post

- ⇗ Win7Inteli217and219bit32.rar
- ⇗ First32bitWin7laniONLY217.rar

#1574

diderius6

⇗ @canonkong
I make a check between the GBE for Bios 1704 from Asus Apex X website
and my GBE direct from Compi.
Ok, in the very first Bytes I see the MAC and I also noted,
that the Hex values for i219
F4 18 00 0A 43 08 13 01 B7 15 AD BA B7 15 B8 15
appear a second time only in GBE from compi. Not so many differences,
so it can be done by hand with Winhex
Dietmar
PS: Now it is the turn, to find all this differences direct in the HEX file of outread Bios from my Apex X with Epromer
and change to the wished owns. The same I do for the Asus Bios of my real board Bios ASUS Z87I-Pro.
diderius6 has attached files to this post

- ⇗ GbeWebsiteAgainstCompiApexX.rar
- ⇗ GBEwebsiteagainstRealCompiASUSZ87I-PRO.rar

#1575

diderius6

⇗ @canonkong ⇗ @daniel_k
I flashed the whole GBE region from Bios of real Compi Asus z87i-Pro
to the Bios 1704 GBE region of the Apex X board.
Now appears at start the message
PXE-E04: Error reading PCI configuration space.
The network card is now indeed shown as i217-V
and with VEN_8086&DEV_153B
but with yellow exclamation mark and code 10.
Dietmar
PS: Everything other on Apex X board seems to work normal.

## Page 106

#1576

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1575

> @canonkong @daniel_k
> I flashed the whole GBE region from Bios of real Compi Asus z87i-Pro
> to the Bios 1704 GBE region of the Apex X board.
> Now appears at start the message
> PXE-E04: Error reading PCI configuration space.
> The network card is now indeed shown as i217-V
> and with VEN_8086&DEV_153B
> but with yellow exclamation mark and code 10.
> Dietmar
> PS: Everything other on Apex X board seems to work normal.

Perhaps you've changed too much?
Attach the old and the new GBE region here.
Can the device ID be found in the GBE region?

#1577 | canonkong | ⇗ @diderius6 PXE need to replace the lom, use uefitool.

#1578

diderius6

⇗ @daniel_k
I make a new try, where I only change at its 4 places in my original Apex X GBE
B815 => 3B15 (like ID hack in drivers).
But exact the message at boot appears
PXE-E04: Error reading PCI configuration space.
The lan device is again shown as i217-V code 10 under Win7 and the same in XP.
⇗ @canonkong
"PXE need to replace the lom, use uefitool."
This message ist to short for me, I dont understand.

#1579 | canonkong | ⇗ @diderius6 Use uefitool serch B8 15, find out this block, and path it out. Use UBU SetDevID to change lom dev_ID, than use this modify lom to replace it back.
#1580 | kukonosau | Do you have ACPI for Windows XP x64 for Ryzen? Windows XP is no laggind in game with Ryzen and graphics card, for example 980 Ti?
#1581 | diderius6 | ⇗ @kukonosau Until now is no good acpi.sys for XP 64 on the market. For me, everything works ok with Ryzen and gtx 980 under XP 32 bit Dietmar
#1582 | kukonosau | Games is no lagging? How to working Windows XP in Ryzen 3 2200G with graphics card 9th series? My motherboard is ASUS AM4 B350 PRIME B350M-K. If buy fraphics card 9th series can I play computer games in Windows XP? I have 1050 Ti, but I haven't drivers for 10th series.

#1583

diderius6

⇗ @canonkong
The problem is, that the Hexvalues B8 15
appear at a lot of places, when I search with Uefi tool.
And which Bios file should I search?
The modded one or the original one with DEV_15B8 ?
Is it in GBE region
Dietmar
Can the words PXE, LOM help me for search?
PXE-E04: Error reading PCI configuration space.
This message is displayed if any of the PCI BIOS calls made to read the PCI configuration space return an error code.
I flashed my own original GBE region from Apex board back.
Now this errormessage is gone but again the networkdevice i219-V is shown (works only under Win7).

#1584 | skullteria | My version of acpi.sys from 5048 is not a good option? On my system (skylake, core i7 6700k and motherboard ) work fine!

#1585

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #1581

> @kukonosau
> Until now is no good acpi.sys for XP 64 on the market.
> For me, everything works ok with Ryzen and gtx 980 under XP 32 bit
> Dietmar

My version of acpi.sys from 5048 is not a good option? On my system (skylake, core i7 6700k and motherboard ) work fine!

#1586 | diderius6 | ⇗ @skullteria We have only the 32 bit version from this acpi.sys 5048 Dietmar PS: And for Ryzen, the hack from infuscomus has also to be done on the acpi.sys 5048 64 bit.

#1587

diderius6

The question is, if the message
PXE-E04: Error reading PCI configuration space.
stops the lan from working or not. It is shown in device manager as i217-V with correct changed ID.
May be it is just a message,
this would mean,
that i217 and i219 are different in hardware
and the driver for pur i217 cant run on i219,
because also Win7 showes code 10
on i219 => i217
modded device
Dietmar

#1588

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1587

> The question is, if the message
> PXE-E04: Error reading PCI configuration space.
> stops the lan from working or not. It is shown in device manager as i217-V with correct changed ID.
> May be it is just a message,
> this would mean,
> that i217 and i219 are different in hardware
> and the driver for pur i217 cant run on i219,
> because also Win7 showes code 10
> on i219 => i217
> modded device
> Dietmar

PXE is actuallly an option ROM, read this:
⇗ https://en.wikipedia.org/wiki/Preboot_Execution_Environment
Usually used on diskless systems, boots an OS by loading its files remotely from a connected network.
I think those models are just too diferent for it to work.

#1589 | daniel_k | Try this modded driver, recommened with a BIOS with original GBE region. If this doesn't work, it is very unlikely it ever will.

#1590

diderius6

⇗ @daniel_k
I found the lan chip on the nice Asus z87i-Pro board. From this board I know, that i217 works for XP and Win7.
Intel® Ethernet Controller I217V
Consumer LAN product with support for Energy Efficient Ethernet (802.3AZ)1, Intel® Standard Manageablity, ACBS and standard Gigabit networking features Intended for mobile, desktop, and embedded design
WGI217V
Dietmar
EDIT: The i219-V is integrated in the Intel® Z370 Chipset. So, the hardware is different.
EDIT2: BUT
Key Details
Design is Highly Compatible with the
Intel® 82579 GbE Controller
The Intel® Ethernet Controller I217 is
highly compatible with the Intel® 82579
GbE Controller, making new designs easy
to generate while gaining the improvements
of features now available on the
Intel® Ethernet Controller I217.
⇗

## Page 107

#1591

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #1586

> @skullteria
> We have only the 32 bit version from this acpi.sys 5048
> Dietmar
> PS: And for Ryzen, the hack from infuscomus has also to be done on the acpi.sys 5048 64 bit.

Here version x64
skullteria has attached files to this post

- ⇗ acpi.zip

#1592

diderius6

⇗ @canonkong
After loong search I think I found the wished part via Uefi tool looking in whole Bios.
I look for a header with Hex 55 AA 87 E8.
It is only in
GUID: A0327FE0-1FDA-4E5B-905D-B510C45A61D0
and there only in
Subtype GUID: 50339D20-C90A-4BB2-9AFF-D8A11B23BC15
I extracted the body of this subguide with Uefi Tool and name it otto.bin.
There I found words Intel R) Boot Agent ..
Then I type in commandline (path to UBU)
C:\SetDevID 153B otto.bin ottoModID.bin
and a message tells,
that this ID was set.
With Winhex I take a look what changed. I see, that the DEV_15B8 => DEV_153B as wished.
Now I flash this back to Bios and we will see
Dietmar
⇗

#1593 | canonkong | ⇗ @diderius6 Good, you found the right way. if i217 can not work try i218 or other phy GBE.

#1594

diderius6

⇗ @daniel_k
I tested your new driver with original Bios 1704 From Apex X board under Win7.
Yes, nice idea to test, if this driver pur i217-V, can be modded to support also i219-V.
It is necessary, because if this does not work,
something other is in the way and I would also say incompatible hardware.
During install after about 1 min the compi gets frozen,
so it is not so easy to say what is going on
Dietmar

#1595

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #1594

> @daniel_k
> I tested your new driver with original Bios 1704 From Apex X board under Win7.
> Yes, nice idea to test, if this driver pur i217-V, can be modded to support also i219-V.
> It is necessary, because if this does not work,
> something other is in the way and I would also say incompatible hardware.
> During install after about 1 min the compi gets frozen,
> so it is not so easy to say what is going on
> Dietmar

I don't think this method is worth the effort. It's possible the chipset is different that even tricking the hardware to appear as i217-V when it is really i219-V if the chips are different then the driver itself still can't function with it. Only Intel has knowledge of their own chips or the company who made the chips could make a new XP driver for i219-V.
This is probably the same reason why Intel HD Graphics 4200 cannot use Intel HD Graphics 4000 XP driver. Possibly the chips are different enough that the code is specific. But probably easiest is the Hardware ID substitution test without going into the BIOS.
It is much easier to just spend $5 to get Realtek 8111E PCIe network card and just use PCIe x1 tiny slot. Or get USB 3.0 card and use USB ethernet or USB wifi adapter if sacrificing just one internal PCIe x1 slot in order to use XP. Then add USB Audio and you got sound. Graphics card still requires another PCIe slot that can't be helped. At most two PCIe slots will be needed for full XP functionality.
In the future Ice Lake and Tiger Lake those onBoard network will be i220-V+ and more foreign. USB 3.X may change to USB 4.0 but hopefully not or only if backward compatible to USB 3.0 then driver can still work. USB 3.0 cards will be the only path forward for easy USB network, USB audio, USB keyboard, and USB mouse if no more PS/2 ports.

#1596 | infuscomus | ⇗ @XPLives PCI-E usb 2.0 cards are still a possibility for XP if you need guaranteed USB for XP ⇗ https://www.ebay.com/itm/USB-2-0-to-PCI-...lEAAOSwaBZZmNXa The following contents have been linked to this post:

#1597

diderius6

⇗ @canonkong ⇗ @daniel_k
I flashed the whole Bios to the Asus Apex X board after integrating all changes from @canonkong.
But the message about PXE stays the same and also the now as i217-V shown lan device has yellow
exclamationmark in XP and in Win7 and does not work (each code 10).
I tried a lot before I succeed to flash this Bios chip in a whole.
From all the Epromers I have, only Revelprog IS works via the TPI socket
with my own build adapter (see photo).
The Epromer can only work, after I connect the normal power supply to the board (board not startet).
The CPU, RAM and Bios battery stay all in the board.
So, there seems to be hardware differences between the i217 and i219
Dietmar
⇗
⇗

#1598

diderius6

I just noticed,
that the Hex values B8 15 for the old Lan i219-V
still remains in
Guid
4953F720-006D-41F5-990D-0AC7742ABB60
and there only in PE32 section of its Subguide
EE4E5898-3914-4259-9D6E-DC7BD79403CF
And the message abbout PXE has not only to do with PXE:
PXE-E04: Error reading PCI configuration space. The Boot Agent cannot continue. PCI configuration space could not be read. Machine is probably not PCI compliant. The Boot Agent was unable to read one or more of the adapter's PCI configuration registers. The adapter may be mis-configured, or the wrong Boot Agent image may be installed on the adapter. The Boot Agent will return control to the BIOS and not attempt to remote boot. Try to update the flash image. If this does not solve the problem, contact your system administrator or Customer Support.
This means: When the lan adapter is misconfigurated, this message appears also
Dietmar
EDIT: Problem in this is only, that B8 15 appears at 5 places. And the UBU tool does not work for this.

#1599

infuscomus

The latest Intel networking driver I can find for XP is 12.7.28
The first version that supports 217 is 12.8.33 - according to daniel_k
they are only a few months apart
I don't know if this can be hacked to work
infuscomus has attached files to this post

- ⇗ intel 12728.zip

#1600 | cedar | ⇗ @skullteria I tried your acpi 64. Unfortunately, it bsod 7E on Ryzen.
#1601 | cedar | With further tests, my Mboard seems to work with usb3.0. Thanks to daniel_k ,canonkong ,diderius6's great efforts. Seem stable at the moment, if not, I can always go back to the Mediasonic PCIe usb3.0 card. ⇗ https://www.amazon.ca/Mediasonic-HP1-SU3-USB-Express-Card/dp/B003X26VVO
#1602 | diderius6 | ⇗ @cedar On which board USB3 works for you now Dietmar
#1603 | cedar | ⇗ @diderius6 Ivy Gigabyte D3-P75.
#1604 | diderius6 | ⇗ @skullteria "I tried your acpi 64. Unfortunately, it bsod 7E on Ryzen." The last hack (only this makes Ryzen work with Acpi) from ⇗ @infuscomus and me is not integrated in this 64 bit version I think Dietmar
#1605 | cedar | @ diderius6 I tried your and infuscomus 64 bit version too. Don't remember if it was B7 or A5.

## Page 108

#1606 | infuscomus | ⇗ @diderius6 when you have time to test, can you test the driver I posted? - post #1599 (it needs an INF mod)

#1607

diderius6

⇗ @infuscomus
Soon I will test your driver, after I did Bios Mod.
Because now I have full, easy to handle Eprom possibility for the Asus Apex X board,
I use it ..
So, I just did the following:
With UEFI tool I copied the whole Intel Gigabyte Lan file *.ffs
from GUIDE 4953F720-006D-41F5-990D-0AC7742ABB60 of the Asus z87i-Pro board Bios
and replace with it the same one in the Apex X Bios. So the problem is gone, how I can change there the DEV_ numbers for lan.
But maybe the DEV_ number for lan is still stored in the Bios at other places.
But it is a try and I think, compi will start
Dietmar

#1608

infuscomus

⇗ @diderius6
actually this driver i think might be better choice
found here -
⇗ https://msfn.org/board/topic/176687-seac...comment=1162644
e1d5132 - XP driver for 218-V
infuscomus has attached files to this post

- ⇗ bearwindows 808615A1_x86.7z.zip

#1609

diderius6

"With UEFI tool I copied the whole Intel Gigabyte Lan file *.ffs
from GUIDE 4953F720-006D-41F5-990D-0AC7742ABB60 of the Asus z87i-Pro board Bios
and replace with it the same one in the Apex X Bios."
Ok, this does not change anything. PXE-04 message again
and again yellow questionmark for the now "i217-V" in the device manager under XP and Win7, all driver tested,
Dietmar
EDIT: I flashed all back to my original, own Bios with DSDT mod for USB3.
Now the lan device is shown again as i219-V,
works under Win7 and XP shows yellow exclamationmark.

#1610

diderius6

⇗ @infuscomus
Easy *.inf mod does not help in XP for lan i219-V with driver bearwindows 808615A1_x86.7z.zip.
It installs and shows then code 10
Dietmar
PS: I modded this driver from Bearwind in exact the same way as he did,
6 places different, just edit *.inf file and A115 (i218-V2) => B815 (i219-V2) and checksum.
In XP and in Win7 this driver is loaded, but then again in both code 10.
This means: The hardware for i217, i218 is compatible but not with i219.

#1611

diderius6

In 2016, they also cant start the i219 driver in Linux.
"The e1000e driver is the one that can run the I2xx intel Ethernet Controllers. And the latest e1000e driver (as of this writing) is capable of running the I219 chip.
The The NVM Checksum Is Not Valid message during boot is what was preventing the older drivers from being loaded. On other OSes (notably MS windows) that error is ignored. But Linux appears to be stricter.
NVM is a ROM (read only memory) in the chip, which undergoes a checksum, and the older version of the e1000 driver was not aware of the NVM contents of the newer chips. Since the card works on other OSes that ignore the error another possibility could have been to force the driver to ignore the error."
Dietmar

#1612 | diderius6 | ⇗ @AddFun do you get my message Dietmar
#1613 | AddFun | Thanks!
#1614 | canonkong | ⇗ @diderius6 Did you try i218 GBE? Or used ID replace to test it?
#1615 | XPLAKE8175 | ⇗ @diderius6 Your ACPI.sys gives the 0x00000D1 BSOD after txt mode. ACPI and ACPI Multiprocessor gives the same error.
#1616 | XPLAKE8175 | Advanced error information is: ACPI.sys - Address F7359AB6 base at F7346000, Datestamp 424d8208
#1617 | XPLAKE8175 | Now I'm installing XP in a fat formatted drive on same laptop

#1618

diderius6

⇗ @XPLAKE8175
The BSOD 0x000000D1 acpi.sys happens, because a PCI device is not handled correct from acpi.sys.
"The Advanced Configuration and Power Interface (ACPI) BIOS on this computer contains a namespace object that is not a PCI device. However, Windows assumes that the device is a PCI device incorrectly. Therefore, if Windows tries to access the PCI configuration space for the device, you receive a "STOP 0x000000D1" error message.
This issue occurs because of an error in the Acpi.sys system driver. The Acpi.sys system driver returns an incorrect flag that causes the device to be regarded as a PCI device instead of a child of the PCI bus. Therefore, the device may not function correctly when the operating system tries to access it by using a special function."
Disable all devices in Bios, that you dont need for install
Dietmar
PS: When this BSOD appears after XP install, it can help when you boot the compi in Safe Mode (F8)
because then only important drivers are loaded.

#1619

diderius6

⇗ @canonkong
i218 I do not test until now.
When I change only the DEV_15B8 => DEV_153B in GBE ( means i219-V => i217-V)
at once after reboot appears the message about PXE 4 error,
which means, that the original ID is safed at other place(s?)
in Bios too
Dietmar

#1620 | infuscomus | ⇗ @XPLAKE8175 Do you get D1 BSOD during textmode setup? or after reboot?

## Page 109

#1621

diderius6

From Intel itself:
"Design is Highly Compatible with the
Intel® I218 Ethernet Connection: The
Intel® Ethernet Connection I219 is highly
compatible with the Intel® Ethernet
Connection I218, making new designs
easy to generate while gaining the improvements
of features now available
on the Intel® Ethernet Controller I219."
Hm, so next try with i219 => i218
Dietmar
EDIT: In porting the i219 to Mac OS, all the devices i217, i218, i219 look very similar.
⇗ https://github.com/al3xtjames/IntelMausi...0(original).cpp

#1622

diderius6

I have the board Asus Z97-DELUXE/USB 3.1
which has the i218-V chip,
so next test extracting whole real GBE from Z97 board and flash to the Apex X board i219-V => i218-V can start
Dietmar
PS: By the way I noticed, that Intel sells the chip WGI219V also as extra device in the same package size.
⇗

#1623

diderius6

Ok, exact the same happens as before.
After changing the whole GBE region
first appears the PXE-4 error,
than under Win7 and XP yellow exclamationmark with code 10,
now for lan device i218-V (DEV_15A1) which is exact the device
for what the bearwind driver XP was modded for
Dietmar
PS: The only(?) problem seems to be this errormessage PXE-4.

#1624

diderius6

I just notice,
that with RW-Everything you can EDIT the
pci configuration space of the i219-v
tomorrow I try
Dietmar
⇗

#1625

canonkong

⇗ @diderius6
Use UEFITOOL open your needed bios, search 42 6F 6F 74 20 41 67 65 6E 74, find it out and right click mouse than Extract Body, use SetDevID to midify the ID, than replace it back the same place. Save the bios. When you finish this, use UBU to checksum the bios first than you can flash it.
I think you meet PXE erro, maybe you have not checksum the bios.
My board with i219-v repalce i219-LM, work very well.
⇗ http://uploadoss.smxdiy.com/forum/201802/08/135216l6gt77a2fx71f967.png
⇗ http://uploadoss.smxdiy.com/forum/201802/08/143055ilplgvwbdp6lbn15.png

#1626

diderius6

⇗ @canonkong
I just extract with Uefitool this file you told me to look for.
When I compare it with Winhex I found,
that it is exact the file, that I extracted 2 days before and where
I use SetDevID from UBU on it.
And this I flashed back,
Dietmar
PS: Yes, I have not tested checksum. But I think, that in the PCI space the nic still tells,
that it has the device ID from before.

#1627 | XPLAKE8175 | ⇗ @infuscomus after reboot. I get this error by installing XP on NTFS

#1628

infuscomus

⇗ @XPLAKE8175
There is a backup copy of acpi.sys located in SP3.CAB and/or DRIVER.CAB - check both
extract the CAB file with 7zip into a separate folder
replace original acpi.sys with patched version
download cabpack 1.4 - ⇗ https://www.techspot.com/downloads/7104-cabpack.html
re-compress CAB file and replace the old one
rebuild XP ISO with nlite

#1629 | XPLAKE8175 | I installed XP without external devices except usb and it reached to the GUI mode
#1630 | XPLAKE8175 | PC copied the modded acpi.
#1631 | XPLAKE8175 | Now I got to the GUI mode. After GUI mode it gives the pre-text mode A5 error.
#1632 | infuscomus | ⇗ @XPLAKE8175 BSOD A5 D1 same as before? can you post a checksum of your acpi.sys in XP /windows/system32/drivers
#1633 | XPLAKE8175 | I installed XP successfully. Now I'm installing Windows 10 alongside windows XP. ACPI detects my battery life successfully. There is one problem that I can't hibernate Windows XP

#1634

diderius6

⇗ @canonkong
Even I try everything, to mod correct the device i219-V => i218-V
this does not work.
I get the same error message at boottime after flashing whole Bios with nice
Epromer Revelprog IS
PXE-E04: Error reading PCI configuration space.
I updated via UBU tool everything for lan, UBU tool tells always success.
The checksums are all ok.
This seems to be a hardware problem, but I think it is only one thing,
which device "i218-V" is asked for, but correct answer can give only i219-V.
Here I notice (see below) that there are a lot of 0x00000000
which are filled with other numbers at the other nic on this board 5 Gigabit LAN AQUANTIA AQC108.
I also noticed with RW-everything (PCI), that the DEV_ ID has changed to the wished
value VEN_8086&DEV_15A1 (i218-V (vers2)).
So, on PCI space now this DEV ID is used, but does not help.
Here is the text from RW everything about this "i218-V" nic now

    ;Bus 00, Device 1F, Function 06 - Intel Corporation Ethernet Controller
    ;Device/Vendor ID	0x15A18086
    ;Revision ID	0x00
    ;Class Code	0x020000
    ;Cacheline Size	0x00
    ;Latency Timer	0x00
    ;Interrupt Pin	INTA
    ;Interrupt Line	IRQ16
    ;BAR1		0xDFA00000
    ;BAR2		0x00000000
    ;BAR3		0x00000000
    ;BAR4		0x00000000
    ;BAR5		0x00000000
    ;BAR6		0x00000000
    ;Expansion ROM	0x00000000
    ;Subsystem ID	0x85C41043

Dietmar

#1635 | infuscomus | ⇗ @diderius6 just curious, does the most recent version XP driver in post #1599 work? or code 10?

## Page 110

#1636

diderius6

⇗ @canonkong
I did the following:
In this modded Bios I only change GBE
against my original GBE (i219-v) and reboot.
No message about PXE 4 error now and internet works in Win7 (shows i219 device).
This simply means, it is enough to mod the *.gbe region.
Ok, next test, I change in my original *.gbe region
only at 4 places ID B815 => A115
Again message PXE 4 error, device "i218" is shown, not works.
Hm, this time I think, the checksum of *.gbe is not correct.
But I have no idea, how to fix its checksum.
I would be happy, if somebody here can fix the checksum for this *.gbe file for me
Dietmar
EDIT: Seems, that i219 has other hardware than i218, despite what Intel says.
i218-V and i219-V are not compatible.
EDIT2: I test the same on the Asrock k6 board. It has i211 and i219-V nics. After changing its GBE against the one from the z97 board (i218-V) no error message appears, but I also cant install the driver. XP tells code 10 and win7 tells code 31.
diderius6 has attached files to this post

- ⇗ ModB8toA1all1704myCompiApexX.rar

#1637 | diderius6 | ⇗ @infuscomus "just curious, does the most recent version XP driver in post #1599 work? or code 10?" Code 10 ^^ Dietmar

#1638

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1455

> Another idea would be: The DSDT table can be seen in (ACPI only) XP registry
> and also been edited there. But on next boot the Bios loads
> its original own DSDT. If we just can stop writing of Bios its own DSDT to the registry again,
> it would be done

I feel that it is time to remind about my util called "acpi patcher" )
it is dsdt/ssdt table manipulation tool before OS loading, even for winxp textmode setup

#1639

diderius6

⇗ @Mov AX, 0xDEAD
Yes, this is a nice tool. Please write a Tutorial,
which can be used on other compis also. May be your modded DSDT can stay in registry of XP?
For me it is now no problem just to edit DSDT and to flash it to Bios.
But I also learned, that manipulating Bios is always a risk
Dietmar
PS: Have you updated your to do list for XP from page 12 here? USB on Intel chipsets is done .

#1640

daniel_k

⇗ @diderius6
Unfortunately I'm not familiar with those modules, you need to ask someone who is used to UEFI.
In the mean time, I'm sharing my modded version of RSTe, which works just fine with consumer chipsets in AHCI and RAID modes.
Being much newer than 11.2 (2012), this one is much more compatible with new chipsets.
It's version 4.6.0.1085, which originally doesn't work because of missing imports. Seems fairly stable so far and nice performer.
Supports SSD's immediate standby for proper shutdown operation, not supported by versions older than 3.5.1 (RSTe storport) and 11.2.
The only issue it that HDDs spin down during Windows restart.
Could you please also test it? It's 32-bit only, for now, and automatically installs storport.sys.

#1641

infuscomus

⇗ @daniel_k
is this generic? or just newer chipsets?

> Zitat von ⇗ daniel_k im Beitrag ¶ #1640

> which originally doesn't work because of missing imports.

concerning missing imports, would it be possible to fix imports for newer intel lan driver for 219-V for windows 7 to make it compatible with XP?

#1642

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1641

> @daniel_k
> is this generic? or just newer chipsets?

Generic.

> Zitat

> concerning missing imports, would it be possible to fix imports for newer intel lan driver for 219-V for windows 7 to make it compatible with XP?

Unfortunately, no.
Only certain driver classes might be compatible across diferent Windows versions, being storage one of them, as long as there are no missing imports.
NDIS, WLAN, Graphics, HID, HDAudio drivers are just impossible.
Even USB XHCI drivers can be incompatible even if there are no missing imports: AMD host drivers newer than the one I've modded will install and aparently work just fine, but will crash when shutting down Windows because it doesn't properly support XP power management.

#1643

diderius6

⇗ @daniel_k
I test your driver RSTe_4.6.0.1085_MOD.rar on the asrock fatal1ty z370 gaming k6 board.
It works:))! I noticed no strange behavior about harddisk spindown.
I test harddisk WD 2TB
ssd disk Samsung 860
nvme boot XP via disk Intel Optane.
I noticed, that also the filter driver iastorF.sys is installed for all the devices above and starts.
It is the Intel version of TRIM.
With cristaldiskinfo I can see, that TRIM is supported but I do not know, how to test under XP,
if TRIM works.
I also noticed, that nvme boot of XP is still possible with the latest storport.sys driver version 5.2.3790.4485.
Nice driver , generic for all Intel ahci
Dietmar
PS: On harddisk, the speed is about the same as with the old ahci 1006 driver from Intel.
On SSD your driver is about 4% faster than the old one.

#1644 | canonkong | ⇗ @daniel_k For AMD USB XHCI, I tested all usb drivers, only Etron usb driver can work very well. Maybe other driver need to find out the breakpoint and use nop to stop it. Like this: ⇗ https://forum.videohelp.com/threads/390651-Way-to-make-Intel-UHD-620-graphics-driver-to-works-in-windows-7-(no-crash)
#1645 | infuscomus | ⇗ @diderius6 have you made any progress on getting XP UEFI to work?

#1646

diderius6

⇗ @infuscomus
I read only a little about XP UEFI,
but have not tried.
First I have to do some ground base work,
what is known and what not.
An interesting message was, that
the XP SP2 32 bit Media version from 2005
can be booted with the bootloader from Vista
Dietmar

#1647

infuscomus

⇗ @diderius6 ⇗ @skullteria ⇗ @kukonosau
I attempted to patch acpi.sys 5048 64 bit
Since I did not have symbols, I made guesses based on similarity comparisons in the assembly.
I don't know how well I did.
Let me know if it works.
infuscomus has attached files to this post

- ⇗ acpi5048 x64 - patch attempt.zip

#1648

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1643

> With cristaldiskinfo I can see, that TRIM is supported but I do not know, how to test under XP,
> if TRIM works.

same as for win7 - trimcheck
to force generate trim command to drive i used in past TxBENCH (manual with GUI) and O&O Defrag in CLI mode (scheduled at booting time of winxp)

#1649 | kukonosau | Thanks. But "acpi.sys is corrupted" or BSOD. I don't compression archive SP2.CAB, I put file acpi.sy_ in folder AMD64.
#1650 | infuscomus | ⇗ @kukonosau I did not get "acpi.sys is corrupted" error make sure to replace acpi.sy_ in amd64 with new version grab a clean x64 iso here ⇗ https://the-eye.eu/public/MSDN/Windows%20XP/

## Page 111

#1651 | XPLAKE8175 | Diderius6's ACPI patch only works on fat32 formatted hdd and no plugged usb devices except format usb (textmode setup recognizes as CD) during textmode setup.
#1652 | XPLAKE8175 | XP mce and 64 bit iso exceeds CD size.

#1653

infuscomus

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1651

> Diderius6's ACPI patch only works on fat32 formatted hdd

not true, it works on NTFS just fine

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1652

> XP mce and 64 bit iso exceeds CD size.

there is a 64bit version of media centre edition? I was not aware of this
just use the normal non-mce 64bit iso.

#1654 | kukonosau | I downloaded original ISO. Also errors. I renamed file acpix64-patched.sys into acpi.sys. Next I write in command line "makecab acpi.sys" and get file acpi.sy_. Put file acpi.sy_ in folder AMD64. I check put acpi.sys in DRIVER.CAB... As a result, the same error "the file acpi.sys is corrupted" or BSOD if put other acpi files.
#1655 | infuscomus | ⇗ @kukonosau try either the checksum-acpix64-patched.sys or the acpi.sy_ I included I tested with en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso
#1656 | kukonosau | I tested all 3 files acpi and different iso image Windows XP, but get errors "the file acpi.sys is corrupted" or BSOD IR_NOT_LESS_OR_EQUAL. May be, BSOD 0x0000000a.
#1657 | XPLAKE8175 | XP MCE 2005 English and XP Professional SP3 Turkish worked very well on NTFS formatted partition with diderius6's acpi.

#1658

infuscomus

> Zitat von ⇗ kukonosau im Beitrag ¶ #1656

> but get errors "the file acpi.sys is corrupted"

I can not reproduce this message on my end

> Zitat von ⇗ kukonosau im Beitrag ¶ #1656

> IR_NOT_LESS_OR_EQUAL. May be, BSOD 0x0000000a.

Thats a driver failure - did it show you the sys file that failed?

#1659 | XPLAKE8175 | ⇗ @kukonosau Maybe you can plug the installation media to usb 2.0 if the PC has USB 2.0 ports. Please don't plug USB devices onto usb 3.0 ports.
#1660 | kukonosau | Sorry, acpi is worked!!! But only with fat32 disks(((
#1661 | kukonosau | No, this is problem ntfs disks!!! ACPI x64 worked only with fat32 disks.
#1662 | infuscomus | ⇗ @kukonosau Glad to hear it worked for you! only working for fat32 is strange - though I have my doubts that it is an ACPI related problem, it's probably a USB or SATA disk problem.
#1663 | kukonosau | Errors 7E, 7B, A5 and so on... FAT32 also doesn't working normally. Install cancel after copy files(
#1664 | infuscomus | ⇗ @kukonosau BSOD after reboot? replace acpi.sys in SP2.CAB or DRIVER.CAB
#1665 | kukonosau | BSOD about viruses hardware, but I integrated drivers Asmedia 106x SATA Controller!!!

## Page 112

#1666 | kukonosau | XP 32-bit working normally with diderius acpi!!!

#1667

canonkong

⇗ @daniel_k ⇗ @diderius6
For AMD X570/3000series USB host 149C, I tested all usb drivers, only Etron usb driver can work very well. Other driver will meet 019 02C 01E BSOD or usb disk cannot work.
And maybe intel usb also can fix if we find the problem out.
Maybe other driver need to find out the breakpoint and use nop to stop it.
Modify like this: https://forum.videohelp.com/threads/390651-Way-to-make-Intel-UHD- 620-graphics-driver-to-works-in-windows-7-(no-crash)

#1668 | daniel_k | ⇗ @canonkong If Etron works, that's OK, it is really hard to fix those errors, specially if one has no hardware to test (I don't have any AMD Ryzen system). Sorry.
#1669 | daniel_k | ⇗ @diderius6 Did you try any of those drivers? One is SCSIPORT, modded and the other one is STORPORT, no mod needed. Unfortunately neither of them works with "real" Intel systems, but works on Virtual Box and supports up to 8 ports. PS: Storport build 402 (included) works, with the older .337 filter driver, please try it as well.
#1670 | diderius6 | ⇗ @daniel_k The ahcix86.sys does not work on AMD board asrock fatal1ty ab350 gaming k4 (DEV_43B7 and DEV_7901) gives code 10 Dietmar

#1671

diderius6

⇗ @daniel_k
But, waaaaaooohh ,
the amd_sata.sys together with newest storport.sys and amd_xata.sys
works generic on AMD board asrock fatal1ty ab350 gaming k4 (DEV_43B7 and DEV_7901)
with Ryzen 3700x cpu.
And the amd_xata.sys gives AmdXataTrimSupport on AMD boards, so TRIM driver is loaded and started!
But still I do not know, how I can test, if TRIM works in XP
Dietmar

#1672

diderius6

⇗ @Mov AX, 0xDEAD
With TxBENCH I can now use the Trim command in XP here for Samsung 860 EVO SSD on the AMD board.
The operation is called "optimation on unused area of the SSD".
It works on ntfs file system.
My question is, how I can test, that TRIM has worked with success on this SSD
Dietmar
EDIT: Using Samsung Magician from win7 for to check TRIM on the Samsung 860 EVO SSD
kills the XP installation there.

#1673 | canonkong | ⇗ @diderius6 Use ADATA SSD ToolBox, it can support other ssd trim on xp.
#1674 | diderius6 | ⇗ @infuscomus "I tested with en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso" I want to check your modded acpi.sys on this XP 64 bit. Do you have a key for it Dietmar
#1675 | infuscomus | ⇗ @diderius6 i PMed you a key

#1676

diderius6

⇗ @infuscomus
First I try to install XP 64 with modded acpi.sys on the AMD board asrock fatal1ty ab350 gaming k4 with 3700x cpu.
Then comes BSOD 0xA IRQL_NOT_LESS_OR_EQUAL. This means, that there is a not working kernel mode driver.
After this I disable really everything in Bios.
On next try I get BSOD 0x7E (xxx, 0xC0000005,yyy) which may be acpi related.
After this, I connect the CD rom drive to the nice EVGA z390 dark board (intel).
There I am just now installing this XP 64 bit and I hope, that I can put this installation after
to the AMD board asrock fatal1ty
Dietmar

#1677

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1671

> @daniel_k
> But, waaaaaooohh ,
> the amd_sata.sys together with newest storport.sys and amd_xata.sys
> works generic on AMD board asrock fatal1ty ab350 gaming k4 (DEV_43B7 and DEV_7901)
> with Ryzen 3700x cpu.
> And the amd_xata.sys gives AmdXataTrimSupport on AMD boards, so TRIM driver is loaded and started!
> But still I do not know, how I can test, if TRIM works in XP
> Dietmar

Glad to know it works.
Version 1.2.1.337 is official for Server 2003.
Did you try both amd_sata.sys and amd_xata.sys from the same version?
Then running amd_sata.sys from 1.2.1.402 with amd_xata.sys from 1.2.1.337?
It's important to make sure the older amd_xata.sys didn't kill your XP install.

#1678 | diderius6 | ⇗ @daniel_k Until now I tested only both from the same version 1.2.1.337. I will also test with newer version amd_sata.sys 1.2.1.402 mixed with amd_xata.sys 1.2.1.337 Dietmar
#1679 | daniel_k | ⇗ @diderius6 Ok, please tell me what is the USB3 driver for XP which works properly with your Ryzen board? I'd like to take a look at it.
#1680 | diderius6 | ⇗ @daniel_k For me works only for all USB on AMD boards with Ryzen the USB driver from post 1095, where I changed all the names to usbstor Dietmar

## Page 113

#1681

canonkong

⇗ @diderius6 ⇗ @daniel_k
But the driver will bsod when you uninstall it. And now I don think we find any prefect driver for AMD boards and Ryzen with 149C. VIA will meet 01E BSOD sometimes. Intel/AMD 2.0.0.48 will meet 02C BSOD when install/uninstall sometimes, ASMeidia,TI can not work for U disk.
So I think use windbg to find out the breakpoint and use nop to stop it.
Modify like this: https://forum.videohelp.com/threads/390651-Way-to-make-Intel-UHD-620-graphics-driver-to-works-in-windows-7-(no-crash)

#1682 | daniel_k | ⇗ @canonkong We are talking about Windows XP only.
#1683 | canonkong | ⇗ @daniel_k Xp also have this bsod.

#1684

daniel_k

⇗ @diderius6
Let's clarify some things.

> Zitat

> On 149C the etronxhci7052.sys works at once.
> It is Ryzen 3700x on the nice AMD board asrock fatal1ty ab350 gaming k4

In this case, you mean etronstor.sys works, correct?
No need to rename etronstor.sys to usbstor.sys?

> Zitat

> EDIT: With my modded driver in post 1095 it is other. ALL USB on Ryzen 1700x and Ryzen 3700x works on
> asus prime x570-pro and asrock fatal1ty ab350 gaming k4 board under XP 32 bit.

Is it really stable?
Did you do the same tests you did with my modded Intel USB driver?
Boot from USB, run benchmarks and so on?
I'm asking this because canonkong says it is not stable?

#1685 | canonkong | ⇗ @daniel_k ⇗ @diderius6 These modified drivers have a certain probability of BSOD during instal or uninstal, but once installed success, they will not encounter any problems. Except that the VIA driver appears 01E BSOD in use sometimes.
#1686 | XPLAKE8175 | I installed VESA vbe miniport from ⇗ https://bearwindows.zcm.com.au/vbemp.htm for my laptop. And I tested some 2d tests and half life 1 test. It works pretty well. For Broadwell+ laptops, I recommend this driver.
#1687 | daniel_k | Does anyone have Fresco Logic driver 2.14.0.76? Interesting it included a generic XHCI class code device ID. Unfortunately I can't find it, was made available for Asrock 890GM Pro3 at the time ASRock ran an FTP server. Station-drivers had it as well, but now only 3.x versions are available.

#1688

diderius6

I succeed to install XP 64 on the EVGA z390 dark board with the modded acpi.sys from infuscomus,
with working USB.
Then I set in registry intelppm start=4 and connect
the harddisk to the AMD fatalty board with Ryzen 3700x.
But I get BSOD 0xA even again I enabled / disabled everything in Bios
Dietmar
⇗

#1689 | infuscomus | ⇗ @diderius6 do you think i jumped the wrong function?

#1690

diderius6

⇗ @infuscomus
Your acpi.sys works on the EVGA z390 board.
The acpi.sys from ⇗ @skullteria gives there BSOD 0x7B. They are both from the same nature Longhorn 5048.
I also tried the unmodded 5048 acpi.sys, gives the same BSOD 0xA.
I also make a try, just combinating this both acpi.sys yours and from skullteria,
but results also in BSOD 0x7B.
I integrated with nlite the asm106 driver, which works to 100% (see the EVGA dark board).
I think, it is a problem with some hardware on the AMD board.
Have you installed this XP 64 successfull with ACPI on your compi
Dietmar

#1691

diderius6

⇗ @daniel_k
To be honest, the Intel USB driver I test much more intensive.
But on 2 boards from AMD all was ok with the etronstor.sys driver,
no need to rename. But all USB devices at once where on those 2 AMD boards
only recogniced with the driver from my post 1095
Dietmar
PS: I did not recognice a single BSOD from USB on AMD board. I do not get any "unknown device".

#1692

diderius6

⇗ @daniel_k
Here is the USB driver 2.14.0.76 from Fresco 32 bit
Dietmar
diderius6 has attached files to this post

- ⇗ 0076_32bit_xp.rar

#1693 | infuscomus | ⇗ @diderius6 I also get same BSOD 0xA I thought perhaps I jump the wrong function for ACPI - but it is not A5 BSOD, so just IRQ problem?
#1694 | daniel_k | ⇗ @diderius6 Thanks, do you have the whole package with the x64 driver? Did you ever try it with an AMD system? Or Intel? Will do it later if you don't do it first. Firstly, will fix the Etron driver so it will work on both 149C and 43BB devices.
#1695 | diderius6 | ⇗ @daniel_k No, I never tried. I have also an *.msi installer for 64 bit, but during unpack I notice, that it is still 32 bit, 100% identic to the 32 bit version, so I think, there has never been an XP64 version of it Dietmar

## Page 114

#1696

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1692

> USB driver 2.14.0.76 from Fresco 32 bit

> Zitat

> [FRESCO.NTx86]
> %FLxHCIc.DRVDESC%= FLxHCIc, PCI\CC_0C0330

fresco is WDF based, this maybe means very slow init of usb devices (like VIA) , but this .inf is funny :)

#1697 | diderius6 | ⇗ @Mov AX, 0xDEAD Yes, very funny. On my Intel PC this crazy Fresco driver думает , что он IEEE 1394 Bus-Hostcontroller Dietmar PS: On the AMD fatalty board, the Fresco driver froze the compi, so no good choice.

#1698

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1697

> PS: On the AMD fatalty board, the Fresco driver froze the compi, so no good choice.

That's a lost cause.

#1699 | daniel_k | ⇗ @diderius6 Please try this, specially on the X570 board. I've seen how the drivers behaves in your modded driver. The more important change, is that etronstor.sys must work.
#1700 | daniel_k | ⇗ @Mov AX, 0xDEAD Are you good at assembly? If so, can you help me, please? I'm trying to patch RSTe 4.7, managed to change about 100 instances of an import into another, but I'm puzzled with one instance.
#1701 | diderius6 | ⇗ @daniel_k For the new Etron driver is the same true as before: DEV_149C works, but DEV_43BB (with USB2.0 port also) not, even it is installed Dietmar

#1702

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1701

> @daniel_k
> For the new Etron driver is the same true as before:
> DEV_149C works, but DEV_43BB (with USB2.0 port also) not,
> even it is installed
> Dietmar

Thanks.
A new round of test 2, 3 and 4, please try.
One of them should hopefully work.

#1703

daniel_k

The following is easy, almost 99.9% of them:

    .text:00011888                 push    4
    .text:0001188A                 lea     eax, [edi+11h]
    .text:0001188D                 mov     byte ptr [edi+15h], 0
    .text:00011891                 push    eax
    .text:00011892                 movzx   eax, byte ptr [edi+10h]
    .text:00011896                 push    4 -> easily kill by nops
    .text:00011898                 lea     eax, [ebx+eax*4]
    .text:0001189B                 push    eax
    .text:0001189C                 call    ds:memcpy_s -> memcpy

However, this one, I don't know how to patch:

    .text:00067712                 push    eax
    .text:00067713                 mov     eax, [esi]
    .text:00067715                 push    [ebp+arg_0]
    .text:00067718                 call    dword ptr [eax+0Ch]
    .text:0006771B                 movzx   eax, ax
    .text:0006771E                 mov     ecx, esi
    .text:00067720                 push    eax
    .text:00067721                 mov     eax, [esi]
    .text:00067723                 call    dword ptr [eax+8]
    .text:00067726                 push    eax
    .text:00067727                 call    ds:memcpy_s -> memcpy

There are only 2 push'es and memcpy_s requires 4 parameters, what should I kill?
Can a call return value be considered a push <parameter>?
From Microsoft's reference:

    errno_t memcpy_s(
       void *dest,
       size_t destSize, -> this parameter should be killed
       const void *src,
       size_t count
    );

    void *memcpy(
       void *dest,
       const void *src,
       size_t count
    );

Please note that in assembly, the parameter order is reversed:

    push size_t count
    push const void *src,
    push size_t destSize, -> this parameter should be killed
    push void *dest,
    call memcpy_s

#1704 | diderius6 | ⇗ @infuscomus I test your acpi.sys for XP64 also on the x570 board with Ryzen 1700. Nearly exact the same BSOD 0xA happens there Dietmar
#1705 | diderius6 | ⇗ @daniel_k The amd_sata.sys 1.2.1.337 driver does not work, version 1.2.1.402 also not on x570 board Dietmar EDIT: This is a mistake. The driver works also on x570 board.

#1706

diderius6

⇗ @daniel_k
Test 2, 3, 4 do all the same:
The Etron Usb driver recognices DEV_149C
but does not work for DEV_43BB . It installes, but no USB device is then recogniced,
Dietmar
PS: For DEV_149C device is Etron driver good and for DEV_43BB is AMD driver good,
see attached.
diderius6 has attached files to this post

- ⇗ AMD USB 3.1 drivers v1.0.5.3 WHQL.rar

#1707 | canonkong | ⇗ @diderius6 Did you have test uninstal Etron usb driver?

#1708

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1705

> @daniel_k
> The amd_sata.sys 1.2.1.337 driver does not work, version 1.2.1.402 also not
> on x570 board
> Dietmar

I believe this one should work.
Unfortunately it is old and surely don't properly support SSD features.
There are SCSIPORT and STORPORT versions, please try both.

#1709

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1706

> PS: For DEV_149C device is Etron driver good and for DEV_43BB is AMD driver good,
> see attached.

Hmm, so for X570 AMD's driver works just fine?
So, I'm done with that.
No problems at all? Restarting Windows, shutting down or enabling/disabling the Host controller in Device Manager.

#1710

diderius6

⇗ @canonkong ⇗ @daniel_k
I install, deinstall every USB driver more than 10 times.
Nothing bad happens.
In XP, you have to try this always few times,
but in the end all USB deinstalls if you want
without crash
Dietmar

## Page 115

#1711 | canonkong | ⇗ @diderius6 What about VIA modified driver? On Xp system, I think it is better than Etron.

#1712

diderius6

⇗ @daniel_k
I make a mistake.
I forgot, that I disable everything in Bios
for boot of XP64, and also SATA ports.
Now, when I enable them again, I see,
that the amd_sata.sys 1.2.1.337 driver works and version 1.2.1.402 also
on x570 board
Dietmar

#1713 | daniel_k | ⇗ @diderius6 Glad to know it also works on X570. This just means we're done with drivers. We have drivers for everything, right?

#1714

diderius6

⇗ @daniel_k
I start to understand ⇗ @canonkong .
The USB DEV_149C is on the x570 board
much more unstable than on the AMD fatalty B350 board.
On the x570 board now I see for the first time "unknown device".
The same happens, when I install for DEV_149C the USB driver
from post 1095,
even I think it is on the x570 board the better choice for DEV_149C than the Etron driver
Dietmar

#1715

Mov AX, 0xDEAD

winapi mostly is stdcall(cdecl), so stack not touched by subcalls:

> Zitat von ⇗ daniel_k im Beitrag ¶ #1703

>     .text:00011888                 push    4                  ; 1
>     .text:0001188A                 lea     eax, [edi+11h]
>     .text:0001188D                 mov     byte ptr [edi+15h], 0
>     .text:00011891                 push    eax                         ; 2
>     .text:00011892                 movzx   eax, byte ptr [edi+10h]
>     .text:00011896                 push    4 -> easily kill by nops ; 3
>     .text:00011898                 lea     eax, [ebx+eax*4]
>     .text:0001189B                 push    eax ; 4
>     .text:0001189C                 call    ds:memcpy_s -> memcpy[/code]

>     .text:00067712                 push    eax                  ; 1
>     .text:00067713                 mov     eax, [esi]
>     .text:00067715                 push    [ebp+arg_0]                   ; 2
>     .text:00067718                 call    dword ptr [eax+0Ch] ;  subcall return result in eax
>     .text:0006771B                 movzx   eax, ax ; zeroing high bits of eax
>     .text:0006771E                 mov     ecx, esi
>     .text:00067720                 push    eax                   ; 3
>     .text:00067721                 mov     eax, [esi]          ; reload eax, so we can do anything with eax before this command
>     .text:00067723                 call    dword ptr [eax+8]
>     .text:00067726                 push    eax                   ; 4
>     .text:00067727                 call    ds:memcpy_s -> memcpy

push xx -> nops

#1716 | canonkong | ⇗ @diderius6 So I think VIA will better than Etron on X570 for Xp, even though it will 0x00000019E bsod on win7 sometimes in use.
#1717 | canonkong | ⇗ @Mov AX, 0xDEAD Do you think it's possible to use windbg to find out the breakpoint and use nop to stop it. I think it can solve some usb drivers 02C, 01E bsod, but I don't known how to modify on HxD. Modify like this: ⇗ https://forum.videohelp.com/threads/390651-Way-to-make-Intel-UHD-620-graphics-driver-to-works-in-windows-7-(no-crash)

#1718

diderius6

⇗ @infuscomus
I found,
that the BSOD in XP64 is acpi.sys related.
This error looks very similar to the acpi
BSOD, we have seen on XP 32 bit
Dietmar
PS: First picture is XP64 with unmodded 5048 acpi.sys. Second picture is with acpi.sys 5048 modded by @infuscomus.
⇗
⇗

#1719

daniel_k

⇗ @Mov AX, 0xDEAD
Thank you very much!
I know is stack related, changed this way by looking at other drivers calling memcpy and learned that it should be 0C, is it correct?

    1189C                 call    ds:memcpy_s
    118A2                 add     esp, 10h

to

    1189C                 call    ds:memcpy
    118A2                 add     esp, 0Ch

Sorry for being a noob.
For X64, there is no push, but several mov, sometimes add as well.
How do I know which one is correct for me to NOP?
These are from IDA, do you think the parameters are correct?

    72987                 mov     eax, [rdi+4]
    7298A                 cmp     eax, 40h
    7298D                 jnb     short loc_729AC
    7298F                 mov     [rcx+rsi+8], eax
    72993                 mov     r9d, [rdi+4]    ; size_t
    72997                 add     rcx, 0Ch
    7299B                 add     rcx, rsi        ; void *
    7299E                 mov     r8, r15         ; void *
    729A1                 mov     edx, 40h        ; size_t
    729A6                 call    cs:memcpy_s

    72D50                 xor     r12d, r12d
    72D53                 mov     r8, rdx         ; void *
    72D56                 mov     edi, r9d
    72D59                 mov     edx, 100h       ; size_t
    72D5E                 test    r9d, r9d
    72D61                 jnz     short loc_72D84
    72D63                 mov     rcx, [rsp+48h+arg_38]
    72D6B                 lea     r9d, [rdi+40h]  ; size_t
    72D6F                 mov     dword ptr [rcx], 41696541h
    72D75                 add     rcx, 4          ; void *
    72D79                 call    cs:memcpy_s

This one is missing 2 parameters?!

    72D84                 mov     rbx, [rsp+48h+arg_38]
    72D8C                 mov     eax, [rsp+48h+arg_40]
    72D93                 mov     [rbx+108h], r9d
    72D9A                 lea     rcx, [rbx+4]    ; void *
    72D9E                 mov     r9d, 40h        ; size_t
    72DA4                 mov     dword ptr [rbx], 46696541h
    72DAA                 mov     [rbx+104h], eax
    72DB0                 call    cs:memcpy_s

    72E04                 mov     r8, [r14+rcx*8] ; void *
    72E08                 movzx   eax, dx
    72E0B                 lea     rcx, [rbx+4]    ; void *
    72E0F                 test    r8, r8
    72E12                 jz      short loc_72E22
    72E14                 mov     r9d, eax        ; size_t
    72E17                 movzx   edx, dx         ; size_t
    72E1A                 call    cs:memcpy_s

    72F25                 movzx   edx, word ptr [rdi+0Eh] ; size_t
    72F29                 lea     r8, [rdi+10h]   ; void *
    72F2D                 mov     rcx, rax        ; void *
    72F30                 mov     r9d, edx        ; size_t
    72F33                 call    cs:memcpy_s

    7354C                 lea     rcx, [rbp+37h+var_80] ; void *
    73550                 mov     edx, 40h        ; size_t
    73555                 mov     r9d, [rax+r12+8] ; size_t
    7355A                 lea     r8, [rax+0Ch]
    7355E                 add     r8, r12         ; void *
    73561                 call    cs:memcpy_s

    77F9C                 lea     eax, [rbp+3]
    77F9F                 add     r8, rcx         ; void *
    77FA2                 mov     [rsp+0D8h+var_88], ax
    77FA7                 lea     rax, [rsp+0D8h+var_80]
    77FAC                 lea     rcx, [rsp+0D8h+var_68] ; void *
    77FB1                 mov     r9d, edx        ; size_t
    77FB4                 mov     [rsp+0D8h+var_78], rax
    77FB9                 call    cs:memcpy_s

#1720 | daniel_k | ⇗ @diderius6 Yeah! Thanks to Mov AX, 0xDEAD, I've successfully patched RSTe 4.7.0.1098, the last version compatible with Server 2003 (XP with storport.sys). Please test it, Dietmar.
#1721 | XPLAKE8175 | When I install intel hd the screen flashes once or twice but when I install windows vista the screen doesn't flash and when I restart in vista it restarts at 800x600 instead of 1366x768. I modded intel hd driver on broadwell cpu. Maybe the reg values of XP drivers are wrong.
#1722 | XPLAKE8175 | I'm testing Intel HD graphics on my broadwell laptop. When I successfully installed it, I will mod for Skylake, Kaby Lake and Coffee lake.

#1723

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1719

> to

>     1189C                 call    ds:memcpy
>     118A2                 add     esp, 0Ch

correct

> Zitat von ⇗ daniel_k im Beitrag ¶ #1719

> This one is missing 2 parameters?!

windows x64 calling convention for memcpy_s is:
1 RCX (*dest)
2 RDX (destSize)
3 R8 (*src)
4 R9 (count)
for memcpy:
1 RCX (*dest)
2 RDX (*src)
3 R8 (count)
4 -

#1724

XPLAKE8175

Can someone modify this haswell compatible igxp32 for my intel hd 5500 broadwell laptop? My screen flashes when I install but the driver does not install.
XPLAKE8175 has attached files to this post

- ⇗ IntelHDOriginalInf.zip

#1725 | XPLAKE8175 | I don't want the frustrating Anapa Corp. text before startup.

## Page 116

#1726

XPLAKE8175

ACPI: Solved
Graphics: BSOD after Install/Remove Software for discrete GPU.
Sound: Solved.
Ports: Solved.
Network: Solved.
Thermal Driver: FAIL.,
I modded chipset drivers on Vista and all of them are working properly. Just don't download the installer only package.
NOTE: The only failed drivers are manufactured by Intel. USING BROADWELL LAPTOP.
REQUEST: The most important driver is Intel HD Graphics at #1724

#1727 | diderius6 | I tested Intel RSTe from 2017 on the EVGA z390 dark board. Yesssssaaaa, nice driver !!! Nice work together ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD !!! Dietmar ⇗

#1728

diderius6

iaStorA.sys and iaStorF.sys (TRIM) and newest storport.sys are loaded.
I make a test on the AMD board x570 also. There it gives code 10.
When you replace the asm106 driver with it, it gives BSOD 0xA.
For any Intel chipsets in future, XP will be on board
Dietmar

#1729 | XPLAKE8175 | Please someone answer me?
#1730 | canonkong | ⇗ @diderius6 Can you share the software: PEmaker. I try to find it on the internet, but not found.
#1731 | infuscomus | ⇗ @canonkong pemaker here ⇗ http://blog.livedoor.jp/blackwingcat/archives/1313117.html
#1732 | canonkong | @ infuscomus Thanks, I am trying a new driver sign method, *.sys file not need sign anymore.

#1733

XPLAKE8175

⇗ @diderius6 ⇗ @infuscomus
How can I install Intel HD Graphics for Haswell CPUs on Broadwell (i5 5200u) (Intel HD Graphics 5500). Here is the original igxp32.inf:
XPLAKE8175 has attached files to this post

- ⇗ IntelHDOriginalInf.zip

#1734 | infuscomus | ⇗ @diderius6 I looked at server 2003 x64 checked acpi.sys - I am now 90% certain I jumped the wrong function If I recall correctly, the forced jump should be just after PciInterfacesInstantiated?
#1735 | diderius6 | ⇗ @infuscomus Yes, look in this thread here, you posted a nice picture I remember. By the way, the acpi.sys for XP64 from ⇗ @skullteria contains another important part. This can be put easy together, if you jump the right function Dietmar

#1736

diderius6

⇗ @XPLAKE8175
You can take a look, what DEV_ ID your device has on Broadwell (i5 5200u) cpu
and add this to the *.inf in this section
[IntelGfx.NTx86.5.1]
When this not works, I think it is nearly impossible
to mod the driver for an integrated graphikcard device but you can use external Grafikcard with support for XP
Dietmar

#1737 | XPLAKE8175 | ⇗ @diderius6 My DEV_ID: PCI\VEN_8086&DEV_1616 I added it to strings and got error 10.

#1738

diderius6

⇗ @XPLAKE8175
Here it is, now the card will be recogniced
but if it works is another question
Dietmar
PS: Yes, with code 10 the driver does not start, I think no chance.
diderius6 has attached files to this post

- ⇗ igxp32.rar

#1739 | AddFun | What's the AGESA version on your Ryzen platforms guys? I'm still stuck with 7b BSODs (Gigabyte AX370 Gaming 5) post GUI install. Can't get to desktop proper though. Tried all the different versions of modded .sys files posted here and same result.

#1740

diderius6

I succeed to get the XP64 i210 lan controller to work on the EVGA z390 board.
I remember, that the i210, i211 is very similar (Intel) to the 82579V
and this time it was true
Dietmar
diderius6 has attached files to this post

- ⇗ 82579Vintellanasi210.rar

## Page 117

#1741 | infuscomus | ⇗ @AddFun I am on AMD AGESA to 1.0.0.6. - AB350 Gaming K4 BIOS 5.40

#1742

infuscomus

⇗ @diderius6
I made a 2nd attempt to patch ACPI x64 5048 for ryzen - based off of ⇗ @skullteria earlier version
I'm off to bed, I will test properly tomorrow
infuscomus has attached files to this post

- ⇗ acpi5048 x64 - 2nd patch attempt.zip

#1743

diderius6

When we want UEFI boot for XP
what do you think is best
choice?
XP SP3 32 bit
XP 64 bit SP2
Winserver 2003 32 bit R2
Winserver 2003 64 bit R2
Dietmar

#1744

diderius6

⇗ @Mov AX, 0xDEAD
On XP 64 bit SP2, the crazy clock shows also negativ values on z390 chipset.
Because I have no working tools for 64 bit,
can you please mod my english hal.dll (64 bit) here to use always the old clock
Dietmar
diderius6 has attached files to this post

- ⇗ hal.rar

#1745 | daniel_k | ⇗ @diderius6 Why don't patch the BIOS? Are you running the latest version? I can send the modified module for you to see.

#1746

diderius6

⇗ @daniel_k
I also think first of Bios mod. I have version 0.92 (for XP)
from
⇗ https://forums.evga.com/EVGA-Z390-DARK-O...T-m2930290.aspx
on top of this site there.
I read here, that you can enable the TCO timer in Bios.
But I do not find this timer in any table
Dietmar

#1747

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1744

> @Mov AX, 0xDEAD
> can you please mod my english hal.dll (64 bit) here to use always the old clock

    8B 0D 56 ED FD FF 8B C2  C1 E8 08 24 01 0F BA E2 0F 73 0C E8 98 03 FC FF  C6 05 91 EC FD FF 01 0F
                                                     0F EB 0C

    8B 05 76 68 FD FF 8B C8  C1 E9 08 41 22 CC 0F BA E0 0F 73 0E 44 88 25 71  09 FD FF 44 88 25 8A 67
                                                        0F EB 0E

this mod for latest version 5.2.3790.4355, but in your old version bytes are same

#1748 | kukonosau | Unfortunately, BSOD(((

#1749

daniel_k

In UEFITool, search for module 16D0A23E-C09C-407D-A14A-AD058FDD0CA1.
Extract body from PE32 image section..
FACP table is built at runtime, with hardcoded flags.
Dark BIOS doesn't have a setting to enable/disable HPET, right?
Change this

    474B: C74070A5C60300         mov          d,[rax][070],00003C6A5

with this

    474B: C74070A5C60300         mov          d,[rax][070],0000346A5

#1750

diderius6

⇗ @Mov AX, 0xDEAD
Thank you, I found this jump and change it to EB,
but on restart XP 64 tells hal.dll is corrupt,
may be of wrong checksum.
I cant correct this checksum or maybe something is wrong with my halmod.dll
Dietmar
EDIT: I change at two places to EB, but still the message appears, that hal.dll is corrupt,
I think because of incorrect checksum. I have no tool for 64 bit, that corrects checksum.
EDIT2: With the tool setcsum.exe I succeed to correct the checksum and now
with correct running clock XP64 looks much more nice than before!
This file is the time correct working acpi hal.dll for XP64
version 5.2.3790.3959 (srv03_sp2_rtm.070216-1710),
Thanks a lot to ⇗ @Mov AX, 0xDEAD and ⇗ @daniel_k
⇗
diderius6 has attached files to this post

- ⇗ halmoddddchecksumm.rar
- ⇗ setcsum.rar

#1751 | kukonosau | How to install XP x64? ACPI is doesn't working on B350 chipset and AMD Ryzen 3 2200G!

#1752

daniel_k

⇗ @Mov AX, 0xDEAD
Thank you very much, managed to patch the x64 version.
However, I can't find any x64 DLL, SYS or EXE with sample code of wcslen and wcsncpy.

    size_t wcsnlen(
       const wchar_t *str, (RCX)
       size_t numberOfElements (RDX)
    );

    size_t wcslen(
       const wchar_t *str (RCX)
    );

    errno_t wcsncpy_s(
       wchar_t *strDest, (RCX)
       size_t numberOfElements, (R9) ???
       const wchar_t *strSource, (R8)
       size_t count (RDX) ???
    );

    wchar_t *wcsncpy(
       wchar_t *strDest, (RCX)
       const wchar_t *strSource, (RDX)
       size_t count (R8) ???
    );

Can you check if my assumptions are correct, please?

#1753

diderius6

⇗ @daniel_k
A5C60300 => A5460300
interesting, there stays the flags of FACP in Bios, here for to disable HPET,
Guid: 16D0A23E-C09C-407D-A14A-AD058FDD0CA1
PE32
before I found this flags from FACP only in real Bios Hex but now I know the place via UEfi tool also
Dietmar

#1754

daniel_k

⇗ @diderius6
Did you ever try Vista on your systems?
There is a well known issue on Haswell and later systems. Services are not initialized properly. It seems sometimes the OS works fine, it's random.
Would it be timer related?
Ivy Bridge is the last architecture known to work properly with Vista.
Would be nice if we could fix it as well.

#1755

diderius6

⇗ @daniel_k
I succeed to install Vista 32 bit and 64 bit on all Intel boards.
But on Ryzen only Vista 64 bit, because of not correct working acpi.sys
Dietmar
PS: The uncorrect timer affects even Win7. Some month ago I took a closer look to this.
For to test, if everything is ok, you can use the timer tool.
Not only the timer does not work correct. intelppm.sys has been fixed by ⇗ @Mov AX, 0xDEAD
which means, that the powermanagment is corrupt on all Intel boards from Skylake above.
diderius6 has attached files to this post

- ⇗ WinTimerTester.rar

## Page 118

#1756

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1752

>     errno_t wcsncpy_s(
>        wchar_t *strDest, (RCX)
>        size_t numberOfElements, (R9) ???
>        const wchar_t *strSource, (R8)
>        size_t count (RDX) ???
>     );

> Can you check if my assumptions are correct, please?

this one is not correct, order of arguments is always fixed if you call "offiicial" MS API, so right is RCX RDX R8 R9, 5th+ args on stack
⇗ https://en.wikipedia.org/wiki/X86_calling_conventions

#1757

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1752

> However, I can't find any x64 DLL, SYS or EXE with sample code of wcslen and wcsncpy.

wcslen - hdaudbus.sys (win7 x64)
wcsncpy - nvlddmkm.sys (nvidia vga driver)
wcsncpy_s - appwiz.cpl (win7 x64)

#1758

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1755

> the powermanagment is corrupt on all Intel boards from Skylake above.

Now i think some acpi hardware functionality is disabled by bios vendors for some reason (recomendation from intel ?)
This functionality is not used anymore in WIN 7+, so nobody cares

#1759

diderius6

Even I get everything to work in XP 64bit SP2 5.2.3790.3959 on EVGA z390 dark board, 32 Gbyte memory,
Acpi, USB on each port, lan, graphik, sound, ahci, correct clock,
browser basilisk (nice), Moorhuhn, I got the feeling,
that XP SP3 is much more stable
Dietmar
EDIT: For me, I want to try UEFI boot for XP SP3.

#1760

PePilon

Hi, everyone
In other thread ([Guide] How to install Windows XP OS on Modern Hardware), ⇗ @daniel_k just suggested to try:
"USB driver, you must use the one attached to the following post:
Windows XP SP3 32bit and modern PC parts (92) (originally this is an hyperlink, don't know how to paste here)
However, it's unlikely it will work for you because a patched DSDT table (part of ACPI table in BIOS) is needed."
Daniel kindly have personalized a bios for me to test in the motherboard GA-Z170-HD3 (Gigabyte)
After flashing, the driver installs, but it is still not operating. The error code 39 is displayed for VEN_8086&DEV_A12F&SUBSYS_50071458&REV_31 (Intel(R) USB 3.0 eXtensible Host Controller Windows)
Is there still any hope to have USB working on Windows XP?
Thanks in advance.
Paulo
PS: just read this, but will use dual boot: Windows XP and Windows 10. When using Windows 10, I need USB 3.0 working, of course...
⇗ https://www.intel.com/content/www/us/en/...t-software.html

#1761 | daniel_k | ⇗ @PePilon Make sure you have USBD.SYS in the \Windows\System32\Drivers folder. If you don't extract it from the XP install disc or \WINDOWS\Driver Cache\i386\Driver.cab.

#1762

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1757

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1752

> > However, I can't find any x64 DLL, SYS or EXE with sample code of wcslen and wcsncpy.

> wcslen - hdaudbus.sys (win7 x64)
> wcsncpy - nvlddmkm.sys (nvidia vga driver)
> wcsncpy_s - appwiz.cpl (win7 x64)

I was searching in the XP x64 system folders.
Thanks, much appreciated.

#1763

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1755

> I succeed to install Vista 32 bit and 64 bit on all Intel boards.
> But on Ryzen only Vista 64 bit, because of not correct working acpi.sys
> Dietmar
> PS: The uncorrect timer affects even Win7. Some month ago I took a closer look to this.
> For to test, if everything is ok, you can use the timer tool.
> Not only the timer does not work correct. intelppm.sys has been fixed by @Mov AX, 0xDEAD
> which means, that the powermanagment is corrupt on all Intel boards from Skylake above.

I can install Vista after several tries.
About the intelppm.sys, doesn't it have the same effect as setting the XP's power scheme to Portable/Laptop?
I've been doing this for years, that's the only way to make C1E to work on a desktop.

#1764 | PePilon | The file was missing. Then I reinstalled... bingo!!! It worked. But then show up another device in list... and I installed the same drive and... worked!!! See the final results in picture attached. I really owe you one ⇗ @daniel_k !!! PePilon has attached images to this post ⇗ USB.PNG
#1765 | diderius6 | ⇗ @daniel_k Have you been able to install Vista 32 bit on Ryzen board? Did you change something in acpi.sys for to reach this, Dietmar
#1766 | daniel_k | ⇗ @PePilon Glad to know it works. I've got an idea about the missing file. PS: Yes, I'm brazilian and live in Sao Paulo.

#1767

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1765

> @daniel_k
> Have you been able to install Vista 32 bit on Ryzen board?
> Did you change something in acpi.sys for to reach this,
> Dietmar

I don't have any AMD board here.
My last AMD system was an Athlon 64 3200+ / nForce 4 SLI.
Moved to Intel because of some strange BSODs while playing games.
Probably a bug in the CPU, chipset or both.
With the Intel system (E6400 + 965P), absolutely no BSODs.

#1768

daniel_k

⇗ @diderius6
Here is the RSTe 4.6.0.1085 x64. UPDATED, found 2 instructions incorrecly patched.
Please test it when possible.
Thanks to Mov AX, 0xDEAD, I've learned how to properly fix the function's arguments.
4.7.0.1098 will take a while, more than 120 changes. [oh2]
PS: Interesting that the RSTe 4.6 and 4.7 driver and the AMD AHCI 1.2.1.402 driver work on VirtualBox supporting 8 ports.

#1769 | infuscomus | ⇗ @diderius6 my 2nd attempt at ACPI x64 patch gives 7E BSOD maybe my 1st attempt is correct and it is something else that is wrong?
#1770 | canonkong | ⇗ @diderius6 ⇗ @infuscomus VIA USB MOD Driver For AMD 149C, you can test it , I test it for two days, not 01E BSOD untill now. Link: ⇗ https://yadi.sk/d/vH7IVuyYPGbCPw I used PEMAKER082 to checksum, but not sucessed. But it can work well. Use new driver Digital Signature.

## Page 119

#1771

diderius6

⇗ @daniel_k
I just test your new driver
RSTe_4.6.0.1085_x64_MOD.rar
on the EVGA z390 dark board with XP 64 bit.
It works:))!!
Have a nice day
Dietmar

#1772 | infuscomus | ⇗ @canonkong MSISupported should be disabled for XP - XP does not support message signaled interrupts.
#1773 | XPLAKE8175 | If diderius6's igxp32 works I will request skylake drivers from diderius6.

#1774

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1763

> About the intelppm.sys, doesn't it have the same effect as setting the XP's power scheme to Portable/Laptop?
> I've been doing this for years, that's the only way to make C1E to work on a desktop.

¶ Windows XP SP3 32bit and modern PC parts (14)
¶ Windows XP SP3 32bit and modern PC parts (19)

#1775 | kukonosau | Can you send me your Intel ACPI x64, please? May be, correctly work in Ryzen?! Modify Hal.dll doesn't help me.

#1776

diderius6

Here is the storahci driver,
which works really everywhere. I just give in the folder AMD64 its *.inf for 64 bit support.
AMD, Intel, 32 bit, 64 bit doesnt matter. Until now I do not find a board, where it does not work,
really generic.
Copy the newest version of storport.sys
to windows\system32\drivers and install. You can also make a txtsetup.oem
and integrate it to your XP installations CD. Dont forget storport.sys!
I tested it for XP 32 bit and XP 64 bit
Dietmar
EDIT: So much thank to ⇗ @skullteria !
diderius6 has attached files to this post

- ⇗ StorahciSkulltrailALL.rar

#1777 | diderius6 | ⇗ @infuscomus ⇗ @skullteria I tested all acpi.sys 64 bit for XP I can found in the forum and also my own new one. No one of them works on Ryzen board until now Dietmar
#1778 | infuscomus | ⇗ @diderius6 maybe ACPI x64 has a different problem from ACPI x86? my 2nd ACPI x64 patch attempt from post #1742 - did you get 7E BSOD?

#1779

diderius6

⇗ @infuscomus
Yes, when all other is ok, it gives
BSOD 0x7E (0xC0000005, xxx, yyy).
My newest acpi.sys for 64 bit gives exact the same BSOD.
Dietmar
PS: My problem is, that I have no good tools for 64 bit. Even the 32 bit acpi.sys for Ryzen was as hard as possible,
for me I have no idea for acpi.sys Ryzen for 64 bit. Editing DSDT does not help for Ryzen until now.
After my experiance with XP 64 bit (sound in Moorhuhn is stottering, lan connection disables itself because it wants to save energy, brrr..)
I am not so very sad about it. I take a look at UEFI boot for XP SP3. I heard, that somebody succeed with Server 2003 RS2 32 bit(!) for UEFI boot,
but real XP SP3 is different.

#1780 | infuscomus | ⇗ @diderius6 here is that helpful thread i found for UEFI boot for XP, in case you forgot ⇗ https://www.betaarchive.com/forum/viewto...=20327&start=29 good luck.

#1781

diderius6

⇗ @canonkong
I just test your modded USB driver from Via for XP SP3.
On the AMD board asrock fatal1ty ab350 gaming k4
with Ryzen 3700x it works absolut stable for DEV_149C.
For DEV_43BB the hub does not work (code 10).
On the asus prime x570-pro AMD board with Ryzen 1700
your driver runs stable for DEV_145C.
For DEV_149C with subsys 148C1022 it is also absolut stable.
For DEV_149C with subsys 87471043 the hub switches on and off
Dietmar

#1782 | canonkong | ⇗ @diderius6 DEV_43BB is belong to ASMedia. AMD 300/400 board chip bought from ASMedia, so they can use AMD 1.0.5.3 USB driver and ASMedia USB driver will better than others.

#1783

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1771

> @daniel_k
> I just test your new driver
> RSTe_4.6.0.1085_x64_MOD.rar
> on the EVGA z390 dark board with XP 64 bit.
> It works:))!!
> Have a nice day
> Dietmar

Thanks for the feedback!

#1784

daniel_k

⇗ @Mov AX, 0xDEAD
Thanks for clarifying.
There is really no way to patch the ACPI table so it would work as it should without patching the driver?
Can you please help me with this one?
PE64 also has relocation like PE32, right?
I understand PE32 relocation and know how to patch it without rebuild it all, but I have no idea about PE64.
Opened the .sys file in LordPE, but it gave no clues.
I'm afraid I have no room to properly patch some arguments, like this below.
I guess sometimes arguments can be provided before a call, right?

    75B3B: 4C8D442430                     lea          r8,[rsp][030] -> const void *src
    75B40: 498D8A98020000                 lea          rcx,[r10][000000298]
    75B47: 41B901000000                   mov          r9d,1
    75B4D: E82E360000                     call        79180

    79180: 48895C2410                     mov          [rsp][010],rbx
    79185: 48896C2418                     mov          [rsp][018],rbp
    7918A: 56                             push         rsi
    7918B: 57                             push         rdi
    7918C: 4154                           push         r12
    7918E: 4156                           push         r14
    79190: 4157                           push         r15
    79192: 4883EC20                       sub          rsp,020 ;' '
    79196: 4C8BA1E8980100                 mov          r12,[rcx][0000198E8]
    7919D: 4C8BB1F8980100                 mov          r14,[rcx][0000198F8]
    791A4: 488B9918990100                 mov          rbx,[rcx][000019918]
    791AB: 4C8BF9                         mov          r15,rcx
    791AE: 33C0                           xor          eax,eax
    791B0: 418BE9                         mov          ebp,r9d
    791B3: 8D4820                         lea          ecx,[rax][020]
    791B6: 8D5014                         lea          edx,[rax][014] -> size_t destSize
    791B9: 498BFC                         mov          rdi,r12
    791BC: F3AA                           rep stosb
    791BE: 498BFE                         mov          rdi,r14
    791C1: B900090000                     mov          ecx,000000900
    791C6: F3AA                           rep stosb
    791C8: 498BBFE0980100                 mov          rdi,[r15][0000198E0]
    791CF: B900020000                     mov          ecx,000000200
    791D4: F3AA                           rep stosb
    791D6: 498BCE                         mov          rcx,r14 -> void *dest
    791D9: 448BCA                         mov          r9d,edx -> size_t count
    791DC: 498BF0                         mov          rsi,r8
    791DF: 48895C2450                     mov          [rsp][050],rbx
    791E4: FF15761F0100                   call         memcpy_s

My solution would be:

    75B3B: 4C8D442430                     lea          rdx,[rsp][030] -> const void *src
    75B40: 498D8A98020000                 lea          rcx,[r10][000000298]
    75B47: 41B901000000                   mov          r8d,1
    75B4D: E82E360000                     call        79180

    79180: 48895C2410                     mov          [rsp][010],rbx
    79185: 48896C2418                     mov          [rsp][018],rbp
    7918A: 56                             push         rsi
    7918B: 57                             push         rdi
    7918C: 4154                           push         r12
    7918E: 4156                           push         r14
    79190: 4157                           push         r15
    79192: 4883EC20                       sub          rsp,020 ;' '
    79196: 4C8BA1E8980100                 mov          r12,[rcx][0000198E8]
    7919D: 4C8BB1F8980100                 mov          r14,[rcx][0000198F8]
    791A4: 488B9918990100                 mov          rbx,[rcx][000019918]
    791AB: 4C8BF9                         mov          r15,rcx
    791AE: 33C0                           xor          eax,eax
    791B0: 418BE9                         mov          ebp,r9d
    791B3: 8D4820                         lea          ecx,[rax][020]
    791B6: 448D4014                       lea          r8d,[rax][014] -> size_t count
    791BA: 498BFC                         mov          rdi,r12
    791BD: F3AA                           rep stosb
    791BF: 498BFE                         mov          rdi,r14
    791C2: B900090000                     mov          ecx,000000900
    791C7: F3AA                           rep stosb
    791C9: 498BBFE0980100                 mov          rdi,[r15][0000198E0]
    791D0: B900020000                     mov          ecx,000000200
    791D5: F3AA                           rep stosb
    791D7: 498BCE                         mov          rcx,r14 -> void *dest
    791DA: 498BF0                         mov          rsi,r8
    791DD: 9090                           nop
    791DF: 48895C2450                     mov          [rsp][050],rbx
    791E4: FF15761F0100                   call         memcpy

Can't patch this without moving down some instructions like mov rdi,[r15][0000198E0] which obviously has relocation.

#1785 | daniel_k | ⇗ @diderius6 About the ReactOS' storahci, it's a shame it isn't feature complete.

## Page 120

#1786

daniel_k

⇗ @diderius6
Updated RSTe_4.6.0.1085_x64_MOD, made some mistakes. Now is 100% correct.
¶ Windows XP SP3 32bit and modern PC parts (118)
Tested on VirtualBox.
Please try it again if possible.
By the way, how much RAM available does XP x64 shows in System Properties?
For some reason, here it shows only 15.9GB instead of the full 16.0 GB RAM.

#1787

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #1785

> @diderius6
> About the ReactOS' storahci, it's a shame it isn't feature complete.

Reactos's storahci is incomplete. I adapted Storahci from Win 8 WDK and it work fine. I attached storahci x86 and amd64, and source code is avaliable on One-Core-API repository on github. Yes, i'm the creator of Shorthorn project (⇗ www.shorthornproject.com), One-Core-API and will create a reactos based system.
skullteria has attached files to this post

- ⇗ Storahci.zip

#1788

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #1786

> @diderius6
> Updated RSTe_4.6.0.1085_x64_MOD, made some mistakes. Now is 100% correct.
> ¶ Windows XP SP3 32bit and modern PC parts (118)
> Tested on VirtualBox.
> Please try it again if possible.
> By the way, how much RAM available does XP x64 shows in System Properties?
> For some reason, here it shows only 15.9GB instead of the full 16.0 GB RAM.

It probably is system reserved, completly normal.

#1789 | canonkong | ⇗ @skullteria What about USB XHCI Controller? USB XHCI Driver Based on ReactOS Compiler: ⇗ https://yadi.sk/d/Bo_nQun4ryJXyQ But not work on win7.
#1790 | XPLAKE8175 | How can I use iasl tool? I got an error while creating aml file.
#1791 | XPLAKE8175 | I'm using portable XP with AHCI drivers and I really want dsdt patch.

#1792

diderius6

⇗ @XPLAKE8175
Take the iasl.exe from Mai 2019.
The error can happen, when you forget to set in DSDT.dsl for example "}"
always correct.
It can also happen, when a function is called with no argument.
In some DSDT this is used (bad program code).
You can use the force switch in iasl.exe, to make an *.aml file.
But for to look, if everything is ok,
redisassemble it one more time and compare this produced *.dsl with your original one.
If there is no real error, the code is identic
Dietmar

#1793

diderius6

⇗ @canonkong
The usbxhci.sys has an unmatched import function to ntoskernl in XP SP3
MmAllocatePagesForMdlEx
May be ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD
can fix this.
It is very interesting, if this usbxhci from Reactos
works in XP
Dietmar

#1794 | XPLAKE8175 | I'm creating dsdt and ssdt aml files and got 0 kb file.

#1795

XPLAKE8175

⇗ @diderius6

    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
                    Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
                    If (OSYS >= 0x07D6)
                    {
                        PDBM &= 0xFFFFFFFFFFFFFFF9
                    }
                    Local3 = D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
                    D0D3 = Zero
                    MEMB = XWMB /* \XWMB */
                    PDBM = (Local1 | 0x02)
                    OperationRegion (MCA1, SystemMemory, XWMB, 0x9000)
                    Field (MCA1, DWordAcc, Lock, Preserve)
                    {
                        Offset (0x80E0),
                            ,   15,
                        AX15,   1,
                        Offset (0x8154),
                            ,   31,
                        CLK2,   1,
                        Offset (0x816C),
                            ,   2,
                        CLK0,   1,
                            ,   11,
                        CLK1,   1
                    }

                    If ((PCHV () == LPTL))
                    {
                        MB13 = Zero
                        MB14 = Zero
                        CLK0 = Zero
                        CLK1 = Zero
                    }

                    If ((PCHG == One))
                    {
                        CLK2 = One
                    }

                    If (((PCHS == 0x02) && (PCHG == One)))
                    {
                        Local3 = XWMB /* \XWMB */
                        Local3 += 0x0510
                        OperationRegion (PSCA, SystemMemory, Local3, 0x40)
                        Field (PSCA, DWordAcc, Lock, Preserve)
                        {
                            PSC1,   32,
                            Offset (0x10),
                            PSC2,   32,
                            Offset (0x20),
                            PSC3,   32,
                            Offset (0x30),
                            PSC4,   32
                        }

                        While (((((PSC1 & 0x03F8) == 0x02E0) || ((PSC2 &
                            0x03F8) == 0x02E0)) || (((PSC3 & 0x03F8) == 0x02E0) || ((PSC4 &
                            0x03F8) == 0x02E0))))
                        {
                            Stall (0x0A)
                        }

                        Local4 = Zero
                        Local0 = (PSC1 & 0xFFFFFFFFFFFFFFFD)
                        If (((Local0 & 0x000203F9) == 0x02A0))
                        {
                            PSC1 = (Local0 | 0x80000000)
                            Local4 |= One
                        }

                        Local0 = (PSC2 & 0xFFFFFFFFFFFFFFFD)
                        If (((Local0 & 0x000203F9) == 0x02A0))
                        {
                            PSC2 = (Local0 | 0x80000000)
                            Local4 |= 0x02
                        }

                        Local0 = (PSC3 & 0xFFFFFFFFFFFFFFFD)
                        If (((Local0 & 0x000203F9) == 0x02A0))
                        {
                            PSC3 = (Local0 | 0x80000000)
                            Local4 |= 0x04
                        }

                        Local0 = (PSC4 & 0xFFFFFFFFFFFFFFFD)
                        If (((Local0 & 0x000203F9) == 0x02A0))
                        {
                            PSC4 = (Local0 | 0x80000000)
                            Local4 |= 0x08
                        }

                        If (Local4)
                        {
                            Sleep (0x65)
                            If ((Local4 & One))
                            {
                                Local0 = (PSC1 & 0xFFFFFFFFFFFFFFFD)
                                PSC1 = (Local0 | 0x00FE0000)
                            }

                            If ((Local4 & 0x02))
                            {
                                Local0 = (PSC2 & 0xFFFFFFFFFFFFFFFD)
                                PSC2 = (Local0 | 0x00FE0000)
                            }

                            If ((Local4 & 0x04))
                            {
                                Local0 = (PSC3 & 0xFFFFFFFFFFFFFFFD)
                                PSC3 = (Local0 | 0x00FE0000)
                            }

                            If ((Local4 & 0x08))
                            {
                                Local0 = (PSC4 & 0xFFFFFFFFFFFFFFFD)
                                PSC4 = (Local0 | 0x00FE0000)
                            }
                        }

                        AX15 = One
                    }

                    If (((PCHG == One) || ((PCHV () == WPTL) && (PCHP == 0x41))))
                    {
                        SWAI = Zero
                        SAIP = Zero
                    }

                    If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                    {
                        PS0X ()
                    }

                    If (OSYS >= 0x07D6)
                    {
                        PDBM &= 0xFFFFFFFFFFFFFFFD
                    }
                    MEMB = Local2
                    PDBM = Local1
                }

Is it work on my asus k555lb laptop?

#1796 | diderius6 | ⇗ @XPLAKE8175 Please tell me the Bios version of your asus k555lb laptop Dietmar
#1797 | XPLAKE8175 | ⇗ @diderius6 Version 605
#1798 | XPLAKE8175 | ⇗ @diderius6 Did you find my DSDT patch for Asus k555lb (x555lb) version 605?

#1799

diderius6

⇗ @daniel_k ⇗ @infuscomus
Daniel, your new driver works.
Todd, your acpi.sys 64 bit works on the asrock fatal1ty z370 gaming k6 board
as you can see.
By the way, XP64 is on this asrock board absolut stable. All works,
Dietmar
⇗

#1800 | XPLAKE8175 | ⇗ @diderius6 Please answer me did you find my XP compilant DSDT?

## Page 121

#1801 | infuscomus | ⇗ @diderius6 so my ACPI x64 works for intel z370, thanks for letting me know. I will try again to patch for AMD Ryzen.
#1802 | XPLAKE8175 | Now I need asl.exe
#1803 | infuscomus | ⇗ @XPLAKE8175 post #442 or #443 of this thread

#1804

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1784

>     791D6: 498BCE                         mov          rcx,r14 -> void *dest
>     791D9: 448BCA                         mov          r9d,edx -> size_t count
>     791DC: 498BF0                         mov          rsi,r8
>     791DF: 48895C2450                     mov          [rsp][050],rbx
>     791E4: FF15761F0100                   call         memcpy_s

> Can't patch this without moving down some instructions like mov rdi,[r15][0000198E0] which obviously has relocation.

You shift code, this is not i like, in this case i prefer more generic way (but more complex and need some knowledge of mapping segment)
1) extend code segment to max available (max is begin of next segment - 1 byte) in PE header
2) look in reloc table about possible reloc in calling memcpy_s (ff 15 76 1f 01 00 is call qword PTR [rip+0x11f76] , so it is IP relative call and no need reloc)
3a) if no reloc replace CALL memcpy_s to CALL newcode to new code placed at end of segment
or
3b) replace CALL memcpy_s to JMP newcode to new code placed at end of segment
4) add new commands with any lengh (but dont use absolute adressing, otherwise you need patch reloc table)

    newcode:
    XX XX XX             mov rdx, r8 (new *src <- old *src, 64b)
    XX XX XX             mov r8d,r9d (new count <- old count, 32b)
    FF 15 XX XX XX XX    call memcpy (your assembler must calculate offset between current ip and memcpy)
    3a:
    XX XX XX             ret
    3b:
    XX XX XX             jmp 791EA

> Zitat

> memcpy_s
> 2 RDX (destSize)
> 3 R8 (*src)
> 4 R9 (count)
> memcpy:
> 2 RDX (*src)
> 3 R8 (count)

#1805

Andalu

Hi all,
thanks a lot for your great job guys!
I know i'm a bit OT here but i need your help :)
i successfully installed Usb3.0 driver from daniel_k on motherboard Gateway DX4870 (from acer aspire M3985, chipset B75) logically with XPSP3 :) both 'amd usb 3.0 root hub' and 'intel extensible host controller' are visible, but the usb3 ports work like usb2, the benchmark tests speed are too low for a really usb3.
My external disk too uses a blue led only when inserted on the Renesas usb3.0 pci card and always a white led when inserted in any usb2 and usb3 motherboard rear ports.
What's doesn't work correctly?
P.S.: my english is bad..sorry

#1806

diderius6

⇗ @XPLAKE8175
I cant produce a working *.aml from this DSDT from Bios 605,
even I tried the old iasl version from September 2012
and also Bios vers 603
Dietmar
PS: There are other 64 bit constants in this method also,
so I think the DSDT should look like this one for XP.
diderius6 has attached files to this post

- ⇗ DSDT.rar

#1807

skullteria

> Zitat von ⇗ canonkong im Beitrag ¶ #1789

> @skullteria
> What about USB XHCI Controller?
> USB XHCI Driver Based on ReactOS Compiler: ⇗ https://yadi.sk/d/Bo_nQun4ryJXyQ
> But not work on win7.

unfortunately, the source code from Win 10 has some missing functions, is not really easy to compile it...I need more time.
And, reactos xhci is broken, incomplete, can't be used.

#1808 | XPLAKE8175 | ⇗ @diderius6 Another issue your igxp32 driver still gets error code 10

#1809

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1786

> By the way, how much RAM available does XP x64 shows in System Properties?
> For some reason, here it shows only 15.9GB instead of the full 16.0 GB RAM.

check with any e820 tool ram ranges, if is it 15.9 - bios claimed some ram

#1810 | Mov AX, 0xDEAD | Does anyone have a Longhorn x64 windows version <= 4042 ? if yes, please share acpi.sy_
#1811 | XPLAKE8175 | How can I get september 2012 bios for my asus k555lb (x555lb)?
#1812 | diderius6 | ⇗ @XPLAKE8175 I think, it is because of the unknown imports. Take a look with C:\iasl how the other ssdt tables have to be connected to DSDT via the -e switch Dietmar

#1813

infuscomus

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1810

> Does anyone have a Longhorn x64 windows version <= 4042 ?
> if yes, please share acpi.sy_

⇗ @Mov AX, 0xDEAD
try here
⇗ https://winworldpc.com/product/windows-l...n-vis/pre-reset

#1814 | XPLAKE8175 | I downgraded my bios to version 603 and which dsdt table is true for my 603 version ami?

#1815

diderius6

⇗ @XPLAKE8175
Place all SSDT/DSDT in a single directory (rename them to *.aml as you move them) and use a recent build of iasl to disassemble:
cd "to directory where you placed all SSDT/DSDT"
iasl -da -dl *.aml
Then work with the resulting *.dsl. You'll find you have less errors to deal with
Dietmar
PS: iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml

## Page 122

#1816 | XPLAKE8175 | Getting syntax error.
#1817 | XPLAKE8175 | My dsdt decreases to 0kb.

#1818

daniel_k

⇗ @skullteria, nice job with the driver!
About the available system RAM, I know the system may reserve some amount.
However, concerning Windows XP x64 and Server 2003 32-bit with PAE enabled, it didn't happen with my H270 board.
It's the first time I've seen such behaviour.
⇗ @diderius6, ⇗ @Mov AX, 0xDEAD
Something has changed between 200 and 300 series chipsets.
Will see if something has changed in the ACPI tables.

#1819

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1804

> You shift code, this is not i like, in this case i prefer more generic way (but more complex and need some knowledge of mapping segment)
> 1) extend code segment to max available (max is begin of next segment - 1 byte) in PE header
> 2) look in reloc table about possible reloc in calling memcpy_s (ff 15 76 1f 01 00 is call qword PTR [rip+0x11f76] , so it is IP relative call and no need reloc)
> 3a) if no reloc replace CALL memcpy_s to CALL newcode to new code placed at end of segment
> or
> 3b) replace CALL memcpy_s to JMP newcode to new code placed at end of segment
> 4) add new commands with any lengh (but dont use absolute adressing, otherwise you need patch reloc table)

Thanks, I think I understand all your points.
Let me see what I can do.

#1820

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #1805

> Hi all,
> thanks a lot for your great job guys!
> I know i'm a bit OT here but i need your help :)
> i successfully installed Usb3.0 driver from daniel_k on motherboard Gateway DX4870 (from acer aspire M3985, chipset B75) logically with XPSP3 :) both 'amd usb 3.0 root hub' and 'intel extensible host controller' are visible, but the usb3 ports work like usb2, the benchmark tests speed are too low for a really usb3.
> My external disk too uses a blue led only when inserted on the Renesas usb3.0 pci card and always a white led when inserted in any usb2 and usb3 motherboard rear ports.
> What's doesn't work correctly?
> P.S.: my english is bad..sorry

Make sure that the USB3 (XHCI) BIOS settings are properly configured.
Try the driver in this post:
¶ Windows XP SP3 32bit and modern PC parts (89)

#1821 | XPLAKE8175 | ⇗ @diderius6 iasl.exe shows me a syntax error at line 9134, 25964 and 29338.
#1822 | diderius6 | ⇗ @XPLAKE8175 Yes, for me was the same. Make a try with post 1815 Dietmar
#1823 | XPLAKE8175 | ⇗ @diderius6 I got a different error named "compiler aborting due to syntax error(s).

#1824

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1819

> Thanks, I think I understand all your points.

more details:
1) hdaudbus.sys win7 x64
2) original pe header
.text - main code segment/section
.rdata - next segment
3) in memory .rdata will be mapped starting from 13000, .text starting from 1000
max available size of .text is (13000-1000)=12000 in memory
4) size of filled .text in header is 110A4, we get unused mapped gap 0xF5C bytes (12000-110A4)
5) check limitation of our gap inside file:
.text offset 400+ size 11200=11600 is offset of last byte of .text
.rdata offset = 11600, so we have 0 additional free bytes
6) raw size .text is 11200 (size in file), this is max possible size for us
7) change virtual size 110A4=>11200 in pe header, we get unused GAP 0x15C bytes (11200-110A4) in file
8) remember about 110A4 adress, it is last byte of original payload, all after this byte and before start of .rdata is garbage and we will use it !!!
9) place new code starting from 110A4+1 virtual adress (110A4+1 -1000 +400 is offset in file)
unfortunately it may happen that the size of the payload (.text) will be almost equal to the size of raw size, in this case we have only few free bytes and we need find other way to allocate enough amount of bytes

#1825

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #1820

> Make sure that the USB3 (XHCI) BIOS settings are properly configured.
> Try the driver in this post:
> ¶ Windows XP SP3 32bit and modern PC parts (89)

Thank you for reply ;)
there is not XHCI option in bios, the mobo comes from an acer pre-assembled pc and the bios has few options only.
I installed too the "Renesas_FINAL_NEW" and the rear ports are still seen as usb2 but now:
- Intel USB3.1 eXtensible Host Controller and Renesas Electronics Usb 3.0 Host Controller have a new advanced tab where i disabled USB 3.0 power saving features;
- i got the message "this storage device can work faster if connected to a usb 3.0 port" for every device connected to the rear usb3 ports.
Can i try something else?

#1826 | skullteria | Well, i made some tests of USBXHCI from Win8, add functions needed to the kernel. However, this driver has a call to security_cookie_check, only avaiable on Win8 or above (win 8 kernel init security cookie). So, i need from somebody make a fix of this function, removing security_cookie_check call. I will attatch driver on some hours.

#1827

diderius6

⇗ @infuscomus
I make a new try with XP64 on Ryzen.
Always the same BSOD
`0x0000007E (0xFFFFFFFFC0000005, xxx, yyy)
acpi.sys - Address xxx`
Dietmar
PS: 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred, here by acpi.sys.
EDIT: May be, a reduce the memory to 2 Gbyte during setup will help. But I do not have a 2 GB ram stick.
May be, during setup the allowed memory for XP64 can be reduced to 2 Gbyte.

#1828

Mov AX, 0xDEAD

> Zitat von ⇗ skullteria im Beitrag ¶ #1826

> So, i need from somebody make a fix of this function, removing security_cookie_check call. I will attatch driver on some hours.

    void security_check_cookie(DWORD PTR) {
        return;
    }

#1829

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1828

> > Zitat von ⇗ skullteria im Beitrag ¶ #1826

> > So, i need from somebody make a fix of this function, removing security_cookie_check call. I will attatch driver on some hours.

>     void security_check_cookie(DWORD PTR) {
>         return;
>     }

How add it to driver?

#1830

Mov AX, 0xDEAD

> Zitat von ⇗ skullteria im Beitrag ¶ #1829

> How add it to driver?

binary or source ?
if binary:
1) in import table remove check_cookie_xxx record from list
2) now original record will be not filled by loader, insert in these 4 bytes offset to any ret command
3) add 1 new reloc info with address of record
original call sec_xxx will load adr of subcall from patched record, call to it, return

## Page 123

#1831 | daniel_k | ⇗ @Mov AX, 0xDEAD Unfortunately there are just 5 free bytes, useless. But I've got an idea: in the end of the .text section, there are dozens of strings separated by several CCh. I'll move a couple together, update the address at the referenced code and use the "created" space.

#1832

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #1825

> there is not XHCI option in bios, the mobo comes from an acer pre-assembled pc and the bios has few options only.
> I installed too the "Renesas_FINAL_NEW" and the rear ports are still seen as usb2 but now:
> - Intel USB3.1 eXtensible Host Controller and Renesas Electronics Usb 3.0 Host Controller have a new advanced tab where i disabled USB 3.0 power saving features;
> - i got the message "this storage device can work faster if connected to a usb 3.0 port" for every device connected to the rear usb3 ports.
> Can i try something else?

What is the exact model of your system?
And country of purchase? Some models can only be found in the specific country support site.

#1833

infuscomus

⇗ @daniel_k
PETool 0.0.5 can insert extra space in-between sections, maybe it can help?
originally found here
⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/
infuscomus has attached files to this post

- ⇗ PE_Tool_0.0.5.zip

#1834 | XPLAKE8175 | I'm now using the rw utility for the XP compilant acpi and I found some strings named OSXP and OSYS. The OSXP string equals 0x10.
#1835 | XPLAKE8175 | ⇗ @diderius6 Getting same errors with SSDTs
#1836 | diderius6 | ⇗ @XPLAKE8175 Can you send me the new builded DSDT.dsl from all the *.aml together Dietmar

#1837

XPLAKE8175

⇗ @diderius6
Here is my zip file with my new DSDT.dsl and all aml files inside:
XPLAKE8175 has attached files to this post

- ⇗ ssdt.zip

#1838

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #1832

> What is the exact model of your system?
> And country of purchase? Some models can only be found in the specific country support site.

My system was an Acer Aspire M3985 and i have kept only the motherboard from it, a IPIMB-AR Rev.1.02A with chipset B75. The country of purchase is Italy.
I also tried to install the driver "AMDXHCI_FINAL" on a Msi CSM-Q87M-E43 mobo but i got always error code 10 even if in bios the XHCI and EHCI options are both or alternatively enabled or disabled. Same results with the driver "Renesas_FINAL_NEW".
So strange, on the older mobo with no XHCI option in bios the drivers are loaded even if the usb3.0 ports work as usb2, on a newer mobo with XHCI/EHCI options in bios, the driver doesn't work.
Edit: the motherboard lga1155 B75 is "IPIMB-AR Rev:1.02A"

#1839 | XPLAKE8175 | ⇗ @diderius6 I sent you an ssdt.zip file please extract it.

#1840

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1831

> @Mov AX, 0xDEAD
> Unfortunately there are just 5 free bytes, useless.

1) in drivers exist section INIT, this is also code section, but after driver initialised this memory is cleaned
to avoid this rename section to .text and make it in header nopageable and nondiscardable
or
2) create new code section, virtual adress must not overlap with existing sectons

#1841 | infuscomus | ⇗ @diderius6 i found debug builds of windows vista ⇗ https://www.getmyos.com/windows-vista-ho...arter-32-64-bit hopefully you can use them to fix the ACPI bug for vista

#1842

diderius6

⇗ @XPLAKE8175
I see, that 19 dependencies are solved
but still 10 are unsolved.
Make a new try with building a refs.txt
as in
⇗ https://hackintoshpro.com/patch-dsdt-hackintosh/
Dietmar

#1843 | diderius6 | ⇗ @infuscomus This is a nice finding :)) Dietmar
#1844 | XPLAKE8175 | ⇗ @diderius6 SSDT files do not create a .dsl file. I think the 10 unsolved dependecies relates to the missing ssdt*.dsl. I created .aml of dsdt and ssdt* by RWeverything.
#1845 | XPLAKE8175 | I tried the more dangerous way: RWEverything.

## Page 124

#1846

Mov AX, 0xDEAD

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1845

> I tried the more dangerous way: RWEverything.

dsdt in bios and on live system is not same !
RWEverything helps to show/extract which ssdts are used

#1847 | XPLAKE8175 | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD I Extracted All DSDT/SSDTs in AIDA64 Engineer got 8 unresolved dependencies.
#1848 | XPLAKE8175 | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD All DSDT/SSDTs were Extracted by AIDA64 (Recommended by patchers), got the text in dsdt.dsl, iASL Warning: There were 41 external control methods found during disassembly, but only 33 were resolved (8 unresolved).
#1849 | XPLAKE8175 | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD How can I find DSDT/SSDTs in my bios with a program? If there is a program available how can I extract all my DSDT/SSDTs?

#1850

diderius6

XPLAKE8175
I have had no Bios before,
where I need other SSDT tables.
Have you build a refs.txt file?
With its help, all unsolved dependencies are gone at once.
Problem in this is only to find the correct numbers.
When you use the iasl.exe from Sept 2012,
a lot of numbers are shown correct.
If I where at your place, i would read about refs.txt
on the hackintosh sites. They have the same problem and solved it for
a lot of Bios
Dietmar

#1851

Mov AX, 0xDEAD

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1848

> @diderius6 @Mov AX, 0xDEAD
> iASL Warning: There were 41 external control methods found during disassembly, but only 33 were resolved (8 unresolved).

iasl -fe external.txt -e ssdt1 ssdt2 ... ssdtx -d dsdt.bin
external.txt (example for h110):

> Zitat

> External (AL6F, MethodObj, 0)
> External (HLVT, MethodObj, 0)
> External (P0L6, MethodObj, 0)
> External (P1L6, MethodObj, 0)
> External (P2L6, MethodObj, 0)
> External (PS0X, MethodObj, 0)
> External (PS2X, MethodObj, 0)
> External (PS3X, MethodObj, 0)
> External (_SB_.PCI0.PAUD.PUAM, MethodObj, 0)
> External (_SB_.PCI0.XHC_.DUAM, MethodObj, 0)
> External (_SB_.PCI0.XHC_.RHUB.INIR, MethodObj, 0)
> External (_SB_.PCI0.SAT0.SDSM, MethodObj, 4)
> External (MDBG, MethodObj, 1)
> External (_SB_.TPM_.PTS_, MethodObj, 1)

if iasl found dependies in ssdt - ignore it, only dsdt is matter

#1852

Mov AX, 0xDEAD

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1849

> @diderius6 @Mov AX, 0xDEAD
> How can I find DSDT/SSDTs in my bios with a program? If there is a program available how can I extract all my DSDT/SSDTs?

UEFIExtract
DSDT file has signature "DSDT" at begin

#1853 | XPLAKE8175 | ⇗ @Mov AX, 0xDEAD How Can I add IT?

#1854

diderius6

⇗ @XPLAKE8175
I found 54 SSDT tables in your Bios 605.
Just use UEFI tool and search with SSDT.
Only from the *.raw files you always extract body and rename them
ssd1.aml until ssd54.aml .
Put them all together in one folder with DSDT.aml
and use the command line directed to that folder from
⇗ @Mov AX, 0xDEAD
Dietmar

#1855 | XPLAKE8175 | How can I find it? And I downgraded my bios to version 603

#1856

diderius6

⇗ @XPLAKE8175
Download the same Bios as yours from website.
Download latest version of Uefi Tool from here.
Put them both in one folder.
Open this downloaded Bios with this Uefi Tool.
Type in header of Uefi Tool search SSDT. Disable mark unicode there.
At the bottom are all the places are shown with found word SSDT.
Click each of them (only those called "raw") and click "extract body", store them one by one in one folder with name ssdt1.aml until ssdt54.aml.
The same for DSDT,
Dietmar

#1857 | XPLAKE8175 | I got non-ascii characters error.

#1858

diderius6

⇗ @XPLAKE8175
Some "raw" files may do not contain a valid SSDT table.
So, first add one, if no message about "non-ascii characters error"
appears the next and so on.
If for one table this message appears, just delete it.
Are you sure, that you chose "extract body" for each "raw" file
Dietmar

#1859 | XPLAKE8175 | I extracted files now I get AE_ALREADY_EXISTS Error.
#1860 | diderius6 | ⇗ @XPLAKE8175 ⇗ https://www.tonymacx86.com/threads/solve...s-error.195653/ Dietmar

## Page 125

#1861 | XPLAKE8175 | I'm Getting same error.

#1862

diderius6

⇗ @XPLAKE8175
You can also use acpidump on this notebook
for to get the loaded tables direct from memory.
This makes sure, that no table is loaded double.
In the comment of this error you find an explanation,
which device is also the same in another SSDT table.
From this comes the error, only 1 SSDT table is allowed for each device,
Dietmar
PS: Make sure, that for each disassemble try you use a new folder with all
the unchanged SSDT.aml and DSDT.aml in it.

#1863

XPLAKE8175

⇗ @diderius6
Is there any duplicate ssdt files in the zip and missing ssdts?
XPLAKE8175 has attached files to this post

- ⇗ ssdtdebug.zip

#1864 | XPLAKE8175 | ⇗ @diderius6 Did you extract my attached ssdt/dsdt files? Did you find my duplicate SSDTs or missing ssdts?

#1865

diderius6

⇗ @XPLAKE8175
Yes, I got it.
1,4,5,6,d,e,f,g,q,r,t,w are double ( I just delete them).
0,2,3,7,8,9,a,b,c,h,i,j,k,l,m,n,o,p,s,u,v,x,y,z are needed.
Dietmar
PS: Disassemble with c:\iasl -e ssdt*.aml -d dsdt.aml
Then you mod dsdt.dsl as I told
and recompile it with c:\iasl dsdt.dsl (your modded dsdt.dsl)
diderius6 has attached files to this post

- ⇗ BiosXrefstxtOri.rar

#1866

XPLAKE8175

⇗ @diderius6
I'm getting the same error but different error named failure creating object LONT. Here is the fully extracted SSDTs:
XPLAKE8175 has attached files to this post

- ⇗ iasl4.zip

#1867 | XPLAKE8175 | ⇗ @diderius6 Please send me the working dsdt.dsl.
#1868 | XPLAKE8175 | ⇗ @diderius6 Have you finished your work for my dsdt.dsl?

#1869

infuscomus

⇗ @XPLAKE8175
well I managed to get it to compile with iasl 20190703
I am inexperienced though, so I'm not sure if I broke anything
edit: also, i have not patched anything, just compiled.
infuscomus has attached files to this post

- ⇗ newdsdt.zip

#1870 | XPLAKE8175 | How can I get stock bios on my asus x555lb version 2012.

#1871

diderius6

⇗ @XPLAKE8175
Here is your modded DSDT.dsl and compiled dsdt.aml
for to awake from USB sleep
Dietmar
diderius6 has attached files to this post

- ⇗ dsdt.rar

#1872 | XPLAKE8175 | ⇗ @diderius6 Getting a5 error 0x00000001 and 0x00000002 again and again. The both acpi errors related with root resources.

#1873

diderius6

⇗ @XPLAKE8175
With asl.exe it does not work (gives A5 BSOD on newer compis for unknown reason).
You have to integrate my modded DSDT to your original Bios with full Acpi support.
Or you use "MPS" for XP hitting F5 during setup, in this case asl.exe works, because no ACPI.
When it is only acpi related,
try my very first acpi.sys from December 2018
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#1874

diderius6

Today I start with XP SP3 UEFI boot.
I chose for this the board
GA-H110M-S2H
because I can flash Bios there easy, it has a COM port
and a XP friendly Bios, just a board where you can
install everything from XP to Win10.
My first test is, if I can install there any version of UEFI Vista 32 bit.
The first version of Vista, which has efi files is
'Longhorn' 6.0.5112.0) (beta1)
It has NTDETECT.COM, ntldr, bootmgr,
winldfw.efi, winnvram.efi.
The first Vista 32 bit,
which has full UEFI support is
''Longhorn'' 6.0.5219.0) (beta2)
It has bootmgr,
hibrsm32.efi, winldfw.efi, winnvram.efi,
bootmgfw.efi, bootmgr.efi.
The last version of Vista 32,
which has efi files is
''Longhorn'' 6.0.5472.5) (beta2)
It has bootmgr,
winload.efi, bootmgfw.efi, bootmgr.efi
Dietmar
PS: Also I will test, if it is possible,
to use the Win7(grub, bootia32.efi?), win8 32 bit efi files for UEFI boot of Vista, XP SP3.

#1875

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1874

> GA-H110M-S2H
> ...
> My first test is, if I can install there any version of UEFI Vista 32 bit.

most modern MB is uefi x64, so impossible run anything 32 bit
there is hard way to do this - write uefi translator, in case winxp it will emulate real-mode bios functions, translate to uefi x64 calls, switch cpu from 16-bit real-mode to x64 protected-mode and vice versa. Some like CSM module, but as custom uefi loader on disk

## Page 126

#1876 | diderius6 | ⇗ @Mov AX, 0xDEAD I see on a chinese Website, that they succeed with bootia32.efi Dietmar ⇗ https://translate.google.com/translate?d...700262,15700265
#1877 | infuscomus | ⇗ @Mov AX, 0xDEAD can we maybe work around this by using a linux bootloader like grub2 to start and then load the .efi files?

#1878

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1876

> I see on a chinese Website, that they succeed with bootia32.efi

fake, uefi x64 can only load \EFI\BOOT\BOOTX64.EFI (maybe linux loaders too with special names like "grubx64.efi")

#1879 | diderius6 | Mov AX, 0xDEAD "Some like CSM module, but as custom uefi loader on disk" Have you ever seen something like a generic CSM module Dietmar
#1880 | infuscomus | ⇗ @Mov AX, 0xDEAD If you boot into grub2 64-bit in EFI mode with grubx64.efi, can you start 32-bit .efi executables from there? like chainloader (hd0,4)/efi/Boot/bootmgfw.efi if bootmgfw.efi is 32-bit?

#1881

diderius6

May be, there is a way:
Is it possible, to flash into every 64 bit UEFI Bios
just the file BootIA32.efi
and start any 32 bit or 64 bit system now via this integrated
BootIA32.efi
Dietmar

#1882

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1879

> Mov AX, 0xDEAD
> "Some like CSM module, but as custom uefi loader on disk"
> Have you ever seen something like a generic CSM module

i never heard about CSM projects, but anyone can see how it is implemented in real bioses (leaked 2013 sources from ami)
i know only about DUET, but this is emulation "uefi x64 over legacy bios"

#1883

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #1880

> If you boot into grub2 64-bit in EFI mode with grubx64.efi, can you start 32-bit .efi executables from there?
> like
> chainloader (hd0,4)/efi/Boot/bootmgfw.efi
> if bootmgfw.efi is 32-bit?

this is interesting, because centos/fedora x64 ISOs have separate loaders for uefi_x64 and uefi_ia32:

> Zitat

> BOOTIA32.EFI->grubia32.efi->grub.cfg
> BOOTX64.EFI->grubx64.efi->grub.cfg

grub.cfg is same for both loaders and has command to load kernel:

> Zitat

> linuxefi /images/pxeboot/vmlinuz

vmlinuz is x64 kernel
seems exist way to run linux kernel with any uefi, but i dont understand how it works )

#1884 | infuscomus | ⇗ @Mov AX, 0xDEAD XP x64 works in 64-bit UEFI at least - ⇗ https://www.betaarchive.com/forum/viewto...=20327&start=82

#1885

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #1884

> @Mov AX, 0xDEAD
> XP x64 works in 64-bit UEFI at least - ⇗ https://www.betaarchive.com/forum/viewto...=20327&start=82

yes, uefi x64 <-> os x64 and uefi x32 <-> os x32 works
diderius6 want to mix...

#1886 | diderius6 | ⇗ @Mov AX, 0xDEAD ⇗ https://wiki.ubuntuusers.de/Howto/Instal...auf_EFI-System/ Dietmar PS: 64 bit Uefi Bios => runs 32 Bit OS
#1887 | Mov AX, 0xDEAD | chinese guy maked custom loader/grub2x64.efi(??) to run DOS, XP, GRUB4DOS, WIN32, WIN64 ⇗ http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373513 english comments with grub2x64.efi download link to ⇗ https://github.com/a1ive/grub/issues/2 maybe this is what we need or i wrong
#1888 | skullteria | Well, winload.exe on from longhorn 5048 until Vista 5307 won't work on real computer. When try load system, i get BILoadLibry 0x0000017. When i try some version up 5307, get A5 error. Somebody can try solve it , both BI error and A5? It is important use new loader on Xp/2003

#1889

infuscomus

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1887

> chinese guy maked custom loader/grub2x64.efi(??) to run DOS, XP, GRUB4DOS, WIN32, WIN64
> ⇗ http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373513
> english comments with grub2x64.efi download link to ⇗ https://github.com/a1ive/grub/issues/2
> maybe this is what we need or i wrong

⇗ @Mov AX, 0xDEAD
nice find! Thanks!
I was looking for something that could boot FreeDOS in UEFI mode.

#1890

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1886

> @Mov AX, 0xDEAD
> ⇗ https://wiki.ubuntuusers.de/Howto/Instal...auf_EFI-System/
> PS: 64 bit Uefi Bios => runs 32 Bit OS

i've searched a little and found how it works - it is KERNEL magic )
if kernel compiled with special setting "CONFIG_EFI_MIXED", it can be runed in uefi_x32/uefi_x64 with special loader
⇗ https://cateee.net/lkddb/web-lkddb/EFI_MIXED.html
loader must have "EFI handover protocol" and grub2 probably implemented it as special command linuxelf in conf
linux-src-4.9\arch\x86\platform\efi\efi_thunk_64.S:

> Zitat

>     /
>      * Support for invoking 32-bit EFI runtime services from a 64-bit
>      * kernel.
>     /

so linux kernel has own emulation layer x32<->x64

## Page 127

#1891

diderius6

⇗ @Mov AX, 0xDEAD ⇗ @infuscomus

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1887

> chinese guy maked custom loader/grub2x64.efi(??) to run DOS, XP, GRUB4DOS, WIN32, WIN64
> ⇗ http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373513
> english comments with grub2x64.efi download link to ⇗ https://github.com/a1ive/grub/issues/2
> maybe this is what we need or i wrong

When I understand the discussion forum for this general grub2x64.efi correct,
XP SP3 can be just loaded via ntldr on a pur 64bit UEFI without any CSM support?
Only menu.lst with content
root (hd0,0)
chainloader /ntldr
boot
Thats all?
Dietmar
PS: I am not good with syntax for grub. Where has
"If you boot into grub2 64-bit in EFI mode with grubx64.efi, can you start 32-bit .efi executables from there?
like
chainloader (hd0,4)/efi/Boot/bootmgfw.efi
if bootmgfw.efi is 32-bit?"
to stay this special grub2x64.efi ?

#1892 | infuscomus | ⇗ @diderius6 if this grub2x64.efi is able to boot XP ntldr directly then we wont need to use bootmgfw.efi or any other vista beta files.

#1893

Mov AX, 0xDEAD

Presentation from Intel how linux kernel boot in mixed uefi mode
Mov AX, 0xDEAD has attached files to this post

- ⇗ mixing-it-up-with-efi-mixed-mode.pdf

#1894

diderius6

From the Betaarchive
Some Vista builds around Beta 2 actually have experimental UEFI support, and the winload.efi from 5219 x86 can actually boot XP.
So here is how to make it work.
Create two partition on the HDD, a C partition which is FAT for boot files, and a D partition which is NTFS for XP, make both partition as primary partition.
Install XP to D: in BIOS as normal.
Get these files from 5219 x86 ISO:
install.wim\Windows\System32\winload.efi
install.wim\Boot\EFI\Microsoft\BootMgr\bootmgfw.efi
Copy bootmgfw.efi to C:\EFI\Boot\bootia32.efi
and copy winload.efi to D:\Windows\System32
Then edit C:\boot.ini like this, change the path accordingly.
Yes, 5219 is one of the early builds that uses boot.ini in bootmgr instead of BCD.
Code:
[boot loader]
timeout=30
NOBCD
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT /USENEWLOADER
Then you should boot XP in EFI mode.
EDIT: On the Gigabyte h110m-s2h this Tutorial from betaarchive does not work.
Ok, when now you have a grub2, which can boot from any uefi 32 or Uefi 64bit Bios it should be done
Dietmar

#1895 | Mov AX, 0xDEAD | Another option is patching source code of boot- and os-loader (leaked Windows Shared Source). For loading win_x32 on uefi_x64 we still need translation layer, but much easy to integrate it to existing sources.
#1896 | Mov AX, 0xDEAD | Video CSM Project ⇗ https://github.com/davidcie/VgaShim
#1897 | diderius6 | ⇗ @Mov AX, 0xDEAD Can you compile the source code for win_x32 on uefi for Win server 2003 and XP SP3? This would be a big step forward, Dietmar PS: Have you tried to boot XP from Vista Uefi files?

#1898

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1897

> @Mov AX, 0xDEAD
> Can you compile the source code for win_x32 on uefi
> for Win server 2003 and XP SP3? This would be a big step forward,

these sources incomplete, need first reverse missing files (many .h and libs)

#1899 | diderius6 | ⇗ @Mov AX, 0xDEAD With Win8 32bit, may be other can help you Dietmar

#1900

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1899

> @Mov AX, 0xDEAD
> With Win8 32bit, may be other can help you

Sorry, i don't have motivation to do something with "pure" uefi booting since most desktop MBs still have CSM, that's enough for winxp.
only booting from single 3TB+ GPT disk is still an interesting problem

#1901

diderius6

⇗ @daniel_k
I just do the USB mod in DSDT in Bios for full Intel chipset USB3 support on the
gigabyte h110m-s2h
board, works nice :))
Dietmar
⇗

#1902

diderius6

Seems, that there is an UEFI 32 bit Windows just now, which can start on Uefi 64 bit Bios
Dietmar
"WIMBoot is available for client editions of Windows 8.1 with Windows 8.1 Update only (not server versions). All architectures are supported, including amd64, x86, and ARM. Some enterprise deployment tools do not support WIMBoot.
WIMBoot is available only for UEFI-based PCs running in UEFI mode (legacy BIOS-compatibility mode isn't supported)."
"You can install and boot Windows 8 32bit UEFI, but it's not that simple. It involves using command prompt and a Windows PE 32 bit UEFI boot disk (if available) along with a 32 bit Windows WIM file.
The most easy way is to remove the hard disk (or ssd) and get a USB adapter for it and use another workstation to deploy the image. If this option is not available you will need to boot from the Windows PE disk 32 bit UEFI and have the wim image in that disk.
I'll try to keep the instructions as simple as possible. If you don't understand a term, you can google that. There's plenty of information available. If you don't have a wim file available google instructions on how to capture an OS image properly. The beauty of this is that it doesn't have to be UEFI, it can be BIOS, but it has to be 32 bit. I installed mine to a Virtual Machine then captured the wim file.
On CMD type diskpart
Type "list disk" so you know what disk you are going to format, then follow the next commands:
Select disk #
Clean
Convert GPT
Create partition MSR size=128
Create Partition EFI size=100
Format fs=fat32 quick Label="System"
Assign letter=S
Create Partition Primary
Format fs=ntfs quick label="Windows"
Assign letter=W
exit
Now it's time to apply the image using DISM
Dism /apply-image /imagefilae:(directory and filename of your wim file) index:#(the number of the image. If you used a captured image of your own, type 1, otherwise you'll need to know which one is it) /applydir:w:\
example:
dism /apply-image /imnagefile:x:\win832uefi.wim /index:1 /applydir:w:\
Wait until it finished. USB 2.0 can be quite slow.
Finally, this is the crucial part, adding the boot manager with UEFI support
w:\windows\system32\bcdboot w:\windows /f ALL /s S:
Voila! Install the HDD to your device or reboot and remove Windows PE media. You should be able to boot uefi 32 bit now.
Hope this helped. "
"After a bit of tampering with additional ISOs, I've realized that you can just replace the \sources\install.wim file on a Win 8/8.1/10 bootdisk with the one from Win7 to make it work.
Just get a Win8/8.1/10 ISO
Open it using an ISO-explorer (like UltraISO)
Replace \sources\install.wim with that from the Win7 ISO/DVD
Save as a new ISO, and/or burn it into the installation DVD or on a USB/external HDD active Fat32 partition.
The installation UI will be of the bootdisk's Win version, but it will certainly install Windows7."

#1903

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #1833

> @daniel_k
> PETool 0.0.5 can insert extra space in-between sections, maybe it can help?
> originally found here
> ⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/

Thanks!

#1904 | daniel_k | ⇗ @Andalu Did you the black USB 2.0 and blue USB 3.0 ports? All ports work? Just saw the service manual, there isn't much to be done if there are no settings available in BIOS Setup.

#1905

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1840

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1831

> > ⇗ @Mov AX, 0xDEAD
> > Unfortunately there are just 5 free bytes, useless.

> 1) in drivers exist section INIT, this is also code section, but after driver initialised this memory is cleaned
> to avoid this rename section to .text and make it in header nopageable and nondiscardable
> or
> 2) create new code section, virtual adress must not overlap with existing sectons

Thanks for your suggestions, ⇗ @Mov AX, 0xDEAD!
Will try later, way too much work to patch 120+ calls.

## Page 128

#1906 | daniel_k | ⇗ @diderius6, sent you a PM with something interesting for you to try. PS: Nice job with your H110 board! Good luck with your UEFI x86 project!
#1907 | diderius6 | ⇗ @daniel_k Yesssaa, nice:)) Do you have a link for this, is it your project Dietmar

#1908

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #1904

> @Andalu
> Did you the black USB 2.0 and blue USB 3.0 ports?
> All ports work?
> Just saw the service manual, there isn't much to be done if there are no settings available in BIOS Setup.

All ports of my two motherboards, including usb3, work correctly as usb2.
For the Msi CSM-Q87M-E43, although the two options XHCI hand-off and EHCI hand-off are available in the bios the driver don't install anyway and i got errore code 10 for the "Intel USB3.1 extensible host controller"; instead for the older mobo (IPIMB-AR Rev.1.02A from acer aspire M3985) with no XHCI and EHCI options available, the driver loaded correctly but usb3 ports act still as usb2.
The device ID are PCI\VEN_8086&DEV_8C31&CC_0C0330 for Msi CSM-Q87M-E43 and PCI\VEN_8086&DEV_1E31&CC_0C0330 for IPIMB-AR.
Thanks for your attention ;)

#1909

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1901

> I just do the USB mod in DSDT in Bios for full Intel chipset USB3 support on the

what mod ? 64bit constants ->32 ?

#1910

diderius6

⇗ @Mov AX, 0xDEAD
Yes, some 64bit constants cant live together with XP 32 bit until now in DSDT.
This is minimod for to awake USB on Intel chipset here for the gigabyte h110m-s2h board
Dietmar
diderius6 has attached files to this post

- ⇗ DSDT.rar

#1911 | daniel_k | ⇗ @diderius6, yeah, it's my project. Shh, it's private, for now. Sent you the link. Please give me your feedback by PM.

#1912

daniel_k

⇗ @Andalu, unfortunately, for now, I don't have any other suggestions.
What I can say is that at least it works in USB 2.0 mode in the Acer board. Better than nothing.
About the MSI board, will take a look at its ACPI table to see if there is something suspecting.
Mod the Acer BIOS may be too risky, I wouldn't do that, it's an old board, you may end up spending more money in case something goes wrong.

#1913

diderius6

⇗ @daniel_k
For UEFI boot and I think all other steps of future XP this is a good base.
Very soon XP will be more modern than Win7.
Have you read in post above, that it is possible to
use all the *.efi from win8, 8.1, 10 for Win7 (also efi 32 bit on 64 bit Uefi Bios).
Just change on the installations medium the original install.wim
against your wished one.
I just try to use the x86 *.efi files from Win8 for a direct efi boot of Vista 32 bit
Dietmar

#1914

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1910

> @Mov AX, 0xDEAD
> Yes, some 64bit constants cant live together with XP 32 bit until now in DSDT.

ok i dont need this because i have this )

#1915 | diderius6 | ⇗ @Mov AX, 0xDEAD Is this QWordConst_check code in your acpi.sys for XP SP3? Have you tested, if this code overcomes the BSOD A5 during use of asl.exe with full acpi support uploading a modded DSDT Dietmar
#1916 | diderius6 | ⇗ @daniel_k I just have integrated the STORAHCI.sys driver from ⇗ @skullteria from post 1020 and install it on the gigabyte h110m-s2h board Dietmar
#1917 | Andalu | ⇗ @daniel_k Thanks for your time ;)

#1918

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1915

> Have you tested, if this code overcomes the BSOD A5
> during use of asl.exe with full acpi support uploading a modded DSDT

this patch to _ParteIntObj allow use 0x0E opcode(QWORD_OP) in dsdt code, no more A5-C0140001 error for x64 constants.
for full functionality need set "0x0E record" in _OpcodeTable to _atDataObj (_atDataObj is record for integers types).

#1919

daniel_k

⇗ @diderius6 and all
Please use the driver in the archive AMDXHCI_XP_FINAL.rar.
It works just fine on Intel USB 3.x controllers on real machines and on VirtualBox with USB controller in 3.0 (XHCI) mode.
I've used a trick, so USBD.SYS is automatically installed if missing.
Updated with V2 (Dec 19, 2019):
- revised device check patch
- applied small bug fix to 32-bit (x86), as seen on newer 153 and later releases. 64-bit is not affected.

#1920 | daniel_k | ⇗ @diderius6 If I understand correctly and if Mov AX, 0xDEAD gave us all the required steps to add support for qwords, try the acpi.sys (checked/debug version included) or apply the changes to yours

## Page 129

#1921

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1809

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1786

> > By the way, how much RAM available does XP x64 shows in System Properties?
> > For some reason, here it shows only 15.9GB instead of the full 16.0 GB RAM.

> check with any e820 tool ram ranges, if is it 15.9 - bios claimed some ram

Which tool would you recommend?
Curious to see. Is it possible to tell the device the RAM is reserved to?

#1922

diderius6

⇗ @daniel_k
I just test your mod for qwords on acpi.sys on the Gigabyte board h110m-s2h.
There it gives BSOD 0x7B.
This BSOD belongs to the mod in the acpi.sys,
because with original acpi.sys it starts normal
and also with modded acpi.sys in "MPS" mode, means
without any acpi
Dietmar

#1923

diderius6

⇗ @daniel_k ⇗ @Mov AX, 0xDEAD
During tests with the Gigabyte h110m-s2h board
I start to understand, how the asl.exe tool works.
asl.exe does nothing more, than to copy the wished DSDT.aml file
to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI\parameters.
In december last year I did heavy mod the DSDT table in Bios of h110, so that no need for mod
in acpi.sys was needed.
With this heavy modded Bios I noticed an interesting thing: asl.exe copies as usual the modded dsdt table to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI\parameters.
But now, on next reboot XP uses the original Bios DSDT, means not interested in the modded DSDT at
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI\parameters.
Now it is clear: The mod in Bios with OSYS meets (blocks) a function, that XP needs for to use the DSDT in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI\parameters.
But because this function is blocked via OSYS for XP in Bios, the table cant be loaded
and so the original DSDT from Bios is used.
Conclusion: In this via Osys blocked function happens later the BSOD A5 of (asl.exe used before),
when XP can use it because of no block via OSYS
Dietmar

#1924

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1921

> Which tool would you recommend?
> Curious to see. Is it possible to tell the device the RAM is reserved to?

best is use livecd with DOS + e820.exe/EXTINFO.EXE
worst is rweverything, it show e820 map other way
Mov AX, 0xDEAD has attached files to this post

- ⇗ e820.zip

#1925

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1920

> @diderius6
> If I understand correctly and if Mov AX, 0xDEAD gave us all the required steps to add support for qwords, try the acpi.sys (checked/debug version included) or apply the changes to yours

1 hook _parseintobj in place like "dec esi" (esi - opcode), comparing esi vs 0xe8 (given that the compiler has optimized the CASE statement in C Language and the esi is constantly decreasing), then restore original instruction and jmp back. I chose hook in instruction "sub esi, 0F3h" and replaced it to "jmp _QWordConst_check"
2 allocate free bytes in code section, add processing 0xe8 opcode (result.integer is just "+8")
3 add reloc to 0x2D368(0x1D368 RVA)

#1926 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks for the E820 tool.

#1927

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1926

> @diderius6, try both these, not sure if I following the logic correctly, so please try both.
> At least it didn't crash here!

still no reloc, after acpi.sys mapped to some adress in high memory, 0x0E record in opcodetable still be "90 D2 02 00", so pointed to 0x0002d290
=> access violation err (

#1928 | daniel_k | ⇗ @Mov AX, 0xDEAD, oops, I was sleepy. so missed that! ⇗ @diderius6, try both these, not sure if I followed the logic correctly, so please try both. At least it didn't crash here!

#1929

daniel_k

⇗ @diderius6, does my XP 2003 properly shows all RAM installed in System Properties?
If so, please run the utilities shared by Mov AX, 0xDEAD, in pure DOS:
¶ Windows XP SP3 32bit and modern PC parts (129)
To save the output, run
E820 > e820.txt
EXTINFO > extinfo.txt
Although I'm sure you know that. :D
I'd like to compare it with the output of my system, as follows:

    E820 Dump Tool - Version 0.1.0 - Copyright(C) Mike Hou 2011
    ----------------------------------------------------------------
            Base Address                Length             Type
    -----------------------+------------------------------+---------
     0: 0x00000000-00000000 (0x00000000-0009C400 ~ 625 KB) 1 (Memory)
     1: 0x00000000-0009C400 (0x00000000-00003C00 ~  15 KB) 2 (Reserved)
     2: 0x00000000-000E0000 (0x00000000-00020000 ~ 128 KB) 2 (Reserved)
     3: 0x00000000-00100000 (0x00000000-3FF00000 ~ 1023 MB) 1 (Memory)
     4: 0x00000000-40000000 (0x00000000-00400000 ~   4 MB) 2 (Reserved)
     5: 0x00000000-40400000 (0x00000000-74F90000 ~   1 GB) 1 (Memory)
     6: 0x00000000-B5390000 (0x00000000-00001000 ~   4 KB) 4 (NVS)
     7: 0x00000000-B5391000 (0x00000000-00001000 ~   4 KB) 2 (Reserved)
     8: 0x00000000-B5392000 (0x00000000-080CC000 ~ 128 MB) 1 (Memory)
     9: 0x00000000-BD45E000 (0x00000000-004FB000 ~   4 MB) 2 (Reserved)
    10: 0x00000000-BD959000 (0x00000000-000B3000 ~ 716 KB) 1 (Memory)
    11: 0x00000000-BDA0C000 (0x00000000-003C3000 ~   3 MB) 4 (NVS)
    12: 0x00000000-BDDCF000 (0x00000000-01230000 ~  18 MB) 2 (Reserved)
    13: 0x00000000-BEFFF000 (0x00000000-00001000 ~   4 KB) 1 (Memory)
    14: 0x00000001-00000000 (0x00000003-3F000000 ~  12 GB) 1 (Memory)
    15: 0x00000000-BF000000 (0x00000000-01000000 ~  16 MB) 2 (Reserved)
    16: 0x00000000-F0000000 (0x00000000-08000000 ~ 128 MB) 2 (Reserved)
    17: 0x00000000-FE000000 (0x00000000-00011000 ~  68 KB) 2 (Reserved)
    18: 0x00000000-FEC00000 (0x00000000-00001000 ~   4 KB) 2 (Reserved)
    19: 0x00000000-FED00000 (0x00000000-00001000 ~   4 KB) 2 (Reserved)
    20: 0x00000000-FEE00000 (0x00000000-00001000 ~   4 KB) 2 (Reserved)
    21: 0x00000000-FF000000 (0x00000000-01000000 ~  16 MB) 2 (Reserved)
    ----------------------------------------------------------------

    Extended Memory:
    INT $15, AH=$88
    Memory above 1M: 0 Kb
    INT $15, AX=$E801
    Free memory between 1M and 16M, in K: 0 Kb
    Free memory above 16M, in 64K blocks: 0 = 0 Kb
    Configured memory between 1M and 16M, in K: 0 Kb
    Configured memory above 16M, in 64K blocks: 0 = 0 Kb
    INT $15, EAX=$0000E820
    0000000000000000 : 000000000009C400 1 (Available)
    000000000009C400 : 0000000000003C00 2 (Reserved)
    00000000000E0000 : 0000000000020000 2 (Reserved)
    0000000000100000 : 000000003FF00000 1 (Available)
    0000000040000000 : 0000000000400000 2 (Reserved)
    0000000040400000 : 0000000074F90000 1 (Available)
    00000000B5390000 : 0000000000001000 4 (ACPI NVS)
    00000000B5391000 : 0000000000001000 2 (Reserved)
    00000000B5392000 : 00000000080CC000 1 (Available)
    00000000BD45E000 : 00000000004FB000 2 (Reserved)
    00000000BD959000 : 00000000000B3000 1 (Available)
    00000000BDA0C000 : 00000000003C3000 4 (ACPI NVS)
    00000000BDDCF000 : 0000000001230000 2 (Reserved)
    00000000BEFFF000 : 0000000000001000 1 (Available)
    0000000100000000 : 000000033F000000 1 (Available)
    00000000BF000000 : 0000000001000000 2 (Reserved)
    00000000F0000000 : 0000000008000000 2 (Reserved)
    00000000FE000000 : 0000000000011000 2 (Reserved)
    00000000FEC00000 : 0000000000001000 2 (Reserved)
    00000000FED00000 : 0000000000001000 2 (Reserved)
    00000000FEE00000 : 0000000000001000 2 (Reserved)
    00000000FF000000 : 0000000001000000 2 (Reserved)

Can't speak of the Z390, but the Z370 (where I ran the tools) is virtually the same as other 200 series chipsets.

#1930

diderius6

⇗ @daniel_k
About the last acpi-test1.sys, acpi-test2.sys
they both show BSOD A5 (0x11,..) without any asl.exe
on asrock fatalty k6 board
and on the EVGA z390 board,
which Bios is XP friendly
Dietmar
PS: Correcting this BSOD A5 (0x11,..) together with mod from other, working acpi.sys,
changes the situation to BSOD A5 (0x7B,..)

#1931 | daniel_k | ⇗ @diderius6, remember that Mov AX, 0xDEAD's patch is for qwords only. It only affects the USB DSDT fix. ToInteger and other opcodes may still crash Windows. Please run E820 and EXTINFO on your H110 board, when possible.

#1932

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1929

> `3: 0x00000000-00100000 (0x00000000-3FF00000 ~ 1023 MB) 1 (Memory)
> 5: 0x00000000-40400000 (0x00000000-74F90000 ~ 1 GB) 1 (Memory)
> 8: 0x00000000-B5392000 (0x00000000-080CC000 ~ 128 MB) 1 (Memory)
> 14: 0x00000001-00000000 (0x00000003-3F000000 ~ 12 GB) 1 (Memory)`
> Can't speak of the Z390, but the Z370 (where I ran the tools) is virtually the same as other 200 series chipsets.

total is 14.1, waste is about 2 gb ?
this bios is not good, it doesnt advertise memory in region 0x8000 0000-0xFFFF FFFF (2G) and no extend this claimed region in high pae ranges (limited to 0x3 3F00 0000)

#1933 | daniel_k | Mov AX, 0xDEAD Does it has something to do with my GTX 980 4GB? Maybe my ACPI table patch is not correct?! Or if there is something wrong in DOS, the same can be seen on Windows?
#1934 | diderius6 | ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD This is via Freedos 1.1 life CD on the gigabyte h110m-s2h board with 32 GByte ram Dietmar ⇗ ⇗
#1935 | daniel_k | ⇗ @diderius6, thanks! In the second picture, #3, there are 3GB (Memory), while on my Z370 there is only 1GB. Can you do the same on the Z370 and Z390, when you have time. Any system with 2x 8GB sticks?

## Page 130

#1936 | diderius6 | ⇗ @daniel_k I have only 1,2*4GB or 1,2,3,4 *16GB Dietmar
#1937 | diderius6 | ⇗ @daniel_k This is from asrock fatal1ty z370 gaming k6 board, also 32 Gb ram Dietmar ⇗ ⇗
#1938 | diderius6 | ⇗ @daniel_k And this is from EVGA Z390 DARK, also 32 Gb ram Dietmar ⇗ ⇗
#1939 | diderius6 | ⇗ @daniel_k On all 3 compis device manager shows 31.9 Gbyte free on your nice XP/ 2003 32 bit project. When I use 4 Gb ram, they all show there 3.9 Gbyte free Dietmar

#1940

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1933

> @Mov AX, 0xDEAD
> Does it has something to do with my GTX 980 4GB?

i dont think so, seems bug in bios or maybe hardware limitation (?)
my h110 4G system:

> Zitat

>     3	0000000000100000  00000000B3D44000  1:Available
>     6	00000000B3E46000  0000000007DF5000  1:Available
>     12	0000000100000000  000000003F400000  1:Available

in low memory available 2877+125 =3002Mb, in high pae 1012Mb, total 4014Mb ~ 4096Mb
in my case bios set some hardware mapping(?) to translate cpu "physical adresses" above first 4G range to "low" ramchip physical lines, because ram is 4G and has relative 0x0-0xFFFF FFFF adressing only

#1941

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #1939

> @daniel_k
> On all 3 compis device manager shows 31.9 Gbyte free
> on your nice XP/ 2003 32 bit project.
> When I use 4 Gb ram, they all show there 3.9 Gbyte free
> Dietmar

Thank you very much for your tests.
Do any of your graphics cards have 4GB of memory?

#1942 | diderius6 | ⇗ @daniel_k "Do any of your graphics cards have 4GB of memory?" No Dietmar

#1943

daniel_k

⇗ @Mov AX, 0xDEAD, thank you very much for helping us and sharing your knowledge.
Now I understand how ACPI.SYS processes the opcodes and calls a specific function for every opcode.
I was wondering, as I still don't have the knowledge to do it myself, wouldn't it be possible to add support for CreateQWordFieldOp by using the same function that processes CreateDWordFieldOp?
I mean, by adding code to handle the 64-bit address or to "extract" only the lower 32-bit portion of it and later use it as usual. Would it work somehow?

#1944 | daniel_k | ⇗ @diderius6, as my GTX 980 has 4GB of memory, surely it is the culprit.

#1945

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1943

> I was wondering, as I still don't have the knowledge to do it myself, wouldn't it be possible to add support for CreateQWordFieldOp by using the same function that processes CreateDWordFieldOp?

CreateQWordFieldOp is just creating field and no more, yes it is possible add new opcode, but it useless
fields actual used in other procs like _ReadField/_ReadFieldObj/... and need heavy patch it to support 64b fields
after i discovered "vista beta acpi.sys" anyone can add new opcode handlers to classic winxp acpi.sys, but only 32 bit integers betas is compatible with winxp. 1) copy bytes from existing acpi.sys 2) add relocs 3) create missing structs 4) add missing import or replace with internal impelemtation
that's how I made my acpi.sys but took the code from win7 x32 (converted back 64-int logic to 32-int)

#1946

daniel_k

⇗ @Mov AX, 0xDEAD, what I was trying to say is:
The following ACPI "lines" crashes XP:

    If (LEqual (M64L, Zero))
    {
    	CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)  // _LEN: Length
    	Store (Zero, MSLN) /* \_SB_.PCI0._CRS.MSLN */
    }
    	Else
    {
    	CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)  // _LEN: Length
    	CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)  // _MIN: Minimum Base Address
    	CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)  // _MAX: Maximum Base Address
    	Store (M64L, M2LN) /* \_SB_.PCI0._CRS.M2LN */
    	Store (M64B, M2MN) /* \_SB_.PCI0._CRS.M2MN */
    	Subtract (Add (M2MN, M2LN), One, M2MX) /* \_SB_.PCI0._CRS.M2MX */
    }

- add CreateQWordField, which actually calls CreateDWordField.
- Patch Store so it will ignore higher order address and just copy the lower 32-bit part.
- XP is tricked into thinking we are working with 32-bit addresses.

#1947

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1946

> - add CreateQWordField, which actually calls CreateDWordField.
> - Patch Store so it will ignore higher order address and just copy the lower 32-bit part.
> - XP is tricked into thinking we are working with 32-bit addresses.

This trick will work.
no need touch "store" because in winxp all ints are 32, so M64L/M64B/Zero is 32 too

#1948

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1947

> > Zitat von ⇗ daniel_k im Beitrag ¶ #1946

> > - add CreateQWordField, which actually calls CreateDWordField.
> > - Patch Store so it will ignore higher order address and just copy the lower 32-bit part.
> > - XP is tricked into thinking we are working with 32-bit addresses.

> This trick will work.
> no need touch "store" because in winxp all ints are 32, so M64L/M64B/Zero is 32 too

From what I understand, that was the reply I expecting.
6F680200-40BA0200-8A
1- Function address
2- Opcode "CreateDwordField" String
3- Opcode
Can I put my new opcode anywhere between two already existing opcodes?

#1949

daniel_k

⇗ @diderius6, are you following the posts?
I've had an idea about a trick and Mov AX, 0xDEAD said it will work.
Wanna give it a try?
It converts CreateQwordField into CreateDwordField.
Basically I've added CreateQwordField opcode pointing to CreateDwordField function.
Maybe this helps with X570?
Do you have a board with stock BIOS?

#1950

diderius6

⇗ @daniel_k
Half year ago, I have had the same idea to change CreateQwordField into CreateDwordField.
But just renaming was not enough and because I am no programmer I do not have the possibility
to make it work.
So I am just happy, when it can be done.
What do you mean with "stock Bios"
Dietmar
PS: Of course I will test. We only make big advantages, when we work together!

## Page 131

#1951

daniel_k

⇗ @diderius6
Whoa, I was not the first then?
I'm asking you to test because currently only have this PC built and with modded BIOS, so I can't keep flashing back and forth because I have some work to do.
Just clarifying I'm not lazy or something.
By stock BIOS I mean unpatched DSDT.
So it would be to test your H110, 'cause the Z370 has the ToInteger opcode, which crashes XP. Remember that patched DSDT I've sent to you?

#1952

diderius6

⇗ @daniel_k
The opcode
Switch (ToInteger (Arg2))
can be changed to
Switch (Arg2)
The compiler then cries, but set it to integer without using the ACPI 2.0 word ToInteger.
So, please tell me, what board should I use for test with which Bios
Dietmar
PS: Yes, I can flash now any Bios on any board forward and back, as much as I like.

#1953 | daniel_k | ⇗ @diderius6, please try on the H110 with the unmodded (original) BIOS. So I'll add ToInteger to ACPI.SYS, which will call Switch. If this works, no more DSDT hacking needed! EDIT: Switch does not exist in ACPI.SYS. Does XP ignores this? Will check ACPI specs.

#1954

diderius6

⇗ @daniel_k
Last acpi-test1.sys gives on original Bios F25
on the gigabyte h110m-s2h board
BSOD 0x000000A5 (0x00000011, 0x00000008, xxx, yyy)
Dietmar
PS: The same BSOD for last acpi-test2.sys.
0x11 : ACPI_SYSTEM_CANNOT_START_ACPI The system could not enter ACPI mode
8 : Failed to load DDB
EDIT: It is the same BSOD, problem, as around the post 217 here. I solved it there with unconditional jmp EB in acpi.sys.

#1955 | daniel_k | ⇗ @diderius6 Need to work some more. Thanks for testing it. I've got an idea about ToInteger, replace with Return. EDIT: Nevermind, I've got an idea, so I can try without messing with BIOS. I'm leaving for now, have a good night, Dietmar!
#1956 | diderius6 | ⇗ @daniel_k "Does DSDT can be modded in VirtualBox? Did you ever try?" I think yes, but the results on real compi may be different Dietmar

#1957

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1948

> 6F680200-40BA0200-8A
> 1- Function address
> 2- Opcode "CreateDwordField" String
> 3- Opcode

Not exactly, record begin with "40BA0200" - offset to string representation
8a - opcode
64BA0200 - offset to "CCN", encoded types of arguments (char,char, int ?)
02 - i dont know
.....
FF680200 - offset to handler, _CreateDWordField
if no need create new implementation, for CreateQWordField enough set 0x8F record same as 0x8A =>"10 CA 02 00"
then opcode 0x8f is equivalent of 0x8a

#1958

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1953

> Switch does not exist in ACPI.SYS. Does XP ignores this? Will check ACPI specs.

switch()+case() is no real commands
switch (Arg0) -> case (0x04) {...} is set of low level command like _T_1 = Arg0, if If (_T_1 == 0x04) then {...}
_T_1 - temp variable

#1959

diderius6

BSOD 0x000000A5 (0x00000011, 0x00000008, xxx, yyy)
has nothing to do with
CreateQWordField.
When you dont patch your DSDT against reserved word from Acpi 2.0
CreateQWordField
you get classical BSOD
A5 (0x3,c0140001,xxx,yyy)
Dietmar

#1960

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1956

> @daniel_k
> "Does DSDT can be modded in VirtualBox? Did you ever try?"
> I think yes, but the results on real compi may be different

dsdt is hardcoded in Vbox (VBoxDD.dll)
old qemu 1.6 load dsdt from file acpi-dsdt.aml if runed with "-M pc" (but qemu is slow and no gui)

#1961

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1959

> BSOD 0x000000A5 (0x00000011, 0x00000008, xxx, yyy)
> has nothing to do with
> CreateQWordField.

apply your previous patches, this acpi.sys is classic v5512 from xp sp3

#1962 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks! ⇗ @diderius6, the "other" qword patch is causing the crashes. This one boots here. Try it on your H110.

#1963

daniel_k

⇗ @Mov AX, 0xDEAD
Can you please confirm this code flow is correct, please?

    2B1D0: 83FE02                         cmp          esi,2
    2B1D3: 740B                           jz          .2B1E0   -> THIS IS CORRECT?
    2B1D5: 81EEF3000000                   sub          esi,0000000F3
    2B1DB: E976D9FFFF                     jmp         .28B56
    2B1E0: 8B31                           mov          esi,[ecx]
    2B1E2: 8B36                           mov          esi,[esi]
    2B1E4: 897208                         mov          [edx][8],esi
    2B1E7: 830108                         add          d,[ecx],8
    2B1EA: E9ADD9FFFF                     jmp         .28B9C

#1964 | diderius6 | ⇗ @daniel_k This acpi.sys gives on the Gigabyte board H110 with original Bios F25 A5 (0x3, xxx, c0140001, yyy) which is the BSOD for unknow words from ACPI 2.0 for XP Dietmar
#1965 | daniel_k | ⇗ @diderius6 I'll take a look at the DSDT. ⇗ @Mov AX, 0xDEAD Did you try this method? What was the outcome?

## Page 132

#1966

daniel_k

⇗ @diderius6, it crashes because of this:

                Device (NVM1)
                {
                    Name (_ADR, 0x00C1FFFF)  // _ADR: Address
                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        NITV = NIT1 /* \NIT1 */
                        NPMV = NPM1 /* \NPM1 */
                        NPCV = NPC1 /* \NPC1 */
                        NL1V = NL11 /* \NL11 */
                        ND2V = ND21 /* \ND21 */
                        ND1V = ND11 /* \ND11 */
                        NLRV = NLR1 /* \NLR1 */
                        NLDV = NLD1 /* \NLD1 */
                        NEAV = NEA1 /* \NEA1 */
                        NEBV = NEB1 /* \NEB1 */
                        NECV = NEC1 /* \NEC1 */
                        NRAV = NRA1 /* \NRA1 */
                        NMBV = NMB1 /* \NMB1 */
                        NMVV = NMV1 /* \NMV1 */
                        NPBV = NPB1 /* \NPB1 */
                        NPVV = NPV1 /* \NPV1 */
                        NRPN = NRP1 /* \NRP1 */
                        NCRN = Zero
                        ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))  ---> CULPRIT
                    }
    ...

Method ARPC has an ToInteger opcode.
There are 3 instances of that command line (NVM1, NVM2 and NVM3)

#1967

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1963

> @Mov AX, 0xDEAD
> Can you please confirm this code flow is correct, please?

>     2B1D0: 83FE02                         cmp          esi,2
>     2B1D3: 740B                           jz          .2B1E0   -> THIS IS CORRECT?

>     2B1E0: 8B31                           mov          esi,[ecx]

correct, jz if esi == 2 (esi was decreases to -0x0c before)

#1968 | diderius6 | ⇗ @Mov AX, 0xDEAD ⇗ @daniel_k I tried integrate my own mod for acpi.sys. acpi-test1.sys gives with my mod then again the BSOD A5 (0x3, xxx, c0140001, yyy) for unknown words from Acpi 2.0 acpi-test2.sys gives then BSOD 0x7B Dietmar
#1969 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks! ⇗ @diderius6, try this one, added ToInteger as Return. It is not correct, but the "best" one I could find. With the original BIOS from Gigabyte, did it worked before just with your patches? Please download the file again.
#1970 | diderius6 | ⇗ @daniel_k I have to disable via OSYS also ConcatenateResTemplate Dietmar PS: ToInteger is just ignored from original acpi.sys from XP Sp3.

#1971

diderius6

⇗ @daniel_k
ConcatenateResTemplate
seems to be the reason,
your last acpi.sys gives also
BSOD A5 (0x3, xxx, c0140001, yyy) for unknown words from Acpi 2.0
Dietmar

#1972

daniel_k

⇗ @diderius6, no, ConcatenateResTemplate is not required.
Just disable via OSYS the following:
ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))
You can see this in BIOS from many manufacturers.
Hmm, ToInteger does crashes Server 2003. Are you sure?
This one also cause crashes:

            Method (HCID, 1, Serialized)
            {
                Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
                Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                If (OSYS >= 0x07D6)
                {
                    While (One)
                    {
                        _T_0 = ToInteger (Arg0)
                        If (_T_0 == Zero)
                        {
                            Local0 = L0SM /* \L0SM */
                        }
                        ElseIf (_T_0 == One)
                        {
                            Local0 = L1SM /* \L1SM */
                        }
                        ElseIf (_T_0 == 0x02)
                        {
                            Local0 = L2SM /* \L2SM */
                        }
                        Else
                        {
                            Local0 = L3SM /* \L3SM */
                        }

                        Break
                    }

                    While (One)
                    {
                        _T_1 = ToInteger (Local0)
                        If (_T_1 == Zero)
                        {
                            Return ("INT3471")
                        }
                        ElseIf (_T_1 == One)
                        {
                            Return ("INT33BE")
                        }
                        ElseIf (_T_1 == 0x02)
                        {
                            Return ("INT3476")
                        }
                        ElseIf (_T_1 == 0x03)
                        {
                            Return ("INT3477")
                        }
                        ElseIf (_T_1 == 0x04)
                        {
                            Return ("INT3474")
                        }
                        ElseIf (_T_1 == 0x05)
                        {
                            Return ("INT3473")
                        }
                        ElseIf (_T_1 == 0x06)
                        {
                            Return ("INT3475")
                        }
                        ElseIf (_T_1 == 0x07)
                        {
                            Return ("INT3478")
                        }
                        ElseIf (_T_1 == 0x08)
                        {
                            Return ("INT3479")
                        }
                        ElseIf (_T_1 == 0x09)
                        {
                            Return ("INT347A")
                        }
                        ElseIf (_T_1 == 0x0A)
                        {
                            Return ("INT347B")
                        }
                        ElseIf (_T_1 == 0x0B)
                        {
                            Return ("OVTI2742")
                        }
                        ElseIf (_T_1 == 0x0C)
                        {
                            Return ("OVTI9234")
                        }
                        ElseIf (_T_1 == 0x0D)
                        {
                            Return ("OVTI8856")
                        }
                        ElseIf (_T_1 == 0x0E)
                        {
                            Return ("OVTIF860")
                        }
                        Else
                        {
                            Return (GRID (Arg0))
                        }

                        Break
                    }
                }
                Else
                {
                    Return ("INT3471")
                }
            }

#1973 | daniel_k | ⇗ @diderius6, it isn't that easy, unfortunately. That's enough for today. Good night.

#1974

diderius6

⇗ @daniel_k
I just take a look at my last mod for the Gigabyte board.
In the DSDT table,
I only isolate via OSYS
CreateQWordField
ConcatenateResTemplate (may be no need for isolate)
The same was true for all the other boards for XP SP3,
where I modded DSDT table,
CopyObject (may be no need for to isolate) has to be isolated too, when it appears
Dietmar
PS: This was mod for unknown words from Acpi2.0.
But other errors in DSDT I hacked with my acpi.sys from december 2018.
This one works everywhere, only not for Ryzen boards. This was a really hard job.
EDIT: I forget to tell, that at critical places in DSDT I replace
Switch (ToInteger (Arg0)) => Switch (Arg0)
After this mod of the DSDT table on the Giga board H110, I can use the normal acpi.sys from XP SP3 (without any mod).
See post 138, 139.

#1975

daniel_k

⇗ @diderius6, please try this ACPI.SYS LH Beta 5048.
It was crashing with error 0x3, c0140008.
It boots here just fine (XP and Server 2003), however there is a conflict in PCI bridge, which causes my GPU not being detected, also Intel XHCI also doesn't work, code 10.
Don't know if it is because of my modded DSDT.
Please try it on your H110 with original DSDT.

#1976 | infuscomus | ⇗ @diderius6 ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD what are we doing with acpi.sys? don't we already have a patched acpi.sys from longhorn 5048 that works?

#1977

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #1976

> @diderius6 @daniel_k @Mov AX, 0xDEAD
> what are we doing with acpi.sys? don't we already have a patched acpi.sys from longhorn 5048 that works?

I told how to add ACPI 2.0 opcodes to classic winxp's acpi.sys.
5048 still doesnt support QWordConst opcode, see ¶ Windows XP SP3 32bit and modern PC parts (21) , this opcode used in _ps0 of XHCI

#1978

diderius6

⇗ @daniel_k
I test your acpi.sys 5048 mod.
The gigabyte h110m-s2h board with original BIOS F25 starts with ACPI support.
But there is no graphikcard and on one PCI-to-PCI bridge (yellow exclamation mark) told,
not enough resources. When you look at the IRQ,
they go only up to 19.
The Intel USB does not work (code 10).
And the tool asl.exe copies DSDT to HKLM\CurrentControlSet\services\acpi\parameters
but does not work any longer with this acpi.sys (also no BSOD)
Dietmar

#1979

diderius6

daniel_k
Against BSOD A5(0x03, xxx, C0140008, yyy) in acpi.sys 32 bit 5048 from Longhorn
is easiest hack

    BF080014C0B8  =>  BF00000000B8

Dietmar
PS: But this does not help on the Giga board H110.
DEV_1901 is the PCIe controller (standard PCI-to-PCI bridge with yellow mark)
and because of this no Graphikcard.

#1980 | kukonosau | Do you check acpi for Windows XP x86 or x64 Edition?

## Page 133

#1981 | kukonosau | Thanks for acpi for x86! But what is motherboard resources in device manager? This is normally?
#1982 | diderius6 | ⇗ @kukonosau I have no good tools for 64 bit. So, idea is the same, but just try and error :)) Dietmar
#1983 | kukonosau | But not BSOD A5. Device error. I forgot. Long text in screen. acpi.sys is corrupted.

#1984

diderius6

⇗ @daniel_k
May be, the not working PCIe driver
is, because pci.sys from 5048 has an unfullfilled dependency
to ntoskrnl.exe (it is compatible to winserver 2003 but not XP SP3)
KeIpiGenericCall
Dietmar
EDIT: Exact the same error is with modded acpi.sys 5048 for
XP 64 bit. The device DEV_1901 (PCIe) cant start, because of not enough resources.
So, with unmodded DSDT and modded acpi.sys from 5048, also no graphik card in XP 64bit
on the Gigabyte h110m-s2h board.
⇗ https://docs.microsoft.com/en-us/windows...eipigenericcall
EDIT: The not working device DEV_1901 (PCIe) belongs to acpi.sys 5048,
because in "MPS" mode without any acpi, this device and the graphicard work.

#1985 | infuscomus | ⇗ @diderius6 I recall ⇗ @XPLives saying he encountered this problem aswell during his testing. any possibility for a fix?

#1986

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1978

> The gigabyte h110m-s2h board with original BIOS F25 starts with ACPI support.
> But there is no graphikcard and on one PCI-to-PCI bridge (yellow exclamation mark) told,
> not enough resources. When you look at the IRQ, they go only up to 19.

check hidden virtual devices "Motherboard resource" in Device Manager
one of these may conflict with pci-vga, in my case it was ACPI\PNP0C02\IOTRAPS and conflict with IO Ports 0xFF00-0xFFFF
so i set resources to zero in dsdt for this acpi device

#1987 | daniel_k | ⇗ @Mov AX, 0xDEAD, interesting that, with XP's ACPI.SYS there is no conflict. ⇗ @diderius6, managed to add QWordConst opcode. It's attached, if you wanna try it. Now USB3 works, unfortunately there still conflict in PCI bridge. What a shame, with this patch 5048 supports ALL opcodes used on my Z370's DSDT.
#1988 | daniel_k | ⇗ @diderius6, can you try the modded ACPI.SYS above on your Ryzen?

#1989

diderius6

⇗ @daniel_k
Yesssaaa, nice job,
on the Giga H110 board now all USB works with unmodded DSDT:))!
Only PCIe DEV_1901 still not works
Dietmar
PS: Now I test your acpi.sys 5048 on Ryzen.

#1990

diderius6

For the not working PCIe (graphikcard)
E/A-Bereich FF00 - FFFE wird verwendet von:
\Driver\VgaSave
PCI Standard-PCI-zu-PCI-Brücke
ACPI\PNP0C02\IOTRAPS
Dietmar

#1991

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1987

> managed to add QWordConst opcode. It's attached, if you wanna try it.

MS did _parseintobj right, but forget add 0x0e to opcodetable, very strange

#1992

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1990

> For the not working PCIe (graphikcard)
> E/A-Bereich FF00 - FFFE wird verwendet von:
> \Driver\VgaSave
> PCI Standard-PCI-zu-PCI-Brücke
> ACPI\PNP0C02\IOTRAPS

Welcome to Club )
⇗ https://github.com/MovAX0xDEAD/ACPI-Patc...AT/iotr_fix.dif

#1993

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1987

> @Mov AX, 0xDEAD, interesting that, with XP's ACPI.SYS there is no conflict

i dont know how you run original acpi.sys with original _crs of IOTR Device (on intel mb this acpi virtual device generate conflict)
original _crs has ConcatenateResTemplate opcode, so it was commented/patched some way

#1994

diderius6

⇗ @Mov AX, 0xDEAD
I tried to disable ACPI\PNP0C02\IOTRAPS
in registry of XP
and also in devicemanager (motherboard resources)
but without success.
May be, that can be done without modding DSDT
Dietmar

#1995

daniel_k

⇗ @Mov AX, 0xDEAD, that's what I don't get.

            Device (IOTR)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "IoTraps")  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = ResourceTemplate ()
                        {
                        }
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            _Y21)
                    })
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            _Y22)
                    })
                    Name (BUF2, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            _Y23)
                    })
                    Name (BUF3, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            _Y24)
                    })
                    CreateWordField (BUF0, \_SB.PCI0.IOTR._CRS._Y21._MIN, AMI0)  // _MIN: Minimum Base Address
                    CreateWordField (BUF0, \_SB.PCI0.IOTR._CRS._Y21._MAX, AMA0)  // _MAX: Maximum Base Address
                    CreateWordField (BUF1, \_SB.PCI0.IOTR._CRS._Y22._MIN, AMI1)  // _MIN: Minimum Base Address
                    CreateWordField (BUF1, \_SB.PCI0.IOTR._CRS._Y22._MAX, AMA1)  // _MAX: Maximum Base Address
                    CreateWordField (BUF2, \_SB.PCI0.IOTR._CRS._Y23._MIN, AMI2)  // _MIN: Minimum Base Address
                    CreateWordField (BUF2, \_SB.PCI0.IOTR._CRS._Y23._MAX, AMA2)  // _MAX: Maximum Base Address
                    CreateWordField (BUF3, \_SB.PCI0.IOTR._CRS._Y24._MIN, AMI3)  // _MIN: Minimum Base Address
                    CreateWordField (BUF3, \_SB.PCI0.IOTR._CRS._Y24._MAX, AMA3)  // _MAX: Maximum Base Address
                    AMI0 = ITA0 /* \ITA0 */
                    AMA0 = ITA0 /* \ITA0 */
                    AMI1 = ITA1 /* \ITA1 */
                    AMA1 = ITA1 /* \ITA1 */
                    AMI2 = ITA2 /* \ITA2 */
                    AMA2 = ITA2 /* \ITA2 */
                    AMI3 = ITA3 /* \ITA3 */
                    AMA3 = ITA3 /* \ITA3 */
                    If (ITS0 == One)
                    {
                        ConcatenateResTemplate (Local0, BUF0, Local1)
                        Local0 = Local1
                    }

                    If (ITS1 == One)
                    {
                        ConcatenateResTemplate (Local0, BUF1, Local1)
                        Local0 = Local1
                    }

                    If (ITS2 == One)
                    {
                        ConcatenateResTemplate (Local0, BUF2, Local1)
                        Local0 = Local1
                    }

                    If (ITS3 == One)
                    {
                        ConcatenateResTemplate (Local0, BUF3, Local1)
                        Local0 = Local1
                    }

                    Return (Local0)
                }
            }

## Page 134

#1996

daniel_k

⇗ @Mov AX, 0xDEAD, please take a look at my patched DSDT.
Search for 07D6 for my patches.
daniel_k has attached files to this post

- ⇗ Z370AOG3_F13.rar

#1997

daniel_k

⇗ @Mov AX, 0xDEAD, is there anything special to be done when replacing an API Function call with a Local Function call?
I'm trying to patch Vista beta 4008, which has one missing import, whose code is really simple.
Original:

    3A122: 894610                         mov          [esi][010],eax
    3A125: 0FB6C0                         movzx        eax,al
    3A128: 50                             push         eax
    3A129: E8920FFFFF                     call         HalConvertIdtToIrql
    3A12E: 83661C00                       and          d,[esi][01C],0
    3A132: 884614                         mov          [esi][014],al

My patch:

    3A122: 894610                         mov          [esi][010],eax
    3A125: 0FB6C0                         movzx        eax,al
    3A128: 50                             push         eax
    3A129: E8E2610000                     call        40310
    3A12E: 83661C00                       and          d,[esi][01C],0
    3A132: 884614                         mov          [esi][014],al

    40310: 8B442404                       mov          eax,[esp][4]
    40314: C1E804                         shr          eax,4
    40317: 83C004                         add          eax,4
    4031A: C20400                         retn         4

#1998

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #1994

> I tried to disable ACPI\PNP0C02\IOTRAPS
> in registry of XP
> and also in devicemanager (motherboard resources)
> but without success.
> May be, that can be done without modding DSDT

before patching dsdt i too tried to disable in devmanager with no sucess
seems no way to disable acpi device, windows think that these devices are not PnP, if this device have _DIS method it maybe possible (imho)

#1999

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1995

> @Mov AX, 0xDEAD, that's what I don't get.

>            Device (IOTR)
>                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>                     If (ITS0 == One)
>                     {
>                         ConcatenateResTemplate (Local0, BUF0, Local1)
>                         Local0 = Local1
>                     }

how you runed this with original acpi.sys ?

#2000 | daniel_k | ⇗ @Mov AX, 0xDEAD, yes, works just fine here with XP SP3 and Server 2003 SP2.
#2001 | Mov AX, 0xDEAD | dancing with IOTRAPS: win7 x64, IO range = Only One adress 0xFF00 winxp 32 orig acpi.sys+acpi2.0 opcodes, IO range = Only One adress 0xFF00: in both OS device manager show different range 0-254:
#2002 | diderius6 | ⇗ @daniel_k Your new acpi.sys 5048 mod does not work with Ryzen BSOD 7E (0xC0000005,..) Dietmar PS: Now I try to implement jmp EB from Infuscomus there also.

#2003

daniel_k

⇗ @Mov AX, 0xDEAD, that's with and Z370.
Even with my older H270, there was no problem at all.
Just remembered something.
I've got this issue when I've modded the Z370 BIOS (ME firmware) and run the board with an i7-7700. Did this while waiting for an i7-8770K.
When the 8770K arrived, flashed original BIOS with usual mods, which you can see in the table above and resource conflict was gone.

#2004 | daniel_k | ⇗ @Mov AX, 0xDEAD, what does this mean (on XP)? On Win7 is exactly the same as yours above.

#2005

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2004

> @Mov AX, 0xDEAD, what does this mean (on XP)?

this mean device has no resources (_crs failed), but no way to know how it was failed
as you can see in aml code, _crs return ResourceTemplate filled by "start" and "end" ranges

#2006 | daniel_k | ⇗ @Mov AX, 0xDEAD Somehow I was Lucky with that one. Maybe it's the Gigabyte implementation? Can you shine some light here, please? ¶ Windows XP SP3 32bit and modern PC parts (134)

#2007

diderius6

Here comes the nice acpi.sys from ⇗ @daniel_k
which now also works on Ryzen thanks to ⇗ @infuscomus
just tested:)) on 3700x
Dietmar
File acpi.sys for Ryzen see post 2012, works also, I tested.
⇗

#2008

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #1997

> I'm trying to patch Vista beta 4008, which has one missing import, whose code is really simple.
> Original:

>     3A129: E8920FFFFF                     call         HalConvertIdtToIrql

> My patch:

>     3A129: E8E2610000                     call        40310

>     40310: 8B442404                       mov          eax,[esp][4]
>     40314: C1E804                         shr          eax,4
>     40317: 83C004                         add          eax,4
>     4031A: C20400                         retn         4

1) "e8 xx" is relative adressing, its OK. At adress HalConvertIdtToIrql is some like "jmp dword [_imp_HalConvertIdtToIrql]" ?
2) retn 4 - depends on original HalConvertIdtToIrql, if it pop stack back, then this OK

#2009

Mov AX, 0xDEAD

trying to decode what _crs return:
47 - Small resource item , 4=io port type, 7 - lengh
01 - 16-bit adressing
00 FF - Min posible adress
00 FF - Max posible adress
01 - Aligment is 1 byte
FF - Numbers of adresses
79 - End Tag
41 - Checksum
Aida browser was wrong, device claimed 255 adresses

#2010 | daniel_k | ⇗ @Mov AX, 0xDEAD 1) Yes 2) Sorry, don't understand. You mean pop stack back in the original function itself or in the code after the call?

## Page 135

#2011

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2010

> @Mov AX, 0xDEAD
> 2) Sorry, don't understand. You mean pop stack back in the original function itself or in the code after the call?

in original HalConvertIdtToIrql, if it return with "ret 4" it's ms cdecl convection
if "pop/add esp" somewhere after 3A129 it's stdcall

#2012

daniel_k

⇗ @diderius6
That's great!
Are there any functional changes between this and XP 5512? IRQ ranges?
Please delete your above and use the file I've attached.
There were some unnecessary changes I made.
I've already applied ⇗ @infuscomus fix.

#2013 | diderius6 | ⇗ @daniel_k "Are there any functional changes between this and XP 5512? IRQ ranges" Yes, here Irqs went up to 55 (acpi.sys XP 5512 only up to 19) Dietmar
#2014 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks, unfortunately it didn't work. I've tried another approach, 4008 seems just incompatible with XP.

#2015

daniel_k

⇗ @Andalu
Here is the fix for USB3 on the Q87.
Rename \WINDOWS\Driver Cache\i386\sp3.cab to something else.
Delete \WINDOWS\system32\DllCache\acpi.sys
Copy and overwrite ACPI.SYS in \WINDOWS\system32\Drivers
Restart and install the USB driver, if not already installed.

#2016 | AddFun | Tried the new ACPI from post #2012 on my WinXP SP3 partition (that I got to the post GUI install stage but never to desktop) but all I got was the usual 7B BSOD 0x0000007B (0xBACC3524, 0x0000034, 0x00000000, 0x00000000) Ryzen 1600X on a Gigabyte AX370 Gaming 5

#2017

AddFun

Alright, nlited a NEW disk with same post #2012 ACPI along with proper AHCI drivers. Got through the entire install only to get dropped onto a blank blue wallpaper screen (Not BSOD). Greeted with this ACPI 7E BSOD upon reboot (safe mode or not, same BSOD). Technically, the WinXP install is complete.

#2018

Andalu

⇗ @daniel_k
After renaming sp3.cab, overwriting acpi.sys and restarting, the microsoft management console process doesn't find any driver for the yellows USB2.0 Hub (Vid_05e3&Pid_0610) and USB3.1 Hub (Vid_05e3&Pid_0612); it continues infinitely to search with no success (no difference on automated, manual and forced driver installation); if i click on 'cancel' or 'back' the process hangs and it needs to be killed manually.
Thanks again for your patience.

#2019 | daniel_k | ⇗ @Andalu, forgot that you need to rename back SP2.CAB. Do those hubs were detected upon reboot after replacing ACPI.SYS? If so, the driver for them is part of the AMDXHCI package.
#2020 | daniel_k | ⇗ @Mov AX, 0xDEAD, wouldn't it be possible to add a string check to Store function in ACPI.SYS so that during processing it would ignore ITA0 and don't do anything? This would solve the PCI bridge conflict.

#2021

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #2012

> @diderius6
> That's great!
> Are there any functional changes between this and XP 5512? IRQ ranges?
> Please delete your above and use the file I've attached.
> There were some unnecessary changes I made.
> I've already applied @infuscomus fix.

Hey ⇗ @daniel_k, it is based on my modded driver? Can you made it to x64?

#2022

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2020

> @Mov AX, 0xDEAD, wouldn't it be possible to add a string check to Store function in ACPI.SYS so that during processing it would ignore ITA0 and don't do anything?
> This would solve the PCI bridge conflict.

if someone want to patch acpi.sys to zero resources of iotr welcome )
i prefer to investigate pci.sys or some else to find source of conflict

#2023 | daniel_k | ⇗ @skullteria, I did it on my own. Yes, currently porting the changes to x64. ⇗ @Mov AX, 0xDEAD, seeing what most XP compatibility patches are hacks (even official ones), don't see anything wrong with that. Are there any utilities to edit x64 relocation table or we need to change it manually? Something like Relocation Section Editor which I use for 32-bit?
#2024 | Mov AX, 0xDEAD | .del

#2025

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #2023

> @skullteria, I did it on my own. Yes, currently porting the changes to x64.
> @Mov AX, 0xDEAD, seeing what most XP compatibility patches are hacks (even official ones), don't see anything wrong with that.
> Are there any utilities to edit x64 relocation table or we need to change it manually? Something like Relocation Section Editor which I use for 32-bit?

Great! My changes on acpi 5048 are to solve C1400008 BSOD. I feel happy because you solved problem with USB 3.0 too. Windows XP is almost usable on modern computers

## Page 136

#2026

daniel_k

⇗ @diderius6, please try this x64 version of ACPI.SYS 5048.
Figured out the relocation table, luckily there was an empty slot I could use.
Implemented Skylake+ patch, QwordConst and applied Ryzen patch.
By the way, does the previous 32-bit ACPI.SYS 5048 works on your B350?
Maybe it behaves the same as ⇗ @AddFun report?

#2027

diderius6

⇗ @daniel_k
The 32 bit acpi.sys works also on B350 boards, on x370 boards (AMD) and on x570 boards.
At ⇗ https://hwbot.org they tested it also, just works everywhere.
The different BSODs during install of XP 32 bit happens because of DSDT tables,
which are not correct. In this case it only helps, to install on another compi,
and after installation of XP connect to first one.
The other possibilty in BSODs is, that the acpi.sys driver is changed back to
the original acpi.sys after first reboot. In this case, just copy new acpi.sys back to folder
windows\system32\drivers helps.
And I saw a lot of BSODs, because of not correct integrated AHCI drivers.
The STORAHCI from ⇗ @skullteria works on every board, AMD, Intel, old new,
until now I do not have a board, where it does not work. But even there you have to copy
storport.sys by hand and may be after reboot again into windows\system32\drivers
Dietmar
PS: Now I test your new acpi.sys 64 bit.

#2028 | daniel_k | ⇗ @diderius6, reading throughly AddFun now I see the crash occurs after install, so ACPI.SYS is, for sure, restored to original, non-modded version. ⇗ @AddFun, you need to repack SP3.CAB. Unpack SP3.CAB, replace ACPI.SYS and repack it.
#2029 | Andalu | ⇗ @daniel_k yes, the two hubs were created after replacing ACPI.SYS and restart but i can't use the AMDXHCI package because the mmc process hangs again like before, also by renaming back the .cab file into sp2 or sp3

#2030

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2023

> Are there any utilities to edit x64 relocation table or we need to change it manually? Something like Relocation Section Editor which I use for 32-bit?

is it ⇗ https://github.com/mohic/Relocation-Section-Editor ? do you have download link to release ?

#2031 | daniel_k | ⇗ @Andalu, what a shame. Can you access the XP's drivers folder from another OS? If so, delete amdxhc.sys and boot XP, device won't start because of missing driver and you may be able to test the Renesas driver, which is my suggestion. Maybe the AMD driver doesn't work properly. Unfortunately I don't have any pre-Skylake board to test it.
#2032 | daniel_k | ⇗ @Mov AX, 0xDEAD Can't remember where I got it from, just says its author is gta126 in About box. It's coded in some version of .NET Framework. Works just fine.

#2033

daniel_k

⇗ @Mov AX, 0xDEAD
Interesting that the ACPI.SYS 5048 does an additional check in CreateByteField which leads to a BSOD.
Can you do some analysis, please?
VISTA 5048

    15ED4: BF080014C0                     mov          edi,0C0140008
    15ED9: B8090014C0                     mov          eax,0C0140009
    15EDE: 3B55F8                         cmp          edx,[ebp][-8]
    15EE1: 0F8DE3000000                   jge          000015FCA
    15EE7: 8B5D0C                         mov          ebx,[ebp][00C]
    15EEA: 0FBE141A                       movsx        edx,b,[edx][ebx]
    15EEE: 83FA49                         cmp          edx,049 ;'I'
    15EF1: 7F64                           jg           000015F57
    15EF3: 745C                           jz           000015F51
    15EF5: 83EA41                         sub          edx,041 ;'A'
    15EF8: 7450                           jz           000015F4A
    15EFA: 4A                             dec          edx
    15EFB: 7447                           jz           000015F44
    15EFD: 4A                             dec          edx
    15EFE: 7435                           jz           000015F35
    15F00: 4A                             dec          edx
    15F01: 741F                           jz           000015F22
    15F03: 4A                             dec          edx
    15F04: 4A                             dec          edx
    15F05: 7415                           jz           000015F1C
    15F07: 4A                             dec          edx
    15F08: 4A                             dec          edx
    15F09: 7567                           jnz          000015F72
    15F0B: 6683390F                       cmp          w,[ecx],00F    --> CHECK CAUSES BSOD
    15F0F: 0F84A3000000                   jz           000015FB8
    15F15: 89FF                           mov          esi,edi
    15F17: E99C000000                     jmp          000015FB8
    15F1C: 66833905                       cmp          w,[ecx],5
    15F20: EBED                           jmps         000015F0F

XP 5512:

    13D1F: BF080014C0                     mov          edi,0C0140008 ;'
    13D24: B8090014C0                     mov          eax,0C0140009 ;'
    13D29: 3B5DFC                         cmp          ebx,[ebp][-4]
    13D2C: 0F8DB6000000                   jge          000013DE8
    13D32: 8B550C                         mov          edx,[ebp][00C]
    13D35: 0FBE1413                       movsx        edx,b,[ebx][edx]
    13D39: 83FA49                         cmp          edx,049 ;
    13D3C: 7F51                           jg           000013D8F
    13D3E: 7449                           jz           000013D89
    13D40: 83EA41                         sub          edx,041 ;
    13D43: 743D                           jz           000013D82
    13D45: 4A                             dec          edx
    13D46: 7434                           jz           000013D7C
    13D48: 4A                             dec          edx
    13D49: 7422                           jz           000013D6D
    13D4B: 4A                             dec          edx
    13D4C: 740A                           jz           000013D58
    13D4E: 4A                             dec          edx
    13D4F: 4A                             dec          edx
    13D50: 7553                           jnz          000013DA5
    13D52: 66833905                       cmp          w,[ecx],5
    13D56: EB6F                           jmps         000013DC7

#2034

diderius6

⇗ @daniel_k
The new acpi.sys 5048 for 64 bit gives on a working XP 64 installation on the Giga H110 board
with original DSDT and Bios F25
BSOD A5 (0x03, xxx, 0xC0140008, yyy)
Dietmar
PS: The same BSOD happens on asrock fatal1ty z370 gaming k6.

#2035

AddFun

I already repacked my DRIVER.CAB with that last nlite build. Also, dropped in your file as ACPI.SY_ in the I386 folder. That resulted in what I posted above. There is nothing hooked up to the PC other than RAM/CPU/120GB-SATA drive internally and a PS/2 keyboard externally.
I'm looking at the file structure on the WinXP drive from another PC right now. Looks like XP was installed fully. I tried flashing the AX370 mobo to several different BIOSes (much newer F40, F41, etc) same issue.
Although, the BSOD I'm getting with your ACPI actually lists ACPI.sys, while prior BSODs with other ACPI/AHCI files were puking up totally different 7E, 7B BSODs and not actually referencing ACPI.sys.
Here is one major thing I noticed when using your ACPI.sys from post #2012 ⇗ @daniel_k, there is NO usual error while copying ACPI.sys in "TXT" mode part of the installation, something even latest versions diderius6 provided would cause, even using his custom ISO (thx bud) I would get that error (and couldn't get into GUI part of the install with the latest version on that ISO).

#2036 | daniel_k | ⇗ @diderius6 Please rename and try these files. Pay attention to the number which works, hopefully one should work.
#2037 | daniel_k | ⇗ @AddFun, what I mean is: Did you replace ACPI.SYS inside SP3.CAB? This is a must, otherwise SFC (system file checker) will replace this file with the original, untouched version during last phase of Setup.

#2038

diderius6

⇗ @AddFun
Install XP on another compi,
can be very old one,
integrate extra AHCI driver for your new compi before
and then connect to your new compi.
I am sure, this time it will work,
BSOD is because of faulty DSDT table on new compi
Dietmar

#2039

diderius6

⇗ @daniel_k
acpi_test1.sys acpi_test2.sys acpi_test3.sys fail on
asrock fatal1ty z370 gaming k6 with the same BSOD as before A5 (0x03, xxx, 0xC0140008, yyy).
But acpi_test4.sys works on
asrock fatal1ty z370 gaming k6 :))!
But the error in PCIe device because of IOTR remains.
Now I am testing on the Giga H110 board,
nice work,
Dietmar

#2040 | daniel_k | ⇗ @diderius6, please try all files on H110 too.

## Page 137

#2041

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2034

> @daniel_k
> The new acpi.sys 5048 for 64 bit gives on a working XP 64 installation on the Giga H110 board
> with original DSDT and Bios F25
> BSOD A5 (0x03, xxx, 0xC0140008, yyy)
> Dietmar
> PS: The same BSOD happens on asrock fatal1ty z370 gaming k6.

0xC0140008 occours on CreateField function. I already fixed on my ACPI version, later i patch daniel_k version tobe compatible too

#2042

diderius6

⇗ @daniel_k
acpi_test2.sys acpi_test3.sys fail on the Giga H110 board
with the same BSOD as before A5 (0x03, xxx, 0xC0140008, yyy).
acpi_test1.sys fails on the Giga H110 board with BSOD 0x7B.
Again acpi_test4.sys works on Giga H110 board.
But the error in PCIe device because of IOTR remains.
Dietmar

#2043 | daniel_k | ⇗ @diderius6, please try it on the Ryzen board. By the way, for now, the IOTR issue can only be solved with DSDT patch. ⇗ @skullteria, thanks, but we already have a working version.
#2044 | Andalu | ⇗ @daniel_k i have dual xp boot so no problem to access to another partition. Unfortunately amdxhc.sys and the Renesas package are missing because the driver installation has never worked (error code 10)
#2045 | diderius6 | ⇗ @daniel_k The modded acpi.sys 64 bit from ⇗ @skullteria does not show IOTR error on the Asrock fatal1ty z370 gaming k6 board Dietmar PS: The very last acpi.sys 64 bit from ⇗ @skullteria I do not have.
#2046 | kukonosau | Acpi_test4.sys is doesn't work on motherboard from Ryzen. My motherboard is ASUS AM4 B350 PRIME B350M-K.

#2047

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2045

> @daniel_k
> The modded acpi.sys 64 bit from @skullteria
> does not show IOTR error on the Asrock fatal1ty z370 gaming k6 board
> Dietmar
> PS: The very last acpi.sys 64 bit from @skullteria I do not have.

Well, my plan is integrate my changes to solve c14000008 BSOD on daniel_k version.

#2048

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2033

> @Mov AX, 0xDEAD
> Interesting that the ACPI.SYS 5048 does an additional check in CreateByteField which leads to a BSOD.
> VISTA 5048

>     15ED4: BF080014C0                     mov          edi,0C0140008
>     15ED9: B8090014C0                     mov          eax,0C0140009

This is _ValidateArgTypes, not CreateByteField. I dont see this bytes at 15ED4 in 5048

    15F07: 4A                             dec          edx
    15F08: 4A                             dec          edx
    15F09: 7567                           jnz          000015F72
    15F0B: 6683390F                       cmp          w,[ecx],00F

at ip=15F0B EDX was decremented to 41+1+1+1+2+2=48h="H"
so _ValidateArgTypes was called with 2nd arg = pointer to string with "H" char inside
at winxp_5512 exist C, I, O, A, B, D, .. but not "H"
at vosta_5048 i see two calls with H "LoadTable" & "Unload" opcode, but we dont see this in dsdt, do double check about place of BSOD

#2049

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2045

> does not show IOTR error on the Asrock fatal1ty z370 gaming k6 board

))
IOTR virtual device exist only on Intel (99% of dsdt created by platform maker)

#2050 | diderius6 | ⇗ @Mov AX, 0xDEAD Asrock fatal1ty z370 gaming k6 board is Intel Dietmar

#2051

diderius6

⇗ @daniel_k
On AMD asrock fatal1ty ab350 gaming k4 with Ryzen 3700x cpu
we get a new BSOD with 64 bit acpi_test4.sys, which is not direct correlated to acpi.sys.
The driver is not listened here, where the BSOD happens
Dietmar
PS: Now I test on other Ryzen board x570.
⇗

#2052 | kukonosau | I have also error!!!

#2053

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2050

> @Mov AX, 0xDEAD
> Asrock fatal1ty z370 gaming k6 board

Oh, sorry
1) can you check IO resource usage in devmanager ?
2) do call _SB_.PCI0.IOTR._CRS in aida acpi browser ?

#2054

diderius6

⇗ @daniel_k
On the asus prime x570-pro with 64 bit XP and Ryzen 1700
it hangs in an endless loop during start, also in save mode (F8).
This time I think, it is not related to acpi_test4.sys
but to another device on the board.
I have only this XP 64 bit install from the EVGA z390 dark board.
I make a new slip stream CD via nlite for this board
and then I report
Dietmar

#2055

diderius6

⇗ @daniel_k
I cant install XP 64 bit on Ryzen board with acpi_test4.sys
see BSOD on Photo
Dietmar
PS: BSOD happens early on txt setup, I cant get the window with F8.
⇗

## Page 138

#2056 | daniel_k | ⇗ @diderius6, please try these 2 test files. Where is the modded x64 ACPI.SYS from ⇗ @skullteria which fixes IOTR? Was it 5048 or 5512? So, we've got it all after all. We just need to find which patch is resposible for the IOTR fix and apply it on the 32-bit version.
#2057 | diderius6 | ⇗ @daniel_k ⇗ @skullteria makes 5048 acpi.sys 64 Bit. It works on Intel boards with full Acpi support but not on Ryzen Dietmar
#2058 | daniel_k | ⇗ @diderius6, please upload the one you've tested and fixes IOTR.
#2059 | daniel_k | ⇗ @Mov AX, 0xDEAD This is the original untouched ACPI.SYS 5048.

#2060

diderius6

⇗ @daniel_k
On Ryzen new acpi_test1.sys
gives same BSOD 0x7E C0000005
and acpi_test2.sys endless running but
not starting XP 64 bit,
I think it is the same BSOD
Dietmar

#2061 | daniel_k | ⇗ @diderius6, one last try. x64 behaves differently than x86. The patch location is certainly correct the same, but I'm not sure if it can be done. 5 more test files for you. PS: Still waiting for the patched ACPI.SYS which fixes IOTR.

#2062

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #2056

> @diderius6, please try these 2 test files.
> Where is the modded x64 ACPI.SYS from @skullteria which fixes IOTR? Was it 5048 or 5512?
> So, we've got it all after all.
> We just need to find which patch is resposible for the IOTR fix and apply it on the 32-bit version.

My version only fix C1400008 BSOD, later i upload

#2063

diderius6

⇗ @daniel_k
This is the acpi.sys 5048 from ⇗ @skullteria for 64 bit from May 2019
which works on all Intel boards,
with graphikcard also
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#2064

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2059

> @Mov AX, 0xDEAD
> This is the original untouched ACPI.SYS 5048.

I've checked adresses, you using "strange" disasm, it ignores Origin adress and virtual adresses of sections (wtf ?)
Now I realized that first column is not adress, it is offset in file

#2065 | diderius6 | ⇗ @daniel_k All 5 acpi.sys test files 64 bit show the same BSOD 0x7E as before on the Ryzen x570 board. This board shows very good real BSODs Dietmar

#2066

diderius6

⇗ @Mov AX, 0xDEAD
I make a mistake:
Only on the EVGA z390 dark board with XP friendly Bios from beginning
the PCIe works and so the graphikcard in XP 64 bit.
I make a check at the Intel asrock fatal1ty z370 gaming k6 board:
PCIe error, no graphikcard in XP 64 bit as you also can see here on post 948.
But with my modded acpi.sys from December 2018
I have without Bios mod for IOTR full graphik
on Intel asrock fatal1ty z370 gaming k6 board
and on Intel Asus Apex X board for XP SP3 32 bit
Dietmar
PS: My mod in acpi.sys was in XP SP3 5112 version.

#2067

daniel_k

⇗ @Mov AX, 0xDEAD
Sorry, was running 2 instances of Hiew in Edit mode when copied the disassembly. Really sorry!
⇗ @diderius6
It's interesting to see how x64 and x86 behaves differently! Same code position, different results.
That's what I've been thinking. Test4 was a quick hack. Just compared with skullteria's and it's exactly the same, no way it would make any difference.
By the way, can you attach your ACPI 5512 mod that fixes IOTR?

#2068

diderius6

⇗ @daniel_k
Here it is,
Dietmar
PS: Now very late here, I go to bed.
diderius6 has attached files to this post

- ⇗ acpi3.rar

#2069 | daniel_k | ⇗ @diderius6 Applied your patches to my 5048, but it probably won't work for you as it didn't here.

#2070

AddFun

⇗ @diderius6 Installed the nlited disk on a AM3 based AMD PC with a Athlon II 640, closest I can get to a Ryzen-yet-not-Ryzen. WinXP installed fine and is desktop bootable. Moved the drive to the Ryzen PC and got this BSOD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2069

> ⇗ @diderius6

## Page 139

#2071 | AddFun | Never mind. Got it to boot!

#2072

diderius6

⇗ @skullteria
This USB files from ⇗ @daniel_k work on all newer boards with Intel chipset and XP SP3 32 bit.
With the acpi.sys 32 bit from post 2069 it installs there without any need
of modding the DSDT table in Bios,
Dietmar
PS: First install xhc.inf and later hub30.inf when asked for new driver.
Dont forget to copy usbd.sys in windows\system32\drivers.
diderius6 has attached files to this post

- ⇗ USB3bestforIntel.rar

#2073

diderius6

⇗ @daniel_k
Your last acpi.sys (post 2069) for XP SP3 32 bit
works on all boards (AMD, Intel, old, new) that I tested.
No need to mod anything in Bios. All USB devices work.
On some Intel boards, the IOTR device claims memory
for the graphikcard (for unknown reason), so this is the last bastion for DSDT mod.
This IOTR problem (only on Intel boards) happens not with my acpi.sys from post 2068,
but for this acpi.sys you have to mod DSDT for XP unfriendly words from acpi 2.0
by hand,
Dietmar

#2074 | infuscomus | ⇗ @diderius6 can you download XP 64bit checked build and see where the problem is? so we can properly fix 64bit acpi.sys 5048 for ryzen?
#2075 | daniel_k | ⇗ @diderius6, fixed the IOTR issue with x86! Will also patch the x64 version and upload both. Then I'll explain what was the issue.

#2076

daniel_k

⇗ @diderius6, here is the x86, I consider this version the final for all Intel chipsets and Ryzen.
What was the issue?
Contrary to what you think, ConcatenateResTemplate is not supported and is ignored by XP 5512.
That's why your modded ACPI 5512 works and doesn't have the IOTR conflict issue, because it is not processed!
So what I did?
Killed the ConcatenateResTemplate from 5048, as it is supported and works, leading to the resource conflict.
Please test on your H110 and Z370 with original DSDT BIOS.
Z390 is XP friendly so test not required.
Ryzen test is also not required because the DSDT doesn't have the ConcatenateResTemplate opcode.

#2077 | daniel_k | ⇗ @diderius6, here is the x64 version, test version. I've uploaded it as 6 test files, because I'd like to know where it crashes. Please test all of them and pay attention to the number. For sure, one of them will work. Ryzen testing is not needed as I did nothing related to it.

#2078

diderius6

⇗ @daniel_k
Yessssssaaaaaaa, full ACPI support in XP SP3 on any compi without any DSDT mod!!!
Your nice acpi.sys from post 2076 works now with the IOTR device.
And to chose the Gigaboard H110 as test board was the right choice
Dietmar
⇗

#2079

Mov AX, 0xDEAD

I played little with length IO range of IOTR at H110 MB (starting adress is always 0xFF00):
0 - OK, device disapear in DevManager
1<->0xA0 - OK
0xA0-0xE0 - Not tested
0xE0-0xFF - Conflict
so hooking of BufferOp is possible, after movsd & movsb we have at EDI struct of bytes:
11 0D 0A 0A 47 01 00 00 00 00 01 FF 79 00

    pseudo-code:
    sub edi, 0xe ; back edi to start of buffer
    cmpl	[edi], 0x11 0D 0A 0A
    jnz nopatch
    cmpl	[edi+4], 0x47 01 00 00
    jnz nopatch
    cmpl	[edi+8], 0x00 00 01 FF
    jnz nopatch
    cmpw [edi+c], 0x79 00
    jnz nopatch
    patch:
    moveb [edi+b], 0x00 ; edi+b=length
    nopatch: jmp _back

im not sure about full bufer, maybe in edi will be only 0A 0A 47 01 00 00 00 00 01 FF 79 00

#2080 | dencorso | Greetz! You all do rock! Awesome collaborative work! Thanks so much. Long live XP!
#2081 | daniel_k | ⇗ @diderius6, finally! ⇗ @Mov AX, 0xDEAD, how do I find the code for a certain opcode? I'm think about replacing a non used opcode. The IOTR stuff is just for you, I'm decades behind your knowledge. ⇗ @dencorso, good to see you here!

#2082

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #2073

> @daniel_k
> Your last acpi.sys (post 2069) for XP SP3 32 bit
> works on all boards (AMD, Intel, old, new) that I tested.
> No need to mod anything in Bios. All USB devices work.

Old how long? In both my Haswell and Ivy boards the USB3 driver doesn't install or work.
Strangely, the usb3 driver installs properly on older Ivy board (even the usb3 ports act as usb2, so no difference) while on the newer haswell board the usb driver doesn't install anyway even the acpi.sys (acpi5048_dietmar md5: 9D1015F5DD2B9EED6CA40579E8574541) is correctly in the windows\system32\drivers after reeboting.
Someone can confirm that? I really hope not, so I can still have a dream :)
In any case, my congratulations to you all for the wonderful work.
Edit: also tried the acpi.sys from daniel_k at #2076 with same results.

#2083

diderius6

⇗ @daniel_k
Until now I tested acpi_test1.sys and acpi_test2.sys (from your 6 acpis (vers. 5048) 64 bit XP )
for Ryzen boot of XP 64 bit.
This is a really hard job, because I need to make sure,
that it is ONLY the fault of acpi.sys, when it crashes. I will continue test for the other acpis.
acpi_test1.sys gives BSOD 0x7E (0xC0000005,..)
acpi_test2.sys hangs during setup (I think, the same BSOD as acpi_test1.sys)
acpi_test3.sys gives BSOD 0x7E (0xC0000005,..)
acpi_test4.sys hangs during setup (I think, the same BSOD as acpi_test1.sys)
acpi_test5.sys hangs during setup (I think, the same BSOD as acpi_test1.sys)
acpi_test6.sys hangs during setup (I think, the same BSOD as acpi_test1.sys)
So, on a longer sight, the idea from ⇗ @infuscomus
to set up a windbg session with checked XP 64 may be the better choice.
⇗ @infuscomus :
I cant download the checked XP 64 from
⇗ https://the-eye.eu/public/MSDN/Windows%20XP/
May be you can try also and send to me this XP checked 64 bit
Dietmar

#2084

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2081

> @Mov AX, 0xDEAD, how do I find the code for a certain opcode? I'm think about replacing a non used opcode.

FYI:
BufferOpcode start at 0x27407 (winxp_5512) and pointed from _atBuffer structure at 0x2CE10 _atBuffer

    .text:00027407                 mov     edi, edi
    .text:00027409                 push    ebp

in this block we copy bytes from dsdt to memory:

    .text:000274B5                 mov     eax, [ebp+arg_0]
    .text:000274B8                 mov     ecx, esi
    .text:000274BA                 mov     esi, [eax+3Ch]
    .text:000274BD                 mov     eax, [ebx+30h]
    .text:000274C0                 mov     edi, [eax+10h]
    .text:000274C3                 mov     eax, ecx
    .text:000274C5                 shr     ecx, 2
    .text:000274C8                 rep movsd
    .text:000274CA                 mov     ecx, eax
    .text:000274CC                 and     ecx, 3
    .text:000274CF                 rep movsb
    .text:000274D1                 mov     eax, [ebx+14h] <- copying is done at this IP and we can patch
    .text:000274D4                 mov     ecx, [ebp+arg_0]
    .text:000274D7                 mov     [ecx+3Ch], eax
    .text:000274DA                 pop     edi

also possible patching source buffer (where dsdt is loaded) before copying to final destination

#2085 | dencorso | ⇗ @Andalu: what are the VID & PID of the Haswell board's "Intel Chipset Family USB eXtended Host Controller"? Is it present in the .inf? The VID should be 8086 (aka Intel) but the PID can be any value.

## Page 140

#2086

Andalu

⇗ @dencorso
Thank you for reply ;)
The device ID for the "Intel 8 series_C220 series B xHCI HC - 8C31" (with message: "no driver installed for this device") of my CSM-Q87M-E43 board is PCI\VEN_8086&DEV_8C31&CC_0C0330 that is present in the amdxhc.inf of the AMDXHCI package.
When i try to install the driver, i got always error code 10

#2087 | diderius6 | I found WindowsServer2003.WindowsXP-KB914961-SP2-x64-DEBUG-ENU.exe Hope, that I can update XP 64 to SP2 debug version Dietmar

#2088

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2087

> I found
> WindowsServer2003.WindowsXP-KB914961-SP2-x64-DEBUG-ENU.exe
> Hope, that I can update XP 64 to SP2 debug version
> Dietmar

Only Windows checked can be update to service pack checked (debug)

#2089

dencorso

⇗ @Andalu: just to keep in the same page: are you using precisely the drivers attached below? Those are the latest iteration.
dencorso has attached files to this post

- ⇗ Final_New_daniel_k_v2.rar

#2090 | Andalu | ⇗ @dencorso Yes, it's the same package i have used. I just verified that each file of both packages has the same MD5.

#2091

diderius6

⇗ @skullteria
With little help from nlite 1.4.9.3 64 bit,
I succeed to integrate
WindowsServer2003.WindowsXP-KB914961-SP2-x64-DEBUG-ENU.exe
into my normal XP 64 bit
Dietmar
PS: I also integrated your nice STORAHCI driver there. Now again fun can start:))!
⇗ https://www.askvg.com/windows-xp-sp3-set...service-pack-3/

#2092 | daniel_k | ⇗ @diderius6, those 6 test files, it was supposed to be tested on your Intel boards, not Ryzen. ⇗ @Mov AX, 0xDEAD, thanks! ⇗ @Andalu, if the MMC process hangs, I don't know what to suggest to you. Any chance of doing a clean install on a spare disk then apply the ACPI.SYS and install the driver?
#2093 | diderius6 | ⇗ @daniel_k On Intel boards it is easy for me to test Dietmar
#2094 | daniel_k | ⇗ @diderius6, please do it when you can.

#2095

diderius6

⇗ @daniel_k
Small problem is just now,
that my XP 64 installation does not survive the direct upgrade
to the debug version.
So I have to install it new.
I will make 2 installs,
one with debug XP 64
and another one with normal XP 64.
The versions are identic
Dietmar
PS: That is the debug acpi.sys from XP 64 SP2.
diderius6 has attached files to this post

- ⇗ acpiDEBUGXP64.rar

#2096

diderius6

⇗ @daniel_k
After I installed XP 64 new,
I port it from XP friendly z390 to XP unfriendly (Intel) Asrock fatal1ty z370 gaming k6.
Waaooh, your acpi_test1.sys (out of 6 acpis)
shows for the very first time the graphikcard,
no error about IOTR can be seen
and the USB is recogniced at once, just nice:))
Dietmar
PS: Now I am too tired, go to bed.

#2097 | daniel_k | ⇗ @diderius6, that's great! Please try all files tomorrow.
#2098 | diderius6 | ⇗ @daniel_k Yepp! Dietmar

#2099

diderius6

⇗ @daniel_k
I make 6 identic installations CDs for XP 64 SP2 (nondebug).
On 1. is acpi_test1.sys
On 2. is acpi_test2.sys
On 3. is acpi_test3.sys
On 4. is acpi_test4.sys
On 5. is acpi_test5.sys
On 6. is acpi_test6.sys
With this I try to install XP64 bit direct on XP unfriendly (Intel) Asrock fatal1ty z370 gaming k6 board and on the Giga H110 with original unmodded Bios F25.
Only with CD1 and CD6 this is possible:))!
CD2, CD3, CD4, CD5 show all the same BSOD A5 (0x03,..).
Between them I try again CD1 three times, because sometimes strange things can happen.
Ok, CD1 works always for XP 64 bit install on XP unfriendly compi.
The behavior of the Asrock z370 and the Giga H110 board ist to 100% identic,
Dietmar

#2100 | infuscomus | ⇗ @diderius6 I found XP 64 Debug/Checked ISO here ⇗ https://www.getmyos.com/windows-xp-professional-x64

## Page 141

#2101

skullteria

Well, i installed Windows Vista in my system and USB 3.0 with amd driver modded working fine! However, need be signed to run on x64.
⇗
And in WIndows XP SP3, working fine too! However, after install a hotfix what change kernel, i get code 10, even using acpi modded.
⇗
Now, i need test on Server 2003 and in x64
Well, on Server 2003 installed on Virtual Box, i get Code 10. Later i test on real computer

#2102

dencorso

> Zitat von ⇗ skullteria im Beitrag ¶ #2101

> However, after install a hotfix what change kernel, i get code 10, even using acpi modded.

You've just hit jackpot! That issue was baffling me and ⇗ @Andalu till now! What version were your kernel files before and after the issue showed itself? Just for the record, the latest kernel files are 5.1.2600.7649 (for ntkrnlmp, from KB4486463 of Feb 2019) and 5.1.2600.7811 for the others (including ntkrpamp, from KB4463103 of Oct 2018). Any effective USB 3.x solution must work with those, of course. You just found where does the last bug lurk!!! Congrats! :-)

#2103

skullteria

> Zitat von ⇗ dencorso im Beitrag ¶ #2102

> > Zitat von ⇗ skullteria im Beitrag ¶ #2101

> > However, after install a hotfix what change kernel, i get code 10, even using acpi modded.

> You've just hit jackpot! That issue was baffling me and @Andalu till now! What version were your kernel files before and after the issue showed itself? Just for the record, the latest kernel files are 5.1.2600.7649 (for ntkrnlmp, from KB4486463 of Feb 2019) and 5.1.2600.7811 for the others (including ntkrpamp, from KB4463103 of Oct 2018). Any effective USB 3.x solution must work with those, of course. You just found where does the last bug lurk!!! Congrats! :-)

well, i not used vanilla files in true. I used my kernel files from One-Core-API kernel update (i'm the creator of Shorthorn and one-core-api project: shorthornproject.com). I think something change on DSDT on registry after switch hal. And, i am warried with Server 2003. I need test acpi and usb on real machine. Maybe we have problem if Windows was installed and after packaged on WIM format. Maybe it not change DSDT property.
For kernel test (both Windows XP and Server 2003):
⇗ https://github.com/Skulltrail192/One-Cor...er%20Standalone

#2104

dencorso

Sure! But ist's a pointer, nonetheless, I guess.
Just for the record (and without any intention of preaching at the choir), two references someone may find useful:
⇗ http://www.geoffchappell.com/studies/win...story/index.htm
(about kernel versions) and (about E320 from NT6.*)
⇗ https://www.geoffchappell.com/studies/wi...os/fwmemmap.htm

#2105

Andalu

⇗ @daniel_k ⇗ @dencorso
Some good news from here. I restored on the second partition an XP image saved at first reboot after installation on my haswell board (thanks to daniel_k for the suggestion at #2092), acpi.sys overwritten with the new version form "acpi5048_intel_amd_final" package from my first partition (so the operating system doesn't change it on the restart) and the drivers from "USB3bestforIntel" package are correctly installed now.
But the good news ends here, because the USB 3.0 devices (hard disks and flash drives) are not working at USB 3.0 speed, the performances tested by Crystal Disk Mark are really low and also changing AHCI/EHCI options in bios doesn't help. Someone can confirm that USB3.0 performances of the boards tested are really as USB3?

#2106

diderius6

I tested for some hours the XP 64 SP2 (nondebug) on the Giga H110 board. It is original, unmodded Bios F25.
It is amazing stable. Not a single device is unknown in devicemanager, nothing yellow:)).
I also succeed to find drivers for the SM controller, memory controller, Intel Mei for Skylake cpu, just everything.
And it is real USB 3 as you can see on photo. The USB is recogniced at once, thanks to ⇗ @daniel_k .
For the direct install (nlite) via CD to the Giga H110 board I chose acpi_test6.sys (post 2077), because it contains also the mod from @skullteria.
Also I integrate in CD the STORAHCI driver from ⇗ @skullteria with newest storport.sys (version 64 bit 5.2.3790.4173)
And I use the hal.dll for the crazy timer from ⇗ @Mov AX, 0xDEAD .
Dietmar
PS: Thanks to ⇗ @infuscomus , who makes this XP 64 possible. Now I have also XP 64 SP2 debug version and fun can start via windbg:)).
⇗

#2107

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2106

> I tested for some hours the XP 64 SP2 (nondebug) on the Giga H110 board. It is original, unmodded Bios F25.
> It is amazing stable. Not a single device is unknown in devicemanager, nothing yellow:)).
> I also succeed to find drivers for the SM controller, memory controller, Intel Mei for Skylake cpu, just everything.
> And it is real USB 3 as you can see on photo. The USB is recogniced at once, thanks to @daniel_k .
> For the direct install (nlite) via CD to the Giga H110 board I chose acpi_test6.sys (post 2077), because it contains also the mod from @skullteria.
> Also I integrate in CD the STORAHCI driver from @skullteria with newest storport.sys (version 64 bit 5.2.3790.4173)
> And I use the hal.dll for the crazy timer from @Mov AX, 0xDEAD .
> Dietmar
> PS: Thanks to @infuscomus , who makes this XP 64 possible. Now I have also XP 64 SP2 debug version and fun can start via windbg:)).
> ⇗

Hey, please test with Server 2003 x86. And, switch kernel too. You don't need really lastest version of storport.sys. I tested Windows XP with Server 2003 SP2 vanilla (5.2.3790.3959)

#2108 | Andalu | ⇗ @diderius6 Thanks for your proof. So it's an issue for me only. Too strange, same problem for two different systems (Haswell and Ivy): drivers correctly installed and devices usb3 recognized but performances too poor.
#2109 | diderius6 | ⇗ @Andalu May be it is a problem from DSDT in Bios: The USB3 is marked as USB2 there. Have you tested on Win7? The driver works there also, Dietmar
#2110 | skullteria | Well, i have a challenge. When i try use winload from Windows Vista on XP/2003 on real machine, i get A5 0x0000002 BSOD. Somebody can help to try fix it? Fixing it, we can use lastest Windows Setup engine based in WIM format ( for now, i only can use 5231 version) and can do a multiversion install for XP/2003/Reactos.
#2111 | infuscomus | ⇗ @skullteria winload from vista beta or RTM?
#2112 | XPLAKE8175 | ⇗ @diderius6 Hello, I still get error 10 on Intel hd 5500.

#2113

skullteria

> Zitat von ⇗ infuscomus im Beitrag ¶ #2111

> @skullteria
> winload from vista beta or RTM?

Both beta and RTM, up build 5307 +, mainly RTM.

#2114 | XPLAKE8175 | ⇗ @diderius6 I will tell you possible issues: - Registry issue - Lack of the .dll and .sys.

#2115

diderius6

⇗ @XPLAKE8175
The Intel hd 5500 is just too new.
I have not seen any driver for XP for it.
⇗ @daniel_k told,
that there is no possibility to mod this driver
from Win7 for XP.
When it is not possible to use the HD 4000 driver
from XP for it,
it will not work
Dietmar
EDIT:
Make a try with
⇗ http://drivers.drp.su/Video_Intel-XP/Int...10.5445-drp.exe

## Page 142

#2116

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2115

> @XPLAKE8175
> EDIT:
> Make a try with
> ⇗ http://drivers.drp.su/Video_Intel-XP/Int...10.5445-drp.exe

The redirect seems to not work, here's the actual zipfile for that haswell version: ⇗ http://drivers.drp.su/Video_Intel-XP/Int...10.5445-drp.zip
EDIT: fixed the link, incorrectly pasted the x64 version

#2117

Andalu

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2109

> May be it is a problem from DSDT in Bios: The USB3 is marked as USB2 there.
> Have you tested on Win7? The driver works there also

I never tried the modded driver on another system that is not XP, i need to use XP only on those systems :) and i'm hoping to have a fully functionally USB3 too.

> Zitat von ⇗ diderius6 im Beitrag ¶ #2106

> I also succeed to find drivers for the SM controller, memory controller, Intel Mei for Skylake cpu, just everything.

Could you give me please the links where downloading these drivers? In the next days i will have an Asrock B250M Pro4 and probably a kaby lake cpu, and, availability of time permitting, i'll also try to install XP on that board.
Thanks in advance ;)

#2118 | diderius6 | ⇗ @Andalu I did an intensive search with the DEV_ numbers of each device and the name "Skylake" on Internet. I found them at different places, tried a lot Dietmar

#2119

IntiMD

> Zitat von ⇗ Andalu im Beitrag ¶ #2117

> Could you give me please the links where downloading these drivers? In the next days i will have an Asrock B250M Pro4 and probably a kaby lake cpu, and, availability of time permitting, i'll also try to install XP on that board.
> Thanks in advance ;)

Not him but for those devices you can use Fernando's AIO pure Intel Chipset Device inf files ⇗ here (Point II). I recommend doing it only for those intel chipset devices in the other drivers section of device manager.

#2120 | Andalu | ⇗ @diderius6 ⇗ @IntiMD thanks for the info, i'll give a try

#2121

Illen

XP x64 works well on ASRock Z170 Pro4S with both acpi_test1 and acpi_test6
I also tried UEFI booting it, but unfortunately it doesn't want to work with BootMGR/Winload from Vista Beta 2 and RC, and the Server 2008 Beta 3 or Vista Beta SP1 ones are pretty much unobtainable.
⇗

#2122 | infuscomus | ⇗ @daniel_k ⇗ @diderius6 just thought I'd try your ACPI driver from post 2076 in virtualbox to see if the virtualized intel USB 3.0 works properly using driver from post 2072 - all working now. nice!

#2123

skullteria

> Zitat von ⇗ Illen im Beitrag ¶ #2121

> XP x64 works well on ASRock Z170 Pro4S with both acpi_test1 and acpi_test6
> I also tried UEFI booting it, but unfortunately it doesn't want to work with BootMGR/Winload from Vista Beta 2 and RC, and the Server 2008 Beta 3 or Vista Beta SP1 ones are pretty much unobtainable.
> ⇗

Some question: Geforce 1060 6GB is installed on XP x64?

#2124

diderius6

⇗ @Illen
Nice work:))!
I am also very interested in UEFI boot.
Did you take a look at
⇗ https://www.betaarchive.com/forum/viewto...2dd71d&start=25
and test with Longhorn 5112 or 5231 AMD64 each
⇗ https://winworldpc.com/product/windows-l...-vis/post-reset
Dietmar

#2125

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2124

> @Illen
> Nice work:))!
> I am also very interested in UEFI boot.
> Did you take a look at
> ⇗ https://www.betaarchive.com/forum/viewto...2dd71d&start=25
> and test with Longhorn 5112 or 5231 AMD64 each
> ⇗ https://winworldpc.com/product/windows-l...-vis/post-reset
> Dietmar

⇗ @diderius6, be careful, need test on real machine...All winload/bootmgr from Vista 5048 - 5310 tested by me not work on Core based systems. All i get BILibray black screen. And up these builds get A5 BSOD. Virtual Machin not reflect the reality.

#2126

diderius6

On a special wish
I installed XP SP1 32 bit on the Giga H110 board.
The last acpi.sys works there and also all USB, network,
just everything.
1 year ago I noticed, that XP SP1 does not like to work with storport.sys.
Because of this I use the normal AHCI Intel driver from Fernando via nlite
Dietmar

#2127

Illen

> Zitat von ⇗ skullteria im Beitrag ¶ #2123

> Some question: Geforce 1060 6GB is installed on XP x64?

It's a 368.81 driver for XP x64, only 2D acceleration works (GDI, ddraw, etc.). No OpenGL or Direct3D.

> Zitat von ⇗ diderius6 im Beitrag ¶ #2124

> Nice work:))!
> I am also very interested in UEFI boot.
> Did you take a look at
> ⇗ https://www.betaarchive.com/forum/viewto...2dd71d&start=25
> and test with Longhorn 5112 or 5231 AMD64 each
> ⇗ https://winworldpc.com/product/windows-l...-vis/post-reset
> Dietmar

Yep, these early beta builds are known to have 32 bit EFI bootloader, or not have EFI bootloader at all. The later ones (6.0.5384.4 or newer) do have an 64 bit EFI bootloader, although these are still quite buggy and don't work with my Z170. There's one build (Longhorn Server Beta 3 6001.16497) which is known to have a 64 bit UEFI bootloader that works on newer hardware and still can boot NT 5.2 (see: ⇗ https://www.betaarchive.com/forum/viewto...=434233#p434233), but I couldn't find this build (nor any others that are close) anywhere.

#2128 | diderius6 | ⇗ @Illen betaarchive has this OS on its ftp server (''Longhorn Server'' 6.0.6001.16497) (x64 Server beta3).rar but I dont know, how to download it from there Dietmar
#2129 | infuscomus | ⇗ @diderius6 you need to be granted permission to download off the betaarchive FTP server.
#2130 | Andalu | Finally! An old Ivy board (Asrock B75 Pro3-M) with USB3 ports fully functional. Thanks again to all you guys ;) ⇗ But about my haswell board I don't give up :) no other suggestion?

## Page 143

#2131

AddFun

So, what is driver pack I should use to get USB support on a X370/Ryzen platform? I have a PS/2 keyboard so far, but that's about it. Also, what are you guys doing for various PCI devices? My device manager is just yellow question marks galore.
Also, I tried the latest "final" ACPI.sys by Daniel, works perfect as the older one, only difference with the new one the boot time seems to be doubled, but it does get to desktop just fine.

#2132

IntiMD

> Zitat von ⇗ AddFun im Beitrag ¶ #2131

> So, what is driver pack I should use to get USB support on a X370/Ryzen platform? I have a PS/2 keyboard so far, but that's about it. Also, what are you guys doing for various PCI devices? My device manager is just yellow question marks galore.
> Also, I tried the latest "final" ACPI.sys by Daniel, works perfect as the older one, only difference with the new one the boot time seems to be doubled, but it does get to desktop just fine.

The one from post #2089, which is same usb3.0 pack published by daniel_k in post #1919 (AMDXHCI_XP_FINAL.rar). This worked for my friend Illen (although he used the x64 version and x64 acpi mod which acpi_test1.sys and acpi_test6.sys each worked for him)
>Also, what are you guys doing for various PCI devices? My device manager is just yellow question marks galore.
Depends but if they are Intel ones, i'm pretty sure those are chipset devices, so you can use Fernando's AIO pure Intel Chipset Device inf files here (Point II). I recommend doing it only for those intel chipset devices with yellow bang (in other drivers section) of device manager.

#2133 | XPLAKE8175 | Chipset INF files are such a bloatware. If you install them, the performance doesn't increase. The most important missing driver is Intel HD Graphics 5500.
#2134 | XPLAKE8175 | I downloaded it from drpsu and it has two igxp32.inf variants. First is igxp32.inf and second is igxp32_tweak.inf. The Broadwell CPU is Improved version of haswell version.

#2135

IntiMD

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #2133

> Chipset INF files are such a bloatware. If you install them, the performance doesn't increase. The most important missing driver is Intel HD Graphics 5500.

They aren't bloatware, maybe if you force the software set to install even though it isn't needed might bloat up the registry and windows/inf, but if you install the pure Intel Chipset Device *.inf files in point II of Fernando's thread regarding Intel Chipset Device "Drivers" only for the intel devices with yellow bang (in "Other devices" section), they won't do any harm

#2136 | XPLAKE8175 | Diderius6's acpi.sys for Ryzen boards works pretty well with ASUS k555lb. Qualcomm AR956x has Windows XP drivers.
#2137 | infuscomus | ⇗ @diderius6 any news on XP x64 debug for ryzen?
#2138 | XPLAKE8175 | ⇗ @diderius6 An unknown person at msfn.org said that drpsu intel hd gpu will work on skylake. The embedded intel hd gpu gets error on haswell U series processors too. I have got broadwell U series Intel HD Gpu. I want to get HDMI audio and internal gpu works on Windows XP. The discrete gpu drivers (Nvidia) doesn't show yellow exclamation mark.
#2139 | dencorso | Super-sized French fries on the side, maybe?

#2140

diderius6

⇗ @infuscomus
I will set up a 64 Bit debug XP on the Giga 110 board,
which I port to the Ryzen board Asrock Fatal1ty AB350 gaming k4.
The next 2 days I have time for this and I hope,
that windbg will show the needed information about BSOD
which helps to overcome it
Dietmar

#2141

diderius6

⇗ @Illen
I got the needed *.efi files for Vista (Longhorn) Server Beta 3 6.0.6001.16497.
Now fun can start for Uefi boot of XP
Dietmar
diderius6 has attached files to this post

- ⇗ xp_efi.rar

#2142

daniel_k

⇗ @Mov AX, 0xDEAD

    If (LGreaterEqual (OSYS, 0x07D6))
    {
    	And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM) /* \_SB_.PCI0.XHC_.PDBM */
    }

Instead of skipping the code, what do you think of changing the 64-bit value to a 32-bit one as the higher order part is ignored anyway in this operation?

    And (PDBM, 0xFFFFFFF9, PDBM)

I did not try it yet, just want to confirm this is technically correct.
Is there a way to find out the actual address of the PDBM variable to check if the resulting value stays the same when using both 32-bit and 64-bit values, on Windows 7?
EDIT: With AIDA64 Enginner I can query the variable PDBM:

    _SB_.PCI0.XHC_.PDBM: Success
    ---------------------------
    *** Argument #0:  Type = 0, DataLength = 4 ***
    Int. Data = 1024  (0x00000400)
    ---------------------------

That's with the device disabled. If I enable the XHCI controller, data is 0x00000406.
Don't know how to use the arguments.
To make sure the data is the same, aren't we supposed to see the whole 8 bytes data (64-bit) or those 4 bytes are enough?
Sadly the ACPI Browser doesn't work on XP (tree is not populated).

#2143

daniel_k

⇗ @IntiMD, thanks for the report.
I believe we should only patch where required, so acpi_test1.sys is the final release for Intel only systems.
We need to wait for Dietmar to fix Ryzen support so we can have a single file supporting both Intel and AMD systems.
I must stress: this does NOT work on Ryzen systems.

#2144

XPLAKE8175

⇗ @diderius6
Which Section of my dsdt table must be solved to not get ACPI 0x000000A5 error. Detailed error codes and informations are:
0x00000001:
This argument is defined as an ACPI root resources failure. More specifically, ACPI could not find the system control interrupt (SCI) vector in any of the resources that ACPI received at startup. SCI is a special interrupt type that provides a more efficient way to deal with problems that are normally handled by system management interrupts (SMI). If SCIs cannot be initialized, ACPI cannot function. This can occur if no entry for this IRQ is found in the list or if no IRQ resource list was found at all.
0x00000002:
This error is defined as ACPI root PCI resource failure. To discover what current resources are being used by PCI devices, ACPI must be able to query the CRS descriptor in the ACPI namespace. This error occurs if the BIOS lacks a pointer to the list, or if the list is empty, or if the list contains errors or conflicts.
Here is your dsdt table for my Asus k555lb laptop:
XPLAKE8175 has attached files to this post

- ⇗ DSDTK555LB.zip

#2145 | diderius6 | ⇗ @XPLAKE8175 Have you made a try with the acpi.sys from post 2076 for XP SP3? No mod in DSDT is needed, it works on all AMD, Intel boards that I tested, also for USB Dietmar

## Page 144

#2146 | XPLAKE8175 | ⇗ @diderius6 How can I integrate it? Windows 10 or XP mps mode? I tried asl /loadtable dsdt.aml.

#2147

skullteria

> Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #2144

> @diderius6
> Which Section of my dsdt table must be solved to not get ACPI 0x000000A5 error. Detailed error codes and informations are:
> 0x00000001:
> This argument is defined as an ACPI root resources failure. More specifically, ACPI could not find the system control interrupt (SCI) vector in any of the resources that ACPI received at startup. SCI is a special interrupt type that provides a more efficient way to deal with problems that are normally handled by system management interrupts (SMI). If SCIs cannot be initialized, ACPI cannot function. This can occur if no entry for this IRQ is found in the list or if no IRQ resource list was found at all.
> 0x00000002:
> This error is defined as ACPI root PCI resource failure. To discover what current resources are being used by PCI devices, ACPI must be able to query the CRS descriptor in the ACPI namespace. This error occurs if the BIOS lacks a pointer to the list, or if the list is empty, or if the list contains errors or conflicts.
> Here is your dsdt table for my Asus k555lb laptop:

"This can occur if no entry for this IRQ is found in the list or if no IRQ resource list was found at all.
0x00000002:"
This is the error when try load Window Xp with winload from Vista

#2148 | XPLAKE8175 | This error related with IRQs.

#2149

diderius6

⇗ @XPLAKE8175
Copy this acpi.sy_ into your folder i386 on the installations CD of XP 32 bit.
Then use nlite 1.4.9.3 to make bootable CD *.iso
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#2150

daniel_k

⇗ @Mov AX, 0xDEAD
I've tried really hard to patch existing functions related to opcodes but failed.
Apart from QwordConst which you guided me to add, there are only 2 that need to be added to original XP's ACPI.SYS 5512: CreateQwordField and ToInteger.
I was working on 5512 because don't like the idea of mixing files from a beta OS.
Tried to hook it to a similar function such as Decrement/Increment and added a check for opcode 99 for skipping any operation (+ or -, as expected), right before the 0x75 opcode compare.
XP works just fine, but as soon as I change the DSDT to enable processing of ToInteger, it crashes.

#2151 | XPLAKE8175 | ⇗ @diderius6 I did the method and it succeeded but restarts every time if a new hardware plugged in. How can I load your DSDT.aml?

#2152

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2142

> @Mov AX, 0xDEAD

>     If (LGreaterEqual (OSYS, 0x07D6))
>     {
>     	And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM) /* \_SB_.PCI0.XHC_.PDBM */
>     }

> Instead of skipping the code, what do you think of changing the 64-bit value to a 32-bit one as the higher order part is ignored anyway in this operation?

>     And (PDBM, 0xFFFFFFF9, PDBM)

yes, it is right for acpi.sys with 32 integers
p.s my patch of classic 5512 do exactly what you said ¶ Windows XP SP3 32bit and modern PC parts (128) without any changes in dsdt
it load only low 4 bytes (res.int<-esi) then increment ip to next opcode (+8)
5048 dont need this because it already has 64 integers support ¶ Windows XP SP3 32bit and modern PC parts (21)

#2153 | daniel_k | ⇗ @Mov AX, 0xDEAD, what I want to know is if it won't affect functionality newer OSes with support for 64-bit integers. Don't want to screw anything. Will it behave the same as with original code?

#2154

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2150

> @Mov AX, 0xDEAD
> Apart from QwordConst which you guided me to add, there are only 2 that need to be added to original XP's ACPI.SYS 5512: CreateQwordField and ToInteger.

copy pointer CreateDwordField to CreateQwordField struct. Creating real 64 bit adressing will be more harder.

> Zitat

> XP works just fine, but as soon as I change the DSDT to enable processing of ToInteger, it crashes.

> Zitat

> after i discovered "vista beta acpi.sys" anyone can add new opcode handlers to classic winxp acpi.sys, but only 32 bit integers betas is compatible with winxp. 1) copy bytes from existing acpi.sys 2) add relocs 3) create missing structs 4) add missing import or replace with internal impelemtation
> that's how I made my acpi.sys but took the code from win7 x32 (converted back 64-int logic to 32-int)

#2155

Illen

⇗ @diderius6
Got XP x64 to boot from UEFI on my Z170, using the NVidia 8400GS GPU (instead of GTX 1060) with the Anapa VBE driver installed. This is not pure UEFI yet though (legacy video support is required), because the 8400GS doesn't support UEFI and the NVidia XP native drivers (340.52 for 8400GS and 368.81 for GTX 1060) didn't like UEFI boot. I couldn't get VBE driver to work on GTX 1060 or HD 530 iGPU either.

#2156

diderius6

⇗ @Illen
But this is so nice anyway:))!
Can you please write a short tutorial step by step,
how you reached this,
have a nice evening
Dietmar
PS: Soon I get a lenovo flex 10.
There you have 32 bit UEFI Bios. And the most interesting thing is:
You can update this Bios to 64 bit UEFI. So, you can switch between them
as much as you like .

#2157

diderius6

Until now I do not succeed to install XP64 SP2 debug version on any compi.
I get always the message (using windbg)
An Access Violation occurred in C:\WINDOWS\system32\csrss.exe
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 00:07:51.421 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`013d1fd0
>     System Uptime: not available
>     AhciHwFindAdapter finishing
>     ==>netdmaInitialize
>     <==__FUNCTION__ Status 0
>     WDF: [DriverEntry] HDAudio Bus Driver - Driver Framework Edition.
>     WDF: [DriverEntry] Built May 26 2005 08:46:10
>     KDTARGET: Refreshing KD connection
>     FromRegistry: Option1 = 0
>     22:08:14.734+9cf0dc20:0000+RDPDYN_Dispatch         +0680+Unhandled PnP IRP with minor 00000018
>     VideoPort: This is an ACPI Machine !
>     HDAudBus: [AzStartDevice] Starting hdaudio bus driver device 0x00000520646AD027
>     HDAudBus: [ReadPciDeviceId] Vendor ID: 10DE, Device ID: E0F, Revision ID: A1
>     HDAudBus: [AzEnumerateBus] Scanning codec on SDI0
>     HDAudBus: [AzEnumerateBus] Scanning function group at node 1
>     HDAudBus: [AzEnumerateBus] SSID 0, trying new control verb.
>     HDAudBus: [AzEnumerateBus] New SSID: 19DA730B.
>     HDAudBus: [AzStartDevice] Starting hdaudio bus driver device 0x0000052064C1A8D7
>     HDAudBus: [ReadPciDeviceId] Vendor ID: 8086, Device ID: A170, Revision ID: 31
>     HDAudBus: [AzEnumerateBus] Scanning codec on SDI0
>     HDAudBus: [AzEnumerateBus] Scanning function group at node 1
>     HDAudBus: [AzEnumerateBus] SSID 0, trying new control verb.
>     HDAudBus: [AzEnumerateBus] New SSID: 1458A182.

>     ***
>      Assertion failed: ((Timer)->Header.Type == TimerNotificationObject)
>     || ((Timer)->Header.Type == TimerSynchronizationObject)
>     ***   Source File: d:\nt\base\ntos\ke\timerobj.c, line 190

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i
>     ==>NetDmaRegisterClient: ClientContext 0000000000000000
>     <==NetDmaRegisterClient: ClientContext 0000000000000000, ClientHandle FFFFFADF9A966A50, Status 0
>     ==>NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50
>     <==NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50, Status c000009a
>     ==>NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50
>     <==NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50, Status c000009a
>     ==>NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50
>     <==NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50, Status c000009a
>     ==>NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50
>     <==NetDmaAllocateChannel: ClientHandle FFFFFADF9A966A50, Status c000009a
>     Checking file system on C:
>     The volume is clean.
>     Windows has finished checking the disk.
>     GDI: VerifierInitialization: failed to get info from ntoskrnl

>     (s: 0 0x180.184 smss.exe) USRK-[Wrn] *** win32k: DBCS:[0] IME:[0] MiddleEast:[0] CTFIME:[0]
>     Installed
>     Installed
>     R2BuildNumber

>      *** An Access Violation occurred in C:\WINDOWS\system32\csrss.exe
>     ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On
>     SubSystemType=Windows ServerDll=basesrv,1
>     ServerDll=winsrv:UserServerDllInitialization,3
>     ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off
>     MaxRequestThreads=16:

>     The instruction at 0000000077F1E1D1 tried to read from an invalid address, 0000000000000018

>      *** enter .exr 000000000015F370 for the exception record
>      ***  enter .cxr 000000000015EEA0 for the context
>      *** then kb to get the faulting stack

>     Break instruction exception - code 80000003 (first chance)
>     ntdll!DbgBreakPoint:
>     0033:00000000`77f86240 cc              int     3
>     0: kd> !analyze -v
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 00:10:03.312 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ...............................................................
>     ...................
>     Loading User Symbols
>     ....
>     Loading unloaded module list
>     .......
>     *******************************************************************************
>     *                                                                             *
>     *                        Exception Analysis                                   *
>     *                                                                             *
>     *******************************************************************************

>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for CSRSRV.dll -
>     *** ERROR: Module load completed but symbols could not be loaded for csrss.exe

>     FAULTING_IP:
>     ntdll!RtlAllocateHeap+51
>     0033:00000000`77f1e1d1 440b6718        or      r12d,dword ptr [rdi+18h]

>     EXCEPTION_RECORD:  000000000015f370 -- (.exr 0x15f370)
>     ExceptionAddress: 0000000077f1e1d1 (ntdll!RtlAllocateHeap+0x0000000000000051)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 0000000000000000
>        Parameter[1]: 0000000000000018
>     Attempt to read from address 0000000000000018

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  0000000000000000

>     MOD_LIST: <ANALYSIS/>

>     NTGLOBALFLAG:  440000

>     APPLICATION_VERIFIER_FLAGS:  0

>     CONTEXT:  000000000015eea0 -- (.cxr 0x15eea0)
>     rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000000
>     rdx=0000000020040000 rsi=0000000000164bb0 rdi=0000000000000000
>     rip=0000000077f1e1d1 rsp=000000000015f440 rbp=000000000016481f
>      r8=0000000000001ac8  r9=0000000000000000 r10=0065007400730079
>     r11=000000000015f618 r12=0000000020040000 r13=0000000000000000
>     r14=0000000000000080 r15=000007ff7c5b1918
>     iopl=0         nv up ei pl zr na po nc
>     cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
>     ntdll!RtlAllocateHeap+0x51:
>     0033:00000000`77f1e1d1 440b6718        or      r12d,dword ptr [rdi+18h] ds:002b:00000000`00000018=????????
>     Resetting default scope

>     READ_ADDRESS:  0000000000000018

>     FOLLOWUP_IP:
>     basesrv!ServerDllInitialization+0
>     0033:000007ff`7c1e5810 48894c2408      mov     qword ptr [rsp+8],rcx

>     LAST_CONTROL_TRANSFER:  from 000007ff7c1e5b60 to 0000000077f1e1d1

>     FAULTING_THREAD:  ffffffffffffffff

>     ADDITIONAL_DEBUG_TEXT:
>       Followup set based on attribute [Is_ChosenCrashFollowupThread] from
>     Frame:[0] on thread:[PSEUDO_THREAD] ; Enable Pageheap/AutoVerifer

>     DEFAULT_BUCKET_ID:  HEAP_CORRUPTION

>     PRIMARY_PROBLEM_CLASS:  HEAP_CORRUPTION

>     BUGCHECK_STR:  APPLICATION_FAULT_HEAP_CORRUPTION_STATUS_BREAKPOINT

>     STACK_TEXT:
>     00000000`0015f440 00000000`77f1e1d1 ntdll!RtlAllocateHeap+0x51
>     00000000`0015f620 000007ff`7c1e5b60 basesrv!ServerDllInitialization+0x350
>     00000000`0015fc50 000007ff`7c5b3eb8 csrsrv!CsrUnhandledExceptionFilter+0x368
>     00000000`0015fd10 000007ff`7c5b38c0 csrsrv!CsrPopulateDosDevices+0x760
>     00000000`0015fee0 000007ff`7c5b3a10 csrsrv!CsrServerInitialization+0xa0
>     00000000`0015ff10 00000000`4a681121 csrss+0x1121
>     00000000`0015ff18 ffffffff`ffffffff unknown!fillpattern+0x0
>     00000000`0015ff20 00000000`00000005 unknown!unknown+0x0
>     00000000`0015ff28 00000000`00164560 unknown!unknown+0x0
>     00000000`0015ff30 00000000`0000000a unknown!unknown+0x0
>     00000000`0015ff38 00000000`0000000d unknown!unknown+0x0
>     00000000`0015ff40 000007ff`00000000 unknown!unknown+0x0
>     00000000`0015ff48 00000000`00164680 unknown!unknown+0x0
>     00000000`0015ff50 00000000`00164630 unknown!unknown+0x0
>     00000000`0015ff58 00000000`0016478d unknown!unknown+0x0
>     00000000`0015ff60 00000000`4a6815bb csrss+0x15bb
>     00000000`0015ff68 00000000`0015ffa0 unknown!unknown+0x0

>     SYMBOL_NAME:  basesrv!ServerDllInitialization+0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: basesrv

>     IMAGE_NAME:  basesrv.dll

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d73cba

>     STACK_COMMAND:  .cxr 00164CB0 ; kb ; dds 15f440 ; kb

>     FAILURE_BUCKET_ID:  HEAP_CORRUPTION_80000003_basesrv.dll!ServerDllInitialization

>     BUCKET_ID:  X64_APPLICATION_FAULT_HEAP_CORRUPTION_STATUS_BREAKPOINT_basesrv!ServerDllInitialization+0

>     Followup: MachineOwner
>     ---------

#2158 | diderius6 | Now I make a try with only the acpi.sys from XP64 SP2 debug Dietmar
#2159 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks. ⇗ @Illen, if the GPU accelerated driver doesn't work, IMHO, it doesn't make sense to use XP in UEFI mode. Thanks for sharing the video, interesting anyway. Where the Anapa driver can be found? ⇗ @diderius6, good luck!

#2160

skullteria

Hello, please test winload and bootmgr to boot Windows XP. It is normal version, not UEFI.
skullteria has attached files to this post

- ⇗ BootFiles.zip

## Page 145

#2161

diderius6

⇗ @daniel_k
First we need to solve via forced jmp (EB) in debug acpi.sys XP64 SP2 all the errors,
which appears on Intel boards also. For me it is not easy, because I have no good tools for XP64. When we have eleminated all
the "normal" acpi errors, windbg will hopefully show us the reason of ACPI BSOD, which happens only on Ryzen boards.
For Ida pro we need the symbols for exact this acpi.sys. I add this debug acpi.sys here.
This is from asus prime x570-pro Ryzen board with Bios version 407
and original DSDT in Bios. This is the very first time, that I get an output which belongs pur to acpi.sys.

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 01:43:18.109 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
>     System Uptime: not available
>     ACPIInitializeDDB: AMLILoadDDB failed 0xc0140001

>     *** Assertion failed: ACPIInitializeDDB: AMLILoadDDB failed to load DDB
>     0
>     ***   Source File: d:\nt\base\busdrv\acpi\driver\shared\acpiinit.c, line 515

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i

>     *** Fatal System Error: 0x000000a5  <---  Hack, which blocks all bugcheck A5 11h in acpi.sys
>                            (0x0000000000000011,0x0000000000000008,0xFFFFFADF9339B1F8,0x0000000020120913)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 01:43:56.437 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A5, {11, 8, fffffadf9339b1f8, 20120913}

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     Probably caused by : ACPI.sys ( ACPI!ACPIInitializeDDB+127 )

>     Followup: MachineOwner
>     ---------

>     nt!DbgBreakPointWithStatus:
>     fffff800`01026db0 cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACPI_BIOS_ERROR (a5)
>     The ACPI Bios in the system is not fully compliant with the ACPI specification.
>     The first value indicates where the incompatibility lies:
>     This bug check covers a great variety of ACPI problems.  If a kernel debugger
>     is attached, use "!analyze -v".  This command will analyze the precise problem,
>     and display whatever information is most useful for debugging the specific
>     error.
>     Arguments:
>     Arg1: 0000000000000011, ACPI_SYSTEM_CANNOT_START_ACPI
>     	The system could not enter ACPI mode
>     Arg2: 0000000000000008, Failed to load DDB
>     Arg3: fffffadf9339b1f8, Pointer to the table that ACPI failed to load
>     Arg4: 0000000020120913, Creator Revision

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA5

>     PROCESS_NAME:  System

>     CURRENT_IRQL:  2

>     LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)

>     Resource @ nt!IopDeviceTreeLock (0xfffff800011ddb40)    Shared 1 owning threads
>          Threads: fffffadf9ee91bf0-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0xfffff800011ddb40
>     	Thread Count  : 1
>     	Thread address: 0xfffffadf9ee91bf0
>     	Thread wait   : 0xa1

>     LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

>     STACK_TEXT:
>     fffffadf`936076d8
>      fffff800`010d673e : 00000000`00000000 00000000`00000000
>     00000000`00000011 fffff800`0105669e : nt!DbgBreakPointWithStatus
>     fffffadf`936076e0
>      fffff800`010d7d0e : fffff800`00000003 00000000`000000a5
>     00000000`00000011 00000000`00000008 : nt!KiBugCheckDebugBreak+0x1e
>     fffffadf`93607740
>      fffff800`0102ea54 : fffffa80`00000000 fffffadf`92d66250
>     fffffadf`9eac0000 fffffadf`9ead05c8 : nt!KeBugCheck2+0x640
>     fffffadf`93607d80
>      fffffadf`92de0a87 : 00000000`000000a5 00000000`00000011
>     00000000`00000008 fffffadf`9339b1f8 : nt!KeBugCheckEx+0x104
>     fffffadf`93607dc0
>      fffffadf`92de0b3a : fffffa80`00000014 00000000`00000000
>     00000000`00000001 fffffadf`93a9c028 : ACPI!ACPIInitializeDDB+0x127
>     fffffadf`93607e20
>      fffffadf`92de0f1f : fffffadf`00000001 fffffadf`92dea901
>     fffffadf`00000003 00000000`00000000 : ACPI!ACPIInitializeDDBs+0xaa
>     fffffadf`93607e60
>      fffffadf`92d72a4a : fffffadf`9ebd0820 fffffadf`92d680b0
>     fffffadf`93607ee0 fffffadf`92dc3cb0 : ACPI!ACPIInitialize+0x2ff
>     fffffadf`93607eb0
>      fffffadf`92ddd3ba : fffffadf`9ebd0820 fffffa80`0045ac80
>     fffffadf`52706341 fffffadf`9ebd0590 : ACPI!ACPIInitStartACPI+0x8a
>     fffffadf`93607f20
>      fffffadf`92d6c804 : fffffadf`9ebd0820 fffffadf`9ebd1260
>     fffffadf`93607fd8 00000000`00000001 : ACPI!ACPIRootIrpStartDevice+0x1ca
>     fffffadf`93607fa0
>      fffff800`0133ed04 : fffffadf`9ebd0820 fffffadf`9ebd1260
>     fffffadf`9ebd0820 00000000`00000000 : ACPI!ACPIDispatchIrp+0x164
>     fffffadf`93608030
>      fffff800`013364e3 : fffffadf`9eeac870 00000000`00000000
>     fffffadf`9eeac480 fffffadf`9eeac870 : nt!IopSynchronousCall+0x144
>     fffffadf`936080a0
>      fffff800`013359a2 : 00000000`00020019 fffffadf`9eeb6000
>     fffffadf`9eeac870 00000000`00000000 : nt!PipProcessStartPhase1+0x1c7
>     fffffadf`93608140
>      fffff800`010cc809 : fffffadf`9ebda3f0 fffff800`00092470
>     fffffadf`9eeb3910 fffffadf`9ebda3f0 : nt!PipProcessDevNodeTree+0x2aa
>     fffffadf`936084d0
>      fffff800`014329f7 : ffffffff`00000000 fffffadf`9ebda3f0
>     fffff800`00092470 fffffadf`9eeb3940 : nt!PipDeviceActionWorker+0x199
>     fffffadf`93608560
>      fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
>     00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
>     fffffadf`936088c0
>      fffff800`01428144 : fffff800`00091598 fffff800`00091598
>     00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
>     fffffadf`93608a50
>      fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
>     00000000`00000080 fffffadf`9ee91bf0 :
>     nt!Phase1InitializationDiscard+0x111d
>     fffffadf`93608d40
>     fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
>     307b39e5`3c3b39e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
>     fffffadf`93608d70
>      fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
>     fffff800`011b5500 00000000`da83b888 : nt!PspSystemThreadStartup+0x3e
>     fffffadf`93608dd0
>      00000000`00000000 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI!ACPIInitializeDDB+127
>     fffffadf`92de0a87 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  ACPI!ACPIInitializeDDB+127  <---  First hack needed in this acpi.sys

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d70c6e

>     FAILURE_BUCKET_ID:  X64_0xA5_ACPI!ACPIInitializeDDB+127

>     BUCKET_ID:  X64_0xA5_ACPI!ACPIInitializeDDB+127

>     Followup: MachineOwner
>     ---------

diderius6 has attached files to this post

- ⇗ acpiDEBUGXP64SP2.rar

#2162 | daniel_k | ⇗ @diderius6 I've attached 2 files based on the debug x64 ACPI.SYS. acpi_qword.sys: Added QwordConst and CreateQwordField opcodes. acpi_qword_stop_a5_11.sys: Same as above plus disabled Stop error A5, 11h Sent you a PM with something to help you with x64.

#2163

IntiMD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2159

> if the GPU accelerated driver doesn't work, IMHO, it doesn't make sense to use XP in UEFI mode. Thanks for sharing the video, interesting anyway.
> Where the Anapa driver can be found?

Not him but it can be found here: ⇗ https://www.bearwindows.zcm.com.au/vbemp.htm (for the x64 driver, requires a small fix in this ⇗ link)

#2164

diderius6

⇗ @daniel_k
Now the behavior is exact like the 32 bit acpi.sys on Ryzen boards before. I chose your second acpi.sys against BSOD A5 0x011 also.
Now it shows A5 (0x2001,..) error, fail to enable PIC mode (for ACPI).
This means, that your hack works and now we come to the core of the problem on Ryzen XP 64 bit,
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 11:32:57.859 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
>     System Uptime: not available

>     *** Fatal System Error: 0x000000a5
>                            (0x0000000000002001,0x0000000000000001,0xFFFFFFFFC0000034,0xFFFFFADF9EAD3238)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 11:33:11.187 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A5, {2001, 1, ffffffffc0000034, fffffadf9ead3238}

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     Probably caused by : ACPI.sys ( ACPI!NotifyHalWithMachineStates+582 )

>     Followup: MachineOwner
>     ---------

>     nt!DbgBreakPointWithStatus:
>     fffff800`01026db0 cc              int     3
>     15: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACPI_BIOS_ERROR (a5)
>     The ACPI Bios in the system is not fully compliant with the ACPI specification.
>     The first value indicates where the incompatibility lies:
>     This bug check covers a great variety of ACPI problems.  If a kernel debugger
>     is attached, use "!analyze -v".  This command will analyze the precise problem,
>     and display whatever information is most useful for debugging the specific
>     error.
>     Arguments:
>     Arg1: 0000000000002001, ACPI_FAILED_PIC_METHOD
>     	ACPI tried to evaluate the PIC control method but failed
>     Arg2: 0000000000000001, InterruptModel (Integer)
>     Arg3: ffffffffc0000034, return value from interpreter
>     Arg4: fffffadf9ead3238, Pointer to the PIC control method

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA5

>     PROCESS_NAME:  System

>     CURRENT_IRQL:  2

>     LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)

>     Resource @ nt!IopDeviceTreeLock (0xfffff800011ddb40)    Shared 1 owning threads
>          Threads: fffffadf9ee91bf0-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0xfffff800011ddb40
>     	Thread Count  : 1
>     	Thread address: 0xfffffadf9ee91bf0
>     	Thread wait   : 0x9f

>     LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

>     STACK_TEXT:
>     fffffadf`93607698
>      fffff800`010d673e : 00000000`0000000f 00000000`00000000
>     00000000`00002001 fffff800`0105669e : nt!DbgBreakPointWithStatus
>     fffffadf`936076a0
>      fffff800`010d7d0e : fffff800`00000003 00000000`000000a5
>     00000000`00002001 00000000`00000001 : nt!KiBugCheckDebugBreak+0x1e
>     fffffadf`93607700
>      fffff800`0102ea54 : 00000000`00000000 00000000`00000000
>     ffffffff`fffdf3f0 fffffa80`004685e0 : nt!KeBugCheck2+0x640
>     fffffadf`93607d40
>      fffffadf`92dcb6f2 : 00000000`000000a5 00000000`00002001
>     00000000`00000001 ffffffff`c0000034 : nt!KeBugCheckEx+0x104
>     fffffadf`93607d80
>      fffffadf`92d72a8b : 00000000`00000000 fffffadf`00000000
>     fffffadf`93607e00 fffffadf`92dc3c00 :
>     ACPI!NotifyHalWithMachineStates+0x582
>     fffffadf`93607eb0
>     fffffadf`92ddd3ba : fffffadf`9ebd0820 fffffa80`0045ac20
>     fffffadf`52706341 fffffadf`9ebd0590 : ACPI!ACPIInitStartACPI+0xcb
>     fffffadf`93607f20
>      fffffadf`92d6c804 : fffffadf`9ebd0820 fffffadf`9ebd1260
>     fffffadf`93607fd8 00000000`00000001 : ACPI!ACPIRootIrpStartDevice+0x1ca
>     fffffadf`93607fa0
>      fffff800`0133ed04 : fffffadf`9ebd0820 fffffadf`9ebd1260
>     fffffadf`9ebd0820 00000000`00000000 : ACPI!ACPIDispatchIrp+0x164
>     fffffadf`93608030
>      fffff800`013364e3 : fffffadf`9eeac870 00000000`00000000
>     fffffadf`9eeac480 fffffadf`9eeac870 : nt!IopSynchronousCall+0x144
>     fffffadf`936080a0
>      fffff800`013359a2 : 00000000`00020019 fffffadf`9eeb6000
>     fffffadf`9eeac870 00000000`00000000 : nt!PipProcessStartPhase1+0x1c7
>     fffffadf`93608140
>      fffff800`010cc809 : fffffadf`9eeb3870 fffff800`00092528
>     fffffadf`9eeb38c0 fffffadf`9eeb3870 : nt!PipProcessDevNodeTree+0x2aa
>     fffffadf`936084d0
>      fffff800`014329f7 : ffffffff`00000000 fffffadf`9eeb3870
>     fffff800`00092528 fffffadf`9eeb38f0 : nt!PipDeviceActionWorker+0x199
>     fffffadf`93608560
>      fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
>     00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
>     fffffadf`936088c0
>      fffff800`01428144 : fffff800`00091650 fffff800`00091650
>     00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
>     fffffadf`93608a50
>      fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
>     00000000`00000080 fffffadf`9ee91bf0 :
>     nt!Phase1InitializationDiscard+0x111d
>     fffffadf`93608d40
>     fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
>     307b39e5`3c3b19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
>     fffffadf`93608d70
>      fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
>     fffff800`011b5500 00000000`da83b678 : nt!PspSystemThreadStartup+0x3e
>     fffffadf`93608dd0
>      00000000`00000000 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI!NotifyHalWithMachineStates+582
>     fffffadf`92dcb6f2 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  ACPI!NotifyHalWithMachineStates+582

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d70c6e

>     FAILURE_BUCKET_ID:  X64_0xA5_ACPI!NotifyHalWithMachineStates+582

>     BUCKET_ID:  X64_0xA5_ACPI!NotifyHalWithMachineStates+582

>     Followup: MachineOwner
>     ---------

#2165

diderius6

Hi,
does anybody know,
where I can get SYMBOLS for
the XP64 DEBUG SP2 version
Dietmar
PS: In this case, acpi.pdb for the debug XP 64 SP2 would be enough.
5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
EDIT:
It is in file
WindowsServer2003-KB933548-v1-x64-symbols-NRL-ENU-DEBUG.exe

#2166

Illen

> Zitat von ⇗ diderius6 im Beitrag ¶ #2156

> But this is so nice anyway:))!
> Can you please write a short tutorial step by step,
> how you reached this,
> have a nice evening
> Dietmar

First, you need to install the latest (2015) VBE driver (and also correct the .inf as mentioned in post ¶ #2163). If you install it and it works, copy the contents of "server_BCD" folder (from the ⇗ xp_efi package) over your Windows XP x64 installation. Your drive with XP x64 install should now appear as UEFI bootable device in the boot device selector of your UEFI. Boot from it and choose the "Disable Driver Signature Enforcement" option, now the XP x64 install should boot from UEFI.
Note: You don't need to convert the the drive to GPT, you can keep the MBR partition table (along the NTLDR bootsector).

> Zitat von ⇗ diderius6 im Beitrag ¶ #2156

> PS: Soon I get a lenovo flex 10.
> There you have 32 bit UEFI Bios. And the most interesting thing is:
> You can update this Bios to 64 bit UEFI. So, you can switch between them
> as much as you like .

Nice one, by the way, I do actually have an 32 bit UEFI Class 3 device (an Atom based tablet), on which I would like to experiment with Windows 2003.

> Zitat von ⇗ daniel_k im Beitrag ¶ #2159

> if the GPU accelerated driver doesn't work, IMHO, it doesn't make sense to use XP in UEFI mode. Thanks for sharing the video, interesting anyway.
> Where the Anapa driver can be found?

Indeed, although this might be the only way to boot XP x64 in future, when CSM is entirely depracated.

#2167

infuscomus

⇗ @diderius6
i have them for server 2003 debug x64
infuscomus has attached files to this post

- ⇗ acpi server2003 x64 debug with pdb.zip

#2168 | kukonosau | ACPI Server 2003 x64 for Ryzen?

#2169

infuscomus

> Zitat von ⇗ kukonosau im Beitrag ¶ #2168

> ACPI Server 2003 x64 for Ryzen?

⇗ @kukonosau
not yet, just symbols for debugging

#2170 | kukonosau | Thanks. But ACPI Server 2003 x64 equal ACPI Windows XP x64?

#2171

diderius6

⇗ @daniel_k
I think, the error is in the InterruptModel.
Take a look at (here original) acpi.sys (Debug XP64 SP2)

    83 3D 18 6C FF FF 00 0F 86 95 00 00 00 =>

    83 3D 18 6C FF FF 00 (force jmp loc_7D6F3)

Dietmar
EDIT:
Arguments:
Arg1: 0000000000002001, ACPI_FAILED_PIC_METHOD
ACPI tried to evaluate the PIC control method but failed
Arg2: 0000000000000001, InterruptModel (Integer) <= failed 0000000000000001 is APIC (0000000000000000 is PIC)
Arg3: ffffffffc0000034, return value from interpreter
Arg4: fffffadf9ead3238, Pointer to the PIC control method
EDIT2: I remember, that the BSOD A5 0x2001 happens, when in FACP was writen InterruptModel 00 (Pic).
This BSOD was gone with modded FACP to InterruptModel 01 (Apic).

#2172 | daniel_k | ⇗ @diderius6, I've applied infuscomus's patch for x86. See if it changes something.
#2173 | daniel_k | ⇗ @diderius6, try these as well. I've forced the checks as if InterruptModel was 1 (APIC, are sure about this?).

#2174

diderius6

⇗ @daniel_k
This was not the right place which was modded
against BSOD A5 (0x2001,..)
because all the acpi.sys show exact the same BSOD as before.
Have you looked at my post, at which place you have to JMP,
for to overcome BSOD A5 (0x2001,..)?
I am quite sure, that this is the right place
Dietmar

#2175

daniel_k

⇗ @diderius6, if you fully understand the code, you'll see it will jump if InterruptModel is 0 (zero).

    7D651                 cmp     cs:InterruptModel, 0
    7D658                 jbe     loc_7D6F3 -> Jump if below or equal 0

I've patched the jump right below to skip the BSOD.
Please try again, the 4 files.

## Page 146

#2176

diderius6

⇗ @daniel_k
I understand the missunderstanding:
The irqs are the problem of Ryzen.
And even it is Interrupt 1,
it fails
Dietmar
PS: Yes to jump always over the BSOD call A5 0x2001 is the right idea.

#2177

diderius6

I just test acpi-test1.sys. The BSOD A5 2001 is gone.
The behavior is exact like from acpi.sys for 32 bit.
Now comes there next also the BSOD A5 0x02
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 18:17:50.656 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
>     System Uptime: not available

>     *** Assertion failed: NT_SUCCESS(status)
>     ***   Source File: d:\nt\base\busdrv\acpi\driver\nt\bus.c, line 2682

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i
>     FFFFFADF9EE95010 ACPI\PNP0A08-0 (0x9ebd94f0): IRP_MN_QUERY_RESOURCE_REQUIREMENTS = 0xc00000bb

>     *** Fatal System Error: 0x000000a5
>                            (0x0000000000000002,0xFFFFFADF9EE95010,0x0000000000000001,0xFFFFFADF9EBD94F0)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 18:18:19.546 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A5, {2, fffffadf9ee95010, 1, fffffadf9ebd94f0}

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     Probably caused by : ACPI.sys ( ACPI!ACPIBusIrpQueryResourceRequirements+446 )

>     Followup: MachineOwner
>     ---------

>     nt!DbgBreakPointWithStatus:
>     fffff800`01026db0 cc              int     3
>     15: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACPI_BIOS_ERROR (a5)
>     The ACPI Bios in the system is not fully compliant with the ACPI specification.
>     The first value indicates where the incompatibility lies:
>     This bug check covers a great variety of ACPI problems.  If a kernel debugger
>     is attached, use "!analyze -v".  This command will analyze the precise problem,
>     and display whatever information is most useful for debugging the specific
>     error.
>     Arguments:
>     Arg1: 0000000000000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
>     	ACPI could not process the resource list for the PCI root buses
>     Arg2: fffffadf9ee95010, The ACPI Extension for the PCI bus.
>     Arg3: 0000000000000001, ACPI cannot convert the BIOS' resource list into the proper
>     	format. This probably represents a flaw in the BIOS' list
>     	encoding procedure.
>     Arg4: fffffadf9ebd94f0, Pointer to the QUERY_RESOURCE_REQUIREMENTS irp

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40

>     ACPI_EXTENSION:  fffffadf9ee95010 -- (!acpikd.acpiext fffffadf9ee95010)

>     ACPI_RESCONFLICT:  0000000000000001 -- (!acpiresconflict 0000000000000001 fffffadf9ebd94f0)
>     Number of arguments found = 1. 2 arguments expected
>     Usage: acpiresconflict  [DeviceExtension] [IoResList] [e820Info]

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA5

>     PROCESS_NAME:  System

>     CURRENT_IRQL:  2

>     LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)

>     Resource @ nt!IopDeviceTreeLock (0xfffff800011ddb40)    Shared 1 owning threads
>          Threads: fffffadf9ee91bf0-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0xfffff800011ddb40
>     	Thread Count  : 1
>     	Thread address: 0xfffffadf9ee91bf0
>     	Thread wait   : 0xa9

>     LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

>     STACK_TEXT:
>     fffffadf`93607448
>      fffff800`010d673e : 00000000`0000000f 00000000`00000000
>     00000000`00000002 fffff800`0105669e : nt!DbgBreakPointWithStatus
>     fffffadf`93607450
>      fffff800`010d7d0e : fffff800`00000003 00000000`000000a5
>     00000000`00000002 fffffadf`9ee95010 : nt!KiBugCheckDebugBreak+0x1e
>     fffffadf`936074b0
>      fffff800`0102ea54 : fffffadf`92da1040 fffffadf`9ee95010
>     fffffadf`9eeaa210 fffffadf`9eeb1220 : nt!KeBugCheck2+0x640
>     fffffadf`93607af0
>      fffffadf`92dceef6 : 00000000`000000a5 00000000`00000002
>     fffffadf`9ee95010 00000000`00000001 : nt!KeBugCheckEx+0x104
>     fffffadf`93607b30
>      fffffadf`92d6c804 : fffffadf`9ea9d980 fffffadf`9ebd94f0
>     fffffadf`93607c18 fffffadf`92dce2a8 :
>     ACPI!ACPIBusIrpQueryResourceRequirements+0x446
>     fffffadf`93607be0
>     fffff800`0133ed04 : fffffadf`9ea9d980 fffffadf`9ebd94f0
>     fffffadf`9ea9d980 fffffadf`93607d10 : ACPI!ACPIDispatchIrp+0x164
>     fffffadf`93607c70
>      fffff800`01331abb : fffffadf`9eace270 00000000`00000000
>     ffffffff`800001e8 00000000`00000000 : nt!IopSynchronousCall+0x144
>     fffffadf`93607ce0
>      fffff800`01333093 : fffffadf`93607e20 00000000`00000002
>     fffffadf`9eace270 fffffa80`004644f0 :
>     nt!PiQueryResourceRequirements+0x7b
>     fffffadf`93607da0
>     fffff800`0133591b : fffffadf`9eace440 fffffadf`9eace270
>     00000000`00000000 fffffadf`9eace270 : nt!PiProcessNewDeviceNode+0x145e
>     fffffadf`93608140
>      fffff800`010cc809 : fffffadf`9eeb4390 fffff800`00092470
>     fffffadf`9eeb5350 fffffadf`9eeb4390 : nt!PipProcessDevNodeTree+0x223
>     fffffadf`936084d0
>      fffff800`014329f7 : ffffffff`00000000 fffffadf`9eeb4390
>     fffff800`00092470 fffffadf`9eeb5380 : nt!PipDeviceActionWorker+0x199
>     fffffadf`93608560
>      fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
>     00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
>     fffffadf`936088c0
>      fffff800`01428144 : fffff800`00091598 fffff800`00091598
>     00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
>     fffffadf`93608a50
>      fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
>     00000000`00000080 fffffadf`9ee91bf0 :
>     nt!Phase1InitializationDiscard+0x111d
>     fffffadf`93608d40
>     fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
>     307b39e5`3cbb19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
>     fffffadf`93608d70
>      fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
>     fffff800`011b5500 00000000`da83b888 : nt!PspSystemThreadStartup+0x3e
>     fffffadf`93608dd0
>      00000000`00000000 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI!ACPIBusIrpQueryResourceRequirements+446
>     fffffadf`92dceef6 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  ACPI!ACPIBusIrpQueryResourceRequirements+446

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d70c6e

>     FAILURE_BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResourceRequirements+446

>     BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResourceRequirements+446

>     Followup: MachineOwner
>     ---------

#2178 | daniel_k | ⇗ @diderius6, please try this, based on 5048 and tell me what happens. I think this is our best bet.
#2179 | diderius6 | ⇗ @daniel_k I just test the 4 acpi.sys from before. They show all the identic BSOD A5 (0x02) Dietmar PS: For acpi.sys for XP SP3 on Ryzen, I just go this hard way, solved one BSOD after the other until to the light:))!

#2180

diderius6

⇗ @daniel_k
With the 5048 acpi.sys on Ryzen board Windbg shows no BSOD,
but the compi hangs in an infinity loop during start,
also in Safe Mode (F8)
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 18:39:15.984 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
>     System Uptime: not available
>     AhciHwFindAdapter finishing
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     nt!DbgBreakPointWithStatus:
>     fffff800`01026db0 cc              int     3
>     0: kd> !analyze -v
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 18:42:09.015 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Unknown bugcheck code (0)
>     Unknown bugcheck description
>     Arguments:
>     Arg1: 0000000000000000
>     Arg2: 0000000000000000
>     Arg3: 0000000000000000
>     Arg4: 0000000000000000

>     Debugging Details:
>     ------------------

>     PROCESS_NAME:  Idle

>     FAULTING_IP:
>     nt!DbgBreakPointWithStatus+0
>     fffff800`01026db0 cc              int     3

>     EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: fffff80001026db0 (nt!DbgBreakPointWithStatus)
>        ExceptionCode: 80000003 (Break instruction exception)
>       ExceptionFlags: 00000000
>     NumberParameters: 1
>        Parameter[0]: 0000000000000000

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  0000000000000000

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x0

>     CURRENT_IRQL:  d

>     STACK_TEXT:
>     fffff800`00069b58
>      fffff800`010791ff : 00000000`00000062 fffff800`010273ae
>     00000000`00000000 00000000`00000000 : nt!DbgBreakPointWithStatus
>     fffff800`00069b60
>      fffff800`010299fb : 00000000`000001d6 00000000`0005ffd4
>     fffff800`011b1180 fffff800`0083f480 : nt!KdCheckForDebugBreak+0xb5
>     fffff800`00069ba0
>      fffff800`010296a0 : 00000000`00004000 00000000`00000000
>     00000000`0002625a fffff800`0083f480 : nt!KeUpdateRunTime+0x19e
>     fffff800`00069bd0
>      fffff800`00814241 : fffff800`011b1180 fffff800`00069cb0
>     fffff800`0083f480 fffff800`0083f480 : nt!KeUpdateSystemTime+0xf0
>     fffff800`00069c00
>      fffff800`0102ff59 : fffff800`011b5dc0 fffff800`0102ff59
>     fffff800`011b1180 fffffadf`9ee91460 : hal!HalpClockInterrupt+0xb1
>     fffff800`00069c30
>      fffff800`0081dbe2 : fffff800`01067cde fffff800`011b1180
>     fffff800`011b1180 fffff800`011b5500 : nt!KiInterruptDispatchNoLock+0x119
>     fffff800`00069dc8
>      fffff800`01067cde : fffff800`011b1180 fffff800`011b1180
>     fffff800`011b5500 fffffadf`9ee91460 : hal!HalProcessorIdle+0x2
>     fffff800`00069dd0
>      fffff800`014151d1 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x1e
>     fffff800`00069e00
>      00000000`fffff800 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KiSystemStartup+0x1bf
>     fffff800`000630b0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00680000`00000000 : 0xfffff800

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!DbgBreakPointWithStatus+0
>     fffff800`01026db0 cc              int     3

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  nt!DbgBreakPointWithStatus+0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d69ab4

>     BUCKET_ID:  MANUAL_BREAKIN

>     Followup: MachineOwner
>     ---------

>     0: kd> lm
>     start             end                 module name
>     fffff800`00800000
>      fffff800`0085e000   hal        (pdb symbols)
>     c:\symbols\hal.pdb\786A0CD8B0CB4761BA7DC79BD10C215C1\hal.pdb
>     fffff800`01000000
>      fffff800`01490000   nt         (pdb symbols)
>     c:\symbols\ntkrnlmp.pdb\03185083233249D9BB747EA777B80C982\ntkrnlmp.pdb
>     fffffadf`929b2000 fffffadf`929e6000   Mup        (deferred)
>     fffffadf`929e6000 fffffadf`92a4c000   NDIS       (deferred)
>     fffffadf`92a4c000 fffffadf`92b51000   Ntfs       (deferred)
>     fffffadf`92b51000 fffffadf`92b85000   KSecDD     (deferred)
>     fffffadf`92b85000 fffffadf`92ba8000   sr         (deferred)
>     fffffadf`92ba8000 fffffadf`92be6000   fltMgr     (deferred)
>     fffffadf`92be6000 fffffadf`92c03000   CLASSPNP   (deferred)
>     fffffadf`92c03000 fffffadf`92c18000   disk       (deferred)
>     fffffadf`92c18000 fffffadf`92c7b000   storport   (deferred)
>     fffffadf`92c7b000 fffffadf`92cc6000   volsnap    (deferred)
>     fffffadf`92cc6000 fffffadf`92d0d000   dmio       (deferred)
>     fffffadf`92d0d000 fffffadf`92d4d000   ftdisk     (deferred)
>     fffffadf`92d4d000 fffffadf`92d63000   MountMgr   (deferred)
>     fffffadf`92d63000 fffffadf`92d84000   pci        (deferred)
>     fffffadf`92d84000 fffffadf`92df2000   ACPI       (deferred)
>     fffffadf`931fb000 fffffadf`93205000   kdcom      (deferred)
>     fffffadf`9320b000 fffffadf`93214000   BOOTVID    (deferred)
>     fffffadf`9321b000 fffffadf`93224000   WMILIB     (deferred)
>     fffffadf`9322b000 fffffadf`93234000   isapnp     (deferred)
>     fffffadf`9323b000 fffffadf`9324b000   PartMgr    (deferred)
>     fffffadf`9324b000 fffffadf`93259000   storahci   (deferred)
>     fffffadf`9325b000 fffffadf`93266000   crcdisk    (deferred)
>     fffffadf`935fb000 fffffadf`93602000   dmload     (deferred)
>     0: kd> !Devnode 0 1
>     Dumping IopRootDeviceNode (= 0xfffffadf9ebd9620)
>     DevNode 0xfffffadf9ebd9620 for PDO 0xfffffadf9eeb4490
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb3720 for PDO 0xfffffadf9eeb3940
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0xfffffadf9ebd2490 for PDO 0xfffffadf9eeac060
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0xfffffadf9eab6dd0 for PDO 0xfffffadf9eaca1b0
>             InstancePath is "ACPI\PNP0C14\AWW"
>             ServiceName is "WmiAcpi"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0xfffffadf9e5150a0 for PDO 0xfffffadf9eabc1b0
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9eea9840 for PDO 0xfffffadf9dfccd40
>               InstancePath is "PCI\VEN_1022&DEV_1450&SUBSYS_00000000&REV_00\3&11583659&0&00"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9eea9670 for PDO 0xfffffadf9dfcca20
>               InstancePath is "PCI\VEN_1022&DEV_1451&SUBSYS_87471043&REV_00\3&11583659&0&02"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_NOT_CONFIGURED
>             DevNode 0xfffffadf9eea94a0 for PDO 0xfffffadf9dfcc700
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&08"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9eea92d0 for PDO 0xfffffadf9dfcc3e0
>               InstancePath is "PCI\VEN_1022&DEV_1453&SUBSYS_00000000&REV_00\3&11583659&0&0A"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0xfffffadf9e3d2530 for PDO 0xfffffadf9eab4720
>                 InstancePath is "PCI\VEN_1022&DEV_57AD&SUBSYS_00000000&REV_00\4&d487977&0&000A"
>                 ServiceName is "pci"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                 DevNode 0xfffffadf9e0cae40 for PDO 0xfffffadf9e0ca860
>                   InstancePath is "PCI\VEN_1022&DEV_57A3&SUBSYS_00000000&REV_00\5&1f331b67&0&28000A"
>                   ServiceName is "pci"
>                   State = DeviceNodeStarted (0x308)
>                   Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                   DevNode 0xfffffadf9dfcbaa0 for PDO 0xfffffadf9e2c2a30
>                     InstancePath is "PCI\VEN_8086&DEV_1539&SUBSYS_85F01043&REV_03\6&12f3bd8&0&0028000A"
>                     State = DeviceNodeInitialized (0x302)
>                     Previous State = DeviceNodeUninitialized (0x301)
>                     Problem = CM_PROB_NOT_CONFIGURED
>                 DevNode 0xfffffadf9dfcb010 for PDO 0xfffffadf9e0ca540
>                   InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&40000A"
>                   ServiceName is "pci"
>                   State = DeviceNodeStarted (0x308)
>                   Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                   DevNode 0xfffffadf9eab5e40 for PDO 0xfffffadf9e1bdd40
>                     InstancePath is "PCI\VEN_1022&DEV_1485&SUBSYS_87471043&REV_00\6&28ecf81d&0&0040000A"
>                     State = DeviceNodeInitialized (0x302)
>                     Previous State = DeviceNodeUninitialized (0x301)
>                     Problem = CM_PROB_NOT_CONFIGURED
>                   DevNode 0xfffffadf9eab5c70 for PDO 0xfffffadf9e1bd820
>                     InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87471043&REV_00\6&28ecf81d&0&0140000A"
>                     State = DeviceNodeInitialized (0x302)
>                     Previous State = DeviceNodeUninitialized (0x301)
>                     Problem = CM_PROB_NOT_CONFIGURED
>                   DevNode 0xfffffadf9eab5aa0 for PDO 0xfffffadf9df2b700
>                     InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_148C1022&REV_00\6&28ecf81d&0&0340000A"
>                     State = DeviceNodeInitialized (0x302)
>                     Previous State = DeviceNodeUninitialized (0x301)
>                     Problem = CM_PROB_NOT_CONFIGURED
>                 DevNode 0xfffffadf9dfcbe40 for PDO 0xfffffadf9df2b060
>                   InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&48000A"
>                   ServiceName is "pci"
>                   State = DeviceNodeStarted (0x308)
>                   Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                   DevNode 0xfffffadf9df2c9a0 for PDO 0xfffffadf9df2cd40
>                     InstancePath is "PCI\VEN_1022&DEV_7901&SUBSYS_79011022&REV_51\6&39625884&0&0048000A"
>                     ServiceName is "storahci"
>                     State = DeviceNodeStarted (0x308)
>                     Previous State = DeviceNodeStartPostWork (0x307)
>                 DevNode 0xfffffadf9dfcbc70 for PDO 0xfffffadf9df2bd40
>                   InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&50000A"
>                   ServiceName is "pci"
>                   State = DeviceNodeStarted (0x308)
>                   Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                   DevNode 0xfffffadf9df2c330 for PDO 0xfffffadf9df2c6d0
>                     InstancePath is "PCI\VEN_1022&DEV_7901&SUBSYS_79011022&REV_51\6&15d2f925&0&0050000A"
>                     ServiceName is "storahci"
>                     State = DeviceNodeDriversAdded (0x303)
>                     Previous State = DeviceNodeInitialized (0x302)
>             DevNode 0xfffffadf9efea010 for PDO 0xfffffadf9e2c3060
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&10"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efeae40 for PDO 0xfffffadf9e2c3d40
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&18"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efeac70 for PDO 0xfffffadf9e2c3a20
>               InstancePath is "PCI\VEN_1022&DEV_1453&SUBSYS_00000000&REV_00\3&11583659&0&19"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0xfffffadf9e513620 for PDO 0xfffffadf9e513060
>                 InstancePath is "PCI\VEN_10DE&DEV_1287&SUBSYS_730B19DA&REV_A1\4&2c517c28&0&0019"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED
>               DevNode 0xfffffadf9e513450 for PDO 0xfffffadf9e513bc0
>                 InstancePath is "PCI\VEN_10DE&DEV_0E0F&SUBSYS_730B19DA&REV_A1\4&2c517c28&0&0119"
>                 ServiceName is "HDAudBus"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0xfffffadf9efeaaa0 for PDO 0xfffffadf9e2c3700
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&20"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efea8d0 for PDO 0xfffffadf9e2c33e0
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&38"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efea700 for PDO 0xfffffadf9e514060
>               InstancePath is "PCI\VEN_1022&DEV_1454&SUBSYS_00000000&REV_00\3&11583659&0&39"
>               ServiceName is "pci"
>               State = DeviceNodeDriversAdded (0x303)
>               Previous State = DeviceNodeInitialized (0x302)
>               Problem = CM_PROB_NORMAL_CONFLICT
>             DevNode 0xfffffadf9efea530 for PDO 0xfffffadf9e514d40
>               InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&40"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efea360 for PDO 0xfffffadf9e514a20
>               InstancePath is "PCI\VEN_1022&DEV_1454&SUBSYS_00000000&REV_00\3&11583659&0&41"
>               ServiceName is "pci"
>               State = DeviceNodeDriversAdded (0x303)
>               Previous State = DeviceNodeInitialized (0x302)
>               Problem = CM_PROB_NORMAL_CONFLICT
>             DevNode 0xfffffadf9efd7010 for PDO 0xfffffadf9e514700
>               InstancePath is "PCI\VEN_1022&DEV_790B&SUBSYS_87471043&REV_59\3&11583659&0&A0"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_NOT_CONFIGURED
>             DevNode 0xfffffadf9efd7e40 for PDO 0xfffffadf9e5143e0
>               InstancePath is "PCI\VEN_1022&DEV_790E&SUBSYS_00000000&REV_51\3&11583659&0&A3"
>               ServiceName is "isapnp"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0xfffffadf9e291c40 for PDO 0xfffffadf9e12be60
>                 InstancePath is "ACPI\PNP0000\4&28d859f2&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED
>               DevNode 0xfffffadf9e291a70 for PDO 0xfffffadf9e12bc60
>                 InstancePath is "ACPI\PNP0200\4&28d859f2&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED
>               DevNode 0xfffffadf9e2918a0 for PDO 0xfffffadf9e12ba60
>                 InstancePath is "ACPI\PNP0100\4&28d859f2&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED
>               DevNode 0xfffffadf9e2916d0 for PDO 0xfffffadf9e12b860
>                 InstancePath is "ACPI\PNP0B00\4&28d859f2&0"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0xfffffadf9e291500 for PDO 0xfffffadf9e12b660
>                 InstancePath is "ACPI\PNP0800\4&28d859f2&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_NOT_CONFIGURED
>               DevNode 0xfffffadf9e291330 for PDO 0xfffffadf9e12b460
>                 InstancePath is "ACPI\PNP0C02\0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0xfffffadf9e1bc010 for PDO 0xfffffadf9e291060
>                 InstancePath is "ACPI\PNP0303\0"
>                 ServiceName is "i8042prt"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0xfffffadf9e1bce40 for PDO 0xfffffadf9e291e60
>                 InstancePath is "ACPI\PNP0C09\4&28d859f2&0"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd7c70 for PDO 0xfffffadf9e12c060
>               InstancePath is "PCI\VEN_1022&DEV_1460&SUBSYS_00000000&REV_00\3&11583659&0&C0"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd7aa0 for PDO 0xfffffadf9e12cd40
>               InstancePath is "PCI\VEN_1022&DEV_1461&SUBSYS_00000000&REV_00\3&11583659&0&C1"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd78d0 for PDO 0xfffffadf9e12ca20
>               InstancePath is "PCI\VEN_1022&DEV_1462&SUBSYS_00000000&REV_00\3&11583659&0&C2"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd7700 for PDO 0xfffffadf9e12c700
>               InstancePath is "PCI\VEN_1022&DEV_1463&SUBSYS_00000000&REV_00\3&11583659&0&C3"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd7530 for PDO 0xfffffadf9e12c3e0
>               InstancePath is "PCI\VEN_1022&DEV_1464&SUBSYS_00000000&REV_00\3&11583659&0&C4"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9efd7360 for PDO 0xfffffadf9e292060
>               InstancePath is "PCI\VEN_1022&DEV_1465&SUBSYS_00000000&REV_00\3&11583659&0&C5"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9e3d2010 for PDO 0xfffffadf9e292d40
>               InstancePath is "PCI\VEN_1022&DEV_1466&SUBSYS_00000000&REV_00\3&11583659&0&C6"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9e3d2e40 for PDO 0xfffffadf9e292a20
>               InstancePath is "PCI\VEN_1022&DEV_1467&SUBSYS_00000000&REV_00\3&11583659&0&C7"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0xfffffadf9e3d2c70 for PDO 0xfffffadf9e292820
>               InstancePath is "ACPI\PNP0C01\c8"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_NOT_CONFIGURED
>             DevNode 0xfffffadf9e3d2aa0 for PDO 0xfffffadf9e292620
>               InstancePath is "ACPI\PNP0C02\15"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_NOT_CONFIGURED
>             DevNode 0xfffffadf9e3d28d0 for PDO 0xfffffadf9e292420
>               InstancePath is "ACPI\PNP0C02\700"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_NOT_CONFIGURED
>             DevNode 0xfffffadf9e3d2700 for PDO 0xfffffadf9e1bd060
>               InstancePath is "ACPI\PNP0C14\MXM2"
>               ServiceName is "WmiAcpi"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0xfffffadf9eeb3e40 for PDO 0xfffffadf9ee991b0
>             InstancePath is "ACPI\PNP0C0C\aa"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0xfffffadf9eac0190 for PDO 0xfffffadf9e2a3620
>             InstancePath is "ACPI\PNP0103\2&daba3ff&0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9eac5190 for PDO 0xfffffadf9ebd1460
>             InstancePath is "ACPI\AMDI0030\0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9e12d750 for PDO 0xfffffadf9ebd99f0
>             InstancePath is "ACPI\PNP0C14\ASUSWMI"
>             ServiceName is "WmiAcpi"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0xfffffadf9eaba340 for PDO 0xfffffadf9eeab560
>             InstancePath is "ACPI\FixedButton\2&daba3ff&0"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0xfffffadf9e1be700 for PDO 0xfffffadf9e515e60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9ebd1680 for PDO 0xfffffadf9e1bf620
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_1"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9e1be0e0 for PDO 0xfffffadf9e1bf420
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_2"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9e40 for PDO 0xfffffadf9e12d450
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_3"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9c70 for PDO 0xfffffadf9e12d250
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_4"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9aa0 for PDO 0xfffffadf9ebd1e60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_5"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd98d0 for PDO 0xfffffadf9ebd1c60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_6"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9700 for PDO 0xfffffadf9ebd1a60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_7"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9530 for PDO 0xfffffadf9eab7620
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_8"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd9360 for PDO 0xfffffadf9eab7420
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_9"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efda010 for PDO 0xfffffadf9eab7220
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\10"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efdae40 for PDO 0xfffffadf9e3d4e60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\11"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efdac70 for PDO 0xfffffadf9e3d4c60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\12"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efdaaa0 for PDO 0xfffffadf9e3d4a60
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\13"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efda8d0 for PDO 0xfffffadf9e3d4860
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\14"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efda700 for PDO 0xfffffadf9e3d4660
>             InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\15"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efda530 for PDO 0xfffffadf9e3d4460
>             InstancePath is "ACPI\PNP0C02\90"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efda360 for PDO 0xfffffadf9e3d4260
>             InstancePath is "ACPI\PNP0C02\91"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9efd8010 for PDO 0xfffffadf9efd9060
>             InstancePath is "ACPI\PNP0C14\AOD"
>             ServiceName is "WmiAcpi"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd8e40 for PDO 0xfffffadf9ebd8060
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd8a60 for PDO 0xfffffadf9ebd8c80
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd8680 for PDO 0xfffffadf9ebd88a0
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd82a0 for PDO 0xfffffadf9ebd84c0
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2e40 for PDO 0xfffffadf9eeb2060
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2a60 for PDO 0xfffffadf9eeb2c80
>         InstancePath is "Root\LEGACY_CDAC15BA\0000"
>         ServiceName is "CdaC15BA"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2680 for PDO 0xfffffadf9eeb28a0
>         InstancePath is "Root\LEGACY_CDAD10BA\0000"
>         ServiceName is "CdaD10BA"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb22a0 for PDO 0xfffffadf9eeb24c0
>         InstancePath is "Root\LEGACY_CRCDISK\0000"
>         ServiceName is "crcdisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7e40 for PDO 0xfffffadf9ebd7060
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7a60 for PDO 0xfffffadf9ebd7c80
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7680 for PDO 0xfffffadf9ebd78a0
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd72a0 for PDO 0xfffffadf9ebd74c0
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1e40 for PDO 0xfffffadf9eeb1060
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1a60 for PDO 0xfffffadf9eeb1c80
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1680 for PDO 0xfffffadf9eeb18a0
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb12a0 for PDO 0xfffffadf9eeb14c0
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6e40 for PDO 0xfffffadf9ebd6060
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6a60 for PDO 0xfffffadf9ebd6c80
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6680 for PDO 0xfffffadf9ebd68a0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd62a0 for PDO 0xfffffadf9ebd64c0
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0e40 for PDO 0xfffffadf9eeb0060
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0a60 for PDO 0xfffffadf9eeb0c80
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0680 for PDO 0xfffffadf9eeb08a0
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb02a0 for PDO 0xfffffadf9eeb04c0
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5e40 for PDO 0xfffffadf9ebd5060
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5a60 for PDO 0xfffffadf9ebd5c80
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5680 for PDO 0xfffffadf9ebd58a0
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd52a0 for PDO 0xfffffadf9ebd54c0
>         InstancePath is "Root\LEGACY_SECDRV\0000"
>         ServiceName is "Secdrv"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeafe40 for PDO 0xfffffadf9eeaf060
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeafa60 for PDO 0xfffffadf9eeafc80
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeaf680 for PDO 0xfffffadf9eeaf8a0
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeaf2a0 for PDO 0xfffffadf9eeaf4c0
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd4e40 for PDO 0xfffffadf9ebd4060
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd4a60 for PDO 0xfffffadf9ebd4c80
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd4680 for PDO 0xfffffadf9ebd48a0
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd42a0 for PDO 0xfffffadf9ebd44c0
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeaee40 for PDO 0xfffffadf9eeae060
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeaea60 for PDO 0xfffffadf9eeaec80
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeae680 for PDO 0xfffffadf9eeae8a0
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeae2a0 for PDO 0xfffffadf9eeae4c0
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3e40 for PDO 0xfffffadf9ebd3060
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3a60 for PDO 0xfffffadf9ebd3c80
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3680 for PDO 0xfffffadf9ebd38a0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd32a0 for PDO 0xfffffadf9ebd34c0
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeade40 for PDO 0xfffffadf9eead060
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeada60 for PDO 0xfffffadf9eeadc80
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eead680 for PDO 0xfffffadf9eead8a0
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eead2a0 for PDO 0xfffffadf9eead4c0
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd2e40 for PDO 0xfffffadf9ebd2060
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd2a60 for PDO 0xfffffadf9ebd2c80
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)

#2181 | daniel_k | ⇗ @diderius6, from the debugger output, we're almost there! Try these 3 test files.

#2182

diderius6

daniel_k
acpi_test1.sys
The pointer which points to low memory is very similar to the behavior of acpi.sys from XP SP3
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 20:47:12.921 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
>     System Uptime: not available

>     *** Fatal System Error: 0x0000007e
>                            (0xFFFFFFFFC0000005,0xFFFFFADF92D9D923,0xFFFFFADF93607540,0xFFFFFADF93606F50)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Server 2003 3790 x64 target at (Sat Aug 31 20:47:25.703 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {ffffffffc0000005, fffffadf92d9d923, fffffadf93607540, fffffadf93606f50}

>     *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     Probably caused by : ACPI.sys ( ACPI+19923 )

>     Followup: MachineOwner
>     ---------

>     nt!DbgBreakPointWithStatus:
>     fffff800`01026db0 cc              int     3
>     15: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: ffffffffc0000005, The exception code that was not handled
>     Arg2: fffffadf92d9d923, The address that the exception occurred at
>     Arg3: fffffadf93607540, Exception Record Address
>     Arg4: fffffadf93606f50, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40
>     *** No owner thread found for resource fffff800011dda40

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     ACPI+19923
>     fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h]

>     EXCEPTION_RECORD:  fffffadf93607540 -- (.exr 0xfffffadf93607540)
>     ExceptionAddress: fffffadf92d9d923 (ACPI+0x0000000000019923)
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 0000000000000000
>        Parameter[1]: 0000000000000020
>     Attempt to read from address 0000000000000020

>     CONTEXT:  fffffadf93606f50 -- (.cxr 0xfffffadf93606f50)
>     rax=fffffadf936077b0 rbx=fffffadf92dd3b40 rcx=fffffadf9eabd1b0
>     rdx=fffffadf936077d0 rsi=0000000000000000 rdi=0000000000000000
>     rip=fffffadf92d9d923 rsp=fffffadf93607760 rbp=fffffadf9eabd1b0
>      r8=fffffadf936077b4  r9=fffffadf936077b3 r10=0000000000000001
>     r11=fffffadf936079a8 r12=fffffadf936079f0 r13=fffffadf92dd3b00
>     r14=0000000000000000 r15=fffffadf936079f8
>     iopl=0         nv up ei pl zr na po nc
>     cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
>     ACPI+0x19923:
>     fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h] ds:002b:00000000`00000020=????????????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     CURRENT_IRQL:  2

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  0000000000000000

>     EXCEPTION_PARAMETER2:  0000000000000020

>     READ_ADDRESS:  0000000000000020

>     FOLLOWUP_IP:
>     ACPI+19923
>     fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

>     LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)

>     Resource @ nt!IopDeviceTreeLock (0xfffff800011ddb40)    Shared 1 owning threads
>          Threads: fffffadf9ee91bf0-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0xfffff800011ddb40
>     	Thread Count  : 1
>     	Thread address: 0xfffffadf9ee91bf0
>     	Thread wait   : 0xab

>     LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

>     STACK_TEXT:
>     fffffadf`93607760 fffffadf`92ddec12 : 00000000`00000001 fffff800`0137de62 fffffadf`00000101 fffff800`0137eb82 : ACPI+0x19923
>     fffffadf`936079b0 fffffadf`92de8136 : fffffadf`92dd3b40 fffffadf`93607bb0 fffffa80`00421708 fffffadf`93607bb0 : ACPI+0x5ac12
>     fffffadf`93607a30 fffffadf`92ddf2b2 : fffffadf`92dd3b40 fffffa80`00478370 00000000`00000009 fffffadf`93607bb0 : ACPI+0x64136
>     fffffadf`93607b10 fffffadf`92de826f : 00000000`00000000 fffffa80`00478370 00000000`00000009 00000000`00000000 : ACPI+0x5b2b2
>     fffffadf`93607b40 fffff800`01330d16 : fffffa80`004216e0 fffffa80`00473378 fffffa80`00473350 fffffadf`93607ba0 : ACPI+0x6426f
>     fffffadf`93607b80
>      fffff800`01330b03 : 00000000`00000000 fffffa80`00478370
>     fffffa80`00421680 fffffadf`9e1be130 : nt!IopBootAllocation+0x14b
>     fffffadf`93607be0
>      fffff800`01330a07 : fffffa80`004701e0 fffffadf`9eabd1b0
>     00000000`00000004 fffffadf`9eabd1b0 :
>     nt!IopAllocateBootResourcesInternal+0x93
>     fffffadf`93607c70
>     fffff800`014303ab : 00000000`00000010 fffffadf`9e1be130
>     fffffa80`004701e0 00000000`00000004 : nt!IopAllocateBootResources+0x57
>     fffffadf`93607cb0
>      fffff800`013319e6 : 00000000`00000000 ffffffff`800001d8
>     fffffadf`9e1be130 fffffa80`004701e0 : nt!IopReportBootResources+0xc1
>     fffffadf`93607ce0
>      fffff800`01333334 : ffffffff`800001e4 fffffadf`9e1be1f0
>     fffffadf`9e1be130 ffffffff`800001e4 :
>     nt!PiQueryAndAllocateBootResources+0x276
>     fffffadf`93607da0
>     fffff800`0133591b : fffffadf`9eacb190 fffffadf`9e1be130
>     00000000`00000000 fffffadf`9e1be130 : nt!PiProcessNewDeviceNode+0x16ff
>     fffffadf`93608140
>      fffff800`010cc809 : fffffadf`9eeb4370 fffff800`00092528
>     fffffadf`9eeb4460 fffffadf`9eeb4370 : nt!PipProcessDevNodeTree+0x223
>     fffffadf`936084d0
>      fffff800`014329f7 : ffffffff`00000000 fffffadf`9eeb4370
>     fffff800`00092528 fffffadf`9eeb4490 : nt!PipDeviceActionWorker+0x199
>     fffffadf`93608560
>      fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
>     00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
>     fffffadf`936088c0
>      fffff800`01428144 : fffff800`00091650 fffff800`00091650
>     00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
>     fffffadf`93608a50
>      fffff800`0130dc29 : 12f93b24`1e99bf20 fffffadf`9ee91bf0
>     00000000`00000080 fffffadf`9ee91bf0 :
>     nt!Phase1InitializationDiscard+0x111d
>     fffffadf`93608d40
>     fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
>     307b39e5`3cbb19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
>     fffffadf`93608d70
>      fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
>     fffff800`011b5500 00000000`da83b678 : nt!PspSystemThreadStartup+0x3e
>     fffffadf`93608dd0
>      00000000`00000000 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  ACPI+19923

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  424d79aa

>     STACK_COMMAND:  .cxr 0xfffffadf93606f50 ; kb

>     FAILURE_BUCKET_ID:  X64_0x7E_ACPI+19923

>     BUCKET_ID:  X64_0x7E_ACPI+19923

>     Followup: MachineOwner
>     ---------

>     15: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0xfffffadf9ebd9620)
>     DevNode 0xfffffadf9ebd9620 for PDO 0xfffffadf9eeb4490
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb3720 for PDO 0xfffffadf9eeb3940
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0xfffffadf9ebd2490 for PDO 0xfffffadf9eeac060
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0xfffffadf9eac5190 for PDO 0xfffffadf9e525120
>             InstancePath is "ACPI\PNP0C14\AWW"
>             ServiceName is "WmiAcpi"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0xfffffadf9ebd19c0 for PDO 0xfffffadf9eac01b0
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0xfffffadf9eacb190 for PDO 0xfffffadf9eaca1b0
>             InstancePath is "ACPI\PNP0C0C\aa"
>             State = DeviceNodeDriversAdded (0x303)
>             Previous State = DeviceNodeInitialized (0x302)
>           DevNode 0xfffffadf9e1be130 for PDO 0xfffffadf9eabd1b0
>             InstancePath is "ACPI\PNP0103\2&daba3ff&0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>             Problem = CM_PROB_NOT_CONFIGURED
>           DevNode 0xfffffadf9e1c0340 for PDO 0xfffffadf9e2a3620
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e323840 for PDO 0xfffffadf9ebd99a0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e323670 for PDO 0xfffffadf9e1bf480
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3234a0 for PDO 0xfffffadf9e1bf280
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3232d0 for PDO 0xfffffadf9eab7590
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e323100 for PDO 0xfffffadf9eab7390
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4e40 for PDO 0xfffffadf9ebd17b0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4c70 for PDO 0xfffffadf9ebd15b0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4aa0 for PDO 0xfffffadf9e12d060
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e48d0 for PDO 0xfffffadf9e12d8e0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4700 for PDO 0xfffffadf9e12d6e0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4530 for PDO 0xfffffadf9e12d4e0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4360 for PDO 0xfffffadf9e12d2e0
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9e3e4190 for PDO 0xfffffadf9eeabe60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efea010 for PDO 0xfffffadf9eeabc60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efeae40 for PDO 0xfffffadf9eeaba60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efeac70 for PDO 0xfffffadf9eeab860
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efeaaa0 for PDO 0xfffffadf9eeab660
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efea8d0 for PDO 0xfffffadf9eeab460
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efea700 for PDO 0xfffffadf9e323e60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efea530 for PDO 0xfffffadf9e323c60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>           DevNode 0xfffffadf9efea360 for PDO 0xfffffadf9e323a60
>             State = DeviceNodeUninitialized (0x301)
>             Previous State = Unknown State (0x0)
>       DevNode 0xfffffadf9ebd8e40 for PDO 0xfffffadf9ebd8060
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd8a60 for PDO 0xfffffadf9ebd8c80
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd8680 for PDO 0xfffffadf9ebd88a0
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd82a0 for PDO 0xfffffadf9ebd84c0
>         InstancePath is "Root\LEGACY_AMPA\0000"
>         ServiceName is "ampa"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2e40 for PDO 0xfffffadf9eeb2060
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2a60 for PDO 0xfffffadf9eeb2c80
>         InstancePath is "Root\LEGACY_CDAC15BA\0000"
>         ServiceName is "CdaC15BA"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb2680 for PDO 0xfffffadf9eeb28a0
>         InstancePath is "Root\LEGACY_CDAD10BA\0000"
>         ServiceName is "CdaD10BA"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb22a0 for PDO 0xfffffadf9eeb24c0
>         InstancePath is "Root\LEGACY_CRCDISK\0000"
>         ServiceName is "crcdisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7e40 for PDO 0xfffffadf9ebd7060
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7a60 for PDO 0xfffffadf9ebd7c80
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd7680 for PDO 0xfffffadf9ebd78a0
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd72a0 for PDO 0xfffffadf9ebd74c0
>         InstancePath is "Root\LEGACY_GPC\0000"
>         ServiceName is "Gpc"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1e40 for PDO 0xfffffadf9eeb1060
>         InstancePath is "Root\LEGACY_HTTP\0000"
>         ServiceName is "HTTP"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1a60 for PDO 0xfffffadf9eeb1c80
>         InstancePath is "Root\LEGACY_IPNAT\0000"
>         ServiceName is "IpNat"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb1680 for PDO 0xfffffadf9eeb18a0
>         InstancePath is "Root\LEGACY_IPSEC\0000"
>         ServiceName is "IPSec"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb12a0 for PDO 0xfffffadf9eeb14c0
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6e40 for PDO 0xfffffadf9ebd6060
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6a60 for PDO 0xfffffadf9ebd6c80
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd6680 for PDO 0xfffffadf9ebd68a0
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd62a0 for PDO 0xfffffadf9ebd64c0
>         InstancePath is "Root\LEGACY_NDISTAPI\0000"
>         ServiceName is "NdisTapi"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0e40 for PDO 0xfffffadf9eeb0060
>         InstancePath is "Root\LEGACY_NDISUIO\0000"
>         ServiceName is "Ndisuio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0a60 for PDO 0xfffffadf9eeb0c80
>         InstancePath is "Root\LEGACY_NDPROXY\0000"
>         ServiceName is "NDProxy"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb0680 for PDO 0xfffffadf9eeb08a0
>         InstancePath is "Root\LEGACY_NETBT\0000"
>         ServiceName is "NetBT"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeb02a0 for PDO 0xfffffadf9eeb04c0
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5e40 for PDO 0xfffffadf9ebd5060
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5a60 for PDO 0xfffffadf9ebd5c80
>         InstancePath is "Root\LEGACY_RASACD\0000"
>         ServiceName is "RasAcd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd5680 for PDO 0xfffffadf9ebd58a0
>         InstancePath is "Root\LEGACY_RDPCDD\0000"
>         ServiceName is "RDPCDD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd52a0 for PDO 0xfffffadf9ebd54c0
>         InstancePath is "Root\LEGACY_SECDRV\0000"
>         ServiceName is "Secdrv"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeafe40 for PDO 0xfffffadf9eeaf060
>         InstancePath is "Root\LEGACY_TCPIP\0000"
>         ServiceName is "Tcpip"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeafa60 for PDO 0xfffffadf9eeafc80
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeaf680 for PDO 0xfffffadf9eeaf8a0
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9eeaf2a0 for PDO 0xfffffadf9eeaf4c0
>         InstancePath is "Root\LEGACY_WANARP\0000"
>         ServiceName is "Wanarp"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0xfffffadf9ebd4e40 for PDO 0xfffffadf9ebd4060
>         InstancePath is "Root\MEDIA\MS_MMACM"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd4a60 for PDO 0xfffffadf9ebd4c80
>         InstancePath is "Root\MEDIA\MS_MMDRV"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd4680 for PDO 0xfffffadf9ebd48a0
>         InstancePath is "Root\MEDIA\MS_MMMCI"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd42a0 for PDO 0xfffffadf9ebd44c0
>         InstancePath is "Root\MEDIA\MS_MMVCD"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeaee40 for PDO 0xfffffadf9eeae060
>         InstancePath is "Root\MEDIA\MS_MMVID"
>         ServiceName is "audstub"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeaea60 for PDO 0xfffffadf9eeaec80
>         InstancePath is "Root\MS_L2TPMINIPORT\0000"
>         ServiceName is "Rasl2tp"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeae680 for PDO 0xfffffadf9eeae8a0
>         InstancePath is "Root\MS_NDISWANIP\0000"
>         ServiceName is "NdisWan"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeae2a0 for PDO 0xfffffadf9eeae4c0
>         InstancePath is "Root\MS_PPPOEMINIPORT\0000"
>         ServiceName is "RasPppoe"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3e40 for PDO 0xfffffadf9ebd3060
>         InstancePath is "Root\MS_PPTPMINIPORT\0000"
>         ServiceName is "PptpMiniport"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3a60 for PDO 0xfffffadf9ebd3c80
>         InstancePath is "Root\MS_PSCHEDMP\0000"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd3680 for PDO 0xfffffadf9ebd38a0
>         InstancePath is "Root\MS_PSCHEDMP\0001"
>         ServiceName is "PSched"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd32a0 for PDO 0xfffffadf9ebd34c0
>         InstancePath is "Root\MS_PTIMINIPORT\0000"
>         ServiceName is "Raspti"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeade40 for PDO 0xfffffadf9eead060
>         InstancePath is "Root\RDPDR\0000"
>         ServiceName is "rdpdr"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eeada60 for PDO 0xfffffadf9eeadc80
>         InstancePath is "Root\RDP_KBD\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eead680 for PDO 0xfffffadf9eead8a0
>         InstancePath is "Root\RDP_MOU\0000"
>         ServiceName is "TermDD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9eead2a0 for PDO 0xfffffadf9eead4c0
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd2e40 for PDO 0xfffffadf9ebd2060
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0xfffffadf9ebd2a60 for PDO 0xfffffadf9ebd2c80
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)

#2183 | daniel_k | ⇗ @diderius6, did you already try test2? Analysing the code, test2 should work, otherwise there is something else with x64.
#2184 | diderius6 | ⇗ @daniel_k acpi_test2.sys gives endless loop, no BSOD. But the windebug crashes during start, no output later on Dietmar
#2185 | daniel_k | Unfortunately I'm out of ideas for now.

#2186

diderius6

⇗ @daniel_k
acpi_test3.sys gives also endless loop, no BSOD.
And the windbg crashes also during start,
so no output later on
Dietmar
PS: The 5512 XP debug XP 64 has the advantage, that it shows a lot of information.
So, just kill the BSOD A5 0x02 for it and we will be at the core of the problem.
From the results of last 5048 acpi.sys, I would try to implement the hack from infuscomus
to this pointer in last acpi_test1.sys, which shows exact as the classical Nullpointer for the XP SP3 to low memory.
You can find this way here in the forum,
read from post 757 ff.

#2187 | daniel_k | ⇗ @diderius6, applied the hacks from post 757. Please try it.

#2188

diderius6

⇗ @daniel_k
Yes,
but you forget to jmp always over BSOD
BugCheck A5, {2001, 1, ffffffffc0000034, fffffadf9df52238}.
I also copied ntoskrnl.exe and hal.dll from the XP 64 SP2 DEBUG
version.
I noticed, that the output from windbg is better with them
and it crashes less
Dietmar
PS: Until now, the behavior of XP 64 on Ryzen is absolut identic with XP SP3 32 bit.

#2189 | daniel_k | Ops, I've applied only the hacks from post 757. Here it is.

#2190

diderius6

⇗ @daniel_k
Now is the same BSOD A5 (0x02,..) as before. May be, it is only one step away from working!
But I think, it is the right way, because this way works before also.
Tomorrow I flash the DSDT in Bios new,
killing the device ACPI\PNP0A08-0,
because in Debug XP 64 acpi.sys I do not find the bugcheck place,
where BSOD A5 (0x02,..) happens
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 01:40:00.281 2019 (UTC + 2:00)), ptr64 TRUE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`013d1fd0
>     System Uptime: not available

>     *** Assertion failed: NT_SUCCESS(status)
>     ***   Source File: d:\nt\base\busdrv\acpi\driver\nt\bus.c, line 2682

>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
>     i
>     FFFFFADF9E325430 ACPI\PNP0A08-0 (0x9e333710): IRP_MN_QUERY_RESOURCE_REQUIREMENTS = 0xc00000bb

>     *** Fatal System Error: 0x000000a5
>                            (0x0000000000000002,0xFFFFFADF9E325430,0x0000000000000001,0xFFFFFADF9E333710)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 01:40:34.031 2019 (UTC + 2:00)), ptr64 TRUE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A5, {2, fffffadf9e325430, 1, fffffadf9e333710}

>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00
>     Probably caused by : ACPI.sys ( ACPI!ACPIBusIrpQueryResourceRequirements+446 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     fffff800`011a02e0 cc              int     3
>     15: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACPI_BIOS_ERROR (a5)
>     The ACPI Bios in the system is not fully compliant with the ACPI specification.
>     The first value indicates where the incompatibility lies:
>     This bug check covers a great variety of ACPI problems.  If a kernel debugger
>     is attached, use "!analyze -v".  This command will analyze the precise problem,
>     and display whatever information is most useful for debugging the specific
>     error.
>     Arguments:
>     Arg1: 0000000000000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
>     	ACPI could not process the resource list for the PCI root buses
>     Arg2: fffffadf9e325430, The ACPI Extension for the PCI bus.
>     Arg3: 0000000000000001, ACPI cannot convert the BIOS' resource list into the proper
>     	format. This probably represents a flaw in the BIOS' list
>     	encoding procedure.
>     Arg4: fffffadf9e333710, Pointer to the QUERY_RESOURCE_REQUIREMENTS irp

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00
>     *** No owner thread found for resource fffff800013eab00

>     ACPI_EXTENSION:  fffffadf9e325430 -- (!acpikd.acpiext fffffadf9e325430)

>     ACPI_RESCONFLICT:  0000000000000001 -- (!acpiresconflict 0000000000000001 fffffadf9e333710)
>     Number of arguments found = 1. 2 arguments expected
>     Usage: acpiresconflict  [DeviceExtension] [IoResList] [e820Info]

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA5

>     PROCESS_NAME:  System

>     CURRENT_IRQL:  2

>     LOCK_ADDRESS:  fffff800013eac00 -- (!locks fffff800013eac00)
>     The state of the ACPI locks is:
>       - Build Queue Lock is not owned
>       - Button Lock is not owned
>       - Device Tree Lock is not owned
>       - Fatal Lock is not owned
>       - Power Lock is not owned
>       - Get Lock is not owned
>       - Power Queue Lock is not owned
>       - Thermal Lock is not owned
>       - Update Flags Lock is not owned
>       - Worker Lock is not owned

>     PNP_TRIAGE:
>     	Lock address  : 0xfffff800013eac00
>     	Thread Count  : 1
>     	Thread address: 0xfffffadf9e3117d0
>     	Thread wait   : 0x105eca8c

>     LAST_CONTROL_TRANSFER:  from fffff8000105d707 to fffff800011a02e0

>     STACK_TEXT:
>     fffffadf`93a06968
>      fffff800`0105d707 : 00000000`000000a5 00000000`000000a5
>     00000000`0000000f 00000000`00000000 : nt!RtlpBreakWithStatusInstruction
>     fffffadf`93a06970
>      fffff800`0105e9a0 : fffff800`00000003 00000000`000000a5
>     00000000`00000002 fffffadf`9e325430 : nt!KiBugCheckDebugBreak+0x17
>     fffffadf`93a069e0
>      fffff800`01197144 : fffffadf`000000a5 00000000`00000002
>     fffffadf`9e325430 00000000`00000001 : nt!KeBugCheck2+0x630
>     fffffadf`93a07020
>      fffffadf`931ceef6 : 00000000`000000a5 00000000`00000002
>     fffffadf`9e325430 00000000`00000001 : nt!KeBugCheckEx+0x104
>     fffffadf`93a07060
>      fffffadf`9316c804 : fffffadf`9df3de60 fffffadf`9e333710
>     fffffadf`93a07148 fffffadf`9e333710 :
>     ACPI!ACPIBusIrpQueryResourceRequirements+0x446
>     fffffadf`93a07110
>     fffff800`014ec01c : fffffadf`9df3de60 fffffadf`9e333710
>     00000000`00000000 00000000`00000000 : ACPI!ACPIDispatchIrp+0x164
>     fffffadf`93a071a0
>      fffff800`014dac61 : fffffadf`9df3de60 fffffadf`93a07288
>     fffffadf`93a07270 00000000`00000000 : nt!IopSynchronousCall+0x29c
>     fffffadf`93a07240
>      fffff800`014dc966 : fffffadf`9dde8a40 ffffffff`8000012c
>     fffffadf`93a073a8 fffffa80`000f003f :
>     nt!PiQueryResourceRequirements+0x111
>     fffffadf`93a07310
>     fffff800`014dff21 : fffffadf`9dde8a40 fffffadf`9e32ca00
>     fffffadf`93a079b4 fffffadf`9e32cf70 : nt!PiProcessNewDeviceNode+0x1ab6
>     fffffadf`93a07660
>      fffff800`0104e1b6 : fffffadf`9e333920 fffffadf`00000000
>     00000000`00000000 00000000`00000000 : nt!PipProcessDevNodeTree+0x281
>     fffffadf`93a07970
>      fffff800`016e2bf7 : 00000000`00000000 00000000`00000038
>     fffffadf`6e657050 fffff800`00091701 : nt!PipDeviceActionWorker+0x2f6
>     fffffadf`93a07a10
>      fffff800`016d8839 : fffff800`00091448 fffffadf`93a08160
>     fffffadf`9e30e1a0 fffff800`00000000 : nt!IopInitializeBootDrivers+0xb47
>     fffffadf`93a080e0
>      fffff800`016d6483 : fffff800`00091448 fffff800`01724340
>     fffffadf`93a08b68 00000000`00000000 : nt!IoInitSystem+0x1119
>     fffffadf`93a08a40
>      fffff800`0149d643 : fffff800`00091448 29e9a186`25a9bd80
>     2a610eb2`22a11ea3 10d18c06`1d918c22 :
>     nt!Phase1InitializationDiscard+0x11b3
>     fffffadf`93a08d40
>     fffff800`015762de : fffff800`00091448 8dd685ea`819685ee
>     307b39e5`3cbb19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x13
>     fffffadf`93a08d70
>      fffff800`0119fe96 : fffff800`0149d630 fffff800`00091448
>     fffff800`015762a0 8f4ca6e9`830ea2ed : nt!PspSystemThreadStartup+0x3e
>     fffffadf`93a08dd0
>      00000000`00000000 : 00000000`00000000 00000000`00000000
>     00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI!ACPIBusIrpQueryResourceRequirements+446
>     fffffadf`931ceef6 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  ACPI!ACPIBusIrpQueryResourceRequirements+446

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  45d70c6e

>     FAILURE_BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResourceRequirements+446

>     BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResourceRequirements+446

>     Followup: MachineOwner
>     ---------

## Page 147

#2191 | daniel_k | ⇗ @diderius6, found where to patch it.

#2192

diderius6

⇗ @daniel_k
Still the same BSOD of the same Device

    FFFFFADF9E325430 ACPI\PNP0A08-0 (0x9e333710): IRP_MN_QUERY_RESOURCE_REQUIREMENTS = 0xc00000bb

    *** Fatal System Error: 0x000000a5
                           (0x0000000000000002,0xFFFFFADF9E325430,0x0000000000000001,0xFFFFFADF9E333710)

On XP SP3 acpi.sys I found 8 different pathes, which leads to Bsod A5 (0x02).
So I think, the same is true here
Dietmar
PS: Now I go to bed. When you find the other possibilities which lead to this BSOD,
you can hack them. If not, tomorrow I build new DSDT without this crazy device,
it is exact the same as for XP SP3, has something to do with the PCIe bus.

#2193 | daniel_k | ⇗ @diderius6, patched all BSOD A5 (0x02) I could find. Give it a try.
#2194 | Mov AX, 0xDEAD | diderius6, please hide WinDBG reports to "spoiler" tag for much better reading this topic )

#2195

diderius6

⇗ @daniel_k
Hi,
This is BSOD A5 (0x02, ..)
of another device from the PCI list.
But Windbg this time does not show, which one.
So, the only possibility now is to look again in acpi.sys
for another path, which is not blocked until now
to A5 (0x02,..)
Dietmar
PS: ⇗ @Mov AX, 0xDEAD
Do you have an idea, how to overcome BSOD A5 (0x02,..) on the acpi.sys from XP 64 SP2?

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 10:48:18.890 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`013d1fd0
    System Uptime: not available

    *** Fatal System Error: 0x000000a5
                           (0x0000000000000002,0xFFFFFADF9E325430,0x0000000000000000,0xFFFFFADF9E333710)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 10:48:32.687 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ........................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck A5, {2, fffffadf9e325430, 0, fffffadf9e333710}

    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00
    Probably caused by : ACPI.sys ( ACPI!ACPIBusIrpQueryResources+2b8 )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    fffff800`011a02e0 cc              int     3
    15: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    ACPI_BIOS_ERROR (a5)
    The ACPI Bios in the system is not fully compliant with the ACPI specification.
    The first value indicates where the incompatibility lies:
    This bug check covers a great variety of ACPI problems.  If a kernel debugger
    is attached, use "!analyze -v".  This command will analyze the precise problem,
    and display whatever information is most useful for debugging the specific
    error.
    Arguments:
    Arg1: 0000000000000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
    	ACPI could not process the resource list for the PCI root buses
    Arg2: fffffadf9e325430, The ACPI Extension for the PCI bus.
    Arg3: 0000000000000000, ACPI cannot convert the BIOS' resource list into the proper
    	format. This probably represents a flaw in the BIOS' list
    	encoding procedure.
    Arg4: fffffadf9e333710, Pointer to the QUERY_RESOURCES irp

    Debugging Details:
    ------------------

    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00
    *** No owner thread found for resource fffff800013eab00

    ACPI_EXTENSION:  fffffadf9e325430 -- (!acpikd.acpiext fffffadf9e325430)

    ACPI_RESCONFLICT:  0000000000000000 -- (!acpiresconflict 0000000000000000 fffffadf9e333710)
    Number of arguments found = 1. 2 arguments expected
    Usage: acpiresconflict  [DeviceExtension] [IoResList] [e820Info]

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA5

    PROCESS_NAME:  System

    CURRENT_IRQL:  2

    LOCK_ADDRESS:  fffff800013eac00 -- (!locks fffff800013eac00)
    The state of the ACPI locks is:
      - Build Queue Lock is not owned
      - Button Lock is not owned
      - Device Tree Lock is not owned
      - Fatal Lock is not owned
      - Power Lock is not owned
      - Get Lock is not owned
      - Power Queue Lock is not owned
      - Thermal Lock is not owned
      - Update Flags Lock is not owned
      - Worker Lock is not owned

    PNP_TRIAGE:
    	Lock address  : 0xfffff800013eac00
    	Thread Count  : 1
    	Thread address: 0xfffffadf9e3117d0
    	Thread wait   : 0x105eca8c

    LAST_CONTROL_TRANSFER:  from fffff8000105d707 to fffff800011a02e0

    STACK_TEXT:
    fffffadf`93a06968
     fffff800`0105d707 : 00000000`000000a5 00000000`000000a5
    00000000`0000000f 00000000`00000000 : nt!RtlpBreakWithStatusInstruction
    fffffadf`93a06970
     fffff800`0105e9a0 : fffff800`00000003 00000000`000000a5
    00000000`00000002 fffffadf`9e325430 : nt!KiBugCheckDebugBreak+0x17
    fffffadf`93a069e0
     fffff800`01197144 : 00000000`000000a5 00000000`00000002
    fffffadf`9e325430 00000000`00000000 : nt!KeBugCheck2+0x630
    fffffadf`93a07020
     fffffadf`931cea38 : 00000000`000000a5 00000000`00000002
    fffffadf`9e325430 00000000`00000000 : nt!KeBugCheckEx+0x104
    fffffadf`93a07060
     fffffadf`9316c804 : fffffadf`9df3c7d0 fffffadf`9e333710
    fffffadf`93a07138 00000000`00000050 :
    ACPI!ACPIBusIrpQueryResources+0x2b8
    fffffadf`93a07100
    fffff800`014ec01c : fffffadf`9df3c7d0 fffffadf`9e333710
    00000000`00000000 fffffadf`9de87b00 : ACPI!ACPIDispatchIrp+0x164
    fffffadf`93a07190
     fffff800`014da8bb : fffffadf`9df3c7d0 fffffadf`93a07280
    fffffadf`93a07268 fffff800`014e73dc : nt!IopSynchronousCall+0x29c
    fffffadf`93a07230
     fffff800`014dcd69 : fffffadf`9de87a40 ffffffff`8000012c
    00000000`00000001 00000000`00000007 :
    nt!PiQueryAndAllocateBootResources+0x19b
    fffffadf`93a07310
    fffff800`014dff21 : fffffadf`9de87a40 fffffadf`9e32ca00
    fffffadf`93a079b4 fffffadf`9e32cf70 : nt!PiProcessNewDeviceNode+0x1eb9
    fffffadf`93a07660
     fffff800`0104e1b6 : fffffadf`9e333920 fffffadf`00000000
    00000000`00000000 00000000`00000000 : nt!PipProcessDevNodeTree+0x281
    fffffadf`93a07970
     fffff800`016e2bf7 : 00000000`00000000 00000000`00000038
    fffffadf`6e657050 fffff800`00091701 : nt!PipDeviceActionWorker+0x2f6
    fffffadf`93a07a10
     fffff800`016d8839 : fffff800`00091448 fffffadf`93a08160
    fffffadf`9e30e1a0 fffff800`00000000 : nt!IopInitializeBootDrivers+0xb47
    fffffadf`93a080e0
     fffff800`016d6483 : fffff800`00091448 fffff800`01724340
    fffffadf`93a08b68 00000000`00000000 : nt!IoInitSystem+0x1119
    fffffadf`93a08a40
     fffff800`0149d643 : fffff800`00091448 29e9a984`25a9a980
    2ae11ea6`26a11ea2 10d18c06`1d918c02 :
    nt!Phase1InitializationDiscard+0x11b3
    fffffadf`93a08d40
    fffff800`015762de : fffff800`00091448 8dd685ea`819685ee
    307b39e5`3c3b39e1 0b4bab45`070bab41 : nt!Phase1Initialization+0x13
    fffffadf`93a08d70
     fffff800`0119fe96 : fffff800`0149d630 fffff800`00091448
    fffff800`015762a0 8f4ca2e9`830ca2ed : nt!PspSystemThreadStartup+0x3e
    fffffadf`93a08dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI!ACPIBusIrpQueryResources+2b8
    fffffadf`931cea38 cc              int     3

    SYMBOL_STACK_INDEX:  4

    SYMBOL_NAME:  ACPI!ACPIBusIrpQueryResources+2b8

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d70c6e

    FAILURE_BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResources+2b8

    BUCKET_ID:  X64_0xA5_ACPI!ACPIBusIrpQueryResources+2b8

    Followup: MachineOwner
    ---------

    15: kd> !devnode 0 1
    Dumping IopRootDeviceNode (= 0xfffffadf9e333920)
    DevNode 0xfffffadf9e333920 for PDO 0xfffffadf9e336040
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e333530 for PDO 0xfffffadf9e058070
        InstancePath is "Root\ACPI_HAL\0000"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadf9e32ce30 for PDO 0xfffffadf9e32ca40
          InstancePath is "ACPI_HAL\PNP0C08\0"
          ServiceName is "ACPI"
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9de87c20 for PDO 0xfffffadf9df3c110
            InstancePath is "ACPI\PNP0C14\AWW"
            ServiceName is "WmiAcpi"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9de87a40 for PDO 0xfffffadf9df3c7d0
            InstancePath is "ACPI\PNP0A08\0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9de87860 for PDO 0xfffffadf9df3d210
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9de87680 for PDO 0xfffffadf9df3db90
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9de874a0 for PDO 0xfffffadf9de88710
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9de872c0 for PDO 0xfffffadf9de88500
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1e010 for PDO 0xfffffadf9ddf8070
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1ee30 for PDO 0xfffffadf9ddf8e60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1ec50 for PDO 0xfffffadf9ddf8c50
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1ea70 for PDO 0xfffffadf9ddf8a40
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1e890 for PDO 0xfffffadf9ddf8830
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1e6b0 for PDO 0xfffffadf9ddf8620
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1e4d0 for PDO 0xfffffadf9ddf8410
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df1e2f0 for PDO 0xfffffadf9df3b070
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4e010 for PDO 0xfffffadf9df3be60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4ee30 for PDO 0xfffffadf9df3bc50
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4ec50 for PDO 0xfffffadf9df3ba40
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4ea70 for PDO 0xfffffadf9df3b830
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4e890 for PDO 0xfffffadf9df3b620
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4e6b0 for PDO 0xfffffadf9df3b410
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4e4d0 for PDO 0xfffffadf9de87070
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9df4e2f0 for PDO 0xfffffadf9de87e60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
      DevNode 0xfffffadf9e058a50 for PDO 0xfffffadf9e058c90
        InstancePath is "Root\dmio\0000"
        ServiceName is "dmio"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e058650 for PDO 0xfffffadf9e058890
        InstancePath is "Root\ftdisk\0000"
        ServiceName is "ftdisk"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e332010 for PDO 0xfffffadf9e058450
        InstancePath is "Root\LEGACY_AFD\0000"
        ServiceName is "AFD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332c10 for PDO 0xfffffadf9e332e50
        InstancePath is "Root\LEGACY_AMPA\0000"
        ServiceName is "ampa"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332810 for PDO 0xfffffadf9e332a50
        InstancePath is "Root\LEGACY_BEEP\0000"
        ServiceName is "Beep"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332410 for PDO 0xfffffadf9e332650
        InstancePath is "Root\LEGACY_CDAC15BA\0000"
        ServiceName is "CdaC15BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057010 for PDO 0xfffffadf9e332250
        InstancePath is "Root\LEGACY_CDAD10BA\0000"
        ServiceName is "CdaD10BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057c10 for PDO 0xfffffadf9e057e50
        InstancePath is "Root\LEGACY_CRCDISK\0000"
        ServiceName is "crcdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057810 for PDO 0xfffffadf9e057a50
        InstancePath is "Root\LEGACY_DMBOOT\0000"
        ServiceName is "dmboot"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057410 for PDO 0xfffffadf9e057650
        InstancePath is "Root\LEGACY_DMLOAD\0000"
        ServiceName is "dmload"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331010 for PDO 0xfffffadf9e057250
        InstancePath is "Root\LEGACY_FIPS\0000"
        ServiceName is "Fips"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331c10 for PDO 0xfffffadf9e331e50
        InstancePath is "Root\LEGACY_GPC\0000"
        ServiceName is "Gpc"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331810 for PDO 0xfffffadf9e331a50
        InstancePath is "Root\LEGACY_HTTP\0000"
        ServiceName is "HTTP"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331410 for PDO 0xfffffadf9e331650
        InstancePath is "Root\LEGACY_IPNAT\0000"
        ServiceName is "IpNat"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056010 for PDO 0xfffffadf9e331250
        InstancePath is "Root\LEGACY_IPSEC\0000"
        ServiceName is "IPSec"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056c10 for PDO 0xfffffadf9e056e50
        InstancePath is "Root\LEGACY_KSECDD\0000"
        ServiceName is "ksecdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056810 for PDO 0xfffffadf9e056a50
        InstancePath is "Root\LEGACY_MNMDD\0000"
        ServiceName is "mnmdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056410 for PDO 0xfffffadf9e056650
        InstancePath is "Root\LEGACY_MOUNTMGR\0000"
        ServiceName is "mountmgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330010 for PDO 0xfffffadf9e056250
        InstancePath is "Root\LEGACY_NDIS\0000"
        ServiceName is "NDIS"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330c10 for PDO 0xfffffadf9e330e50
        InstancePath is "Root\LEGACY_NDISTAPI\0000"
        ServiceName is "NdisTapi"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330810 for PDO 0xfffffadf9e330a50
        InstancePath is "Root\LEGACY_NDISUIO\0000"
        ServiceName is "Ndisuio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330410 for PDO 0xfffffadf9e330650
        InstancePath is "Root\LEGACY_NDPROXY\0000"
        ServiceName is "NDProxy"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055010 for PDO 0xfffffadf9e330250
        InstancePath is "Root\LEGACY_NETBT\0000"
        ServiceName is "NetBT"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055c10 for PDO 0xfffffadf9e055e50
        InstancePath is "Root\LEGACY_NULL\0000"
        ServiceName is "Null"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055810 for PDO 0xfffffadf9e055a50
        InstancePath is "Root\LEGACY_PARTMGR\0000"
        ServiceName is "PartMgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055410 for PDO 0xfffffadf9e055650
        InstancePath is "Root\LEGACY_RASACD\0000"
        ServiceName is "RasAcd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32f010 for PDO 0xfffffadf9e055250
        InstancePath is "Root\LEGACY_RDPCDD\0000"
        ServiceName is "RDPCDD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32fc10 for PDO 0xfffffadf9e32fe50
        InstancePath is "Root\LEGACY_SECDRV\0000"
        ServiceName is "Secdrv"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32f810 for PDO 0xfffffadf9e32fa50
        InstancePath is "Root\LEGACY_TCPIP\0000"
        ServiceName is "Tcpip"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32f410 for PDO 0xfffffadf9e32f650
        InstancePath is "Root\LEGACY_VGASAVE\0000"
        ServiceName is "VgaSave"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054010 for PDO 0xfffffadf9e32f250
        InstancePath is "Root\LEGACY_VOLSNAP\0000"
        ServiceName is "VolSnap"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054c10 for PDO 0xfffffadf9e054e50
        InstancePath is "Root\LEGACY_WANARP\0000"
        ServiceName is "Wanarp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054810 for PDO 0xfffffadf9e054a50
        InstancePath is "Root\MEDIA\MS_MMACM"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e054410 for PDO 0xfffffadf9e054650
        InstancePath is "Root\MEDIA\MS_MMDRV"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32e010 for PDO 0xfffffadf9e054250
        InstancePath is "Root\MEDIA\MS_MMMCI"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32ec10 for PDO 0xfffffadf9e32ee50
        InstancePath is "Root\MEDIA\MS_MMVCD"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32e810 for PDO 0xfffffadf9e32ea50
        InstancePath is "Root\MEDIA\MS_MMVID"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32e410 for PDO 0xfffffadf9e32e650
        InstancePath is "Root\MS_L2TPMINIPORT\0000"
        ServiceName is "Rasl2tp"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e053010 for PDO 0xfffffadf9e32e250
        InstancePath is "Root\MS_NDISWANIP\0000"
        ServiceName is "NdisWan"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e053c10 for PDO 0xfffffadf9e053e50
        InstancePath is "Root\MS_PPPOEMINIPORT\0000"
        ServiceName is "RasPppoe"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e053810 for PDO 0xfffffadf9e053a50
        InstancePath is "Root\MS_PPTPMINIPORT\0000"
        ServiceName is "PptpMiniport"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e053410 for PDO 0xfffffadf9e053650
        InstancePath is "Root\MS_PSCHEDMP\0000"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32d010 for PDO 0xfffffadf9e053250
        InstancePath is "Root\MS_PSCHEDMP\0001"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32dc10 for PDO 0xfffffadf9e32de50
        InstancePath is "Root\MS_PTIMINIPORT\0000"
        ServiceName is "Raspti"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32d810 for PDO 0xfffffadf9e32da50
        InstancePath is "Root\RDPDR\0000"
        ServiceName is "rdpdr"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e32d410 for PDO 0xfffffadf9e32d650
        InstancePath is "Root\RDP_KBD\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e052010 for PDO 0xfffffadf9e32d250
        InstancePath is "Root\RDP_MOU\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e052c10 for PDO 0xfffffadf9e052e50
        InstancePath is "Root\SYSTEM\0000"
        ServiceName is "swenum"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e052810 for PDO 0xfffffadf9e052a50
        InstancePath is "Root\SYSTEM\0001"
        ServiceName is "update"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9e052410 for PDO 0xfffffadf9e052650
        InstancePath is "Root\SYSTEM\0002"
        ServiceName is "mssmbios"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)

#2196

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2195

> PS: @Mov AX, 0xDEAD
> Do you have an idea, how to overcome BSOD A5 (0x02,..) on the acpi.sys from XP 64 SP2?

no, i dont know why winxp cannot accept some device resources
maybe this is same problem with IRQ on amd

#2197

diderius6

⇗ @daniel_k
I succeed to read out the BSODs via Windbg with 5048 acpi.sys from yesterday
which give infinity loop.
There I noticed something interesting:
With the DEBUG version of ntoskrnl.exe and hal.dll
the BSOD was the same as now with the 5512 acpi.sys
A5 (0x02,..).
But with the nondebug version of ntoskrnl.exe and hal.dll
the BSOD looks other, now it is going to pci.sys
But I think, the DEBUG versions of ntoskrnl.exe and hal.dll are better, show the problem more precise,
Dietmar
PS: The second spoiler is from todays acpi.sys of 5512 base. This time also with nondebug Ntoskrnl.exe and hal.dll

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 13:17:48.125 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
    System Uptime: not available

    *** Fatal System Error: 0x0000000a
                           (0x0000000000000080,0x000000000000000C,0x0000000000000001,0xFFFFF80001079600)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 13:18:01.359 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ........................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck A, {80, c, 1, fffff80001079600}

    *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    Probably caused by : pci.sys ( pci!PciDispatchIrp+1a0 )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`01026db0 cc              int     3
    15: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    IRQL_NOT_LESS_OR_EQUAL (a)
    An attempt was made to access a pageable (or completely invalid) address at an
    interrupt request level (IRQL) that is too high.  This is usually
    caused by drivers using improper addresses.
    If a kernel debugger is available get the stack backtrace.
    Arguments:
    Arg1: 0000000000000080, memory referenced
    Arg2: 000000000000000c, IRQL
    Arg3: 0000000000000001, bitfield :
    	bit 0 : value 0 = read operation, 1 = write operation
    	bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
    Arg4: fffff80001079600, address which referenced memory

    Debugging Details:
    ------------------

    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40

    WRITE_ADDRESS:  0000000000000080

    CURRENT_IRQL:  c

    FAULTING_IP:
    nt!IopCompleteRequest+68f
    fffff800`01079600 4981888000000000010000 or qword ptr [r8+80h],100h

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA

    PROCESS_NAME:  System

    IRP_ADDRESS:  ffffffffffffff88

    TRAP_FRAME:  fffffadf936076b0 -- (.trap 0xfffffadf936076b0)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffffadf9ebda350 rbx=0000000000000000 rcx=fffffadf9334b7f0
    rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80001079600 rsp=fffffadf93607840 rbp=fffffadf93607980
     r8=0000000000000000  r9=fffffadf93607918 r10=fffffadf9ebd0288
    r11=fffff80001032de0 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!IopCompleteRequest+0x68f:
    fffff800`01079600 4981888000000000010000 or qword ptr [r8+80h],100h ds:00000000`00000080=????????????????
    Resetting default scope

    LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)
    The state of the ACPI locks is:
    ACPI: Could not read acpi!AcpiBuildQueueLock
    ACPI: Could not read acpi!AcpiButtonLock
    ACPI: Could not read acpi!AcpiDeviceTreeLock
    ACPI: Could not read acpi!AcpiFatalLock
    ACPI: Could not read acpi!AcpiPowerLock
    ACPI: Could not read acpi!AcpiGetLock
    ACPI: Could not read acpi!AcpiPowerQueueLock
    ACPI: Could not read acpi!AcpiThermalLock
    ACPI: Could not read acpi!AcpiUpdateFlagsLock
    ACPI: Could not read acpi!AcpiWorkerSpinLock

    PNP_TRIAGE:
    	Lock address  : 0xfffff800011ddb40
    	Thread Count  : 1
    	Thread address: 0xfffffadf9ee91bf0
    	Thread wait   : 0xad

    LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

    STACK_TEXT:
    fffffadf`93606e48
     fffff800`010d673e : 00000000`0000000f 00000000`00000000
    00000000`00000080 fffff800`0105669e : nt!DbgBreakPointWithStatus
    fffffadf`93606e50
     fffff800`010d7d0e : fffff800`00000003 00000000`0000000a
    00000000`00000080 00000000`0000000c : nt!KiBugCheckDebugBreak+0x1e
    fffffadf`93606eb0
     fffff800`0102ea54 : 00000000`00000001 fffffadf`92dc3290
    00000000`00000000 0000fadf`92dcf100 : nt!KeBugCheck2+0x640
    fffffadf`936074f0
     fffff800`0102e674 : 00000000`0000000a 00000000`00000080
    00000000`0000000c 00000000`00000001 : nt!KeBugCheckEx+0x104
    fffffadf`93607530
     fffff800`0102d607 : 00000000`00000000 00000000`5244415f
    00000000`00000000 fffffadf`92dadeb2 : nt!KiBugCheckDispatch+0x74
    fffffadf`936076b0
     fffff800`01079600 : fffffadf`93607c80 00000000`00000009
    00000000`00000000 00000000`00000000 : nt!KiPageFault+0x207
    fffffadf`93607840
     fffff800`01027f81 : 00000000`00000000 00000000`00000000
    00000000`00000000 fffffadf`9ebd0210 : nt!IopCompleteRequest+0x68f
    fffffadf`936078e0
     fffff800`01027b8d : 00000000`00000008 00000000`00000000
    00000000`00000000 fffffadf`9334b180 : nt!KiDeliverApc+0x215
    fffffadf`93607980
     fffff800`0102737b : fffffadf`93607ba0 fffff800`01030d7d
    00000000`00000010 00000000`00000246 : nt!KiApcInterrupt+0xdd
    fffffadf`93607b10
     fffff800`01030e05 : 00000000`00000000 00000000`00000000
    00000001`00000000 fffffadf`9ebda350 : nt!KiExitDispatcher+0x1d3
    fffffadf`93607b40
     fffff800`010252f9 : 00000000`00000000 00000000`00000000
    00000000`a0000003 fffffadf`9ebda350 : nt!KeInsertQueueApc+0xd4
    fffffadf`93607b90
     fffffadf`92d65a00 : 00000000`00000000 fffffadf`92d76f00
    00000000`00000000 fffffadf`93607d20 : nt!IopfCompleteRequest+0xa26
    fffffadf`93607c00
     fffffadf`92dddbf8 : fffffadf`9e0dca30 fffffadf`93607d20
    fffffadf`9e0dca30 fffffadf`93607cd0 : pci!PciDispatchIrp+0x1a0
    fffffadf`93607c30 fffffadf`92de02ea : fffffadf`9e0dca30 fffffadf`9eeb3d58 00000000`00010005 fffffadf`93607de0 : ACPI+0x59bf8
    fffffadf`93607cb0 fffffadf`92ddc218 : fffffadf`00000200 fffffadf`00000004 fffffadf`00000000 fffffadf`9eea7010 : ACPI+0x5c2ea
    fffffadf`93607d90 fffffadf`92d8eb9e : 00000000`00000000 fffffadf`9eea87d0 fffffadf`00000000 00000000`00000000 : ACPI+0x58218
    fffffadf`93607ec0 fffffadf`92ddad76 : 00000000`00000000 fffffadf`9eabb1b0 fffffadf`9eeb3d20 fffffadf`9ebd1260 : ACPI+0xab9e
    fffffadf`93607f70 fffffadf`92d941ae : fffffadf`92ddac40 fffffadf`9ebd1378 fffffadf`9eea8010 fffffadf`9ebd1260 : ACPI+0x56d76
    fffffadf`93607fb0 fffffadf`92d659e0 : 00000000`00000000 fffffadf`936080d0 fffffadf`9e0dce80 fffffadf`9ebd1260 : ACPI+0x101ae
    fffffadf`93608010
     fffff800`0133ed04 : fffffadf`9ebd1260 fffffadf`936080d0
    fffffadf`9e0dcd30 fffffadf`9eea12d0 : pci!PciDispatchIrp+0x180
    fffffadf`93608040
     fffff800`010d0891 : 00000000`00000000 00000000`00000000
    00000000`00000000 fffffadf`9eea1190 : nt!IopSynchronousCall+0x144
    fffffadf`936080b0
     fffff800`01335a3a : fffffadf`9eea9240 fffffadf`9eea1190
    fffffadf`9eea1190 00000000`00000000 : nt!IopQueryDeviceRelations+0x71
    fffffadf`93608140
     fffff800`010cc809 : fffffadf`9eab6660 fffff800`000924d0
    fffffadf`9eeb38c0 fffffadf`9eab6660 : nt!PipProcessDevNodeTree+0x342
    fffffadf`936084d0
     fffff800`014329f7 : ffffffff`00000000 fffffadf`9eab6660
    fffff800`000924d0 fffffadf`9eeb38f0 : nt!PipDeviceActionWorker+0x199
    fffffadf`93608560
     fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
    00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
    fffffadf`936088c0
     fffff800`01428144 : fffff800`00091598 fffff800`00091598
    00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
    fffffadf`93608a50
     fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
    00000000`00000080 fffffadf`9ee91bf0 :
    nt!Phase1InitializationDiscard+0x111d
    fffffadf`93608d40
    fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
    307b39e5`3c3b19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
    fffffadf`93608d70
     fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
    fffff800`011b5500 00000000`da83b888 : nt!PspSystemThreadStartup+0x3e
    fffffadf`93608dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    pci!PciDispatchIrp+1a0
    fffffadf`92d65a00 8bc3            mov     eax,ebx

    SYMBOL_STACK_INDEX:  c

    SYMBOL_NAME:  pci!PciDispatchIrp+1a0

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: pci

    IMAGE_NAME:  pci.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d694c3

    FAILURE_BUCKET_ID:  X64_0xA_pci!PciDispatchIrp+1a0

    BUCKET_ID:  X64_0xA_pci!PciDispatchIrp+1a0

    Followup: MachineOwner
    ---------

    15: kd> !devnode 0 1
    Dumping IopRootDeviceNode (= 0xfffffadf9eeb47c0)
    DevNode 0xfffffadf9eeb47c0 for PDO 0xfffffadf9eeb38f0
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd9c30 for PDO 0xfffffadf9ebd9e50
        InstancePath is "Root\ACPI_HAL\0000"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadf9eeac870 for PDO 0xfffffadf9eeac480
          InstancePath is "ACPI_HAL\PNP0C08\0"
          ServiceName is "ACPI"
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9eea9240 for PDO 0xfffffadf9eab4320
            InstancePath is "ACPI\PNP0C14\AWW"
            ServiceName is "WmiAcpi"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9eea1190 for PDO 0xfffffadf9eabb1b0
            InstancePath is "ACPI\PNP0A08\0"
            ServiceName is "pci"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeStartPostWork (0x307)
          DevNode 0xfffffadf9eeb3220 for PDO 0xfffffadf9e0dd410
            InstancePath is "ACPI\PNP0C0C\aa"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9eab1330 for PDO 0xfffffadf9ee96e60
            InstancePath is "ACPI\PNP0103\2&daba3ff&0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9e1be900 for PDO 0xfffffadf9eeb3e60
            InstancePath is "ACPI\AMDI0030\0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9e1be730 for PDO 0xfffffadf9e1bf390
            InstancePath is "ACPI\PNP0C14\ASUSWMI"
            ServiceName is "WmiAcpi"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9e1be560 for PDO 0xfffffadf9e1bf190
            InstancePath is "ACPI\FixedButton\2&daba3ff&0"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9e1be390 for PDO 0xfffffadf9e1bee20
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee97ad0 for PDO 0xfffffadf9e1bec20
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_1"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee97900 for PDO 0xfffffadf9ee965c0
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_2"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee97730 for PDO 0xfffffadf9ee963c0
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_3"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee97560 for PDO 0xfffffadf9ebd9060
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_4"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee97390 for PDO 0xfffffadf9ebd9370
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_5"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9ee971c0 for PDO 0xfffffadf9e1bfba0
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_6"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efda010 for PDO 0xfffffadf9e1bf9a0
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_7"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efdae40 for PDO 0xfffffadf9ee95e60
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_8"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efdac70 for PDO 0xfffffadf9ee95c60
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_9"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efdaaa0 for PDO 0xfffffadf9eeb3060
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\10"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efda8d0 for PDO 0xfffffadf9eeb3440
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\11"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efda700 for PDO 0xfffffadf9e1c0740
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\12"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efda530 for PDO 0xfffffadf9e1c0540
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\13"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9efda360 for PDO 0xfffffadf9e1c0340
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\14"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9dffc010 for PDO 0xfffffadf9ebd2a60
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\15"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9dffce40 for PDO 0xfffffadf9ebd2860
            InstancePath is "ACPI\PNP0C02\90"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9dffcc70 for PDO 0xfffffadf9ebd2660
            InstancePath is "ACPI\PNP0C02\91"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9dffcaa0 for PDO 0xfffffadf9ebd2460
            InstancePath is "ACPI\PNP0C14\AOD"
            ServiceName is "WmiAcpi"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd9720 for PDO 0xfffffadf9ebd9940
        InstancePath is "Root\dmio\0000"
        ServiceName is "dmio"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd9550 for PDO 0xfffffadf9eeb2060
        InstancePath is "Root\ftdisk\0000"
        ServiceName is "ftdisk"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeb2be0 for PDO 0xfffffadf9eeb2e00
        InstancePath is "Root\LEGACY_AFD\0000"
        ServiceName is "AFD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2800 for PDO 0xfffffadf9eeb2a20
        InstancePath is "Root\LEGACY_AMPA\0000"
        ServiceName is "ampa"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2420 for PDO 0xfffffadf9eeb2640
        InstancePath is "Root\LEGACY_BEEP\0000"
        ServiceName is "Beep"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2250 for PDO 0xfffffadf9ebd8060
        InstancePath is "Root\LEGACY_CDAC15BA\0000"
        ServiceName is "CdaC15BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8c30 for PDO 0xfffffadf9ebd8e50
        InstancePath is "Root\LEGACY_CDAD10BA\0000"
        ServiceName is "CdaD10BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8750 for PDO 0xfffffadf9ebd8970
        InstancePath is "Root\LEGACY_CRCDISK\0000"
        ServiceName is "crcdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8370 for PDO 0xfffffadf9ebd8590
        InstancePath is "Root\LEGACY_DMBOOT\0000"
        ServiceName is "dmboot"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1e40 for PDO 0xfffffadf9eeb1060
        InstancePath is "Root\LEGACY_DMLOAD\0000"
        ServiceName is "dmload"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1a60 for PDO 0xfffffadf9eeb1c80
        InstancePath is "Root\LEGACY_FIPS\0000"
        ServiceName is "Fips"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1680 for PDO 0xfffffadf9eeb18a0
        InstancePath is "Root\LEGACY_GPC\0000"
        ServiceName is "Gpc"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb12a0 for PDO 0xfffffadf9eeb14c0
        InstancePath is "Root\LEGACY_HTTP\0000"
        ServiceName is "HTTP"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7e40 for PDO 0xfffffadf9ebd7060
        InstancePath is "Root\LEGACY_IPNAT\0000"
        ServiceName is "IpNat"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7a60 for PDO 0xfffffadf9ebd7c80
        InstancePath is "Root\LEGACY_IPSEC\0000"
        ServiceName is "IPSec"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7680 for PDO 0xfffffadf9ebd78a0
        InstancePath is "Root\LEGACY_KSECDD\0000"
        ServiceName is "ksecdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd72a0 for PDO 0xfffffadf9ebd74c0
        InstancePath is "Root\LEGACY_MNMDD\0000"
        ServiceName is "mnmdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0e40 for PDO 0xfffffadf9eeb0060
        InstancePath is "Root\LEGACY_MOUNTMGR\0000"
        ServiceName is "mountmgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0a60 for PDO 0xfffffadf9eeb0c80
        InstancePath is "Root\LEGACY_NDIS\0000"
        ServiceName is "NDIS"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0680 for PDO 0xfffffadf9eeb08a0
        InstancePath is "Root\LEGACY_NDISTAPI\0000"
        ServiceName is "NdisTapi"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb02a0 for PDO 0xfffffadf9eeb04c0
        InstancePath is "Root\LEGACY_NDISUIO\0000"
        ServiceName is "Ndisuio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6e40 for PDO 0xfffffadf9ebd6060
        InstancePath is "Root\LEGACY_NDPROXY\0000"
        ServiceName is "NDProxy"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6a60 for PDO 0xfffffadf9ebd6c80
        InstancePath is "Root\LEGACY_NETBT\0000"
        ServiceName is "NetBT"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6680 for PDO 0xfffffadf9ebd68a0
        InstancePath is "Root\LEGACY_NULL\0000"
        ServiceName is "Null"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd62a0 for PDO 0xfffffadf9ebd64c0
        InstancePath is "Root\LEGACY_PARTMGR\0000"
        ServiceName is "PartMgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeafe40 for PDO 0xfffffadf9eeaf060
        InstancePath is "Root\LEGACY_RASACD\0000"
        ServiceName is "RasAcd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeafa60 for PDO 0xfffffadf9eeafc80
        InstancePath is "Root\LEGACY_RDPCDD\0000"
        ServiceName is "RDPCDD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeaf680 for PDO 0xfffffadf9eeaf8a0
        InstancePath is "Root\LEGACY_SECDRV\0000"
        ServiceName is "Secdrv"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeaf2a0 for PDO 0xfffffadf9eeaf4c0
        InstancePath is "Root\LEGACY_TCPIP\0000"
        ServiceName is "Tcpip"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5e40 for PDO 0xfffffadf9ebd5060
        InstancePath is "Root\LEGACY_VGASAVE\0000"
        ServiceName is "VgaSave"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5a60 for PDO 0xfffffadf9ebd5c80
        InstancePath is "Root\LEGACY_VOLSNAP\0000"
        ServiceName is "VolSnap"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5680 for PDO 0xfffffadf9ebd58a0
        InstancePath is "Root\LEGACY_WANARP\0000"
        ServiceName is "Wanarp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd52a0 for PDO 0xfffffadf9ebd54c0
        InstancePath is "Root\MEDIA\MS_MMACM"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeaee40 for PDO 0xfffffadf9eeae060
        InstancePath is "Root\MEDIA\MS_MMDRV"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeaea60 for PDO 0xfffffadf9eeaec80
        InstancePath is "Root\MEDIA\MS_MMMCI"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeae680 for PDO 0xfffffadf9eeae8a0
        InstancePath is "Root\MEDIA\MS_MMVCD"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeae2a0 for PDO 0xfffffadf9eeae4c0
        InstancePath is "Root\MEDIA\MS_MMVID"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4e40 for PDO 0xfffffadf9ebd4060
        InstancePath is "Root\MS_L2TPMINIPORT\0000"
        ServiceName is "Rasl2tp"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4a60 for PDO 0xfffffadf9ebd4c80
        InstancePath is "Root\MS_NDISWANIP\0000"
        ServiceName is "NdisWan"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4680 for PDO 0xfffffadf9ebd48a0
        InstancePath is "Root\MS_PPPOEMINIPORT\0000"
        ServiceName is "RasPppoe"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd42a0 for PDO 0xfffffadf9ebd44c0
        InstancePath is "Root\MS_PPTPMINIPORT\0000"
        ServiceName is "PptpMiniport"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeade40 for PDO 0xfffffadf9eead060
        InstancePath is "Root\MS_PSCHEDMP\0000"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeada60 for PDO 0xfffffadf9eeadc80
        InstancePath is "Root\MS_PSCHEDMP\0001"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eead680 for PDO 0xfffffadf9eead8a0
        InstancePath is "Root\MS_PTIMINIPORT\0000"
        ServiceName is "Raspti"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eead2a0 for PDO 0xfffffadf9eead4c0
        InstancePath is "Root\RDPDR\0000"
        ServiceName is "rdpdr"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3e40 for PDO 0xfffffadf9ebd3060
        InstancePath is "Root\RDP_KBD\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3a60 for PDO 0xfffffadf9ebd3c80
        InstancePath is "Root\RDP_MOU\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3680 for PDO 0xfffffadf9ebd38a0
        InstancePath is "Root\SYSTEM\0000"
        ServiceName is "swenum"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd32a0 for PDO 0xfffffadf9ebd34c0
        InstancePath is "Root\SYSTEM\0001"
        ServiceName is "update"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeace40 for PDO 0xfffffadf9eeac060
        InstancePath is "Root\SYSTEM\0002"
        ServiceName is "mssmbios"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
    15: kd> !PCItree
    Bus 0x0 (FDO Ext fffffadf9e0dce80)
      0600 14501022 (d=0,  f=0) devext fffffadf9efd91b0 Bridge/HOST to PCI
      0806 14511022 (d=0,  f=2) devext fffffadf9efd9570 Base System Device/Unknown Sub Class
      0600 14521022 (d=1,  f=0) devext fffffadf9dffbe90 Bridge/HOST to PCI
      0604 14531022 (d=1,  f=2) devext fffffadf9dffbb70 Bridge/PCI to PCI
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: pci!PCI_FDO_EXTENSION                         ***
    ***                                                                   ***

    *************************************************************************
      Bus 0x0 (FDO Ext 00000000)
      No devices have been enumerated on this bus.
      0600 14521022 (d=2,  f=0) devext fffffadf9dffb850 Bridge/HOST to PCI
      0600 14521022 (d=3,  f=0) devext fffffadf9e0dc1b0 Bridge/HOST to PCI
      0604 14531022 (d=3,  f=1) devext fffffadf9e0dcb80 Bridge/PCI to PCI
    *************************************************************************

    ***************
      Bus 0x0 (FDO Ext 00000000)
      No devices have been enumerated on this bus.
      0600 14521022 (d=4,  f=0) devext fffffadf9e0dc860 Bridge/HOST to PCI
      0600 14521022 (d=7,  f=0) devext fffffadf9e0dc540 Bridge/HOST to PCI
      0604 14541022 (d=7,  f=1) devext fffffadf9e8a01b0 Bridge/PCI to PCI
    *************************************************************************

    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: pci!FDO_EXTENSION                             ***
    ***                                                                   ***
    *************************************************************************

    *************************************************************************
      Bus 0x0 (FDO Ext 00000000)
      No devices have been enumerated on this bus.
      0600 14521022 (d=8,  f=0) devext fffffadf9e8a0e90 Bridge/HOST to PCI
      0604 14541022 (d=8,  f=1) devext fffffadf9e8a0b70 Bridge/PCI to PCI
    *************************************************************************

    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: pci!FDO_EXTENSION                             ***
    ***                                                                   ***
    *************************************************************************

      Bus 0x0 (FDO Ext 00000000)
      No devices have been enumerated on this bus.
      0c05 790b1022 (d=14, f=0) devext fffffadf9e8a0850 Serial Bus Controller/Unknown Sub Class
      0601 790e1022 (d=14, f=3) devext fffffadf9e8a0530 Bridge/PCI to ISA
      0600 14601022 (d=18, f=0) devext fffffadf9eacf1b0 Bridge/HOST to PCI
      0600 14611022 (d=18, f=1) devext fffffadf9eacfe90 Bridge/HOST to PCI
      0600 14621022 (d=18, f=2) devext fffffadf9eacfb70 Bridge/HOST to PCI
      0600 14631022 (d=18, f=3) devext fffffadf9eacf850 Bridge/HOST to PCI
      0600 14641022 (d=18, f=4) devext fffffadf9eacf530 Bridge/HOST to PCI
      0600 14651022 (d=18, f=5) devext fffffadf9efd81b0 Bridge/HOST to PCI
      0600 14661022 (d=18, f=6) devext fffffadf9efd8e90 Bridge/HOST to PCI
      0600 14671022 (d=18, f=7) devext fffffadf9efd8b70 Bridge/HOST to PCI
    Total PCI Root busses processed = 1
    15: kd> !PCI
    PCI Segment 0 Bus 0
    00:0  1022:1450.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge  SubID:1043:8747
    00:2  1022:1451.00  Cmd[0004:..b...]  Sts[0010:c....]  AMD Class:8:6:0  SubID:1043:8747
    01:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    01:2  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x1-0x6
    02:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    03:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    03:1  1022:1453.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x7-0x7
    04:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    07:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    07:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x8-0x8
    08:0  1022:1452.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    08:1  1022:1454.00  Cmd[0007:imb...]  Sts[0010:c....]  AMD PCI-PCI Bridge 0->0x9-0x9
    14:0  1022:790b.59  Cmd[0403:im....]  Sts[0220:.6...]  AMD SMBus Controller  SubID:1043:8747
    14:3  1022:790e.51  Cmd[000f:imb...]  Sts[0220:.6...]  AMD ISA Bridge  SubID:1043:8747
    18:0  1022:1460.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:1  1022:1461.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:2  1022:1462.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:3  1022:1463.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:4  1022:1464.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:5  1022:1465.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:6  1022:1466.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    18:7  1022:1467.00  Cmd[0000:......]  Sts[0000:.....]  AMD Host Bridge
    1f

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 13:39:29.250 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
    System Uptime: not available

    *** Fatal System Error: 0x0000000a
                           (0x0000000000000010,0x000000000000000C,0x0000000000000000,0xFFFFF8000107984D)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 13:39:41.703 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ........................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck A, {10, c, 0, fffff8000107984d}

    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    Probably caused by : ntkrnlmp.exe ( nt!KiPageFault+207 )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`01026db0 cc              int     3
    15: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    IRQL_NOT_LESS_OR_EQUAL (a)
    An attempt was made to access a pageable (or completely invalid) address at an
    interrupt request level (IRQL) that is too high.  This is usually
    caused by drivers using improper addresses.
    If a kernel debugger is available get the stack backtrace.
    Arguments:
    Arg1: 0000000000000010, memory referenced
    Arg2: 000000000000000c, IRQL
    Arg3: 0000000000000000, bitfield :
    	bit 0 : value 0 = read operation, 1 = write operation
    	bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
    Arg4: fffff8000107984d, address which referenced memory

    Debugging Details:
    ------------------

    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40

    READ_ADDRESS:  0000000000000010

    CURRENT_IRQL:  c

    FAULTING_IP:
    nt!IopCompleteRequest+8e0
    fffff800`0107984d 4c8b4810        mov     r9,qword ptr [rax+10h]

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA

    PROCESS_NAME:  System

    IRP_ADDRESS:  ffffffffffffff88

    TRAP_FRAME:  fffffadf93607310 -- (.trap 0xfffffadf93607310)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=0000000000000000 rbx=0000000000000000 rcx=fffffadf9334b7f0
    rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff8000107984d rsp=fffffadf936074a0 rbp=fffffadf936075e0
     r8=0000000000000000  r9=fffffadf93607578 r10=fffff800011dcd28
    r11=fffff80001032de0 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei pl nz na pe nc
    nt!IopCompleteRequest+0x8e0:
    fffff800`0107984d 4c8b4810        mov     r9,qword ptr [rax+10h] ds:6080:0010=????????????????
    Resetting default scope

    LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)
    The state of the ACPI locks is:
      - Build Queue Lock is not owned
      - Button Lock is not owned
      - Device Tree Lock is not owned
      - Fatal Lock is not owned
      - Power Lock is not owned
      - Get Lock is not owned
      - Power Queue Lock is not owned
      - Thermal Lock is not owned
      - Update Flags Lock is not owned
      - Worker Lock is not owned

    PNP_TRIAGE:
    	Lock address  : 0xfffff800011ddb40
    	Thread Count  : 1
    	Thread address: 0xfffffadf9ee91bf0
    	Thread wait   : 0x9d

    LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

    STACK_TEXT:
    fffffadf`93606aa8
     fffff800`010d673e : 00000000`0000000f 00000000`00000000
    00000000`00000010 fffff800`0105669e : nt!DbgBreakPointWithStatus
    fffffadf`93606ab0
     fffff800`010d7d0e : fffff800`00000003 00000000`0000000a
    00000000`00000010 00000000`0000000c : nt!KiBugCheckDebugBreak+0x1e
    fffffadf`93606b10
     fffff800`0102ea54 : fffffadf`93607180 00000000`00000180
    00000006`00000000 fffffa80`0045c4b0 : nt!KeBugCheck2+0x640
    fffffadf`93607150
     fffff800`0102e674 : 00000000`0000000a 00000000`00000010
    00000000`0000000c 00000000`00000000 : nt!KeBugCheckEx+0x104
    fffffadf`93607190
     fffff800`0102d607 : 00000000`00000000 fffffadf`93607420
    fffffadf`93607300 fffffadf`00000240 : nt!KiBugCheckDispatch+0x74
    fffffadf`93607310
     fffff800`0107984d : 00000000`00000000 fffffadf`9ee91bf0
    fffffadf`93607728 fffffa80`0045e150 : nt!KiPageFault+0x207
    fffffadf`936074a0
     fffff800`01027f81 : 00000000`00000000 fffff800`012966ee
    00020019`0047e401 fffffadf`9ebd9b00 : nt!IopCompleteRequest+0x8e0
    fffffadf`93607540
     fffff800`01027b8d : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KiDeliverApc+0x215
    fffffadf`936075e0
     fffff800`012857c3 : 00000000`00020019 fffffadf`9eeb6080
    fffffa80`0045e150 00000000`00000000 : nt!KiApcInterrupt+0xdd
    fffffadf`93607770
     fffff800`0129b22b : fffffadf`0008e888 fffffadf`93607d30
    fffffadf`93607988 fffff800`011aa8fd : nt!ObOpenObjectByName+0xac
    fffffadf`93607960
     fffff800`0102e3fd : fffffadf`93607c40 fffff800`00020019
    fffffadf`93607c58 fffffadf`9ee91bf0 : nt!NtOpenKey+0x277
    fffffadf`93607a60
     fffff800`0102e8c0 : fffff800`0133dbe6 fffffadf`93607c58
    ffffffff`80000194 00000000`00000014 : nt!KiSystemServiceCopyEnd+0x3
    fffffadf`93607bf8
     fffff800`0133dbe6 : fffffadf`93607c58 ffffffff`80000194
    00000000`00000014 ffffffff`80000194 : nt!KiServiceLinkage
    fffffadf`93607c00
     fffff800`0133db61 : fffffadf`9eeaea60 fffffadf`93608068
    fffffadf`93608048 fffffadf`9eeaea60 : nt!PpSaveDeviceCapabilities+0x66
    fffffadf`93607ca0
     fffff800`0134cd61 : 00000000`00000000 fffffadf`93608068
    fffffadf`93608048 fffffadf`9eeaea60 :
    nt!IopQueryAndSaveDeviceNodeCapabilities+0xc0
    fffffadf`93607d60
    fffff800`01339aae : ffffffff`80000194 fffffadf`9ebda420
    00000000`00000000 00000000`00000000 :
    nt!IopInitializeDeviceInstanceKey+0x62f
    fffffadf`93607e20
    fffff800`0134c6fd : 00000000`00000000 00000000`00000020
    00000000`00000010 00000000`00000086 : nt!PipApplyFunctionToSubKeys+0x151
    fffffadf`93607ef0
     fffff800`01339aae : 00000000`00000000 00000000`0000006a
    00000000`00000001 fffffa80`00484360 : nt!IopInitializeDeviceKey+0x9d
    fffffadf`93607f30
     fffff800`0134c50a : 00000000`00000000 00000000`0000001a
    fffffadf`9eeb38f0 00000000`00000000 : nt!PipApplyFunctionToSubKeys+0x151
    fffffadf`93608000
     fffff800`0134bbf8 : fffffadf`9ebda350 00000000`00000000
    fffffadf`9eeb38f0 00000000`00000000 : nt!IopGetRootDevices+0x18a
    fffffadf`936080d0
     fffff800`0133ed04 : fffffadf`9ebda350 fffffadf`936081d0
    fffffadf`9eeb38f0 fffffadf`9eeb4900 : nt!IopPnPDispatch+0xc8
    fffffadf`93608140
     fffff800`010d0891 : 00000000`00000000 00000000`00000002
    00000000`00000000 fffffadf`9eeb47c0 : nt!IopSynchronousCall+0x144
    fffffadf`936081b0
     fffff800`01335a3a : fffffa80`0046d170 fffffa80`000a7500
    fffffadf`93608290 00000000`00000000 : nt!IopQueryDeviceRelations+0x71
    fffffadf`93608240
     fffff800`013376e5 : 00000000`00000000 fffffadf`9eeb4880
    00000000`00000002 fffffadf`9eeb3ab0 : nt!PipProcessDevNodeTree+0x342
    fffffadf`936085d0
     fffff800`010cc9d8 : fffffadf`00000003 00000000`00000000
    fffffadf`9eeb38f0 00000000`00000000 : nt!PiProcessReenumeration+0x85
    fffffadf`93608620
     fffff800`010cc63b : 00000000`00000000 fffffadf`9eeb3ab0
    fffff800`0134a4f0 fffffadf`9eeb38f0 : nt!PipDeviceActionWorker+0x368
    fffffadf`936086b0
     fffff800`01431545 : fffffadf`00000001 00000000`00000000
    00000000`00000000 fffffadf`9eeb38f0 : nt!PipRequestDeviceAction+0x1ab
    fffffadf`93608710
     fffff800`0142a040 : 00000000`00000000 00000000`0000fffc
    fffff800`00091448 fffff800`0146a68e :
    nt!IopInitializePlugPlayServices+0xd80
    fffffadf`936088c0
    fffff800`01428144 : fffff800`00091598 fffff800`00091598
    00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xe41
    fffffadf`93608a50
     fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
    00000000`00000080 fffffadf`9ee91bf0 :
    nt!Phase1InitializationDiscard+0x111d
    fffffadf`93608d40
    fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
    307b39e5`3cbb19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
    fffffadf`93608d70
     fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
    fffff800`011b5500 00000000`da83b888 : nt!PspSystemThreadStartup+0x3e
    fffffadf`93608dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    nt!KiPageFault+207
    fffff800`0102d607 488d0572300000  lea     rax,[nt!ExpInterlockedPopEntrySList (fffff800`01030680)]

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  nt!KiPageFault+207

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: nt

    IMAGE_NAME:  ntkrnlmp.exe

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69ab4

    FAILURE_BUCKET_ID:  X64_0xA_nt!KiPageFault+207

    BUCKET_ID:  X64_0xA_nt!KiPageFault+207

    Followup: MachineOwner
    ---------

#2198 | infuscomus | ⇗ @diderius6 does windows XP x64 install properly with Standard PC or MPS?
#2199 | diderius6 | ⇗ @infuscomus There is nothing like this in XP 64 and so it is more difficult Dietmar

#2200

diderius6

⇗ @daniel_k
Here is the Windbg output from
5048 acpi_test1.sys from yesterday (first from 3)
with nondebug Ntoskrnl.exe and Hal.dll
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 14:02:36.906 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`011d5100
    System Uptime: not available

    *** Fatal System Error: 0x0000007e
                           (0xFFFFFFFFC0000005,0xFFFFFADF92D9D923,0xFFFFFADF93607540,0xFFFFFADF93606F50)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 14:02:49.671 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ........................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 7E, {ffffffffc0000005, fffffadf92d9d923, fffffadf93607540, fffffadf93606f50}

    *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    Probably caused by : ACPI.sys ( ACPI+19923 )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`01026db0 cc              int     3
    15: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
    This is a very common bugcheck.  Usually the exception address pinpoints
    the driver/function that caused the problem.  Always note this address
    as well as the link date of the driver/image that contains this address.
    Arguments:
    Arg1: ffffffffc0000005, The exception code that was not handled
    Arg2: fffffadf92d9d923, The address that the exception occurred at
    Arg3: fffffadf93607540, Exception Record Address
    Arg4: fffffadf93606f50, Context Record Address

    Debugging Details:
    ------------------

    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40
    *** No owner thread found for resource fffff800011dda40

    EXCEPTION_CODE:
     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
    bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
    nicht in den Arbeitsspeicher  bertragen.

    FAULTING_IP:
    ACPI+19923
    fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h]

    EXCEPTION_RECORD:  fffffadf93607540 -- (.exr 0xfffffadf93607540)
    ExceptionAddress: fffffadf92d9d923 (ACPI+0x0000000000019923)
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000000
       Parameter[1]: 0000000000000020
    Attempt to read from address 0000000000000020

    CONTEXT:  fffffadf93606f50 -- (.cxr 0xfffffadf93606f50)
    rax=fffffadf936077b0 rbx=fffffadf92dd3b40 rcx=fffffadf9ee97290
    rdx=fffffadf936077d0 rsi=0000000000000000 rdi=0000000000000000
    rip=fffffadf92d9d923 rsp=fffffadf93607760 rbp=fffffadf9ee97290
     r8=fffffadf936077b4  r9=fffffadf936077b3 r10=0000000000000001
    r11=fffffadf936079a8 r12=fffffadf936079f0 r13=fffffadf92dd3b00
    r14=0000000000000000 r15=fffffadf936079f8
    iopl=0         nv up ei pl zr na po nc
    cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
    ACPI+0x19923:
    fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h] ds:002b:00000000`00000020=????????????????
    Resetting default scope

    PROCESS_NAME:  System

    CURRENT_IRQL:  2

    ERROR_CODE:
     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
    bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
    nicht in den Arbeitsspeicher  bertragen.

    EXCEPTION_PARAMETER1:  0000000000000000

    EXCEPTION_PARAMETER2:  0000000000000020

    READ_ADDRESS:  0000000000000020

    FOLLOWUP_IP:
    ACPI+19923
    fffffadf`92d9d923 41ff5620        call    qword ptr [r14+20h]

    BUGCHECK_STR:  0x7E

    DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE

    LOCK_ADDRESS:  fffff800011ddb40 -- (!locks fffff800011ddb40)
    The state of the ACPI locks is:
    ACPI: Could not read acpi!AcpiBuildQueueLock
    ACPI: Could not read acpi!AcpiButtonLock
    ACPI: Could not read acpi!AcpiDeviceTreeLock
    ACPI: Could not read acpi!AcpiFatalLock
    ACPI: Could not read acpi!AcpiPowerLock
    ACPI: Could not read acpi!AcpiGetLock
    ACPI: Could not read acpi!AcpiPowerQueueLock
    ACPI: Could not read acpi!AcpiThermalLock
    ACPI: Could not read acpi!AcpiUpdateFlagsLock
    ACPI: Could not read acpi!AcpiWorkerSpinLock

    PNP_TRIAGE:
    	Lock address  : 0xfffff800011ddb40
    	Thread Count  : 1
    	Thread address: 0xfffffadf9ee91bf0
    	Thread wait   : 0xab

    LAST_CONTROL_TRANSFER:  from fffff800010d673e to fffff80001026db0

    STACK_TEXT:
    fffffadf`93607760 fffffadf`92ddec12 : 00000000`00000001 fffff800`0137de62 fffffadf`00000101 fffff800`0137eb82 : ACPI+0x19923
    fffffadf`936079b0 fffffadf`92de8136 : fffffadf`92dd3b40 fffffadf`93607bb0 fffffa80`0044a4e8 fffffadf`93607bb0 : ACPI+0x5ac12
    fffffadf`93607a30 fffffadf`92ddf2b2 : fffffadf`92dd3b40 fffffa80`00459f30 00000000`00000009 fffffadf`93607bb0 : ACPI+0x64136
    fffffadf`93607b10 fffffadf`92de826f : 00000000`00000000 fffffa80`00459f30 00000000`00000009 00000000`00000000 : ACPI+0x5b2b2
    fffffadf`93607b40 fffff800`01330d16 : fffffa80`0044a4c0 fffffa80`0045abe8 fffffa80`0045abc0 fffffadf`93607ba0 : ACPI+0x6426f
    fffffadf`93607b80
     fffff800`01330b03 : 00000000`00000000 fffffa80`00459f30
    fffffa80`0044a460 fffffadf`9e1c0360 : nt!IopBootAllocation+0x14b
    fffffadf`93607be0
     fffff800`01330a07 : fffffa80`004695d0 fffffadf`9ee97290
    00000000`00000004 fffffadf`9ee97290 :
    nt!IopAllocateBootResourcesInternal+0x93
    fffffadf`93607c70
    fffff800`014303ab : 00000000`00000010 fffffadf`9e1c0360
    fffffa80`004695d0 00000000`00000004 : nt!IopAllocateBootResources+0x57
    fffffadf`93607cb0
     fffff800`013319e6 : 00000000`00000000 ffffffff`800001d8
    fffffadf`9e1c0360 fffffa80`004695d0 : nt!IopReportBootResources+0xc1
    fffffadf`93607ce0
     fffff800`01333334 : ffffffff`800001e4 fffffadf`9e1c0420
    fffffadf`9e1c0360 ffffffff`800001e4 :
    nt!PiQueryAndAllocateBootResources+0x276
    fffffadf`93607da0
    fffff800`0133591b : fffffadf`9eab9190 fffffadf`9e1c0360
    00000000`00000000 fffffadf`9e1c0360 : nt!PiProcessNewDeviceNode+0x16ff
    fffffadf`93608140
     fffff800`010cc809 : fffffadf`9eeb3870 fffff800`00092470
    fffffadf`9eeb38c0 fffffadf`9eeb3870 : nt!PipProcessDevNodeTree+0x223
    fffffadf`936084d0
     fffff800`014329f7 : ffffffff`00000000 fffffadf`9eeb3870
    fffff800`00092470 fffffadf`9eeb38f0 : nt!PipDeviceActionWorker+0x199
    fffffadf`93608560
     fffff800`0142a14d : 00000000`00000000 00000000`0000fffc
    00000000`00000000 00000000`0000fffc : nt!IopInitializeBootDrivers+0xc57
    fffffadf`936088c0
     fffff800`01428144 : fffff800`00091598 fffff800`00091598
    00000000`00000003 fffffadf`9ee90010 : nt!IoInitSystem+0xf4f
    fffffadf`93608a50
     fffff800`0130dc29 : 12d93b24`1e99bf20 fffffadf`9ee91bf0
    00000000`00000080 fffffadf`9ee91bf0 :
    nt!Phase1InitializationDiscard+0x111d
    fffffadf`93608d40
    fffff800`0124b972 : b6e6174a`baa6174e 8dd685ea`819685ee
    307b39e5`3cbb19e1 0b4bab45`070baf41 : nt!Phase1Initialization+0x9
    fffffadf`93608d70
     fffff800`010202d6 : fffff800`011b1180 fffffadf`9ee91bf0
    fffff800`011b5500 00000000`da83b888 : nt!PspSystemThreadStartup+0x3e
    fffffadf`93608dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    SYMBOL_STACK_INDEX:  0

    SYMBOL_NAME:  ACPI+19923

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  424d79aa

    STACK_COMMAND:  .cxr 0xfffffadf93606f50 ; kb

    FAILURE_BUCKET_ID:  X64_0x7E_ACPI+19923

    BUCKET_ID:  X64_0x7E_ACPI+19923

    Followup: MachineOwner
    ---------

    15: kd> !devnode 0 1
    Dumping IopRootDeviceNode (= 0xfffffadf9eeb47c0)
    DevNode 0xfffffadf9eeb47c0 for PDO 0xfffffadf9eeb38f0
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd9c30 for PDO 0xfffffadf9ebd9e50
        InstancePath is "Root\ACPI_HAL\0000"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadf9eeac870 for PDO 0xfffffadf9eeac480
          InstancePath is "ACPI_HAL\PNP0C08\0"
          ServiceName is "ACPI"
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9ee96e40 for PDO 0xfffffadf9eabe1b0
            InstancePath is "ACPI\PNP0C14\AWW"
            ServiceName is "WmiAcpi"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9eea4190 for PDO 0xfffffadf9eeb3600
            InstancePath is "ACPI\PNP0A08\0"
            ServiceName is "pci"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9eab9190 for PDO 0xfffffadf9eeb3e20
            InstancePath is "ACPI\PNP0C0C\aa"
            State = DeviceNodeDriversAdded (0x303)
            Previous State = DeviceNodeInitialized (0x302)
          DevNode 0xfffffadf9e1c0360 for PDO 0xfffffadf9ee97290
            InstancePath is "ACPI\PNP0103\2&daba3ff&0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_NOT_CONFIGURED
          DevNode 0xfffffadf9eeb3100 for PDO 0xfffffadf9ebd2a60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9ee95a40 for PDO 0xfffffadf9e1beab0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bfb10 for PDO 0xfffffadf9eeb3320
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bf940 for PDO 0xfffffadf9ebd26e0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bf770 for PDO 0xfffffadf9ebd24e0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bf5a0 for PDO 0xfffffadf9e0cd060
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bf3d0 for PDO 0xfffffadf9e0cd410
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bf200 for PDO 0xfffffadf9e1c0780
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0010 for PDO 0xfffffadf9e1c0580
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0c90 for PDO 0xfffffadf9ee95e60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0ac0 for PDO 0xfffffadf9ee95c60
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d08f0 for PDO 0xfffffadf9e1be720
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0720 for PDO 0xfffffadf9e1be520
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0550 for PDO 0xfffffadf9e1be320
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e8d0380 for PDO 0xfffffadf9ee96600
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bd010 for PDO 0xfffffadf9ee96400
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bde40 for PDO 0xfffffadf9ee96200
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bdc70 for PDO 0xfffffadf9ee97dc0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bdaa0 for PDO 0xfffffadf9ee97bc0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bd8d0 for PDO 0xfffffadf9ee979c0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bd700 for PDO 0xfffffadf9ee977c0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
          DevNode 0xfffffadf9e1bd530 for PDO 0xfffffadf9ee975c0
            State = DeviceNodeUninitialized (0x301)
            Previous State = Unknown State (0x0)
      DevNode 0xfffffadf9ebd9720 for PDO 0xfffffadf9ebd9940
        InstancePath is "Root\dmio\0000"
        ServiceName is "dmio"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd9550 for PDO 0xfffffadf9eeb2060
        InstancePath is "Root\ftdisk\0000"
        ServiceName is "ftdisk"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeb2be0 for PDO 0xfffffadf9eeb2e00
        InstancePath is "Root\LEGACY_AFD\0000"
        ServiceName is "AFD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2800 for PDO 0xfffffadf9eeb2a20
        InstancePath is "Root\LEGACY_AMPA\0000"
        ServiceName is "ampa"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2420 for PDO 0xfffffadf9eeb2640
        InstancePath is "Root\LEGACY_BEEP\0000"
        ServiceName is "Beep"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb2250 for PDO 0xfffffadf9ebd8060
        InstancePath is "Root\LEGACY_CDAC15BA\0000"
        ServiceName is "CdaC15BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8c30 for PDO 0xfffffadf9ebd8e50
        InstancePath is "Root\LEGACY_CDAD10BA\0000"
        ServiceName is "CdaD10BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8750 for PDO 0xfffffadf9ebd8970
        InstancePath is "Root\LEGACY_CRCDISK\0000"
        ServiceName is "crcdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd8370 for PDO 0xfffffadf9ebd8590
        InstancePath is "Root\LEGACY_DMBOOT\0000"
        ServiceName is "dmboot"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1e40 for PDO 0xfffffadf9eeb1060
        InstancePath is "Root\LEGACY_DMLOAD\0000"
        ServiceName is "dmload"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1a60 for PDO 0xfffffadf9eeb1c80
        InstancePath is "Root\LEGACY_FIPS\0000"
        ServiceName is "Fips"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb1680 for PDO 0xfffffadf9eeb18a0
        InstancePath is "Root\LEGACY_GPC\0000"
        ServiceName is "Gpc"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb12a0 for PDO 0xfffffadf9eeb14c0
        InstancePath is "Root\LEGACY_HTTP\0000"
        ServiceName is "HTTP"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7e40 for PDO 0xfffffadf9ebd7060
        InstancePath is "Root\LEGACY_IPNAT\0000"
        ServiceName is "IpNat"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7a60 for PDO 0xfffffadf9ebd7c80
        InstancePath is "Root\LEGACY_IPSEC\0000"
        ServiceName is "IPSec"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd7680 for PDO 0xfffffadf9ebd78a0
        InstancePath is "Root\LEGACY_KSECDD\0000"
        ServiceName is "ksecdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd72a0 for PDO 0xfffffadf9ebd74c0
        InstancePath is "Root\LEGACY_MNMDD\0000"
        ServiceName is "mnmdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0e40 for PDO 0xfffffadf9eeb0060
        InstancePath is "Root\LEGACY_MOUNTMGR\0000"
        ServiceName is "mountmgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0a60 for PDO 0xfffffadf9eeb0c80
        InstancePath is "Root\LEGACY_NDIS\0000"
        ServiceName is "NDIS"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb0680 for PDO 0xfffffadf9eeb08a0
        InstancePath is "Root\LEGACY_NDISTAPI\0000"
        ServiceName is "NdisTapi"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeb02a0 for PDO 0xfffffadf9eeb04c0
        InstancePath is "Root\LEGACY_NDISUIO\0000"
        ServiceName is "Ndisuio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6e40 for PDO 0xfffffadf9ebd6060
        InstancePath is "Root\LEGACY_NDPROXY\0000"
        ServiceName is "NDProxy"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6a60 for PDO 0xfffffadf9ebd6c80
        InstancePath is "Root\LEGACY_NETBT\0000"
        ServiceName is "NetBT"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd6680 for PDO 0xfffffadf9ebd68a0
        InstancePath is "Root\LEGACY_NULL\0000"
        ServiceName is "Null"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd62a0 for PDO 0xfffffadf9ebd64c0
        InstancePath is "Root\LEGACY_PARTMGR\0000"
        ServiceName is "PartMgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeafe40 for PDO 0xfffffadf9eeaf060
        InstancePath is "Root\LEGACY_RASACD\0000"
        ServiceName is "RasAcd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeafa60 for PDO 0xfffffadf9eeafc80
        InstancePath is "Root\LEGACY_RDPCDD\0000"
        ServiceName is "RDPCDD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeaf680 for PDO 0xfffffadf9eeaf8a0
        InstancePath is "Root\LEGACY_SECDRV\0000"
        ServiceName is "Secdrv"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9eeaf2a0 for PDO 0xfffffadf9eeaf4c0
        InstancePath is "Root\LEGACY_TCPIP\0000"
        ServiceName is "Tcpip"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5e40 for PDO 0xfffffadf9ebd5060
        InstancePath is "Root\LEGACY_VGASAVE\0000"
        ServiceName is "VgaSave"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5a60 for PDO 0xfffffadf9ebd5c80
        InstancePath is "Root\LEGACY_VOLSNAP\0000"
        ServiceName is "VolSnap"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd5680 for PDO 0xfffffadf9ebd58a0
        InstancePath is "Root\LEGACY_WANARP\0000"
        ServiceName is "Wanarp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9ebd52a0 for PDO 0xfffffadf9ebd54c0
        InstancePath is "Root\MEDIA\MS_MMACM"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeaee40 for PDO 0xfffffadf9eeae060
        InstancePath is "Root\MEDIA\MS_MMDRV"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeaea60 for PDO 0xfffffadf9eeaec80
        InstancePath is "Root\MEDIA\MS_MMMCI"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeae680 for PDO 0xfffffadf9eeae8a0
        InstancePath is "Root\MEDIA\MS_MMVCD"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeae2a0 for PDO 0xfffffadf9eeae4c0
        InstancePath is "Root\MEDIA\MS_MMVID"
        ServiceName is "audstub"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4e40 for PDO 0xfffffadf9ebd4060
        InstancePath is "Root\MS_L2TPMINIPORT\0000"
        ServiceName is "Rasl2tp"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4a60 for PDO 0xfffffadf9ebd4c80
        InstancePath is "Root\MS_NDISWANIP\0000"
        ServiceName is "NdisWan"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd4680 for PDO 0xfffffadf9ebd48a0
        InstancePath is "Root\MS_PPPOEMINIPORT\0000"
        ServiceName is "RasPppoe"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd42a0 for PDO 0xfffffadf9ebd44c0
        InstancePath is "Root\MS_PPTPMINIPORT\0000"
        ServiceName is "PptpMiniport"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeade40 for PDO 0xfffffadf9eead060
        InstancePath is "Root\MS_PSCHEDMP\0000"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeada60 for PDO 0xfffffadf9eeadc80
        InstancePath is "Root\MS_PSCHEDMP\0001"
        ServiceName is "PSched"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eead680 for PDO 0xfffffadf9eead8a0
        InstancePath is "Root\MS_PTIMINIPORT\0000"
        ServiceName is "Raspti"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eead2a0 for PDO 0xfffffadf9eead4c0
        InstancePath is "Root\RDPDR\0000"
        ServiceName is "rdpdr"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3e40 for PDO 0xfffffadf9ebd3060
        InstancePath is "Root\RDP_KBD\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3a60 for PDO 0xfffffadf9ebd3c80
        InstancePath is "Root\RDP_MOU\0000"
        ServiceName is "TermDD"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd3680 for PDO 0xfffffadf9ebd38a0
        InstancePath is "Root\SYSTEM\0000"
        ServiceName is "swenum"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9ebd32a0 for PDO 0xfffffadf9ebd34c0
        InstancePath is "Root\SYSTEM\0001"
        ServiceName is "update"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)
      DevNode 0xfffffadf9eeace40 for PDO 0xfffffadf9eeac060
        InstancePath is "Root\SYSTEM\0002"
        ServiceName is "mssmbios"
        State = DeviceNodeInitialized (0x302)
        Previous State = DeviceNodeUninitialized (0x301)

#2201 | diderius6 | ⇗ @daniel_k and here with DEBUG Ntoskrnl.exe and Hal.dll 5048 acpi_test1.sys from yesterday (first from 3). It is identic to post before Dietmar

#2202

diderius6

⇗ @daniel_k
Yessssssssssssssssssssaaaaaaaaaaaaaaaaaaaaa we got it!!!!!!!!!!!!!!!!!!!!!!!!
Dietmar
diderius6 has attached files to this post

- ⇗ acpiXP64Ryzen.rar

#2203

kukonosau

> Zitat von ⇗ diderius6 im Beitrag ¶ #2202

> @daniel_k
> Yessssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaa we got it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> Dietmar

T tell me about ACPI and hal.dll, please. How to start Windows XP x64 with modify ACPI and hal.dll? Where is two files modify?

#2204

kukonosau

> Zitat von ⇗ diderius6 im Beitrag ¶ #2202

> @daniel_k
> Yessssssssssssssssssssaaaaaaaaaaaaaaaaaaaaa we got it!!!!!!!!!!!!!!!!!!!!!!!!
> Dietmar

Jh, sorry, I am not to see file! I refreshed pages! I will check this file now.

#2205 | infuscomus | ⇗ @diderius6 I am curious to know - what was the problem? where was the fix needed?

## Page 148

#2206 | kukonosau | BSOD 0A(((

#2207

diderius6

⇗ @infuscomus
The problem was, that only one of the 3 STORAHCI devices on the asrock fatal1ty ab350 gaming k4 board was recogniced.
I noticed this strange behavior because of different BSODs with HD in different SATA slots yesterday.
After this I installed STORAHCI from ⇗ @skullteria via hand in registry of XP 64 again before each new try.
The endless loop is gone.
Here is the output from Windbg with DEBUG ntoskrnl.exe and Hal.dll
Dietmar
PS: The only difference between first acpi.sys 5048 from yesterday and from working is
18C97: 00 => 17

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  1 14:42:44.468 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01000000 PsLoadedModuleList = 0xfffff800`013d1fd0
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection
    HAL: RTC interrupt flag is not cleared by first read.
    RTC Status Register C = 0xc0
    HAL: RTC interrupt flag is not cleared by first read.
    RTC Status Register C = 0xc0

    HAL: RTC interrupt flag is not cleared by first read.
    RTC Status Register C = 0xd0
    Port lock was not acquired!
    AFD: AfdPprThreshold value queried from transport: 2960
    ERROR: DavReadRegistryValues/RegQueryValueExW(6). WStatus = 1309
    HAL: RTC interrupt flag is not cleared by first read.
    RTC Status Register C = 0xc0
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    PipCallDriverAddDevice:			Unable to reference driver \Driver\amdxhc (c000026c)
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    LPC[ 380.8a4 ]: Refusing connection from 380.3cc
    Port lock was not acquired!
    LPC[ 934.944 ]: Refusing connection from 934.938
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    nt!RtlpBreakWithStatusInstruction:
    fffff800`011a02e0 cc              int     3

    4: kd> !devnode 0 1
    Dumping IopRootDeviceNode (= 0xfffffadf9e3338e0)
    DevNode 0xfffffadf9e3338e0 for PDO 0xfffffadf9e336d30
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e058c10 for PDO 0xfffffadf9e058e50
        InstancePath is "Root\ACPI_HAL\0000"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadf9e32cc10 for PDO 0xfffffadf9e32c820
          InstancePath is "ACPI_HAL\PNP0C08\0"
          ServiceName is "ACPI"
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9e31ce30 for PDO 0xfffffadf9e050620
            InstancePath is "ACPI\PNP0C14\AWW"
            ServiceName is "WmiAcpi"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9f1e5180 for PDO 0xfffffadf9f1e08e0
            InstancePath is "ACPI\PNP0A08\0"
            ServiceName is "pci"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dd11a10 for PDO 0xfffffadf9df03950
              InstancePath is "PCI\VEN_1022&DEV_1450&SUBSYS_00000000&REV_00\3&11583659&0&00"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dd11830 for PDO 0xfffffadf9df03620
              InstancePath is "PCI\VEN_1022&DEV_1451&SUBSYS_87471043&REV_00\3&11583659&0&02"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_FAILED_INSTALL
            DevNode 0xfffffadf9dd11650 for PDO 0xfffffadf9df1d070
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&08"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dd11470 for PDO 0xfffffadf9df1dd40
              InstancePath is "PCI\VEN_1022&DEV_1453&SUBSYS_00000000&REV_00\3&11583659&0&0A"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9df01010 for PDO 0xfffffadf9f1d9720
                InstancePath is "PCI\VEN_1022&DEV_57AD&SUBSYS_00000000&REV_00\4&d487977&0&000A"
                ServiceName is "pci"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0xfffffadf9df1be30 for PDO 0xfffffadf9df01a30
                  InstancePath is "PCI\VEN_1022&DEV_57A3&SUBSYS_00000000&REV_00\5&1f331b67&0&28000A"
                  ServiceName is "pci"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)
                  DevNode 0xfffffadf9e317e30 for PDO 0xfffffadf9dc51720
                    InstancePath is "PCI\VEN_8086&DEV_1539&SUBSYS_85F01043&REV_03\6&12f3bd8&0&0028000A"
                    State = DeviceNodeInitialized (0x302)
                    Previous State = DeviceNodeUninitialized (0x301)
                    Problem = CM_PROB_FAILED_INSTALL
                DevNode 0xfffffadf9df1bc50 for PDO 0xfffffadf9df01580
                  InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&40000A"
                  ServiceName is "pci"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)
                  DevNode 0xfffffadf9dc542e0 for PDO 0xfffffadf9f1db420
                    InstancePath is "PCI\VEN_1022&DEV_1485&SUBSYS_87471043&REV_00\6&28ecf81d&0&0040000A"
                    State = DeviceNodeInitialized (0x302)
                    Previous State = DeviceNodeUninitialized (0x301)
                    Problem = CM_PROB_NOT_CONFIGURED
                  DevNode 0xfffffadf9e317930 for PDO 0xfffffadf9df03d40
                    InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87471043&REV_00\6&28ecf81d&0&0140000A"
                    ServiceName is "amdxhc"
                    State = DeviceNodeInitialized (0x302)
                    Previous State = DeviceNodeUninitialized (0x301)
                    Problem = CM_PROB_DRIVER_FAILED_LOAD
                  DevNode 0xfffffadf9e317750 for PDO 0xfffffadf9df1b070
                    InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_148C1022&REV_00\6&28ecf81d&0&0340000A"
                    ServiceName is "amdxhc"
                    State = DeviceNodeInitialized (0x302)
                    Previous State = DeviceNodeUninitialized (0x301)
                    Problem = CM_PROB_DRIVER_FAILED_LOAD
                DevNode 0xfffffadf9df1ba70 for PDO 0xfffffadf9dd10070
                  InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&48000A"
                  ServiceName is "pci"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)
                  DevNode 0xfffffadf9e317250 for PDO 0xfffffadf9f1d8d40
                    InstancePath is "PCI\VEN_1022&DEV_7901&SUBSYS_79011022&REV_51\6&39625884&0&0048000A"
                    ServiceName is "storahci"
                    State = DeviceNodeStarted (0x308)
                    Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0xfffffadf9df1b890 for PDO 0xfffffadf9dd10d40
                  InstancePath is "PCI\VEN_1022&DEV_57A4&SUBSYS_00000000&REV_00\5&1f331b67&0&50000A"
                  ServiceName is "pci"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)
                  DevNode 0xfffffadf9f1d8650 for PDO 0xfffffadf9f1d8a10
                    InstancePath is "PCI\VEN_1022&DEV_7901&SUBSYS_79011022&REV_51\6&15d2f925&0&0050000A"
                    ServiceName is "storahci"
                    State = DeviceNodeStarted (0x308)
                    Previous State = DeviceNodeEnumerateCompletion (0x30d)
                    DevNode 0xfffffadf9deffe30 for PDO 0xfffffadf9daa3070
                      InstancePath is "SCSI\Disk&Ven_WDC&Prod_WD2003FZEX-00SRL&Rev_01.0\7&85444d0&0&000000"
                      ServiceName is "disk"
                      State = DeviceNodeStarted (0x308)
                      Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dd11290 for PDO 0xfffffadf9df1da10
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&10"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1c010 for PDO 0xfffffadf9df1d6e0
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&18"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1ce30 for PDO 0xfffffadf9df1d3b0
              InstancePath is "PCI\VEN_1022&DEV_1453&SUBSYS_00000000&REV_00\3&11583659&0&19"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9df008f0 for PDO 0xfffffadf9df00070
                InstancePath is "PCI\VEN_10DE&DEV_1287&SUBSYS_730B19DA&REV_A1\4&2c517c28&0&0019"
                ServiceName is "vga"
                State = DeviceNodeRemoved (0x312)
                Previous State = DeviceNodeStartCompletion (0x306)
                Problem = CM_PROB_FAILED_START
                Failure Status 0000000000

              DevNode 0xfffffadf9df00710 for PDO 0xfffffadf9df00d40
                InstancePath is "PCI\VEN_10DE&DEV_0E0F&SUBSYS_730B19DA&REV_A1\4&2c517c28&0&0119"
                ServiceName is "HDAudBus"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0xfffffadf9d76be30 for PDO 0xfffffadf9cdd7850

                  InstancePath is
    "HDAUDIO\FUNC_01&VEN_10DE&DEV_0051&SUBSYS_19DA730B&REV_1001\5&2e590a66&0&0001"
                  ServiceName is "NVHDA"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1cc50 for PDO 0xfffffadf9dc53070
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&20"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1ca70 for PDO 0xfffffadf9dc53d40
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&38"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1c890 for PDO 0xfffffadf9dc53a10
              InstancePath is "PCI\VEN_1022&DEV_1454&SUBSYS_00000000&REV_00\3&11583659&0&39"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9dd0f230 for PDO 0xfffffadf9df00440
                InstancePath is "PCI\VEN_1022&DEV_145A&SUBSYS_87471043&REV_00\4&323ac8bb&0&0039"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_FAILED_INSTALL
              DevNode 0xfffffadf9df1a010 for PDO 0xfffffadf9dd0fd40
                InstancePath is "PCI\VEN_1022&DEV_1456&SUBSYS_87471043&REV_00\4&323ac8bb&0&0239"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_FAILED_INSTALL
              DevNode 0xfffffadf9df1ae30 for PDO 0xfffffadf9dd0fa10
                InstancePath is "PCI\VEN_1022&DEV_145C&SUBSYS_87471043&REV_00\4&323ac8bb&0&0339"
                ServiceName is "amdxhc"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_DRIVER_FAILED_LOAD
              DevNode 0xfffffadf9df1ac50 for PDO 0xfffffadf9dd0f680
                InstancePath is "ACPI\PNP0C02\4&323ac8bb&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadf9df1c6b0 for PDO 0xfffffadf9dc536e0
              InstancePath is "PCI\VEN_1022&DEV_1452&SUBSYS_00000000&REV_00\3&11583659&0&40"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9df1c4d0 for PDO 0xfffffadf9dc533b0
              InstancePath is "PCI\VEN_1022&DEV_1454&SUBSYS_00000000&REV_00\3&11583659&0&41"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9dc50a10 for PDO 0xfffffadf9df1a980
                InstancePath is "PCI\VEN_1022&DEV_1455&SUBSYS_87471043&REV_00\4&3786a086&0&0041"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_FAILED_INSTALL
              DevNode 0xfffffadf9dc50830 for PDO 0xfffffadf9df1a4d0
                InstancePath is "PCI\VEN_1022&DEV_7901&SUBSYS_87471043&REV_51\4&3786a086&0&0241"
                ServiceName is "storahci"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9dc50650 for PDO 0xfffffadf9dc50070
                InstancePath is "PCI\VEN_1022&DEV_1457&SUBSYS_87331043&REV_00\4&3786a086&0&0341"
                ServiceName is "HDAudBus"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0xfffffadf9d943e30 for PDO 0xfffffadf9d8c3c60

                  InstancePath is
    "HDAUDIO\FUNC_01&VEN_10EC&DEV_1168&SUBSYS_10438733&REV_1001\5&1bd841a1&0&0001"
                  State = DeviceNodeInitialized (0x302)
                  Previous State = DeviceNodeUninitialized (0x301)
                  Problem = CM_PROB_FAILED_INSTALL
            DevNode 0xfffffadf9df1c2f0 for PDO 0xfffffadf9e319070
              InstancePath is "PCI\VEN_1022&DEV_790B&SUBSYS_87471043&REV_59\3&11583659&0&A0"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_FAILED_INSTALL
            DevNode 0xfffffadf9dc52010 for PDO 0xfffffadf9e319d40
              InstancePath is "PCI\VEN_1022&DEV_790E&SUBSYS_00000000&REV_51\3&11583659&0&A3"
              ServiceName is "isapnp"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9e315c20 for PDO 0xfffffadf9e316e60
                InstancePath is "ACPI\PNP0000\4&28d859f2&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadf9e315a40 for PDO 0xfffffadf9e316c50
                InstancePath is "ACPI\PNP0200\4&28d859f2&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadf9e315860 for PDO 0xfffffadf9e316a40
                InstancePath is "ACPI\PNP0100\4&28d859f2&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadf9e315680 for PDO 0xfffffadf9e316830
                InstancePath is "ACPI\PNP0B00\4&28d859f2&0"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9e3154a0 for PDO 0xfffffadf9e316620
                InstancePath is "ACPI\PNP0800\4&28d859f2&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadf9e3152c0 for PDO 0xfffffadf9e316410
                InstancePath is "ACPI\PNP0C02\0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadf9e314010 for PDO 0xfffffadf9e315070
                InstancePath is "ACPI\PNP0303\0"
                ServiceName is "i8042prt"
                TargetDeviceNotify List - f 0xfffffa80006b89b0  b 0xfffffa80006b89b0
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadf9e314e30 for PDO 0xfffffadf9e315e60
                InstancePath is "ACPI\PNP0C09\4&28d859f2&0"
                ServiceName is "ACPIEC"
                State = DeviceNodeRemoved (0x312)
                Previous State = DeviceNodeStartCompletion (0x306)
                Problem = CM_PROB_FAILED_START
                Failure Status 0000000000

            DevNode 0xfffffadf9dc52e30 for PDO 0xfffffadf9e319a10
              InstancePath is "PCI\VEN_1022&DEV_1460&SUBSYS_00000000&REV_00\3&11583659&0&C0"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc52c50 for PDO 0xfffffadf9e3196e0
              InstancePath is "PCI\VEN_1022&DEV_1461&SUBSYS_00000000&REV_00\3&11583659&0&C1"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc52a70 for PDO 0xfffffadf9e3193b0
              InstancePath is "PCI\VEN_1022&DEV_1462&SUBSYS_00000000&REV_00\3&11583659&0&C2"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc52890 for PDO 0xfffffadf9f1da070
              InstancePath is "PCI\VEN_1022&DEV_1463&SUBSYS_00000000&REV_00\3&11583659&0&C3"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc526b0 for PDO 0xfffffadf9f1dad40
              InstancePath is "PCI\VEN_1022&DEV_1464&SUBSYS_00000000&REV_00\3&11583659&0&C4"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc524d0 for PDO 0xfffffadf9f1daa10
              InstancePath is "PCI\VEN_1022&DEV_1465&SUBSYS_00000000&REV_00\3&11583659&0&C5"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9dc522f0 for PDO 0xfffffadf9f1da6e0
              InstancePath is "PCI\VEN_1022&DEV_1466&SUBSYS_00000000&REV_00\3&11583659&0&C6"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9e318010 for PDO 0xfffffadf9f1da3b0
              InstancePath is "PCI\VEN_1022&DEV_1467&SUBSYS_00000000&REV_00\3&11583659&0&C7"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadf9e318e30 for PDO 0xfffffadf9f1dbaa0
              InstancePath is "ACPI\PNP0C01\c8"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadf9e318c50 for PDO 0xfffffadf9df03410
              InstancePath is "ACPI\PNP0C02\15"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadf9e318a70 for PDO 0xfffffadf9df02070
              InstancePath is "ACPI\PNP0C02\700"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadf9e318890 for PDO 0xfffffadf9df02e60
              InstancePath is "ACPI\PNP0C14\MXM2"
              ServiceName is "WmiAcpi"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df08130 for PDO 0xfffffadf9f1e2360
            InstancePath is "ACPI\PNP0C0C\aa"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df04c20 for PDO 0xfffffadf9f1dd360
            InstancePath is "ACPI\PNP0103\2&daba3ff&0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9df04a40 for PDO 0xfffffadf9e333ba0
            InstancePath is "ACPI\AMDI0030\0"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
            Problem = CM_PROB_FAILED_INSTALL
          DevNode 0xfffffadf9df04860 for PDO 0xfffffadf9df07420
            InstancePath is "ACPI\PNP0C14\ASUSWMI"
            ServiceName is "WmiAcpi"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df04680 for PDO 0xfffffadf9f1dea40
            InstancePath is "ACPI\FixedButton\2&daba3ff&0"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df044a0 for PDO 0xfffffadf9f1de830
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_0"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df042c0 for PDO 0xfffffadf9f1de620
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_1"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd14010 for PDO 0xfffffadf9f1de410
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_2"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd14e30 for PDO 0xfffffadf9e31b070
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_3"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd14c50 for PDO 0xfffffadf9e31be60
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_4"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd14a70 for PDO 0xfffffadf9e31bc50
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_5"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd14890 for PDO 0xfffffadf9e31ba40
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_6"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd146b0 for PDO 0xfffffadf9e31b830
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_7"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd144d0 for PDO 0xfffffadf9e31b620
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_8"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9dd142f0 for PDO 0xfffffadf9e31b410
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\_9"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1e010 for PDO 0xfffffadf9f1dc070
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\10"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1ee30 for PDO 0xfffffadf9f1dce60
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\11"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1ec50 for PDO 0xfffffadf9f1dcc50
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\12"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1ea70 for PDO 0xfffffadf9f1dca40
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\13"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1e890 for PDO 0xfffffadf9f1dc830
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\14"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1e6b0 for PDO 0xfffffadf9f1dc620
            InstancePath is "ACPI\AuthenticAMD_-_AMD64_Family_23_Model_1\15"
            ServiceName is "Processor"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadf9df1e4d0 for PDO 0xfffffadf9f1dc410
            InstancePath is "ACPI\PNP0C02\90"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9df1e2f0 for PDO 0xfffffadf9df04070
            InstancePath is "ACPI\PNP0C02\91"
            State = DeviceNodeInitialized (0x302)
            Previous State = DeviceNodeUninitialized (0x301)
          DevNode 0xfffffadf9dc54010 for PDO 0xfffffadf9df04e60
            InstancePath is "ACPI\PNP0C14\AOD"
            ServiceName is "WmiAcpi"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e0586e0 for PDO 0xfffffadf9e058920
        InstancePath is "Root\dmio\0000"
        ServiceName is "dmio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e0582e0 for PDO 0xfffffadf9e058520
        InstancePath is "Root\ftdisk\0000"
        ServiceName is "ftdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadf9e3142d0 for PDO 0xfffffadf9d2c7860
          InstancePath is "STORAGE\Volume\1&30a96598&0&Signature646587B9Offset100000Length1D1C04C7E00"
          ServiceName is "volsnap"
          TargetDeviceNotify List - f 0xfffffa80004899b0  b 0xfffffa8000af05a0
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332e30 for PDO 0xfffffadf9e332070
        InstancePath is "Root\LEGACY_AFD\0000"
        ServiceName is "AFD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332a30 for PDO 0xfffffadf9e332c70
        InstancePath is "Root\LEGACY_AMPA\0000"
        ServiceName is "ampa"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332630 for PDO 0xfffffadf9e332870
        InstancePath is "Root\LEGACY_BEEP\0000"
        ServiceName is "Beep"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e332230 for PDO 0xfffffadf9e332470
        InstancePath is "Root\LEGACY_CDAC15BA\0000"
        ServiceName is "CdaC15BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057e30 for PDO 0xfffffadf9e057070
        InstancePath is "Root\LEGACY_CDAD10BA\0000"
        ServiceName is "CdaD10BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057a30 for PDO 0xfffffadf9e057c70
        InstancePath is "Root\LEGACY_CRCDISK\0000"
        ServiceName is "crcdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057630 for PDO 0xfffffadf9e057870
        InstancePath is "Root\LEGACY_DMBOOT\0000"
        ServiceName is "dmboot"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e057230 for PDO 0xfffffadf9e057470
        InstancePath is "Root\LEGACY_DMLOAD\0000"
        ServiceName is "dmload"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331e30 for PDO 0xfffffadf9e331070
        InstancePath is "Root\LEGACY_FIPS\0000"
        ServiceName is "Fips"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331a30 for PDO 0xfffffadf9e331c70
        InstancePath is "Root\LEGACY_GPC\0000"
        ServiceName is "Gpc"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331630 for PDO 0xfffffadf9e331870
        InstancePath is "Root\LEGACY_HTTP\0000"
        ServiceName is "HTTP"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e331230 for PDO 0xfffffadf9e331470
        InstancePath is "Root\LEGACY_IPNAT\0000"
        ServiceName is "IpNat"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056e30 for PDO 0xfffffadf9e056070
        InstancePath is "Root\LEGACY_IPSEC\0000"
        ServiceName is "IPSec"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056a30 for PDO 0xfffffadf9e056c70
        InstancePath is "Root\LEGACY_KSECDD\0000"
        ServiceName is "ksecdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056630 for PDO 0xfffffadf9e056870
        InstancePath is "Root\LEGACY_MNMDD\0000"
        ServiceName is "mnmdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e056230 for PDO 0xfffffadf9e056470
        InstancePath is "Root\LEGACY_MOUNTMGR\0000"
        ServiceName is "mountmgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330e30 for PDO 0xfffffadf9e330070
        InstancePath is "Root\LEGACY_NDIS\0000"
        ServiceName is "NDIS"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330a30 for PDO 0xfffffadf9e330c70
        InstancePath is "Root\LEGACY_NDISTAPI\0000"
        ServiceName is "NdisTapi"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330630 for PDO 0xfffffadf9e330870
        InstancePath is "Root\LEGACY_NDISUIO\0000"
        ServiceName is "Ndisuio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e330230 for PDO 0xfffffadf9e330470
        InstancePath is "Root\LEGACY_NDPROXY\0000"
        ServiceName is "NDProxy"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055e30 for PDO 0xfffffadf9e055070
        InstancePath is "Root\LEGACY_NETBT\0000"
        ServiceName is "NetBT"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055a30 for PDO 0xfffffadf9e055c70
        InstancePath is "Root\LEGACY_NULL\0000"
        ServiceName is "Null"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055630 for PDO 0xfffffadf9e055870
        InstancePath is "Root\LEGACY_PARTMGR\0000"
        ServiceName is "PartMgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e055230 for PDO 0xfffffadf9e055470
        InstancePath is "Root\LEGACY_RASACD\0000"
        ServiceName is "RasAcd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32fe30 for PDO 0xfffffadf9e32f070
        InstancePath is "Root\LEGACY_RDPCDD\0000"
        ServiceName is "RDPCDD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32fa30 for PDO 0xfffffadf9e32fc70
        InstancePath is "Root\LEGACY_SECDRV\0000"
        ServiceName is "Secdrv"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32f630 for PDO 0xfffffadf9e32f870
        InstancePath is "Root\LEGACY_TCPIP\0000"
        ServiceName is "Tcpip"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32f230 for PDO 0xfffffadf9e32f470
        InstancePath is "Root\LEGACY_VGASAVE\0000"
        ServiceName is "VgaSave"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054e30 for PDO 0xfffffadf9e054070
        InstancePath is "Root\LEGACY_VOLSNAP\0000"
        ServiceName is "VolSnap"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054a30 for PDO 0xfffffadf9e054c70
        InstancePath is "Root\LEGACY_WANARP\0000"
        ServiceName is "Wanarp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054630 for PDO 0xfffffadf9e054870
        InstancePath is "Root\MEDIA\MS_MMACM"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e054230 for PDO 0xfffffadf9e054470
        InstancePath is "Root\MEDIA\MS_MMDRV"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32ee30 for PDO 0xfffffadf9e32e070
        InstancePath is "Root\MEDIA\MS_MMMCI"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32ea30 for PDO 0xfffffadf9e32ec70
        InstancePath is "Root\MEDIA\MS_MMVCD"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32e630 for PDO 0xfffffadf9e32e870
        InstancePath is "Root\MEDIA\MS_MMVID"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32e230 for PDO 0xfffffadf9e32e470
        InstancePath is "Root\MS_L2TPMINIPORT\0000"
        ServiceName is "Rasl2tp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e053e30 for PDO 0xfffffadf9e053070
        InstancePath is "Root\MS_NDISWANIP\0000"
        ServiceName is "NdisWan"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e053a30 for PDO 0xfffffadf9e053c70
        InstancePath is "Root\MS_PPPOEMINIPORT\0000"
        ServiceName is "RasPppoe"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e053630 for PDO 0xfffffadf9e053870
        InstancePath is "Root\MS_PPTPMINIPORT\0000"
        ServiceName is "PptpMiniport"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e053230 for PDO 0xfffffadf9e053470
        InstancePath is "Root\MS_PSCHEDMP\0000"
        ServiceName is "PSched"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32de30 for PDO 0xfffffadf9e32d070
        InstancePath is "Root\MS_PSCHEDMP\0001"
        ServiceName is "PSched"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32da30 for PDO 0xfffffadf9e32dc70
        InstancePath is "Root\MS_PTIMINIPORT\0000"
        ServiceName is "Raspti"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32d630 for PDO 0xfffffadf9e32d870
        InstancePath is "Root\RDPDR\0000"
        ServiceName is "rdpdr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e32d230 for PDO 0xfffffadf9e32d470
        InstancePath is "Root\RDP_KBD\0000"
        ServiceName is "TermDD"
        TargetDeviceNotify List - f 0xfffffa80006a9730  b 0xfffffa80006a9730
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e052e30 for PDO 0xfffffadf9e052070
        InstancePath is "Root\RDP_MOU\0000"
        ServiceName is "TermDD"
        TargetDeviceNotify List - f 0xfffffa80006d4d50  b 0xfffffa80006d4d50
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e052a30 for PDO 0xfffffadf9e052c70
        InstancePath is "Root\SYSTEM\0000"
        ServiceName is "swenum"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e052630 for PDO 0xfffffadf9e052870
        InstancePath is "Root\SYSTEM\0001"
        ServiceName is "update"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadf9e052230 for PDO 0xfffffadf9e052470
        InstancePath is "Root\SYSTEM\0002"
        ServiceName is "mssmbios"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)

#2208

daniel_k

⇗ @diderius6
The file on post 2202 works or it needs this patch?

    18C97: 00 => 17

In the end, my assumption was correct and the behavior of x86 and x64 is the same.
Your working ACPI.SYS is the same as the test2 of this post:
¶ Windows XP SP3 32bit and modern PC parts (146)

#2209

diderius6

⇗ @daniel_k
This is your ) patch 18C97: 00 => 17
I also think, because of the to 100% identic BSODS, that XP SP3 and XP 64 behave like the same.
But what was the important difference to the 5048 XP 64 acpi.sys from ⇗ @infuscomus ?
I know, that you integrate QwordConst and CreateQwordfield,
but this can be reached also via mod of DSDT.
So, something must be other than in mod of 5048 acpi.sys for XP SP3
Dietmar

#2210

sqpp

So I have used the linked ⇗ @diderius6 's file acpiXP64Ryzen.rar in my 64 Bit Windows XP. I have used the guide of ⇗ @infuscomus in ⇗ Installing Windows XP on Newer Laptop (Coffee Lake S)
and apparently it still fails for me. Possibly maybe I do something wrong, but I don't think. Everything is done as he wrote to do. The new acpi.sys and acpi.sy_ is in the correct cab/directory.
Now after everything is going, it fails with the same BSOD A5 error like earlier.
Not sure if the patch would work on my i5-8350u processor though, as I said, I might do something incorrect.

#2211 | daniel_k | Please try test2 from ¶ Windows XP SP3 32bit and modern PC parts (146) Just to confirm?
#2212 | sqpp | Will do now, it will take a few. Be right back :)

#2213

diderius6

⇗ @daniel_k
I retested from this morning all your acpi.sys for XP 64 bit,
this time with checked (debug) version of hal.dll and ntoskrnl.
And I installed for each try the registry entries for the STORAHCI driver by hand new.
Yes, from 1 of three was your acpi_test2.sys 5048 version the one that
works
Dietmar

#2214 | sqpp | I am also not sure if my Sata drivers working correctly, since upon pressing the F6/F7 key, it mentions that I have no mass storage in the computer. I guess that's not a good sign?
#2215 | daniel_k | ⇗ @sqpp, sorry I was talking to diderius6 ⇗ @diderius6, so we don't need to patch offset 18C97. The code is exactly the same as @infuscomus.
#2216 | infuscomus | ⇗ @sqpp If you have BSOD 7B when you press F7 then you do need to get a storage driver you can try Fernando modded intel driver or otherwise there is a generic storahci driver to try
#2217 | sqpp | ⇗ @infuscomus It asks me to press F6 actually for the Sata drivers. No F7 mentioned, just read that somewhere, but I don't get BSOD in case, just for the ACPI. I am still not sure if I am using the right drivers.
#2218 | infuscomus | ⇗ @sqpp try this driver - use nlite to integrate ¶ Windows XP SP3 32bit and modern PC parts (119)
#2219 | daniel_k | ⇗ @diderius6 Please try this later. It's based on original XP SP2 3959 x64 for Ryzen only, supports QwordConst and CreateQwordField. PS: Please confirm that we don't need to patch offset 18C97 of acpi_test2.sys, so we can declare it as the final version.
#2220 | sqpp | This is what happens upon installing. Then whatever I do. Soon after this, I got the ACPI BSOD

## Page 149

#2221 | infuscomus | ⇗ @sqpp try not pressing F6, but press F7 instead, what BSOD do you get then?
#2222 | diderius6 | ⇗ @daniel_k This picture is based on the acpi.sys 5048 for XP 64 SP2 on Ryzen from post 2202 Dietmar ⇗

#2223

diderius6

⇗ @daniel_k
The acpi.sys driver from post 2219 does not work,
it gives BSOD 0x7B,
even I update the registry entries by hand for the STORAHCI driver
2 times.
Until now, only the acpi.sys from post 2202
works for XP 64 SP2 and Ryzen
Dietmar

#2224 | kukonosau | ⇗ @diderius6 ACPI from post 2202 does not work, it gives different BSOD. Many restarting. Don't copy several files in our installation.

#2225

daniel_k

⇗ @diderius6, ⇗ @kukonosau
Thanks for trying.
So, to make things clear, here are the final versions of ACPI.SYS based on Vista beta 5048.
For Windows XP SP2 x64 and Server 2003 SP2 x64 use acpi5048_x64_intel_amd_final.rar
For Windows XP SP3 x86 and Server 2003 SP2 x86 use acpi5048_x86_intel_amd_final.rar
Supports:
- Intel Skylake, Coffee Lake and later
- AMD Ryzen
No BIOS modding required.
XHCI USB 3.0/3.1 driver for all Intel chipsets use AMDXHCI_XP_FINAL.rar for x86 and x64
PS: Updated with proper support for Z390 chipsets (including H370 and other 300 series).

daniel_k has attached files to this post

- ⇗ AMDXHCI_XP_FINAL.rar
- ⇗ acpi5048_intel_amd_final.rar
- ⇗ acpi5048_x64_intel_only_final.rar

#2226 | kukonosau | Different BSOD((( I check ACPI with Asmedia 106X Controller and chipset controller.
#2227 | sqpp | Whats the best SATA driver for Coffee Lake based laptops for XP? Can't get any of them working :(
#2228 | sqpp | In my case 0x000000A5, 0x00000000000000003 (or something like that), 0xFFFFFADF40B4C9948,... Not sure if that helps. Using the final version linked above acpi5048_x64_intel_amd_final.rar

#2229

diderius6

⇗ @skullteria
After debug of XP SP3 via Vista boot,
I see, that the problem was in the E820 list.
And voila, I am getting better,
here is the acpi.sys of XP SP3
which can boot XP SP3 via BCD via Vista files with full ACPI support
Dietmar
EDIT: Yessa, I make the nail test, renaming ntldr to ntttldr, XP SP3 boots only using
files of Vista:)) and it is absolut stable with everything works on the nice Giga H110 board.
diderius6 has attached files to this post

- ⇗ acpi11Checksum.rar

#2230

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2229

> @skullteria
> After debug of XP SP3 via Vista boot,
> I see, that the problem was in the E820 list.
> And voila, I am getting better,
> here is the acpi.sys of XP SP3
> which can boot XP SP3 via BCD via Vista files with full ACPI support
> Dietmar
> EDIT: Yessa, I make the nail test, renaming ntldr to ntttldr, XP SP3 boots only using
> files of Vista:)) and it is absolut stable with everything works on the nice Giga H110 board.

Awasome! THank you so much! One only question: can you do it on acpi 5048 from danie_K and for x64?
EDIT: When i installed Intel HD Graphics, the system restart...No time to BSOD.

#2231

diderius6

⇗ @skullteria
I will make some more tests.
About programming I have nearly no idea.
So I hope, that I get help for to put the most important parts
of acpi11.sys to the 5048 version.
But now we know, that it can be done,
have a nice day
Dietmar
PS: I am just writing this from this compi H110, XP SP3 booted via Vista files:))!

#2232 | infuscomus | ⇗ @diderius6 nice! in CSM mode or UEFI mode?
#2233 | infuscomus | ⇗ @sqpp there is a modded intel storage driver you can try and see if it works for you ¶ Windows XP SP3 32bit and modern PC parts (118) ⇗ @daniel_k made it

#2234

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #1776

> Here is the storahci driver,
> which works really everywhere. I just give in the folder AMD64 its *.inf for 64 bit support.
> AMD, Intel, 32 bit, 64 bit doesnt matter. Until now I do not find a board, where it does not work,
> really generic.
> Copy the newest version of storport.sys
> to windows\system32\drivers and install. You can also make a txtsetup.oem
> and integrate it to your XP installations CD. Dont forget storport.sys!
> I tested it for XP 32 bit and XP 64 bit
> Dietmar
> EDIT: So much thank to @skullteria !

Where to download the storport.sys file because there is no one in the StorahciSkulltrailALL.rar archive?

#2235

sqpp

> Zitat von ⇗ infuscomus im Beitrag ¶ #2233

> @sqpp
> there is a modded intel storage driver you can try and see if it works for you
> ¶ Windows XP SP3 32bit and modern PC parts (118)
> @daniel_k made it

Thanks a ton, still I need to wait for the acpi fix

## Page 150

#2236 | infuscomus | ⇗ @sqpp can you upload your ACPI.SY_ and DRIVER.CAB ? just want to double check for correct integration
#2237 | sqpp | ⇗ @infuscomus I would upload it here but .sy_ was not allowed filetype, so just used Mega. ⇗ acpi_sy_, driver.cab

#2238

infuscomus

⇗ @sqpp
looks to me like you integrated properly
what laptop did you have again?
⇗ @diderius6 ⇗ @daniel_k
we might have some additional ACPI BSODs to fix?
sqpp ran into a BSOD - post 2228

#2239 | sqpp | ⇗ @infuscomus Lenovo Thinkpad T480 (i5-8350u)
#2240 | diderius6 | ⇗ @sqpp Please write here the complete BSOD A5 field with all its other numbers. We need this for a first check, what went wrong Dietmar
#2241 | sqpp | ⇗ @diderius6 I was worried, I might type the numbers incorrectly, so just took a photo instead.

#2242

diderius6

⇗ @Gelip
Here comes storport for XP SP3 32 and for XP64 bit,
as far as I know the last versions
Dietmar
diderius6 has attached files to this post

- ⇗ STORPORT.rar

#2243

Andalu

I'm still looking for a solution to get a full functionality of the USB3.0 ports for my CSM-Q87M-E43 board. Only using the "acpi5048_x86_intel_amd_final" and "AMDXHCI_XP_FINAL" is not enough. As diderius6 suggested, i need probably a DSDT table mod.
Keeping in mind my limited knowledge about bios modding, can someone suggest where to start in order to modify the DSDT table, please?

#2244

diderius6

⇗ @sqpp
A5 (0x03
The ACPI object that was being run
The return value from the interpreter C0140010 (I have only seen in Vista until now, but I think it can be done a Hack)
STATUS_ACPI_INVALID_REGION. An invalid region for the target was specified.
The name of the control method (in ULONG format)
ACPI tried to run a control method while creating device extensions to represent the ACPI namespace, but this control method failed.
Dietmar

#2245 | sqpp | ⇗ @diderius6 Thats a bit difficult for me actually. So it some sort of unique problem?

#2246

diderius6

⇗ @Andalu
It is an Intel USB3 device with the HC switch methode.
So I think, the device is just switched to USB2
but I dont know the place in Bios, where this happens
Dietmar
EDIT: Take a look in your Bios. Maybe there is something like "compatible" enabled for USB3, this means USB2.
⇗ https://superuser.com/questions/719079/u...el-usb-3-0-xhci

#2247

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2242

> @Gelip
> Here comes storport for XP SP3 32 and for XP64 bit,
> as far as I know the last versions
> Dietmar

The x64 version you have included is 5.2.3790.4173 but this is not the latest version. I found even newer files on ⇗ http://thehotfixshare.net
Probably this is latest: ⇗ WindowsServer2003.WindowsXP-KB957910-x64-ENU.exe - ver. 5.2.3790.4485 same as 32-bit version.

#2248 | daniel_k | ⇗ @diderius6 Does the NVIDIA GPU driver works?
#2249 | daniel_k | ⇗ @sqpp Dump the DSDT table of your Thinkpad with this: ⇗ http://rweverything.com/ Click on ACPI Tables button, click on DSDT and save it as binary. Then ZIP or RAR it and attach it for us.

#2250

sqpp

⇗ @daniel_k Here you go :)
sqpp has attached files to this post

- ⇗ ACPI (1).zip

## Page 151

#2251 | daniel_k | ⇗ @sqpp It's DSDT.
#2252 | sqpp | Yes, I have corrected it, uploaded the correct one. Excuse me for the mistake.

#2253

Andalu

⇗ @diderius6
I checked again the entire bios and no options like "usb compatible" or "switching usb" are present, only the classics "XHCI hand-off" and "EHCI hand-off" but enabling or disabling one or both of them has no effects. Maybe the msi bios doesn't work properly?
Really useful link, thanks. About it, my "PCI bus" device (id ACPI\PNP0A08\0) has not "iusb3hcs" value in "device lower filters" and effectively this .sys file is missing on my system. I tried to install the 32bit DPInst Set with Intel USB 3.0+3.1 Drivers v5.0.4.43 mod+signed by Fernando package containing "iusb3hcs.inf" but it clearly doesn't work even if the iusb3hcs.sys is copied to windows\system32\drivers folder.

#2254

diderius6

⇗ @daniel_k
"Does the NVIDIA GPU driver works?"
Yesssssssssssss, I am just running 3Dmark2001 on it and the boottime is ultrafast,
about 2 sec to full desktop of XP SP3 compared with around
30 sec for booting XP via ntldr
Dietmar

#2255 | daniel_k | ⇗ @diderius6 What an achievement! Please give us an step-by-step guide.

#2256

diderius6

⇗ @daniel_k
The same I ask yesterday ⇗ @skullteria and he helped me a little.
I dont know, how far he is now,
Dietmar
PS: It is not ready. I do some more tests. I would be very happy,
when you can integrate some hacks into the acpi.sys 5048 version for XP SP3.
Which hacks are really needed, I try to find out today.

#2257 | daniel_k | ⇗ @diderius6, by guide I mean to setup the UEFI boot. Which file system is needed? Or we just copy the .efi boot files to the NTFS XP boot partition and create an entry in boot loader? About the hacks, just restore the bytes one by one and test if it still boots.

#2258

diderius6

⇗ @daniel_k
"⇗ @diderius6, by guide I mean to setup the UEFI boot."
Until now, it is not UEFI boot.
I try UEFI boot, because the steps are nearly identic.
But we have to ask ⇗ @skullteria if he allows, that I
open all his files and his nice Tutorial
Dietmar

#2259

diderius6

From Wikipedia
BIOS
Im Fall von BIOS liest dieses den MBR der Festplatte oder eines anderen Speichermediums ein und führt ihn aus. Durch den dort befindlichen Code wird dann der Bootsektor der als aktiv markierten Partition geladen und ausgeführt. Der Code aus dem Bootsektor einer Partition, auf der eine entsprechende Windows-Installation installiert wurde, ist nun fähig, die Datei bootmgr im Wurzelverzeichnis eines NTFS-Dateisystems zu finden und auszuführen. Das Programm bootmgr liest die Datei \Boot\BCD ein und zeigt ein Bootmenü zur Auswahl des zu startenden Betriebssystems an. Zudem überprüft der BOOTMGR die Disk-Signatur (Bytes 440443 im MBR) mit seinen gespeicherten Booteinträgen aus der Boot Configuration Data. Wurde die Disk-Signatur verändert, verweigert Windows den Start mit einem winload error.[1]
EFI
Liegt EFI vor, so sind die ersten beiden Teile aus dem MBR und VBR überflüssig. Der Boot Manager ist in der Datei \efi\BOOT\bootia32.efi bzw. \efi\BOOT\bootx64.efi in der EFI-System-Partition gespeichert und wird von EFI direkt geladen und ausgeführt. Ansonsten ist die Funktionalität identisch zum bootmgr.
Als Nächstes startet BOOTMGR winload.exe, sofern Windows geladen werden soll. Es lädt in der Folge genau wie NTLDR den HAL, den Kernel und seine Bibliotheken und Gerätetreiber. Zudem lädt er die Windows-Registrierungsdatenbank. Danach übergibt winload.exe die Kontrolle dem Kernel, der sich initialisiert und weitere System-Dienste lädt.
Boot-Einstellungen
Alle Einstellungen für den Bootloader sind bei BIOS-Systemen in der Datei \Boot\BCD, bei EFI-Systemen in der Datei \EFI\Microsoft\Boot\BCD in der EFI-Systempartition abgelegt.[2] Die Boot Configuration Data ist in eine Binärdatei abgelegt und vom Aufbau her ein Hive der Windows-Registrierungsdatenbank. Microsoft bietet das Kommandozeilen-Tool bcdedit.exe an, um Bootparameter zu ändern. Es ist auch möglich beim Booten von der Windows-CD über den Punkt Computer reparieren/Systemwiederherstellungsoptionen das Tool bootrec.exe aufzurufen. Alternativ kann das Programm EasyBCD 1.7.2 needs Net Framework 2.0. , um die BOOTMGR-Einstellungen zu ändern.

#2260

daniel_k

⇗ @sqpp
It's a Phoenix BIOS, which is known to have compatibility issues, much like Insyde's.
It seems to me, that the issue lies here (just an example, there are many instances of this XP incompatible coding):

    Scope (\_SB.PCI0)
    {
        Device (XHC)
        {
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                If (CondRefOf (\_SB.PCI0.XHC.RHUB.INIR))
                {
                    \_SB.PCI0.XHC.RHUB.INIR () ---> WRONG
                }
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Device (XHC)
        {
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                If (CondRefOf (\_SB.PCI0.XHC.RHUB.INIR))
                {
                    ^RHUB.INIR () ---> CORRECT
                }
            }
        }
    }

However, I don't know if it can be fixed by patching ACPI.SYS.

#2261 | sqpp | Ah hell no :( I most likely need an another thinkpad then.

#2262

daniel_k

> Zitat von ⇗ sqpp im Beitrag ¶ #2261

> Ah hell no :( I most likely need an another thinkpad then.

There is this:

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #1638

> I feel that it is time to remind about my util called "acpi patcher" )
> it is dsdt/ssdt table manipulation tool before OS loading, even for winxp textmode setup

He explains how to use it here:
⇗ http://reboot.pro/topic/22051-acpi-patcher-at-boot-time/
If you learn how to use it, let me know and I can help you to fix the table.

#2263

diderius6

⇗ @daniel_k
Daniel, please can you add this 3 hacks
to the acpi.sys 5048 for XP SP3?
This is german versions of original acpi.sys 5512,
but this is not important
Dietmar
diderius6 has attached files to this post

- ⇗ ACPIforShorthorn.rar

#2264 | daniel_k | ⇗ @diderius6, for x86 it was easy.
#2265 | diderius6 | ⇗ @daniel_k Waaaoh, this is in record time ), I am going to test Dietmar

## Page 152

#2266 | diderius6 | ⇗ @daniel_k Yesssaaaaa:)))), thanks a lot, works on Shorthorn files to boot XP SP3 this makes also ⇗ @skullteria happy, I know for sure Dietmar

#2267

Doc.Brown

Awesome work you're doing here guys
I'm trying to have a working XP SP3 with Maximus XI Gene and CoffeLake CPU based on a 5512 build XP,tryed many of your ACPI.sys modded file with AHCI drivers from Fernando and the new from Daniel_k.
In the best case install work with F7 to ignore ACPi but it seems that CPU isn't recognize in OS and also TurboV software doesn't work.
Do you think there's a way to have it working well ? I'm sure I did something wrong cause I don't understand anything about coding or hacking file so that's why I prefer asking help for expert.
I want it for overclocking and benchmarking not for H24 use.
Thanks for your help.

#2268

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2266

> @daniel_k
> Yesssaaaaa:)))), thanks a lot, works on Shorthorn files to boot XP SP3
> this makes also @skullteria happy, I know for sure
> Dietmar

Please man, test with integrated GPU (intel HD graphics).
I made some patch on winload to disable permanently signature check. On X64 too, however, need add a option on boot entry or patch bootmgr too.

#2269 | diderius6 | ⇗ @skullteria I do not have a modern CPU, which has working Intel HD graphics for XP. I do not know, if there is any Dietmar

#2270

diderius6

⇗ @Doc.Brown
The Maximus XI Gene has an Intel® Z390 Chipset.
I succeed to install XP SP3 on the EVGA z390 dark board,
so it should work there also.
Integrate the last acpi.sys from ⇗ @daniel_k and also the STORAHCI driver via nlite
together with storport.sys from ⇗ @skullteria
Dietmar

#2271

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2269

> @skullteria
> I do not have a modern CPU,
> which has working Intel HD graphics for XP.
> I do not know, if there is any .
> Dietmar

My system what i tested is 2nd generation...HD 3000. I will try get the error.Well, i'm very thankful and happy. Only x64 needed now. I will test UEFI too.

> Zitat von ⇗ daniel_k im Beitrag ¶ #2264

> @diderius6, for x86 it was easy.

Please Daniel_k, made it to x64 too

#2272

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2270

> @Doc.Brown
> The Maximus XI Gene has an Intel® Z390 Chipset.
> I succeed to install XP SP3 on the EVGA z390 dark board,
> so it should work there also.
> Integrate the last acpi.sys from ⇗ @daniel_k and also the STORAHCI driver via nlite
> together with storport.sys from @skullteria
> Dietmar

⇗ @diderius6
Yes cause the Dark has the full bios compatibility with XP like older Asus Apex IX and X had with specific overclocking bios but the new XI products doesn't have this support.
I "ll test your methodology,by STORAHCI you mean AMDXHCI_XP_FINAL by ⇗ @daniel_k or another else ? and also I don't know where to put the 2 Storeport.sys files,they aren't in i386 folder it seems ?
Thanks

#2273 | diderius6 | ⇗ @Doc.Brown No, it is the STORAHCI driver from ⇗ @skullteria together with storport.sys see all in post 1020 here Dietmar PS: The storport.sys driver needs to be put by hand into i386 installationfolder for CD.

#2274

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2273

> @Doc.Brown
> No, it is the STORAHCI driver from @skullteria together with storport.sys see all in
> post 1020 here
> Dietmar
> PS: The storport.sys driver needs to be put by hand into i386 installationfolder for CD.

⇗ @diderius6
hum ok,found it but I put the 2 files in original STORAHCI folder before integrate driver with nlite ?
there's no need of AHCI driver at all ?
Thanks for your help :)
Edit: just saw your edit after posting so I put the 2 STORPORTin the original folder racine of STORAHCI and then copy into i386 if I understand well ...sorry i'm french,nobody is perfect xD
Edit 2: I put 2x STOREPORT files into i386 XP folder and integrate STORAHCI with nlite,change the ACPI file also and after create the iso,hope i'm right ^^

#2275 | skullteria | Well, a interestering thing: until build 5231, winload works on XP x64 without problem, don't need nogui. Starting build 5270, has some issue with BootVid VidResetDisplay. Maybe changing winload we can laod XP x64
#2276 | daniel_k | If you're going to share info and files, I'll help. Otherwise, I won't help to fix something that is copyrighted or open source just for private use.
#2277 | skullteria | I can share the files...For now, i shared only info. Well, can you fix acpi fro x64 to load winload?
#2278 | diderius6 | _

#2279

Doc.Brown

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #2274

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2273

> > @Doc.Brown
> > No, it is the STORAHCI driver from @skullteria together with storport.sys see all in
> > post 1020 here
> > Dietmar
> > PS: The storport.sys driver needs to be put by hand into i386 installationfolder for CD.

> ⇗ @diderius6
> hum ok,found it but I put the 2 files in original STORAHCI folder before integrate driver with nlite ?
> there's no need of AHCI driver at all ?
> Thanks for your help :)
> Edit: just saw your edit after posting so I put the 2 STORPORTin the original folder racine of STORAHCI and then copy into i386 if I understand well ...sorry i'm french,nobody is perfect xD
> Edit 2: I put 2x STOREPORT files into i386 XP folder and integrate STORAHCI with nlite,change the ACPI file also and after create the iso,hope i'm right ^^

⇗ @diderius6
Sadly it results on another BSOD :
⇗ https://cdn.discordapp.com/attachments/3...54/IMG_2096.JPG
Disk are well recognized,this BSOD came after when the real XP set up start,installation launched without pressing F7 ...
Thanks :)

#2280

diderius6

⇗ @Doc.Brown
In this case, the only thing that helps is,
to set XP up on another, more XP friendly compi
and later connect this XP to first one.
It can be done with the STORAHCI driver,
because it is really generic,
Dietmar

## Page 153

#2281

cedar

⇗ @diderius6, ⇗ @daniel_k
Keep up the good works!
I made a fresh bootable storahci XP64 Window with only default vga driver on my old Ivy system.
Then add the latest acpi64 driver from Daniel_K and swapp the hard disk to the Asus Prime B350 Ryzen board.
Regular boot always get BSOD, I can boot into safe mode,
so I installed AMD chipset and usb 3.1 driver within Safe mode. Usb 3.1 worked. Nvidia GS8400 also installed.
I installed my motherboard's Amdpcidev.sys on both PCI entries PCI\VEN_1022&DEV_1455 and PCI\VEN_1022&DEV_145A both failed with yellow bangs.
I also tried Canonkong's Amdpcidev.sys from x570 board, it didn't work either.
After some drivers installations and reboots to test, sometime I can get back to safe mode using last good configuration
,but could not boot regular mode. I think it might be PCI issue.
Eventually I got.
irql_not_less_or_equal error BSOD as
0X0000000A (0X0000000000000014, 0X000000000000000C,0X0000000000000000,
0XFFFFF80000107984D)
After this I can't get back to XP64 safe mode even using last good configuration.
Could you please look into that?
However, 2003 x64 seems to work, but need further tests on my board to see
how it goes.

#2282 | Doc.Brown | ⇗ @diderius6 Ok it will be test,thanks for your quick reply ;)
#2283 | infuscomus | ⇗ @sqpp ⇗ @Doc.Brown can you test with XP ACPI 32bit instead of 64bit? - you might have better luck getting 32bit to work
#2284 | Doc.Brown | ⇗ @infuscomus It is already an 32 bit XP used with latest ACPI from ⇗ @daniel_k

#2285

cedar

⇗ @infuscomus
Good works!. Your 1st attempt ACPI 64 version can boot 2003 too, but not on XP, 2nd attempt version, BSOD.
I need to create 3 or more hard ware profiles after install drivers to test on both Daniel_K latest 64 bit
and your 1st version ,on both XP and 2003.
Some profiles will boot, other profiles will BSOD on 2003.

#2286

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2165

> Hi,
> does anybody know,
> where I can get SYMBOLS for
> the XP64 DEBUG SP2 version
> Dietmar
> PS: In this case, acpi.pdb for the debug XP 64 SP2 would be enough.
> 5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
> EDIT:
> It is in file
> WindowsServer2003-KB933548-v1-x64-symbols-NRL-ENU-DEBUG.exe

Direct links to symbol files in post number #6 on the ⇗ arabhardware.net forum. You can also enter the site's ⇗ archive and see the full .exe file names :-)
Now in Firefox, press Ctrl + F, paste the searched file name, e.g. WindowsServer2003-KB933548-v1-x64-symbols-NRL-ENU-DEBUG.exe, mark the link on the page and select Save target as... from the context menu:
⇗
I attach all links in txt file:
Gelip has attached files to this post

- ⇗ symbol_links.txt

#2287 | diderius6 | ⇗ @Gelip I see the download link for the symbols. But they seem to link to the Microsoft page and download from there does not work Dietmar
#2288 | skullteria | I have symbols packages from XP until Win8, want place here or pm?

#2289

Gelip

> Zitat von ⇗ skullteria im Beitrag ¶ #2288

> I have symbols packages from XP until Win8, want place here or pm?

Yes, please for WinXP 32 and 64 bit. Thx

#2290

skullteria

> Zitat von ⇗ Gelip im Beitrag ¶ #2289

> > Zitat von ⇗ skullteria im Beitrag ¶ #2288

> > I have symbols packages from XP until Win8, want place here or pm?

> Yes, please for WinXP 32 and 64 bit. Thx

Here:
Windows XP x64:
⇗ https://www.adrive.com/public/Kk44M8/Win...ols-NRL-ENU.exe
Windows XP SP3:
⇗ https://www.adrive.com/public/K8GKd5/Win...-update-ENU.exe

#2291

infuscomus

> Zitat von ⇗ skullteria im Beitrag ¶ #2275

> Well, a interestering thing: until build 5231, winload works on XP x64 without problem, don't need nogui. Starting build 5270, has some issue with BootVid VidResetDisplay. Maybe changing winload we can laod XP x64

⇗ @skullteria
can we use bootvid from vista beta to solve this?

#2292

skullteria

> Zitat von ⇗ infuscomus im Beitrag ¶ #2291

> > Zitat von ⇗ skullteria im Beitrag ¶ #2275

> > Well, a interestering thing: until build 5231, winload works on XP x64 without problem, don't need nogui. Starting build 5270, has some issue with BootVid VidResetDisplay. Maybe changing winload we can laod XP x64

> @skullteria
> can we use bootvid from vista beta to solve this?

Unfortunately, the problem is not in bootvid. I tried Vista RTM bootvid, however, get same error. The real problem is in HalResetDisplay, or HalpResetDisplay. In x64, it is Int10 emulated, and in vista has some change.

#2293

Gelip

In VMware Workstation 8.0.2 build-591240 WinXP x86 or x64 works without problems in EFI32 and EFI64 on the graphics driver VMware Tools (VMware SVGA II) with EFI files from beta Longhorn Vista x86 6.0.5219.0 and beta Longhorn Server 6.0.6001.16497 x64, beta Longhorn Vista 6.0.5384.4 x64. The VMware graphics card has no GOP firmware:
⇗
On real hardware WinXP x64 work only with VBEMP (AnaPa).

#2294

diderius6

I just try UEFI boot for XP64 on the Giga H110 board. The XP64 sits as C:\ on a MBR with ntfs formatted harddisk
and is amazing stable, nothing yellow in device manager.
Just to copy the 64 bit EFI folder on C:\ and winload.efi into windows\system32 does not work.
The harddisk is still shown as CSM harddisk, no possibility to chose UEFI for the harddisk via F12 (chose Bootdevice).
When I force in Bios disable CSM,
the harddisk entry via F12 is gone,
Dietmar
PS: When I put the EFI folder on an USB stick, formatted with FAT32,
I can chose UEFI boot, even with complete disabled CSM in Bios.
But then comes the message, that winload.efi was not found
in windows\system32, even it is there.
This may be, because via USB stick UEFI does not find the way to the ntfs formatted harddisk
with MBR. So, a lot of more work has to be done.

#2295 | infuscomus | ⇗ @diderius6 try creating a small 100mb primary active fat32 partition at the start of the drive and put the \BOOT\EFI files in there I think thats what windows 8 and 10 use

## Page 154

#2296

diderius6

⇗ @infuscomus
I just put an extra 7 Gbyte Fat32 partition (primary partition, visable) on the same harddisk.
Now I can chose UEFI boot.
Ok, again I was told, that winload.efi was not there.
I copy an extra folder windows\system32\ there on the Fat32 partition with winload.efi in it.
Now I get message, that windows\system32\config is missed.
Aha, I understand, UEFI looks ONLY on that Fat32 partition.
So, in next step I copy the whole Windows folder on it,
and we will see
Dietmar
PS: May be, that can be controlled via the BCD file on the FAT32 partition.
But I dont know, how I have to change the settings in BCD, so that on next time
it uses the ntfs partition.
But who knows, maybe the whole XP64 can be started from Fat32.
EDIT: May be, the BIOS of the Giga H110 board has no UEFI driver for the ntfs file system.
EDIT2: Now I get screen with "Starting Windows Vista" but hangs there.
EDIT3: I enlarge the Fat32 partition to 28 Gbyte. There I copy the whole XP64 installation from ntfs partition.
Oho, there are a lot of new possibilities. Just copy the UEFI nvme driver to Bios and start from old Compi UEFI via nvme:))!

#2297 | infuscomus | ⇗ @diderius6 BootICE can edit BCD settings for you

#2298

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2294

> I just try UEFI boot for XP64 on the Giga H110 board. The XP64 sits as C:\ on a MBR with ntfs formatted harddisk
> and is amazing stable, nothing yellow in device manager.
> Just to copy the 64 bit EFI folder on C:\ and winload.efi into windows\system32 does not work.
> The harddisk is still shown as CSM harddisk, no possibility to chose UEFI for the harddisk via F12 (chose Bootdevice).
> When I force in Bios disable CSM,
> the harddisk entry via F12 is gone,
> Dietmar
> PS: When I put the EFI folder on an USB stick, formatted with FAT32,
> I can chose UEFI boot, even with complete disabled CSM in Bios.
> But then comes the message, that winload.efi was not found
> in windows\system32, even it is there.
> This may be, because via USB stick UEFI does not find the way to the ntfs formatted harddisk
> with MBR. So, a lot of more work has to be done.

Please read this my topic carefully and the links in the subject: ⇗ https://www.betaarchive.com/forum/viewto...=444391#p444391

#2299 | Gelip | Read this: ⇗ https://www.betaarchive.com/forum/viewto...=435277#p435277
#2300 | Gelip | Yes, my file BCD need edit in BOOTICE (Professional mode) - select partition NTFS in ApplicationDevice and OSDevice

#2301

diderius6

⇗ @Gelip
I try direct UEFI boot from Fat32 partition,
using
xxcopy /k /r /e /i /s /c /h Q:\ R:\
where Q is the working XP64 ntfs partition with all UEFI files on it
and R empty FAT32 partition
Dietmar

#2302 | Gelip | No, no, no - read PM
#2303 | infuscomus | ⇗ @daniel_k do you still have your modified AMD generic AHCI drivers?
#2304 | kukonosau | ⇗ @cedar How to start Windows XP x64 on ASUS AM4 B350 PRIME B350M-K? Where is daniel_k acpi.sys and storage drivers skullteria?
#2305 | daniel_k | ⇗ @infuscomus, can be found in the following posts: ¶ Windows XP SP3 32bit and modern PC parts (112) ¶ Windows XP SP3 32bit and modern PC parts (114)

#2306

cedar

⇗ @kukonosau
XP64 only boot in safe mode by luck. 2003 can boot normally
, but both are not stable either.
I installed them in another computer and moved the hard disk to Ryzen
system. Burning discs boot directly on Ryzen didn't work that well for me.
Make sure to create lot of hardware profiles in XP or 03. By luck, some can boot,
others may not. USB3.0 does not work consistently on my board on XP32,
but 64bit USB3.0 works on mouse and thumb drives.
64 ACPI drivers tested were from post #2202 or infuscomus first attemp.
Even Mplayer classic playing mkv files can instantly reboot Win2003.
So it is not too stable, although .mpg and avi can play in Mplayer.
I still need to test it if it can be fixed.

#2307 | infuscomus | ⇗ @daniel_k thanks very much. ⇗ @cedar what stability issues have you come across?

#2308

Illen

> Zitat von ⇗ diderius6 im Beitrag ¶ #2296

> EDIT: May be, the BIOS of the Giga H110 board has no UEFI driver for the ntfs file system.

Yep, forgot to mention that some UEFI firmwares might not be able to read from NTFS. In such cases, you either want to create a small FAT32 partition with EFI folder in it, and keep the Windows install with winload.efi on NTFS partition (and modify the BCD as mentioned in ¶ post#2300) , or keep the whole install on FAT32 partition and boot from there.

> Zitat von ⇗ diderius6 im Beitrag ¶ #2296

> EDIT2: Now I get screen with "Starting Windows Vista" but hangs there.

Did you install the Anapa VBE driver, and are you sure it works?

#2309

cedar

⇗ @infuscomus
0n Win 2003, even if i can boot a certain hardware profile several time
in a row, it can reboot instantly the next time. With 5 or 6 profiles, so
far, I can boot with luck by choosing a different hardware profile.
sometime I have to choose 3 profiles, and 1 will boot. others will
instantly reboot the machine.
Those hardware profiles are created after installing USB, Network, sound
, XP friendly GForce 8400GS and ATI HDTV Wonder.
These hardwares are very stable on XP32.
On 64 bit 2003. USB 2 to 3.1 all work.
Network not work yet.
Beyond TV (may reboot machine) and SichBoPVR not work yet.
it could be DirectX problems. its past all DirectX tests, but on next reboot,
some components of DirectX are not enabled anymore.
Mplayer Classic reboot machine on .mkv and .mp4. maybe LAV splitter
problems.
All programs above work well under XP32 on Ryzen, as well
as under XP64 on Ivy board.
Some of the problems are video related, may be fixable with
different software versions. while others are probably harder
to fix.

#2310 | kukonosau | ⇗ @diderius6 Thanks! I started Windows XP X64 with ACPI from post 2202, but with some times. A lot of different BSOD, for example 7E, 0A, 7B, irql not less or equal and so on!!! I install XP in VirtualBox, create reserve copy with Acronis 2014. Send copy from virtual XP in Windows 10. Installed copy in hardware with Acronis Universal Restore. I deleted all drivers and add storport drivers from skullteria. But, unfortunately, after 2nd sucessfully loading I get BSOD again(((

## Page 155

#2311

Gelip

> Zitat von ⇗ kukonosau im Beitrag ¶ #2310

> @diderius6
> Thanks! I started Windows XP X64 with ACPI from post 2202, but with some times. A lot of different BSOD, for example 7E, 0A, 7B, irql not less or equal and so on!!! I install XP in VirtualBox, create reserve copy with Acronis 2014. Send copy from virtual XP in Windows 10. Installed copy in hardware with Acronis Universal Restore. I deleted all drivers and add storport drivers from skullteria. But, unfortunately, after 2nd sucessfully loading I get BSOD again(((

Try deploy WinXP x64 in this way ⇗ How to deploy WinXP 64-bit on a UEFI >⇗ read this< and start under UEFI:

> Zitat

> The VGA controller can be turned off in a running system after make Reseal - just select the Quit option in Sysprep. Now delete display.inf and vga & VgaSave services from registry in CurrentControlSet key.

#2312 | infuscomus | I think the windows partition should be separate from the UEFI partition. That way the windows partition can still be formatted as NTFS with EFI as fat32 and just point the UEFI bootloader to the NTFS partition from there.

#2313

Gelip

> Zitat von ⇗ infuscomus im Beitrag ¶ #2312

> I think the windows partition should be separate from the UEFI partition.
> That way the windows partition can still be formatted as NTFS with EFI as fat32 and just point the UEFI bootloader to the NTFS partition from there.

I think, I think
Yes 100MB FAT32 for bootx64.efi and BCD files and NTFS for Windows with winload.efi file. It has been checked a long time ago - please read the links it provides or the whole topic on betaarchive ⇗ https://www.betaarchive.com/forum/viewtopic.php?f=61&t=20327 in which I performed the most tests with start WinXP on UEFI.
P.S. If the BIOS has an NTFS driver then only one NTFS partition can be used.
You can also boot the system from a FAT32 pendrive, but the most convenient is the FAT32 + NTFS partition just like in newer Windows starting from Win7 x64 on UEFI.

#2314

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #1145

> May be we need WDFLDR.SYS (from Vista-Longhorn5048, Vista, Win7) all 32 bit
> for XP for Intel USB
> Dietmar
> PS:Intel USB 3 drivers need WDFLDR.SYS (Kernel Mode Driver Framework LOADER) which doesn't exist on XP.
> XP drivers require coinstaller WdfCoInstaller01009.dll (included with driver, it installs wdfldr.sys and wdf01000.sys) and separate usbd.sys.
> I install the Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe' extracted from WdfCoinstaller01009.dll which is the co-installer for KMDF 1.9.
> This drivers here have all only dependecies for XP!
> EDIT: This brings me to the idea, to install the very first USB driver from NEC on Longhorn 5048 for Intel chipset USB3.0.

I need driver 1.9 for WinXP x64 (⇗ https://support.microsoft.com/pl-pl/help...sta-and-for-win)

#2315

diderius6

I have XP64 on Fat32 partition (only first, one partition on HD).
And I installed the ANAPA driver for XP64, set start=4 to vga and vgasave in registry,
but still the compi hangs after Vista bootscreen on the Giga H110 board
Dietmar
PS: No difference between 16497 version and 5384.4.
Now I try to set up a debug session.
With the 5384.4 version this is not possible, even it has boot.ini.
So I hope for BCD, set debug option there via EasyBCD.
No debug at all possible.

#2316 | infuscomus | ⇗ @diderius6 are you able to remote desktop into it?

#2317

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2315

> I have XP64 on Fat32 partition (only first, one partition on HD).
> And I installed the ANAPA driver for XP64, set start=4 to vga and vgasave in registry,
> but still the compi hangs after Vista bootscreen on the Giga H110 board
> Dietmar
> PS: No difference between 16497 version and 5384.4.
> Now I try to set up a debug session.
> With the 5384.4 version this is not possible, even it has boot.ini.
> So I hope for BCD, set debug option there via EasyBCD.
> No debug at all possible.

What graphics card are you using? If the card has GOP (UEFI) firmware and WinXP x64 drivers then install the driver, disable CSM and try to run WinXP in UEFI - here I wrote what idea I have to implement: ⇗ My new idea to try boot WinXP x64 on UEFI

#2318

Gelip

First in legacy bios mode, install all device drivers and AnaPa and check if the system works properly in legacy bios mode !!! Only after you check that the system works OK in legacy bios mode can you try to run under UEFI.
Remote Desktop will of course be useful but only if you have installed the network card drivers.
Maybe you use wrong AnaPa driver? You need use driver exactly from vbempk\VBE30\XPAMD64\PNP with my >⇗ fix<.

#2319 | diderius6 | ⇗ @Gelip I tried all this, XP64 hangs during boot Dietmar

#2320

Gelip

If you use Anapa, you do not need to disable services in the registry.
Try without any graphics driver (install all other drivers including Ethernet), enable Remote Desktop and remove two vga and vgasave services from CurrentControlSet from the registry. Run WinXP in uefi and check from another computer if you have access via a remote desktop.
P.S. If the sound drivers are installed, you should hear the Windows startup sound when Starting Windows Vista is on the screen.

#2321 | Gelip | If you had the manufacturer's graphics driver installed before, you must uninstall it and remove the oemx.inf file from the WINDOWS/Inf directory (created by the driver installer), otherwise the system will automatically reinstall the graphics card driver after restart.
#2322 | Gelip | If use AnaPa you need install VBE Miniport (manufacturer) (for GeForce card VBE Miniport (nVidia) ) driver not VBE Miniport - Standard PCI Graphics Adapter (VGA)

#2323

Gelip

On the ThinkPad X220 WinXP SP2 x64 it runs 100% OK in UEFI on the AnaPa driver - attached.
Gelip has attached files to this post

- ⇗ vbemp_x64_fix.zip

#2324

diderius6

⇗ @Gelip
I use your driver,
install it new,
set Bios to default settings,
does not help.
Only via MBR XP64 starts to desktop,
via UEFI it hangs during boot,
screen shows all the time "Starting Windows Vista"
Dietmar

#2325

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2324

> @Gelip
> I use your driver,
> install it new,
> set Bios to default settings,
> does not help.
> Only via MBR XP64 starts to desktop,
> via UEFI it hangs during boot,
> screen shows all the time "Starting Windows Vista"
> Dietmar

I just tested on ASUS P8H61-M LE R2 with the latest bios 1408 and unfortunately WinXP also does not start with the AnaPa driver or without any graphics driver + removed vga and VgaSave services. It looks like it doesn't work on some motherboards
But it still works for others e.g. ASrock Z170 Pro4S:

## Page 156

#2326

diderius6

⇗ @Gelip
I just set up a brand new XP64 on the Asrock fatal1ty z370 gaming k6 board with Fat32.
Then I install there the Anapa driver.
But it boots only via MBR,
hangs during UEFI boot
Dietmar

#2327 | diderius6 | ⇗ @Gelip Can you please enable in BCD from folder server_BCD (64 bit Uefi) the debug option for me Dietmar

#2328

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2327

> @Gelip
> Can you please enable in BCD from folder server_BCD (64 bit Uefi)
> the debug option for me
> Dietmar

The best tool for editing a BCD file and more is BOOTICE v1.3.2 x64 or x86 by Pauly - attached. This tool works on WinXP To enable debugging on COM1, edit the file like this:
⇗
Gelip has attached files to this post

- ⇗ booticex86_v1.321.rar
- ⇗ booticex64_v1.321.rar

#2329

Gelip

I connected WinDbg to ASUS and it turns out that the problem is caused by the VIDEOPRT.SYS file and/or the AHCI driver regardless of whether we use the AnaPa driver or boot the system without any graphics driver (vga and VgaSave services removed):

    Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 09:14:38.008 2019 (GMT+2)), ptr64 TRUE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01800000 PsLoadedModuleList = 0xfffff800`019d5100
    System Uptime: not available

    Intel Storage Driver Ver: 11.2.0.1006

    KDTARGET: Refreshing KD connection

    *** Fatal System Error: 0x00000050
                           (0xFFFFFADFCB40202A,0x0000000000000000,0xFFFFF800018E2CAE,0x0000000000000000)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 50, {fffffadfcb40202a, 0, fffff800018e2cae, 0}

    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -
    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for VIDEOPRT.SYS -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for win32k.sys -
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!VideoPortSetTrappedEmulatorPorts+5e )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`01826db0 cc              int     3

#2330

Gelip

You may need to patch the VIDEOPRT.SYS and/or VGA.SYS file to not traps ports of the graphic board. Such a patch exists but only for WinXP 32-bit:

- ⇗ Installation note 5: My driver does not provide any support for running fullscreen DOS applications in VESA graphics modes. VGA.SYS controls it and in most cases it traps i/o ports and prevents VESA-based programs to run correctly. There are third-party patches - WinXPFix Utility (nomissoft.com/service.html#as2downloads) and 'Videoport driver patch for VESA in NTVDM' (volny.cz/martin.sulak/, direct download videoprt.zip) that fixes VGA.SYS behaviour. Try them if you need to run DOS programs in Windows. I am not affiliate with author(s) of these programs.
- ⇗ patch for WinXP/2000 monitor issues

@diderius
Maybe you can do it?

#2331

Mov AX, 0xDEAD

> Zitat

> Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!VideoPortSetTrappedEmulatorPorts+5e

> Zitat von ⇗ Gelip im Beitrag ¶ #2330

> You may need to patch the VIDEOPRT.SYS and/or VGA.SYS file to not traps ports of the graphic board

VideoPortSetTrappedEmulatorPorts of VIDEOPRT.SYS on win2003 x64 FRE is only two asm commands:

    mov     eax, 57h
    retn

probably error in next proc, pVideoPortInitializeInt10
but if you using CHK version of VIDEOPRT.SYS it may be diff proc

#2332

diderius6

⇗ @Gelip
Thanks a lot for bootice:))!
I noticed on the Asrock k6 the same error using windbg
belonging to videoprt.sys
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 10:34:00.281 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00dd5100
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection

    *** Fatal System Error: 0x00000050
                                                 (0xFFFFFADCC100202A,0x0000000000000000,0xFFFFF80000CE2CAE,0x0000000000000000)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 10:35:24.250 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ...............................................................
    ................
    Loading User Symbols
    ........
    Loading unloaded module list
    .......
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 50, {fffffadcc100202a, 0, fffff80000ce2cae, 0}

    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for CSRSRV.dll -
    Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`00c26db0 cc              int     3
    8: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffadcc100202a, memory referenced.
    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
    Arg3: fffff80000ce2cae, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 0000000000000000, (reserved)

    Debugging Details:
    ------------------

    READ_ADDRESS:  fffffadcc100202a

    FAULTING_IP:
    nt!MmMapIoSpace+489
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  csrss.exe

    CURRENT_IRQL:  2

    TRAP_FRAME:  fffffadcc0376900 -- (.trap 0xfffffadcc0376900)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffff6fd6e5ec0f0 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffffadcc070b101 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80000ce2cae rsp=fffffadcc0376a90 rbp=0000000000000000
     r8=000000fffffff000  r9=0000000000000002 r10=0000000000000eff
    r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!MmMapIoSpace+0x489:
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah] ds:b180:001a=????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff80000cd673e to fffff80000c26db0

    STACK_TEXT:
    fffffadc`c0376148
     fffff800`00cd673e : 00000000`00000008 fffffadc`c0376900
    fffffadc`c100202a fffff800`00c5669e : nt!DbgBreakPointWithStatus
    fffffadc`c0376150
     fffff800`00cd7d0e : fffff800`00000003 00000000`00000050
    fffffadc`c100202a 00000000`00000000 : nt!KiBugCheckDebugBreak+0x1e
    fffffadc`c03761b0
     fffff800`00c2ea54 : fffffadc`c0376830 fffffadc`00000004
    fffffadc`c0376c64 fffffadc`c0376c10 : nt!KeBugCheck2+0x640
    fffffadc`c03767f0
     fffff800`00ca58f2 : 00000000`00000050 fffffadc`c100202a
    00000000`00000000 fffffadc`c0376900 : nt!KeBugCheckEx+0x104
    fffffadc`c0376830
     fffff800`00c2d519 : 00000000`00000011 fffff800`00e9534b
    fffffadc`c0376900 fffffadc`c03769d0 : nt!MmAccessFault+0xa1f
    fffffadc`c0376900
     fffff800`00ce2cae : 00000000`0000087b 00000000`00000000
    fffffadc`c1000000 00000000`00000000 : nt!KiPageFault+0x119
    fffffadc`c0376a90
     fffffadc`be4a813e : fffffadc`00000001 00000000`00100000
    fffffadc`00000000 fffffa80`00677000 : nt!MmMapIoSpace+0x489
    fffffadc`c0376b60
     fffffadc`be4b28b3 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 :
    VIDEOPRT!pVideoPortInitializeInt10+0x4e
    fffffadc`c0376ba0
    fffff800`00e837c9 : fffffadc`e0511070 fffffadc`e03e69d0
    fffffadc`e0511070 fffff800`00e83170 : VIDEOPRT!pVideoPortDispatch+0xca3
    fffffadc`c0376cc0
     fffff800`00e81164 : fffffadc`e0511070 fffffadc`e0511020
    fffffadc`c0376ff0 00000000`00000000 : nt!IopParseDevice+0x1088
    fffffadc`c0376e70
     fffff800`00e85887 : 00000000`00000000 fffffadc`c0376fe0
    00000000`00000240 00000000`00000000 : nt!ObpLookupObjectName+0x931
    fffffadc`c0376f80
     fffff800`00e92e4d : 00000000`00000001 fffffadc`c03774e0
    00000000`00000001 fffff800`00c241ce : nt!ObOpenObjectByName+0x180
    fffffadc`c0377170
     fffff800`00e99ef7 : fffffa80`0066e4d0 fffff800`00c3c37e
    fffffa80`0066e4a0 00000000`00000500 : nt!IopCreateFile+0x630
    fffffadc`c0377300
     fffff800`00e958f9 : 00000000`00000000 fffffa80`00001c80
    fffffadc`dff1ac20 fffffadc`e0556750 : nt!IoCreateFile+0x12f
    fffffadc`c03773e0
     fffff800`00c2e3fd : fffffadc`e0556750 fffffadc`c03774e0
    00000000`00000000 00000000`00000000 : nt!NtOpenFile+0x49
    fffffadc`c0377460
     fffff800`00c2e8c0 : fffff800`00e7ec67 00000000`00000000
    000007ff`7c5c9620 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0377668
     fffff800`00e7ec67 : 00000000`00000000 000007ff`7c5c9620
    00000000`00000000 00000000`00000001 : nt!KiServiceLinkage
    fffffadc`c0377670
     fffff97f`ff008587 : 00000000`00000000 00000000`00000000
    00000000`00000001 00000000`00000000 : nt!IoGetDeviceObjectPointer+0x57
    fffffadc`c0377700
     fffff97f`ff00334d : 00000000`00000001 00000000`00000000
    00000000`00000003 00000000`00000001 :
    win32k!DrvUpdateGraphicsDeviceList+0x4ba
    fffffadc`c0377900
    fffff97f`ff008d8c : fffffadc`c0377a38 00000000`00000000
    00000000`01bc8000 00000000`00000000 : win32k!DrvInitConsole+0xd5
    fffffadc`c0377970
     fffff97f`ff00bb28 : 00000000`01bc8000 00000000`00000000
    00000000`00000003 00000000`00000000 : win32k!InitVideo+0xb
    fffffadc`c03779e0
     fffff97f`ff00b646 : 00000000`00000060 fffffadc`c0377cf0
    00000000`00000003 00000000`0000005c : win32k!UserInitialize+0x63c
    fffffadc`c0377c20
     fffff800`00c2e3fd : fffffadc`000001e0 00000000`00000001
    fffffadc`e0556750 00000000`00000020 : win32k!NtUserInitialize+0x15f
    fffffadc`c0377c70
     000007ff`7c7de86a : 000007ff`7c7deaa9 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!KiSystemServiceCopyEnd+0x3
    00000000`0015fbc8
     000007ff`7c7deaa9 : 00000000`001657f0 00000000`001657f0
    00000000`00000003 00000000`00000000 : winsrv!NtUserInitialize+0xa
    00000000`0015fbd0
     000007ff`7c5b3eb8 : 00000000`00000000 00000000`00000001
    00000000`001657f0 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fc50
    00000000`00000000 : 00000000`00000001 00000000`001657f0
    00000000`00000000 00000000`00100000 :
    CSRSRV!CsrUnhandledExceptionFilter+0x368

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    VIDEOPRT!pVideoPortInitializeInt10+4e
    fffffadc`be4a813e 4c8bcb          mov     r9,rbx

    SYMBOL_STACK_INDEX:  7

    SYMBOL_NAME:  VIDEOPRT!pVideoPortInitializeInt10+4e

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: VIDEOPRT

    IMAGE_NAME:  VIDEOPRT.SYS

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69799

    FAILURE_BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    Followup: MachineOwner
    ---------

    8: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffadcc100202a, memory referenced.
    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
    Arg3: fffff80000ce2cae, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 0000000000000000, (reserved)

    Debugging Details:
    ------------------

    READ_ADDRESS:  fffffadcc100202a

    FAULTING_IP:
    nt!MmMapIoSpace+489
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  csrss.exe

    CURRENT_IRQL:  2

    TRAP_FRAME:  fffffadcc0376900 -- (.trap 0xfffffadcc0376900)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffff6fd6e5ec0f0 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffffadcc070b101 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80000ce2cae rsp=fffffadcc0376a90 rbp=0000000000000000
     r8=000000fffffff000  r9=0000000000000002 r10=0000000000000eff
    r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!MmMapIoSpace+0x489:
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah] ds:b180:001a=????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff80000cd673e to fffff80000c26db0

    STACK_TEXT:
    fffffadc`c0376148
     fffff800`00cd673e : 00000000`00000008 fffffadc`c0376900
    fffffadc`c100202a fffff800`00c5669e : nt!DbgBreakPointWithStatus
    fffffadc`c0376150
     fffff800`00cd7d0e : fffff800`00000003 00000000`00000050
    fffffadc`c100202a 00000000`00000000 : nt!KiBugCheckDebugBreak+0x1e
    fffffadc`c03761b0
     fffff800`00c2ea54 : fffffadc`c0376830 fffffadc`00000004
    fffffadc`c0376c64 fffffadc`c0376c10 : nt!KeBugCheck2+0x640
    fffffadc`c03767f0
     fffff800`00ca58f2 : 00000000`00000050 fffffadc`c100202a
    00000000`00000000 fffffadc`c0376900 : nt!KeBugCheckEx+0x104
    fffffadc`c0376830
     fffff800`00c2d519 : 00000000`00000011 fffff800`00e9534b
    fffffadc`c0376900 fffffadc`c03769d0 : nt!MmAccessFault+0xa1f
    fffffadc`c0376900
     fffff800`00ce2cae : 00000000`0000087b 00000000`00000000
    fffffadc`c1000000 00000000`00000000 : nt!KiPageFault+0x119
    fffffadc`c0376a90
     fffffadc`be4a813e : fffffadc`00000001 00000000`00100000
    fffffadc`00000000 fffffa80`00677000 : nt!MmMapIoSpace+0x489
    fffffadc`c0376b60
     fffffadc`be4b28b3 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 :
    VIDEOPRT!pVideoPortInitializeInt10+0x4e
    fffffadc`c0376ba0
    fffff800`00e837c9 : fffffadc`e0511070 fffffadc`e03e69d0
    fffffadc`e0511070 fffff800`00e83170 : VIDEOPRT!pVideoPortDispatch+0xca3
    fffffadc`c0376cc0
     fffff800`00e81164 : fffffadc`e0511070 fffffadc`e0511020
    fffffadc`c0376ff0 00000000`00000000 : nt!IopParseDevice+0x1088
    fffffadc`c0376e70
     fffff800`00e85887 : 00000000`00000000 fffffadc`c0376fe0
    00000000`00000240 00000000`00000000 : nt!ObpLookupObjectName+0x931
    fffffadc`c0376f80
     fffff800`00e92e4d : 00000000`00000001 fffffadc`c03774e0
    00000000`00000001 fffff800`00c241ce : nt!ObOpenObjectByName+0x180
    fffffadc`c0377170
     fffff800`00e99ef7 : fffffa80`0066e4d0 fffff800`00c3c37e
    fffffa80`0066e4a0 00000000`00000500 : nt!IopCreateFile+0x630
    fffffadc`c0377300
     fffff800`00e958f9 : 00000000`00000000 fffffa80`00001c80
    fffffadc`dff1ac20 fffffadc`e0556750 : nt!IoCreateFile+0x12f
    fffffadc`c03773e0
     fffff800`00c2e3fd : fffffadc`e0556750 fffffadc`c03774e0
    00000000`00000000 00000000`00000000 : nt!NtOpenFile+0x49
    fffffadc`c0377460
     fffff800`00c2e8c0 : fffff800`00e7ec67 00000000`00000000
    000007ff`7c5c9620 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0377668
     fffff800`00e7ec67 : 00000000`00000000 000007ff`7c5c9620
    00000000`00000000 00000000`00000001 : nt!KiServiceLinkage
    fffffadc`c0377670
     fffff97f`ff008587 : 00000000`00000000 00000000`00000000
    00000000`00000001 00000000`00000000 : nt!IoGetDeviceObjectPointer+0x57
    fffffadc`c0377700
     fffff97f`ff00334d : 00000000`00000001 00000000`00000000
    00000000`00000003 00000000`00000001 :
    win32k!DrvUpdateGraphicsDeviceList+0x4ba
    fffffadc`c0377900
    fffff97f`ff008d8c : fffffadc`c0377a38 00000000`00000000
    00000000`01bc8000 00000000`00000000 : win32k!DrvInitConsole+0xd5
    fffffadc`c0377970
     fffff97f`ff00bb28 : 00000000`01bc8000 00000000`00000000
    00000000`00000003 00000000`00000000 : win32k!InitVideo+0xb
    fffffadc`c03779e0
     fffff97f`ff00b646 : 00000000`00000060 fffffadc`c0377cf0
    00000000`00000003 00000000`0000005c : win32k!UserInitialize+0x63c
    fffffadc`c0377c20
     fffff800`00c2e3fd : fffffadc`000001e0 00000000`00000001
    fffffadc`e0556750 00000000`00000020 : win32k!NtUserInitialize+0x15f
    fffffadc`c0377c70
     000007ff`7c7de86a : 000007ff`7c7deaa9 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!KiSystemServiceCopyEnd+0x3
    00000000`0015fbc8
     000007ff`7c7deaa9 : 00000000`001657f0 00000000`001657f0
    00000000`00000003 00000000`00000000 : winsrv!NtUserInitialize+0xa
    00000000`0015fbd0
     000007ff`7c5b3eb8 : 00000000`00000000 00000000`00000001
    00000000`001657f0 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fc50
    00000000`00000000 : 00000000`00000001 00000000`001657f0
    00000000`00000000 00000000`00100000 :
    CSRSRV!CsrUnhandledExceptionFilter+0x368

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    VIDEOPRT!pVideoPortInitializeInt10+4e
    fffffadc`be4a813e 4c8bcb          mov     r9,rbx

    SYMBOL_STACK_INDEX:  7

    SYMBOL_NAME:  VIDEOPRT!pVideoPortInitializeInt10+4e

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: VIDEOPRT

    IMAGE_NAME:  VIDEOPRT.SYS

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69799

    FAILURE_BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    Followup: MachineOwner
    ---------

    8: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffadcc100202a, memory referenced.
    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
    Arg3: fffff80000ce2cae, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 0000000000000000, (reserved)

    Debugging Details:
    ------------------

    READ_ADDRESS:  fffffadcc100202a

    FAULTING_IP:
    nt!MmMapIoSpace+489
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  csrss.exe

    CURRENT_IRQL:  2

    TRAP_FRAME:  fffffadcc0376900 -- (.trap 0xfffffadcc0376900)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffff6fd6e5ec0f0 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffffadcc070b101 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80000ce2cae rsp=fffffadcc0376a90 rbp=0000000000000000
     r8=000000fffffff000  r9=0000000000000002 r10=0000000000000eff
    r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!MmMapIoSpace+0x489:
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah] ds:b180:001a=????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff80000cd673e to fffff80000c26db0

    STACK_TEXT:
    fffffadc`c0376148
     fffff800`00cd673e : 00000000`00000008 fffffadc`c0376900
    fffffadc`c100202a fffff800`00c5669e : nt!DbgBreakPointWithStatus
    fffffadc`c0376150
     fffff800`00cd7d0e : fffff800`00000003 00000000`00000050
    fffffadc`c100202a 00000000`00000000 : nt!KiBugCheckDebugBreak+0x1e
    fffffadc`c03761b0
     fffff800`00c2ea54 : fffffadc`c0376830 fffffadc`00000004
    fffffadc`c0376c64 fffffadc`c0376c10 : nt!KeBugCheck2+0x640
    fffffadc`c03767f0
     fffff800`00ca58f2 : 00000000`00000050 fffffadc`c100202a
    00000000`00000000 fffffadc`c0376900 : nt!KeBugCheckEx+0x104
    fffffadc`c0376830
     fffff800`00c2d519 : 00000000`00000011 fffff800`00e9534b
    fffffadc`c0376900 fffffadc`c03769d0 : nt!MmAccessFault+0xa1f
    fffffadc`c0376900
     fffff800`00ce2cae : 00000000`0000087b 00000000`00000000
    fffffadc`c1000000 00000000`00000000 : nt!KiPageFault+0x119
    fffffadc`c0376a90
     fffffadc`be4a813e : fffffadc`00000001 00000000`00100000
    fffffadc`00000000 fffffa80`00677000 : nt!MmMapIoSpace+0x489
    fffffadc`c0376b60
     fffffadc`be4b28b3 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 :
    VIDEOPRT!pVideoPortInitializeInt10+0x4e
    fffffadc`c0376ba0
    fffff800`00e837c9 : fffffadc`e0511070 fffffadc`e03e69d0
    fffffadc`e0511070 fffff800`00e83170 : VIDEOPRT!pVideoPortDispatch+0xca3
    fffffadc`c0376cc0
     fffff800`00e81164 : fffffadc`e0511070 fffffadc`e0511020
    fffffadc`c0376ff0 00000000`00000000 : nt!IopParseDevice+0x1088
    fffffadc`c0376e70
     fffff800`00e85887 : 00000000`00000000 fffffadc`c0376fe0
    00000000`00000240 00000000`00000000 : nt!ObpLookupObjectName+0x931
    fffffadc`c0376f80
     fffff800`00e92e4d : 00000000`00000001 fffffadc`c03774e0
    00000000`00000001 fffff800`00c241ce : nt!ObOpenObjectByName+0x180
    fffffadc`c0377170
     fffff800`00e99ef7 : fffffa80`0066e4d0 fffff800`00c3c37e
    fffffa80`0066e4a0 00000000`00000500 : nt!IopCreateFile+0x630
    fffffadc`c0377300
     fffff800`00e958f9 : 00000000`00000000 fffffa80`00001c80
    fffffadc`dff1ac20 fffffadc`e0556750 : nt!IoCreateFile+0x12f
    fffffadc`c03773e0
     fffff800`00c2e3fd : fffffadc`e0556750 fffffadc`c03774e0
    00000000`00000000 00000000`00000000 : nt!NtOpenFile+0x49
    fffffadc`c0377460
     fffff800`00c2e8c0 : fffff800`00e7ec67 00000000`00000000
    000007ff`7c5c9620 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0377668
     fffff800`00e7ec67 : 00000000`00000000 000007ff`7c5c9620
    00000000`00000000 00000000`00000001 : nt!KiServiceLinkage
    fffffadc`c0377670
     fffff97f`ff008587 : 00000000`00000000 00000000`00000000
    00000000`00000001 00000000`00000000 : nt!IoGetDeviceObjectPointer+0x57
    fffffadc`c0377700
     fffff97f`ff00334d : 00000000`00000001 00000000`00000000
    00000000`00000003 00000000`00000001 :
    win32k!DrvUpdateGraphicsDeviceList+0x4ba
    fffffadc`c0377900
    fffff97f`ff008d8c : fffffadc`c0377a38 00000000`00000000
    00000000`01bc8000 00000000`00000000 : win32k!DrvInitConsole+0xd5
    fffffadc`c0377970
     fffff97f`ff00bb28 : 00000000`01bc8000 00000000`00000000
    00000000`00000003 00000000`00000000 : win32k!InitVideo+0xb
    fffffadc`c03779e0
     fffff97f`ff00b646 : 00000000`00000060 fffffadc`c0377cf0
    00000000`00000003 00000000`0000005c : win32k!UserInitialize+0x63c
    fffffadc`c0377c20
     fffff800`00c2e3fd : fffffadc`000001e0 00000000`00000001
    fffffadc`e0556750 00000000`00000020 : win32k!NtUserInitialize+0x15f
    fffffadc`c0377c70
     000007ff`7c7de86a : 000007ff`7c7deaa9 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!KiSystemServiceCopyEnd+0x3
    00000000`0015fbc8
     000007ff`7c7deaa9 : 00000000`001657f0 00000000`001657f0
    00000000`00000003 00000000`00000000 : winsrv!NtUserInitialize+0xa
    00000000`0015fbd0
     000007ff`7c5b3eb8 : 00000000`00000000 00000000`00000001
    00000000`001657f0 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fc50
    00000000`00000000 : 00000000`00000001 00000000`001657f0
    00000000`00000000 00000000`00100000 :
    CSRSRV!CsrUnhandledExceptionFilter+0x368

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    VIDEOPRT!pVideoPortInitializeInt10+4e
    fffffadc`be4a813e 4c8bcb          mov     r9,rbx

    SYMBOL_STACK_INDEX:  7

    SYMBOL_NAME:  VIDEOPRT!pVideoPortInitializeInt10+4e

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: VIDEOPRT

    IMAGE_NAME:  VIDEOPRT.SYS

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69799

    FAILURE_BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    Followup: MachineOwner
    ---------

    8: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffadcc100202a, memory referenced.
    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
    Arg3: fffff80000ce2cae, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 0000000000000000, (reserved)

    Debugging Details:
    ------------------

    READ_ADDRESS:  fffffadcc100202a

    FAULTING_IP:
    nt!MmMapIoSpace+489
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  csrss.exe

    CURRENT_IRQL:  2

    TRAP_FRAME:  fffffadcc0376900 -- (.trap 0xfffffadcc0376900)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffff6fd6e5ec0f0 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffffadcc070b101 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80000ce2cae rsp=fffffadcc0376a90 rbp=0000000000000000
     r8=000000fffffff000  r9=0000000000000002 r10=0000000000000eff
    r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!MmMapIoSpace+0x489:
    fffff800`00ce2cae 668b4e1a        mov     cx,word ptr [rsi+1Ah] ds:b180:001a=????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff80000cd673e to fffff80000c26db0

    STACK_TEXT:
    fffffadc`c0376148
     fffff800`00cd673e : 00000000`00000008 fffffadc`c0376900
    fffffadc`c100202a fffff800`00c5669e : nt!DbgBreakPointWithStatus
    fffffadc`c0376150
     fffff800`00cd7d0e : fffff800`00000003 00000000`00000050
    fffffadc`c100202a 00000000`00000000 : nt!KiBugCheckDebugBreak+0x1e
    fffffadc`c03761b0
     fffff800`00c2ea54 : fffffadc`c0376830 fffffadc`00000004
    fffffadc`c0376c64 fffffadc`c0376c10 : nt!KeBugCheck2+0x640
    fffffadc`c03767f0
     fffff800`00ca58f2 : 00000000`00000050 fffffadc`c100202a
    00000000`00000000 fffffadc`c0376900 : nt!KeBugCheckEx+0x104
    fffffadc`c0376830
     fffff800`00c2d519 : 00000000`00000011 fffff800`00e9534b
    fffffadc`c0376900 fffffadc`c03769d0 : nt!MmAccessFault+0xa1f
    fffffadc`c0376900
     fffff800`00ce2cae : 00000000`0000087b 00000000`00000000
    fffffadc`c1000000 00000000`00000000 : nt!KiPageFault+0x119
    fffffadc`c0376a90
     fffffadc`be4a813e : fffffadc`00000001 00000000`00100000
    fffffadc`00000000 fffffa80`00677000 : nt!MmMapIoSpace+0x489
    fffffadc`c0376b60
     fffffadc`be4b28b3 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 :
    VIDEOPRT!pVideoPortInitializeInt10+0x4e
    fffffadc`c0376ba0
    fffff800`00e837c9 : fffffadc`e0511070 fffffadc`e03e69d0
    fffffadc`e0511070 fffff800`00e83170 : VIDEOPRT!pVideoPortDispatch+0xca3
    fffffadc`c0376cc0
     fffff800`00e81164 : fffffadc`e0511070 fffffadc`e0511020
    fffffadc`c0376ff0 00000000`00000000 : nt!IopParseDevice+0x1088
    fffffadc`c0376e70
     fffff800`00e85887 : 00000000`00000000 fffffadc`c0376fe0
    00000000`00000240 00000000`00000000 : nt!ObpLookupObjectName+0x931
    fffffadc`c0376f80
     fffff800`00e92e4d : 00000000`00000001 fffffadc`c03774e0
    00000000`00000001 fffff800`00c241ce : nt!ObOpenObjectByName+0x180
    fffffadc`c0377170
     fffff800`00e99ef7 : fffffa80`0066e4d0 fffff800`00c3c37e
    fffffa80`0066e4a0 00000000`00000500 : nt!IopCreateFile+0x630
    fffffadc`c0377300
     fffff800`00e958f9 : 00000000`00000000 fffffa80`00001c80
    fffffadc`dff1ac20 fffffadc`e0556750 : nt!IoCreateFile+0x12f
    fffffadc`c03773e0
     fffff800`00c2e3fd : fffffadc`e0556750 fffffadc`c03774e0
    00000000`00000000 00000000`00000000 : nt!NtOpenFile+0x49
    fffffadc`c0377460
     fffff800`00c2e8c0 : fffff800`00e7ec67 00000000`00000000
    000007ff`7c5c9620 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0377668
     fffff800`00e7ec67 : 00000000`00000000 000007ff`7c5c9620
    00000000`00000000 00000000`00000001 : nt!KiServiceLinkage
    fffffadc`c0377670
     fffff97f`ff008587 : 00000000`00000000 00000000`00000000
    00000000`00000001 00000000`00000000 : nt!IoGetDeviceObjectPointer+0x57
    fffffadc`c0377700
     fffff97f`ff00334d : 00000000`00000001 00000000`00000000
    00000000`00000003 00000000`00000001 :
    win32k!DrvUpdateGraphicsDeviceList+0x4ba
    fffffadc`c0377900
    fffff97f`ff008d8c : fffffadc`c0377a38 00000000`00000000
    00000000`01bc8000 00000000`00000000 : win32k!DrvInitConsole+0xd5
    fffffadc`c0377970
     fffff97f`ff00bb28 : 00000000`01bc8000 00000000`00000000
    00000000`00000003 00000000`00000000 : win32k!InitVideo+0xb
    fffffadc`c03779e0
     fffff97f`ff00b646 : 00000000`00000060 fffffadc`c0377cf0
    00000000`00000003 00000000`0000005c : win32k!UserInitialize+0x63c
    fffffadc`c0377c20
     fffff800`00c2e3fd : fffffadc`000001e0 00000000`00000001
    fffffadc`e0556750 00000000`00000020 : win32k!NtUserInitialize+0x15f
    fffffadc`c0377c70
     000007ff`7c7de86a : 000007ff`7c7deaa9 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!KiSystemServiceCopyEnd+0x3
    00000000`0015fbc8
     000007ff`7c7deaa9 : 00000000`001657f0 00000000`001657f0
    00000000`00000003 00000000`00000000 : winsrv!NtUserInitialize+0xa
    00000000`0015fbd0
     000007ff`7c5b3eb8 : 00000000`00000000 00000000`00000001
    00000000`001657f0 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fc50
    00000000`00000000 : 00000000`00000001 00000000`001657f0
    00000000`00000000 00000000`00100000 :
    CSRSRV!CsrUnhandledExceptionFilter+0x368

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    VIDEOPRT!pVideoPortInitializeInt10+4e
    fffffadc`be4a813e 4c8bcb          mov     r9,rbx

    SYMBOL_STACK_INDEX:  7

    SYMBOL_NAME:  VIDEOPRT!pVideoPortInitializeInt10+4e

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: VIDEOPRT

    IMAGE_NAME:  VIDEOPRT.SYS

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69799

    FAILURE_BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+4e

    Followup: MachineOwner
    ---------

    8: kd> lm
    start             end                 module name
    00000000`4a680000 00000000`4a686000   csrss      (deferred)
    00000000`77c20000 00000000`77d2c000   USER32     (deferred)
    00000000`77d40000
     00000000`77eb3000   KERNEL32   (pdb symbols)
    c:\symbols\kernel32.pdb\8600FA0E2CE1463C8CDD0CBC26A8D84C2\kernel32.pdb
    00000000`77ec0000
     00000000`77ff9000   ntdll      (pdb symbols)
    c:\symbols\ntdll.pdb\95DDB8CA2A5D4C0EBF9924339F14E4862\ntdll.pdb
    000007ff`7c5b0000 000007ff`7c5cd000   CSRSRV     (export symbols)       CSRSRV.dll
    000007ff`7c7b0000 000007ff`7c7c6000   basesrv    (deferred)
    000007ff`7c7d0000
     000007ff`7c851000   winsrv     (pdb symbols)
    c:\symbols\winsrv.pdb\3579A339B79745F482A2CD61E9A594CF2\winsrv.pdb
    000007ff`7fc90000 000007ff`7fd2b000   GDI32      (deferred)
    fffff800`00c00000
     fffff800`01090000   nt         (pdb symbols)
    c:\symbols\ntkrnlmp.pdb\03185083233249D9BB747EA777B80C982\ntkrnlmp.pdb
    fffff800`01090000 fffff800`010ee000   hal        (deferred)
    fffff97f`fd000000 fffff97f`fd028000   dxg        (deferred)
    fffff97f`ff000000
     fffff97f`ff45f000   win32k     (pdb symbols)
    c:\symbols\win32k.pdb\3E94FFC5B7B84E3999B1CB92A9B3B2372\win32k.pdb
    fffffadc`bd8b9000 fffffadc`bd986000   mrxsmb     (deferred)
    fffffadc`bd986000 fffffadc`bd9d7000   rdbss      (deferred)
    fffffadc`bd9d7000 fffffadc`bda24000   afd        (deferred)
    fffffadc`bda24000 fffffadc`bda7e000   netbt      (deferred)
    fffffadc`bda7e000 fffffadc`bdabc000   ipnat      (deferred)
    fffffadc`bdabc000 fffffadc`bdbb1000   tcpip      (deferred)
    fffffadc`bdbb1000 fffffadc`bdbdc000   ipsec      (deferred)
    fffffadc`bdbdc000 fffffadc`bdbf0000   Npfs       (deferred)
    fffffadc`bdd16000 fffffadc`bdd56000   portcls    (deferred)
    fffffadc`bdd56000 fffffadc`bdd80000   nvhda64    (deferred)
    fffffadc`bddc6000 fffffadc`bddda000   NDProxy    (deferred)
    fffffadc`be260000 fffffadc`be27b000   update     (deferred)
    fffffadc`be27b000 fffffadc`be291000   termdd     (deferred)
    fffffadc`be291000 fffffadc`be2e8000   rdpdr      (deferred)
    fffffadc`be2e8000 fffffadc`be2fe000   msgpc      (deferred)
    fffffadc`be2fe000 fffffadc`be31e000   psched     (deferred)
    fffffadc`be31e000 fffffadc`be341000   raspptp    (deferred)
    fffffadc`be341000 fffffadc`be355000   raspppoe   (deferred)
    fffffadc`be355000 fffffadc`be381000   ndiswan    (deferred)
    fffffadc`be381000 fffffadc`be3a7000   rasl2tp    (deferred)
    fffffadc`be3a7000 fffffadc`be3f0000   ks         (deferred)
    fffffadc`be3f0000 fffffadc`be40d000   i8042prt   (deferred)
    fffffadc`be40d000 fffffadc`be45e000   e1r51x64   (deferred)
    fffffadc`be45e000 fffffadc`be49c000   HDAudBus   (deferred)
    fffffadc`be49c000
     fffffadc`be4bf000   VIDEOPRT   (pdb symbols)
    c:\symbols\videoprt.pdb\A735567342A448C683C9DB1C8BEB2BEE1\videoprt.pdb
    fffffadc`be4bf000 fffffadc`befd4e00   nv4_mini   (deferred)
    fffffadc`bf7d5000 fffffadc`bf7e3000   kbdclass   (deferred)
    fffffadc`bf7e5000 fffffadc`bf7ee000   wmiacpi    (deferred)
    fffffadc`bf7f5000 fffffadc`bf803000   vga        (deferred)
    fffffadc`bf805000 fffffadc`bf80f000   RDPCDD     (deferred)
    fffffadc`bf815000 fffffadc`bf822000   mouclass   (deferred)
    fffffadc`bf855000 fffffadc`bf863000   dump_STORAHCI   (deferred)
    fffffadc`bfe76000 fffffadc`bfeaa000   Mup        (deferred)
    fffffadc`bfeaa000 fffffadc`bff10000   NDIS       (deferred)
    fffffadc`bff10000 fffffadc`bff44000   KSecDD     (deferred)
    fffffadc`bff44000 fffffadc`bff85000   Fastfat    (deferred)
    fffffadc`bff85000 fffffadc`bffa8000   sr         (deferred)
    fffffadc`bffa8000 fffffadc`bffe6000   fltMgr     (deferred)
    fffffadc`bffe6000 fffffadc`c0003000   CLASSPNP   (deferred)
    fffffadc`c0003000 fffffadc`c0018000   disk       (deferred)
    fffffadc`c0018000 fffffadc`c007b000   storport   (deferred)
    fffffadc`c007b000 fffffadc`c00c6000   volsnap    (deferred)
    fffffadc`c00c6000 fffffadc`c010d000   dmio       (deferred)
    fffffadc`c010d000 fffffadc`c014d000   ftdisk     (deferred)
    fffffadc`c014d000 fffffadc`c0163000   MountMgr   (deferred)
    fffffadc`c0163000 fffffadc`c0184000   pci        (deferred)
    fffffadc`c0184000 fffffadc`c01f2000   ACPI       (deferred)
    fffffadc`c02f3000 fffffadc`c0305000   intelppm   (deferred)
    fffffadc`c0306000 fffffadc`c0318000   wanarp     (deferred)
    fffffadc`c0319000 fffffadc`c032b000   netbios    (deferred)
    fffffadc`c032c000 fffffadc`c033e000   Fips       (deferred)
    fffffadc`c05fb000 fffffadc`c0605000   kdcom      (deferred)
    fffffadc`c060b000 fffffadc`c0614000   BOOTVID    (deferred)
    fffffadc`c061b000 fffffadc`c0624000   WMILIB     (deferred)
    fffffadc`c062b000 fffffadc`c0634000   isapnp     (deferred)
    fffffadc`c063b000 fffffadc`c064b000   PartMgr    (deferred)
    fffffadc`c064b000 fffffadc`c0659000   storahci   (deferred)
    fffffadc`c065b000 fffffadc`c0666000   crcdisk    (deferred)
    fffffadc`c073b000 fffffadc`c0745000   Fs_Rec     (deferred)
    fffffadc`c074b000 fffffadc`c0758000   Msfs       (deferred)
    fffffadc`c079b000 fffffadc`c07a5000   rasacd     (deferred)
    fffffadc`c07ab000 fffffadc`c07b6000   raspti     (deferred)
    fffffadc`c07bb000 fffffadc`c07c5000   mnmdd      (deferred)
    fffffadc`c07cb000 fffffadc`c07d7000   dump_diskdump   (deferred)
    fffffadc`c07eb000 fffffadc`c07f8000   ptilink    (deferred)
    fffffadc`c07fb000 fffffadc`c080a000   TDI        (deferred)
    fffffadc`c080b000 fffffadc`c0814000   watchdog   (deferred)
    fffffadc`c081b000 fffffadc`c0827000   Dxapi      (deferred)
    fffffadc`c084b000
     fffffadc`c0858000   mssmbios   (pdb symbols)
    c:\symbols\mssmbios.pdb\ECAD413A7E6C4AFEB52606D7E237C5411\mssmbios.pdb
    fffffadc`c085b000 fffffadc`c0865000   ndistapi   (deferred)
    fffffadc`c0873000 fffffadc`c087b000   audstub    (deferred)
    fffffadc`c087b000 fffffadc`c0883000   Null       (deferred)
    fffffadc`c09fb000 fffffadc`c0a02000   dmload     (deferred)
    fffffadc`c0b6e000 fffffadc`c0b73e80   ksthunk    (deferred)
    fffffadc`c0c32000 fffffadc`c0c39000   Beep       (deferred)
    fffffadc`c0db3000 fffffadc`c0db4400   swenum     (deferred)

    Unloaded modules:
    fffffadc`bd8a2000 fffffadc`bd8b9000   imapi.sys
    fffffadc`bd9c1000 fffffadc`bd9d7000   redbook.sys
    fffffadc`bd9b4000 fffffadc`bd9d7000   serial.sys
    fffffadc`bdc3b000 fffffadc`bdc56000   cdrom.sys
    fffffadc`c075b000 fffffadc`c0764000   Sfloppy.SYS
    fffffadc`c082b000 fffffadc`c0837000   Flpydisk.SYS
    fffffadc`c071b000 fffffadc`c0729000   Fdc.SYS

#2333

Andalu

The USB3.0 drivers modded work correctly on asrock B250M Pro4 with i5 6600 skylake and XP32 (including the USB 3.0 type-C port).
But I can obtain only a 'multiprocessor mps' system, so no ACPI and no multi-core. All the alternative options chosen during XP installation (by pressing F5 or F7 keys) are without ACPI mode or give me BSOD A5. In the updated bios, all the related options seem to be properly configured.
Can I try something else?

#2334 | infuscomus | ⇗ @Andalu have you tried the patched ACPI driver? ¶ Windows XP SP3 32bit and modern PC parts (149)

#2335

diderius6

I just renamed videoport.sys to videoOriport.sys.
But now it seems, that something is missing
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 11:03:40.531 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00dd5100
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection

    *** Fatal System Error: 0xc000021a
                                                 (0xFFFFFA80008CE2E0,0x00000000C0000034,0x0000000000000000,0x0000000000000000)

    STOP: c000021a {Fatal System Error}
    The Session Manager Initialization system process terminated unexpectedly with a status of 0xc0000034 (0x00000000 0x00000000).
    The system has been shut down.
    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 11:04:37.093 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ...............................................................
    .....
    Loading User Symbols

    Loading unloaded module list
    .........
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck C000021A, {fffffa80008ce2e0, c0000034, 0, 0}

    unable to get nt!KiCurrentEtwBufferOffset
    unable to get nt!KiCurrentEtwBufferBase
    Probably caused by : ntkrnlmp.exe ( nt!NtSetSystemPowerState+826 )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`00c26db0 cc              int     3
    2: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    WINLOGON_FATAL_ERROR (c000021a)
    The Winlogon process terminated unexpectedly.
    Arguments:
    Arg1: fffffa80008ce2e0, String that identifies the problem.
    Arg2: 00000000c0000034, Error Code.
    Arg3: 0000000000000000
    Arg4: 0000000000000000

    Debugging Details:
    ------------------

    unable to get nt!KiCurrentEtwBufferOffset
    unable to get nt!KiCurrentEtwBufferBase

    ERROR_CODE:
     (NTSTATUS) 0xc000021a - {Daten wurden nicht akzeptiert}  Der TDI-Client
     konnte die empfangenen Daten nicht verarbeiten.

    EXCEPTION_CODE:
    (NTSTATUS) 0xc000021a - {Daten wurden nicht akzeptiert}  Der TDI-Client
    konnte die empfangenen Daten nicht verarbeiten.

    EXCEPTION_PARAMETER1:  fffffa80008ce2e0

    EXCEPTION_PARAMETER2:  00000000c0000034

    EXCEPTION_PARAMETER3:  0000000000000000

    EXCEPTION_PARAMETER4: 0

    ADDITIONAL_DEBUG_TEXT:  Session Manager Initialization

    BUGCHECK_STR:  0xc000021a_smss.exe_c0000034

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    PROCESS_NAME:  System

    CURRENT_IRQL:  2

    LAST_CONTROL_TRANSFER:  from fffff80000cd673e to fffff80000c26db0

    STACK_TEXT:
    fffffadc`c0ae8148
     fffff800`00cd673e : 00000000`00000002 00000000`00000000
    00000000`00000001 fffff800`00c5669e : nt!DbgBreakPointWithStatus
    fffffadc`c0ae8150
     fffff800`00cd7d0e : fffffadc`00000003 00000000`ffff0025
    00000000`ffffffff 00000000`00000000 : nt!KiBugCheckDebugBreak+0x1e
    fffffadc`c0ae81b0
     fffff800`00c2ea54 : fffffadc`e0453408 fffff800`00fcac4a
    00000001`00060000 fffffadc`e06c7080 : nt!KeBugCheck2+0x640
    fffffadc`c0ae87f0
     fffff800`00fd5a8b : 00000000`0000004c 00000000`c000021a
    fffffadc`c0bf2608 fffffadc`e051f640 : nt!KeBugCheckEx+0x104
    fffffadc`c0ae8830
     fffff800`00fd96b1 : ffffffff`8000005c ffffffff`8000005c
    00000000`00000000 00000000`00000002 : nt!PopGracefulShutdown+0x32b
    fffffadc`c0ae88b0
     fffff800`00c2e3fd : fffffadc`00000004 fffff800`00000004
    fffffadc`e033e700 fffffadc`e20e77a0 : nt!NtSetSystemPowerState+0x826
    fffffadc`c0ae8a60
     fffff800`00c2e8c0 : fffff800`00f6c105 fffffadc`e20e77a0
    00000000`00000004 fffffadc`e20e7701 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0ae8bf8
     fffff800`00f6c105 : fffffadc`e20e77a0 00000000`00000004
    fffffadc`e20e7701 00000000`e0000004 : nt!KiServiceLinkage
    fffffadc`c0ae8c00
     fffff800`00f6be6e : 00000000`00000004 fffff800`00d19a90
    fffffadc`e20e77a0 00000000`00000002 : nt!PopIssueActionRequest+0x85
    fffffadc`c0ae8c60
     fffff800`00d19b48 : fffffadc`e0632020 fffff800`00fc2d20
    ffffffff`ff676980 00000000`00000002 : nt!PopPolicyWorkerAction+0x6e
    fffffadc`c0ae8ca0
     fffff800`00c3768a : 00000000`00000000 d14de0c1`83d94500
    fffff800`00dd2720 fffff800`00dce9d8 : nt!PopPolicyWorkerThread+0xb9
    fffffadc`c0ae8d00
     fffff800`00e4b972 : fffffadc`e20e77a0 00000000`00000080
    fffffadc`e20e77a0 fffffadc`c0683680 : nt!ExpWorkerThread+0x13b
    fffffadc`c0ae8d70
     fffff800`00c202d6 : fffffadc`c067b180 fffffadc`e20e77a0
    fffffadc`c0683680 00000000`00000000 : nt!PspSystemThreadStartup+0x3e
    fffffadc`c0ae8dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    nt!NtSetSystemPowerState+826
    fffff800`00fd96b1 cc              int     3

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  nt!NtSetSystemPowerState+826

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: nt

    IMAGE_NAME:  ntkrnlmp.exe

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d69ab4

    FAILURE_BUCKET_ID:  X64_0xc000021a_smss.exe_c0000034_nt!NtSetSystemPowerState+826

    BUCKET_ID:  X64_0xc000021a_smss.exe_c0000034_nt!NtSetSystemPowerState+826

    Followup: MachineOwner
    ---------

    2: kd> lm
    start             end                 module name
    fffff800`00c00000
     fffff800`01090000   nt         (pdb symbols)
    c:\symbols\ntkrnlmp.pdb\03185083233249D9BB747EA777B80C982\ntkrnlmp.pdb
    fffff800`01090000 fffff800`010ee000   hal        (deferred)
    fffffadc`b9b44000 fffffadc`b9c11000   mrxsmb     (deferred)
    fffffadc`b9c11000 fffffadc`b9c62000   rdbss      (deferred)
    fffffadc`b9c62000 fffffadc`b9caf000   afd        (deferred)
    fffffadc`b9caf000 fffffadc`b9d09000   netbt      (deferred)
    fffffadc`b9d09000 fffffadc`b9d47000   ipnat      (deferred)
    fffffadc`b9d47000 fffffadc`b9e3c000   tcpip      (deferred)
    fffffadc`b9e3c000 fffffadc`b9e67000   ipsec      (deferred)
    fffffadc`b9e67000 fffffadc`b9e7b000   Npfs       (deferred)
    fffffadc`bd6ef000 fffffadc`bd703000   NDProxy    (deferred)
    fffffadc`bd703000 fffffadc`bd743000   portcls    (deferred)
    fffffadc`bd743000 fffffadc`bd76d000   nvhda64    (deferred)
    fffffadc`be283000 fffffadc`be29e000   update     (deferred)
    fffffadc`be29e000 fffffadc`be2b4000   termdd     (deferred)
    fffffadc`be2b4000 fffffadc`be30b000   rdpdr      (deferred)
    fffffadc`be30b000 fffffadc`be321000   msgpc      (deferred)
    fffffadc`be321000 fffffadc`be341000   psched     (deferred)
    fffffadc`be341000 fffffadc`be364000   raspptp    (deferred)
    fffffadc`be364000 fffffadc`be378000   raspppoe   (deferred)
    fffffadc`be378000 fffffadc`be3a4000   ndiswan    (deferred)
    fffffadc`be3a4000 fffffadc`be3ca000   rasl2tp    (deferred)
    fffffadc`be3ca000 fffffadc`be413000   ks         (deferred)
    fffffadc`be413000 fffffadc`be430000   i8042prt   (deferred)
    fffffadc`be430000 fffffadc`be481000   e1r51x64   (deferred)
    fffffadc`be481000 fffffadc`be4bf000   HDAudBus   (deferred)
    fffffadc`bf7d5000 fffffadc`bf7df000   rasacd     (deferred)
    fffffadc`bf805000
     fffffadc`bf812000   mssmbios   (pdb symbols)
    c:\symbols\mssmbios.pdb\ECAD413A7E6C4AFEB52606D7E237C5411\mssmbios.pdb
    fffffadc`bf845000 fffffadc`bf84e000   wmiacpi    (deferred)
    fffffadc`bfe76000 fffffadc`bfeaa000   Mup        (deferred)
    fffffadc`bfeaa000 fffffadc`bff10000   NDIS       (deferred)
    fffffadc`bff10000 fffffadc`bff44000   KSecDD     (deferred)
    fffffadc`bff44000 fffffadc`bff85000   Fastfat    (deferred)
    fffffadc`bff85000 fffffadc`bffa8000   sr         (deferred)
    fffffadc`bffa8000 fffffadc`bffe6000   fltMgr     (deferred)
    fffffadc`bffe6000 fffffadc`c0003000   CLASSPNP   (deferred)
    fffffadc`c0003000 fffffadc`c0018000   disk       (deferred)
    fffffadc`c0018000 fffffadc`c007b000   storport   (deferred)
    fffffadc`c007b000 fffffadc`c00c6000   volsnap    (deferred)
    fffffadc`c00c6000 fffffadc`c010d000   dmio       (deferred)
    fffffadc`c010d000 fffffadc`c014d000   ftdisk     (deferred)
    fffffadc`c014d000 fffffadc`c0163000   MountMgr   (deferred)
    fffffadc`c0163000 fffffadc`c0184000   pci        (deferred)
    fffffadc`c0184000 fffffadc`c01f2000   ACPI       (deferred)
    fffffadc`c02f3000 fffffadc`c0305000   intelppm   (deferred)
    fffffadc`c0306000 fffffadc`c0318000   wanarp     (deferred)
    fffffadc`c0319000 fffffadc`c032b000   netbios    (deferred)
    fffffadc`c032c000 fffffadc`c033e000   Fips       (deferred)
    fffffadc`c05fb000 fffffadc`c0605000   kdcom      (deferred)
    fffffadc`c060b000 fffffadc`c0614000   BOOTVID    (deferred)
    fffffadc`c061b000 fffffadc`c0624000   WMILIB     (deferred)
    fffffadc`c062b000 fffffadc`c0634000   isapnp     (deferred)
    fffffadc`c063b000 fffffadc`c064b000   PartMgr    (deferred)
    fffffadc`c064b000 fffffadc`c0659000   storahci   (deferred)
    fffffadc`c065b000 fffffadc`c0666000   crcdisk    (deferred)
    fffffadc`c074b000 fffffadc`c0755000   ndistapi   (deferred)
    fffffadc`c076b000 fffffadc`c077a000   TDI        (deferred)
    fffffadc`c078b000 fffffadc`c0799000   kbdclass   (deferred)
    fffffadc`c07bb000 fffffadc`c07c6000   raspti     (deferred)
    fffffadc`c07db000 fffffadc`c07e8000   ptilink    (deferred)
    fffffadc`c082b000 fffffadc`c0838000   Msfs       (deferred)
    fffffadc`c083b000 fffffadc`c0845000   Fs_Rec     (deferred)
    fffffadc`c084b000 fffffadc`c0858000   mouclass   (deferred)
    fffffadc`c087b000 fffffadc`c0883000   audstub    (deferred)
    fffffadc`c0883000 fffffadc`c088b000   Null       (deferred)
    fffffadc`c09fb000 fffffadc`c0a02000   dmload     (deferred)
    fffffadc`c0b6e000 fffffadc`c0b73e80   ksthunk    (deferred)
    fffffadc`c0bd7000 fffffadc`c0bde000   Beep       (deferred)
    fffffadc`c0db3000 fffffadc`c0db4400   swenum     (deferred)

    Unloaded modules:
    fffffadc`c073b000 fffffadc`c0747000   dump_storport.sys
    fffffadc`bf835000 fffffadc`bf843000   dump_STORAHCI.sys
    fffffadc`b9b2d000 fffffadc`b9b44000   imapi.sys
    fffffadc`b9c4c000 fffffadc`b9c62000   redbook.sys
    fffffadc`b9c3f000 fffffadc`b9c62000   serial.sys
    fffffadc`b9f00000 fffffadc`b9f1b000   cdrom.sys
    fffffadc`c071b000 fffffadc`c0724000   Sfloppy.SYS
    fffffadc`bf855000 fffffadc`bf861000   Flpydisk.SYS
    fffffadc`bf7f5000 fffffadc`bf803000   Fdc.SYS

#2336 | Andalu | ⇗ @infuscomus Sure, I attached the HDD on another machine to copy ACPI.sys in the system32\drivers folder.

#2337

diderius6

Now I changed ntoskrnl.exe, hal.dll, videoport.sys against their DEBUG version.
So, this is the best output, what windbg gives you.
The problem is at the same part in videoport.sys
Dietmar
PS: I have no idea how to hack this. May be it can be done )!

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 11:24:22.968 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00fd1fd0
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection
    VideoPort: This is an ACPI Machine !

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    HAL: RTC interrupt flag is not cleared by first read.

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    RTC Status Register C = 0xc0

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    HAL: RTC interrupt flag is not cleared by first read.

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    RTC Status Register C = 0xd0

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    HAL: RTC interrupt flag is not cleared by first read.

    *** Assertion failed: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))
    ***   Source File: d:\nt\base\ntos\mm\iosup.c, line 9066

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    RTC Status Register C = 0xc0

    *** Fatal System Error: 0x00000050
                                                 (0xFFFFFADCC1002028,0x0000000000000000,0xFFFFF80000C90624,0x0000000000000000)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 11:26:03.078 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ...............................................................
    ................
    Loading User Symbols
    ........
    Loading unloaded module list
    .......
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 50, {fffffadcc1002028, 0, fffff80000c90624, 0}

    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for CSRSRV.dll -
    Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+52 )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    fffff800`00da02e0 cc              int     3
    8: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: fffffadcc1002028, memory referenced.
    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
    Arg3: fffff80000c90624, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 0000000000000000, (reserved)

    Debugging Details:
    ------------------

    READ_ADDRESS:  fffffadcc1002028

    FAULTING_IP:
    nt!MmMapIoSpace+564
    fffff800`00c90624 6641837d1800    cmp     word ptr [r13+18h],0

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  CSRSS.EXE

    CURRENT_IRQL:  2

    TRAP_FRAME:  fffffadcc03768f0 -- (.trap 0xfffffadcc03768f0)
    NOTE: The trap frame does not contain all registers.
    Some register values may be zeroed or incorrect.
    rax=fffffadcc0370007 rbx=0000000000000000 rcx=fffff8000109ec2c
    rdx=0000000000000006 rsi=0000000000000000 rdi=0000000000000000
    rip=fffff80000c90624 rsp=fffffadcc0376a80 rbp=0000000000000000
     r8=0000000000000007  r9=0000000081c031b5 r10=fffff80000f5e948
    r11=0000000000000008 r12=0000000000000000 r13=0000000000000000
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    nt!MmMapIoSpace+0x564:
    fffff800`00c90624 6641837d1800    cmp     word ptr [r13+18h],0 ds:000f:0018=????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff80000c5d707 to fffff80000da02e0

    STACK_TEXT:
    fffffadc`c0376108
     fffff800`00c5d707 : 00000000`40000082 00000000`00000050
    00000000`00000008 fffffadc`c03768f0 : nt!RtlpBreakWithStatusInstruction
    fffffadc`c0376110
     fffff800`00c5e9a0 : fffff800`00000003 00000000`00000050
    fffffadc`c1002028 00000000`00000000 : nt!KiBugCheckDebugBreak+0x17
    fffffadc`c0376180
     fffff800`00d97144 : 00000000`00000050 fffffadc`c1002028
    00000000`00000000 fffffadc`c03768f0 : nt!KeBugCheck2+0x630
    fffffadc`c03767c0
     fffff800`00d3982d : 00000000`00000050 fffffadc`c1002028
    00000000`00000000 fffffadc`c03768f0 : nt!KeBugCheckEx+0x104
    fffffadc`c0376800
     fffff800`00da5059 : 00000000`00000000 fffffadc`c1002028
    00000000`00000100 fffffadc`c03768f0 : nt!MmAccessFault+0x162d
    fffffadc`c03768f0
     fffff800`00c90624 : fffff800`00000000 fffff800`00000007
    fffff800`00f5e948 fffffadc`c0376ae0 : nt!KiPageFault+0x119
    fffffadc`c0376a80
     fffffadc`be3ad212 : 00000000`00000000 00000000`00100000
    fffffadc`00000000 fffffadc`be3a2950 : nt!MmMapIoSpace+0x564
    fffffadc`c0376b70
     fffffadc`be3bbc42 : fffffadc`def751d0 fffffadc`be3c7460
    00000000`00000000 fffff780`00000008 :
    VIDEOPRT!pVideoPortInitializeInt10+0x52
    fffffadc`c0376bc0
    fffff800`010bb08a : fffffadc`def75080 fffffadc`dfc72cf0
    fffffadc`c0376e00 fffff800`00000000 : VIDEOPRT!pVideoPortDispatch+0xf32
    fffffadc`c0376cf0
     fffff800`0114d53b : fffffadc`def75080 00000000`00000000
    fffffadc`c0377010 fffffa80`009d8f00 : nt!IopParseDevice+0x13ca
    fffffadc`c0376e70
     fffff800`01153e47 : 00000000`00000000 fffffadc`c0377000
    fffffadc`00000200 00000000`00000000 : nt!ObpLookupObjectName+0xacb
    fffffadc`c0376f90
     fffff800`0109f329 : fffffadc`c03776c0 00000000`00000000
    fffff800`010a0400 00000000`00000000 : nt!ObOpenObjectByName+0x257
    fffffadc`c0377190
     fffff800`0109ec2c : fffffadc`c03776a0 fffffa80`00000000
    fffffadc`c03776c0 fffffadc`c03776b0 : nt!IopCreateFile+0x599
    fffffadc`c0377300
     fffff800`010ab16f : fffffadc`c03776a0 fffff800`00000000
    fffffadc`c03776c0 fffffadc`c03776b0 : nt!IoCreateFile+0x1bc
    fffffadc`c03773e0
     fffff800`00da5f43 : fffffadc`c03776a0 fffff800`00000000
    fffffadc`c03776c0 fffffadc`c03776b0 : nt!NtOpenFile+0xaf
    fffffadc`c0377460
     fffff800`00da63c0 : fffff800`010a0577 fffffadc`c03776a0
    00000000`00000000 fffffadc`c03776c0 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0377668
     fffff800`010a0577 : fffffadc`c03776a0 00000000`00000000
    fffffadc`c03776c0 fffffadc`c03776b0 : nt!KiServiceLinkage
    fffffadc`c0377670
     fffff97f`ff008587 : fffffadc`c0377850 fffffadc`00000000
    fffffadc`c0377780 fffffadc`c0377770 : nt!IoGetDeviceObjectPointer+0xa7
    fffffadc`c0377700
     fffff97f`ff00334d : 00000000`00000001 00000000`00000000
    00000000`00000003 00000000`00000001 :
    win32k!DrvUpdateGraphicsDeviceList+0x4ba
    fffffadc`c0377900
    fffff97f`ff008d8c : fffffadc`df44b9e0 00000000`00000000
    00000000`01bc8000 00000000`00000000 : win32k!DrvInitConsole+0xd5
    fffffadc`c0377970
     fffff97f`ff00bb28 : fffffa80`008b0e10 fffff97f`fcff0b80
    fffffadc`c0377a38 fffffadc`c0377a78 : win32k!InitVideo+0xb
    fffffadc`c03779e0
     fffff97f`ff00b646 : 00000000`00000154 fffffadc`c0377cf0
    00000000`00000003 00000000`00000150 : win32k!UserInitialize+0x63c
    fffffadc`c0377c20
     fffff800`00da5f43 : 00000000`00000001 00000000`0015fa40
    fffffadc`df0e65f0 00000000`00000020 : win32k!NtUserInitialize+0x15f
    fffffadc`c0377c70
     000007ff`7c7de86a : 000007ff`7c7deaa9 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!KiSystemServiceCopyEnd+0x3
    00000000`0015fbc8
     000007ff`7c7deaa9 : 00000000`001657f0 00000000`001657f0
    00000000`00000003 00000000`00000000 : winsrv!NtUserInitialize+0xa
    00000000`0015fbd0
     000007ff`7c5b3eb8 : 00000000`00000000 00000000`00000001
    00000000`001657f0 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fc50
    00000000`00000000 : 00000000`00000001 00000000`001657f0
    00000000`00000000 00000000`00100000 :
    CSRSRV!CsrUnhandledExceptionFilter+0x368

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    VIDEOPRT!pVideoPortInitializeInt10+52
    fffffadc`be3ad212 4885c0          test    rax,rax

    SYMBOL_STACK_INDEX:  7

    SYMBOL_NAME:  VIDEOPRT!pVideoPortInitializeInt10+52

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: VIDEOPRT

    IMAGE_NAME:  VIDEOPRT.SYS

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d70045

    FAILURE_BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+52

    BUCKET_ID:  X64_0x50_VIDEOPRT!pVideoPortInitializeInt10+52

    Followup: MachineOwner
    ---------

    8: kd> lm
    start             end                 module name
    00000000`4a680000 00000000`4a686000   csrss      (deferred)
    00000000`77c20000 00000000`77d2c000   USER32     (deferred)
    00000000`77d40000
     00000000`77eb3000   KERNEL32   (pdb symbols)
    c:\symbols\kernel32.pdb\8600FA0E2CE1463C8CDD0CBC26A8D84C2\kernel32.pdb
    00000000`77ec0000
     00000000`77ff9000   ntdll      (pdb symbols)
    c:\symbols\ntdll.pdb\95DDB8CA2A5D4C0EBF9924339F14E4862\ntdll.pdb
    000007ff`7c5b0000 000007ff`7c5cd000   CSRSRV     (export symbols)       CSRSRV.dll
    000007ff`7c7b0000 000007ff`7c7c6000   basesrv    (deferred)
    000007ff`7c7d0000
     000007ff`7c851000   winsrv     (pdb symbols)
    c:\symbols\winsrv.pdb\3579A339B79745F482A2CD61E9A594CF2\winsrv.pdb
    000007ff`7fc90000 000007ff`7fd2b000   GDI32      (deferred)
    fffff800`00c00000
     fffff800`01354000   nt         (pdb symbols)
    c:\symbols\ntkrnlmp.pdb\61159976B2E549B2B431DC7329C4B4B51\ntkrnlmp.pdb
    fffff800`01354000 fffff800`013ba000   hal        (deferred)
    fffff97f`fd000000 fffff97f`fd028000   dxg        (deferred)
    fffff97f`ff000000
     fffff97f`ff45f000   win32k     (pdb symbols)
    c:\symbols\win32k.pdb\3E94FFC5B7B84E3999B1CB92A9B3B2372\win32k.pdb
    fffffadc`bd8a0000 fffffadc`bd96d000   mrxsmb     (deferred)
    fffffadc`bd96d000 fffffadc`bd9be000   rdbss      (deferred)
    fffffadc`bd9be000 fffffadc`bda0b000   afd        (deferred)
    fffffadc`bda0b000 fffffadc`bda65000   netbt      (deferred)
    fffffadc`bda65000 fffffadc`bdaa3000   ipnat      (deferred)
    fffffadc`bdaa3000 fffffadc`bdb98000   tcpip      (deferred)
    fffffadc`bdb98000 fffffadc`bdbc3000   ipsec      (deferred)
    fffffadc`bdbc3000 fffffadc`bdbd7000   Npfs       (deferred)
    fffffadc`bdc5d000 fffffadc`bdc9d000   portcls    (deferred)
    fffffadc`bdc9d000 fffffadc`bdcc7000   nvhda64    (deferred)
    fffffadc`bdcc7000 fffffadc`bdcdb000   NDProxy    (deferred)
    fffffadc`be161000 fffffadc`be17c000   update     (deferred)
    fffffadc`be17c000 fffffadc`be192000   termdd     (deferred)
    fffffadc`be192000 fffffadc`be1e9000   rdpdr      (deferred)
    fffffadc`be1e9000 fffffadc`be1ff000   msgpc      (deferred)
    fffffadc`be1ff000 fffffadc`be21f000   psched     (deferred)
    fffffadc`be21f000 fffffadc`be242000   raspptp    (deferred)
    fffffadc`be242000 fffffadc`be256000   raspppoe   (deferred)
    fffffadc`be256000 fffffadc`be282000   ndiswan    (deferred)
    fffffadc`be282000 fffffadc`be2a8000   rasl2tp    (deferred)
    fffffadc`be2a8000 fffffadc`be2f1000   ks         (deferred)
    fffffadc`be2f1000 fffffadc`be30e000   i8042prt   (deferred)
    fffffadc`be30e000 fffffadc`be35f000   e1r51x64   (deferred)
    fffffadc`be35f000 fffffadc`be39d000   HDAudBus   (deferred)
    fffffadc`be39d000
     fffffadc`be3cf000   VIDEOPRT   (pdb symbols)
    c:\symbols\videoprt.pdb\49E376C44D0944CF8DA5E04E57F0BE071\videoprt.pdb
    fffffadc`be447000 fffffadc`bef5ce00   nv4_mini   (deferred)
    fffffadc`bef5d000 fffffadc`bef66000   watchdog   (deferred)
    fffffadc`bef6d000 fffffadc`bef79000   Dxapi      (deferred)
    fffffadc`bef9d000 fffffadc`befab000   kbdclass   (deferred)
    fffffadc`befbd000 fffffadc`befc7000   ndistapi   (deferred)
    fffffadc`befcd000 fffffadc`befd6000   wmiacpi    (deferred)
    fffffadc`befed000 fffffadc`beffc000   TDI        (deferred)
    fffffadc`bf76c000 fffffadc`bf77a000   dump_STORAHCI   (deferred)
    fffffadc`bf783000
     fffffadc`bf790000   mssmbios   (pdb symbols)
    c:\symbols\mssmbios.pdb\ECAD413A7E6C4AFEB52606D7E237C5411\mssmbios.pdb
    fffffadc`bf7df000 fffffadc`bf7e9000   Fs_Rec     (deferred)
    fffffadc`bf7ff000 fffffadc`bf80b000   dump_diskdump   (deferred)
    fffffadc`bfe76000 fffffadc`bfeaa000   Mup        (deferred)
    fffffadc`bfeaa000 fffffadc`bff10000   NDIS       (deferred)
    fffffadc`bff10000 fffffadc`bff44000   KSecDD     (deferred)
    fffffadc`bff44000 fffffadc`bff85000   Fastfat    (deferred)
    fffffadc`bff85000 fffffadc`bffa8000   sr         (deferred)
    fffffadc`bffa8000 fffffadc`bffe6000   fltMgr     (deferred)
    fffffadc`bffe6000 fffffadc`c0003000   CLASSPNP   (deferred)
    fffffadc`c0003000 fffffadc`c0018000   disk       (deferred)
    fffffadc`c0018000 fffffadc`c007b000   storport   (deferred)
    fffffadc`c007b000 fffffadc`c00c6000   volsnap    (deferred)
    fffffadc`c00c6000 fffffadc`c010d000   dmio       (deferred)
    fffffadc`c010d000 fffffadc`c014d000   ftdisk     (deferred)
    fffffadc`c014d000 fffffadc`c0163000   MountMgr   (deferred)
    fffffadc`c0163000 fffffadc`c0184000   pci        (deferred)
    fffffadc`c0184000 fffffadc`c01f2000   ACPI       (deferred)
    fffffadc`c02f3000 fffffadc`c0305000   intelppm   (deferred)
    fffffadc`c0306000 fffffadc`c0318000   wanarp     (deferred)
    fffffadc`c0319000 fffffadc`c032b000   netbios    (deferred)
    fffffadc`c032c000 fffffadc`c033e000   Fips       (deferred)
    fffffadc`c05fb000 fffffadc`c0605000   kdcom      (deferred)
    fffffadc`c060b000 fffffadc`c0614000   BOOTVID    (deferred)
    fffffadc`c061b000 fffffadc`c0624000   WMILIB     (deferred)
    fffffadc`c062b000 fffffadc`c0634000   isapnp     (deferred)
    fffffadc`c063b000 fffffadc`c064b000   PartMgr    (deferred)
    fffffadc`c064b000 fffffadc`c0659000   storahci   (deferred)
    fffffadc`c065b000 fffffadc`c0666000   crcdisk    (deferred)
    fffffadc`c071b000 fffffadc`c0725000   mnmdd      (deferred)
    fffffadc`c078b000 fffffadc`c0798000   mouclass   (deferred)
    fffffadc`c079b000 fffffadc`c07a9000   vga        (deferred)
    fffffadc`c07cb000 fffffadc`c07d8000   Msfs       (deferred)
    fffffadc`c081b000 fffffadc`c0825000   RDPCDD     (deferred)
    fffffadc`c082b000 fffffadc`c0836000   raspti     (deferred)
    fffffadc`c084b000 fffffadc`c0855000   rasacd     (deferred)
    fffffadc`c085b000 fffffadc`c0868000   ptilink    (deferred)
    fffffadc`c0873000 fffffadc`c087b000   audstub    (deferred)
    fffffadc`c087b000 fffffadc`c0883000   Null       (deferred)
    fffffadc`c09fb000 fffffadc`c0a02000   dmload     (deferred)
    fffffadc`c0bad000 fffffadc`c0bb2e80   ksthunk    (deferred)
    fffffadc`c0c63000 fffffadc`c0c6a000   Beep       (deferred)
    fffffadc`c0db5000 fffffadc`c0db6400   swenum     (deferred)

    Unloaded modules:
    fffffadc`bd889000 fffffadc`bd8a0000   imapi.sys
    fffffadc`bd9a8000 fffffadc`bd9be000   redbook.sys
    fffffadc`bd99b000 fffffadc`bd9be000   serial.sys
    fffffadc`bdbdc000 fffffadc`bdbf7000   cdrom.sys
    fffffadc`c076b000 fffffadc`c0774000   Sfloppy.SYS
    fffffadc`c075b000 fffffadc`c0767000   Flpydisk.SYS
    fffffadc`c07eb000 fffffadc`c07f9000   Fdc.SYS

#2338

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2337

> PS: I have no idea how to hack this. May be it can be done )!

    mov     dword ptr [rsp+38h+PhysicalAddress], 0
    ....
    xor     eax, eax
    mov     dword ptr [rsp+38h+PhysicalAddress+4], eax
    mov     rcx, qword ptr [rsp+38h+PhysicalAddress] ; PhysicalAddress
    mov     edx, 100000h    ; NumberOfBytes
    call    cs:__imp_MmMapIoSpace <-  ERROR !

it try to map memory at PHYSICAL adress at 0x0000000 with length = 1Megabyte (low DOS memory range) to be accessable to kernel
if csm is ON this error shouldn't be

#2339

Gelip

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #2331

> probably error in next proc, pVideoPortInitializeInt10

Probably yes because on VMware in 6021 (EFI bios) binres in VGA rom module DC9E5943-0EB5-42C6-8F43-B081A91DF78E there is some INT10 routine that is not in the memory under C000 in WinXP:
⇗

#2340

Gelip

I test ASUS. If in bios set VGA priority to PCI (i have not PCI card in slot PCI only iGPU integrated in CPU i3) and disable CSM then no error VIDEOPORT.SYS in WinDbg while boot WinXP x64 but instead, the OS auto restarts and bios display info:
The VGA card is not supported by UEFI driver.

## Page 157

#2341 | Gelip | @diderius Are you testing with graphics cards that have GOP firmware?
#2342 | diderius6 | ⇗ @Gelip Yes, but yesterday I tested on the Giga H110 board also without the nvidia card GT 730 hangs also Dietmar
#2343 | Gelip | @diderius Have you tested running WinXP x64 under UEFI with a GOP card and with the NVIDIA drivers installed for WinXP x64 ???
#2344 | diderius6 | ⇗ @Gelip yes ) Dietmar
#2345 | Gelip | @diderius This means that the GOP card will not help :-( In that case, I will not buy a card that has GOP firmware.

#2346

infuscomus

⇗ @diderius6
videoprt.sys from vista beta 5048 x86 and x64 again matches imports from XP - can you test if it works OK with XP?
EDIT:
oops! watchdog.sys has several missing imports
watchdog.sys 5048 missing 1 import - KdRefreshDebuggerNotPresent (can this import be removed without breaking it?)
EDIT2:
I was dumb and was looking at x86 versions, not x64
x64 versions seem to not have any missing imports

#2347

diderius6

⇗ @infuscomus
I just copy the videoprt.sys from 5048 64 bit to the harddsik Windows\system32\drivers
But now comes the same error as if no videoprt.sys is there and it is also not listed under the loaded modules
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 13:59:20.250 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Checked x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00fd1fd0
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    KDTARGET: Refreshing KD connection
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    PipCallDriverAddDevice:			Ignoring driver load failure (status = c000026c) until user-mode PnPMgr comes online
    HALACPI:  The BIOS wants the OS to preserve 3ae000 bytes

    *** Fatal System Error: 0xc000021a
                                                 (0xFFFFFA80007096B0,0x00000000C0000263,0x0000000000000000,0x0000000000000000)

    STOP: c000021a {Fatal System Error}
    The Session Manager Initialization system process terminated unexpectedly with a status of 0xc0000263 (0x00000000 0x00000000).
    The system has been shut down.
    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 14:00:54.906 2019 (UTC + 2:00)), ptr64 TRUE
    Loading Kernel Symbols
    ...............................................................
    ......
    Loading User Symbols

    Loading unloaded module list
    .........
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck C000021A, {fffffa80007096b0, c0000263, 0, 0}

    unable to get nt!KiCurrentEtwBufferOffset
    unable to get nt!KiCurrentEtwBufferBase
    Probably caused by : ntkrnlmp.exe ( nt!NtSetSystemPowerState+958 )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    fffff800`00da02e0 cc              int     3
    2: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    WINLOGON_FATAL_ERROR (c000021a)
    The Winlogon process terminated unexpectedly.
    Arguments:
    Arg1: fffffa80007096b0, String that identifies the problem.
    Arg2: 00000000c0000263, Error Code.
    Arg3: 0000000000000000
    Arg4: 0000000000000000

    Debugging Details:
    ------------------

    unable to get nt!KiCurrentEtwBufferOffset
    unable to get nt!KiCurrentEtwBufferBase

    ERROR_CODE:
     (NTSTATUS) 0xc000021a - {Daten wurden nicht akzeptiert}  Der TDI-Client
     konnte die empfangenen Daten nicht verarbeiten.

    EXCEPTION_CODE:
    (NTSTATUS) 0xc000021a - {Daten wurden nicht akzeptiert}  Der TDI-Client
    konnte die empfangenen Daten nicht verarbeiten.

    EXCEPTION_PARAMETER1:  fffffa80007096b0

    EXCEPTION_PARAMETER2:  00000000c0000263

    EXCEPTION_PARAMETER3:  0000000000000000

    EXCEPTION_PARAMETER4: 0

    ADDITIONAL_DEBUG_TEXT:  Session Manager Initialization

    BUGCHECK_STR:  0xc000021a_smss.exe_c0000263

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    PROCESS_NAME:  System

    CURRENT_IRQL:  2

    LAST_CONTROL_TRANSFER:  from fffff80000c5d707 to fffff80000da02e0

    STACK_TEXT:
    fffffadc`c0ae8108
     fffff800`00c5d707 : 00000000`40000082 00000000`0000004c
    00000000`00000002 00000000`00000000 : nt!RtlpBreakWithStatusInstruction
    fffffadc`c0ae8110
     fffff800`00c5e9a0 : fffffadc`00000003 00000000`ffff0025
    00000000`ffffffff 00000000`00000000 : nt!KiBugCheckDebugBreak+0x17
    fffffadc`c0ae8180
     fffff800`00d97144 : 00000000`0000004c 00000000`c000021a
    fffffadc`c0c1c600 fffffadc`df5293c0 : nt!KeBugCheck2+0x630
    fffffadc`c0ae87c0
     fffff800`0126883c : 00000000`0000004c 00000000`c000021a
    fffffadc`c0c1c600 fffffadc`df5293c0 : nt!KeBugCheckEx+0x104
    fffffadc`c0ae8800
     fffff800`0126c4d8 : 00000000`00000000 fffffadc`00000000
    fffff800`00000005 fffffadc`c0ae88a8 : nt!PopGracefulShutdown+0x48c
    fffffadc`c0ae8860
     fffff800`00da5f43 : 00000000`00000004 fffffadc`00000004
    00000000`e0000004 00000000`00000200 : nt!NtSetSystemPowerState+0x958
    fffffadc`c0ae8a00
     fffff800`00da63c0 : fffff800`0116210b 00000000`00000004
    00000000`00000004 00000000`e0000004 : nt!KiSystemServiceCopyEnd+0x3
    fffffadc`c0ae8b98
     fffff800`0116210b : 00000000`00000004 00000000`00000004
    00000000`e0000004 00000000`c0000004 : nt!KiServiceLinkage
    fffffadc`c0ae8ba0
     fffff800`01161d35 : fffffadc`c067b700 fffffadc`00000004
    00000000`00000004 fffff800`c0000004 : nt!PopIssueActionRequest+0x8b
    fffffadc`c0ae8c20
     fffff800`00d69725 : 00000000`00000000 00000000`00000000
    00000000`00000000 fffffadc`df14d2c0 : nt!PopPolicyWorkerAction+0x45
    fffffadc`c0ae8c70
     fffff800`00d8a634 : 00000000`80000000 0deb47b9`d31cfa01
    00000000`00000000 4dfb07a9`930cba46 : nt!PopPolicyWorkerThread+0x185
    fffffadc`c0ae8ce0
     fffff800`011762de : 00000000`00000001 f2af5786`1df48971
    5856ccd3`e5b9b72d 7854ecf1`c5bb972f : nt!ExpWorkerThread+0x194
    fffffadc`c0ae8d70
     fffff800`00d9fe96 : fffff800`00d8a4a0 00000000`00000001
    fffff800`011762a0 8ae10682`5e442fc8 : nt!PspSystemThreadStartup+0x3e
    fffffadc`c0ae8dd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!KxStartSystemThread+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    nt!NtSetSystemPowerState+958
    fffff800`0126c4d8 cc              int     3

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  nt!NtSetSystemPowerState+958

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: nt

    IMAGE_NAME:  ntkrnlmp.exe

    DEBUG_FLR_IMAGE_TIMESTAMP:  45d70b7b

    FAILURE_BUCKET_ID:  X64_0xc000021a_smss.exe_c0000263_nt!NtSetSystemPowerState+958

    BUCKET_ID:  X64_0xc000021a_smss.exe_c0000263_nt!NtSetSystemPowerState+958

    Followup: MachineOwner
    ---------

    2: kd> lm
    start             end                 module name
    fffff800`00c00000
     fffff800`01354000   nt         (pdb symbols)
    c:\symbols\ntkrnlmp.pdb\61159976B2E549B2B431DC7329C4B4B51\ntkrnlmp.pdb
    fffff800`01354000 fffff800`013ba000   hal        (deferred)
    fffffadc`b9946000 fffffadc`b9a13000   mrxsmb     (deferred)
    fffffadc`b9a13000 fffffadc`b9a64000   rdbss      (deferred)
    fffffadc`b9a64000 fffffadc`b9ab1000   afd        (deferred)
    fffffadc`b9ab1000 fffffadc`b9b0b000   netbt      (deferred)
    fffffadc`b9b0b000 fffffadc`b9b49000   ipnat      (deferred)
    fffffadc`b9b49000 fffffadc`b9c3e000   tcpip      (deferred)
    fffffadc`b9c3e000 fffffadc`b9c69000   ipsec      (deferred)
    fffffadc`b9c69000 fffffadc`b9c7d000   Npfs       (deferred)
    fffffadc`bd5a9000 fffffadc`bd5bd000   NDProxy    (deferred)
    fffffadc`bd5bd000 fffffadc`bd5fd000   portcls    (deferred)
    fffffadc`bd5fd000 fffffadc`bd627000   nvhda64    (deferred)
    fffffadc`be168000 fffffadc`be183000   update     (deferred)
    fffffadc`be183000 fffffadc`be199000   termdd     (deferred)
    fffffadc`be1df000 fffffadc`be236000   rdpdr      (deferred)
    fffffadc`be236000 fffffadc`be24c000   msgpc      (deferred)
    fffffadc`be24c000 fffffadc`be26c000   psched     (deferred)
    fffffadc`be26c000 fffffadc`be28f000   raspptp    (deferred)
    fffffadc`be28f000 fffffadc`be2a3000   raspppoe   (deferred)
    fffffadc`be2a3000 fffffadc`be2cf000   ndiswan    (deferred)
    fffffadc`be2cf000 fffffadc`be2f5000   rasl2tp    (deferred)
    fffffadc`be2f5000 fffffadc`be33e000   ks         (deferred)
    fffffadc`be33e000 fffffadc`be35b000   i8042prt   (deferred)
    fffffadc`be35b000 fffffadc`be3ac000   e1r51x64   (deferred)
    fffffadc`be3ac000 fffffadc`be3ea000   HDAudBus   (deferred)
    fffffadc`bf79f000 fffffadc`bf7a8000   wmiacpi    (deferred)
    fffffadc`bf7bf000 fffffadc`bf7c9000   Fs_Rec     (deferred)
    fffffadc`bf80f000 fffffadc`bf81e000   TDI        (deferred)
    fffffadc`bfe76000 fffffadc`bfeaa000   Mup        (deferred)
    fffffadc`bfeaa000 fffffadc`bff10000   NDIS       (deferred)
    fffffadc`bff10000 fffffadc`bff44000   KSecDD     (deferred)
    fffffadc`bff44000 fffffadc`bff85000   Fastfat    (deferred)
    fffffadc`bff85000 fffffadc`bffa8000   sr         (deferred)
    fffffadc`bffa8000 fffffadc`bffe6000   fltMgr     (deferred)
    fffffadc`bffe6000 fffffadc`c0003000   CLASSPNP   (deferred)
    fffffadc`c0003000 fffffadc`c0018000   disk       (deferred)
    fffffadc`c0018000 fffffadc`c007b000   storport   (deferred)
    fffffadc`c007b000 fffffadc`c00c6000   volsnap    (deferred)
    fffffadc`c00c6000 fffffadc`c010d000   dmio       (deferred)
    fffffadc`c010d000 fffffadc`c014d000   ftdisk     (deferred)
    fffffadc`c014d000 fffffadc`c0163000   MountMgr   (deferred)
    fffffadc`c0163000 fffffadc`c0184000   pci        (deferred)
    fffffadc`c0184000 fffffadc`c01f2000   ACPI       (deferred)
    fffffadc`c02f3000 fffffadc`c0305000   intelppm   (deferred)
    fffffadc`c0306000 fffffadc`c0318000   wanarp     (deferred)
    fffffadc`c0319000 fffffadc`c032b000   netbios    (deferred)
    fffffadc`c032c000 fffffadc`c033e000   Fips       (deferred)
    fffffadc`c05fb000 fffffadc`c0605000   kdcom      (deferred)
    fffffadc`c060b000 fffffadc`c0614000   BOOTVID    (deferred)
    fffffadc`c061b000 fffffadc`c0624000   WMILIB     (deferred)
    fffffadc`c062b000 fffffadc`c0634000   isapnp     (deferred)
    fffffadc`c063b000 fffffadc`c064b000   PartMgr    (deferred)
    fffffadc`c064b000 fffffadc`c0659000   storahci   (deferred)
    fffffadc`c065b000 fffffadc`c0666000   crcdisk    (deferred)
    fffffadc`c073b000
     fffffadc`c0748000   mssmbios   (pdb symbols)
    c:\symbols\mssmbios.pdb\ECAD413A7E6C4AFEB52606D7E237C5411\mssmbios.pdb
    fffffadc`c076b000 fffffadc`c0774000   watchdog   (deferred)
    fffffadc`c07ab000 fffffadc`c07b9000   kbdclass   (deferred)
    fffffadc`c07cb000 fffffadc`c07d5000   ndistapi   (deferred)
    fffffadc`c07db000 fffffadc`c07e8000   mouclass   (deferred)
    fffffadc`c080b000 fffffadc`c0818000   ptilink    (deferred)
    fffffadc`c081b000 fffffadc`c0825000   rasacd     (deferred)
    fffffadc`c084b000 fffffadc`c0858000   Msfs       (deferred)
    fffffadc`c085b000 fffffadc`c0866000   raspti     (deferred)
    fffffadc`c086b000 fffffadc`c0873000   audstub    (deferred)
    fffffadc`c0873000 fffffadc`c087b000   Null       (deferred)
    fffffadc`c09fb000 fffffadc`c0a02000   dmload     (deferred)
    fffffadc`c0b98000 fffffadc`c0b9de80   ksthunk    (deferred)
    fffffadc`c0bfa000 fffffadc`c0c01000   Beep       (deferred)
    fffffadc`c0db5000 fffffadc`c0db6400   swenum     (deferred)

    Unloaded modules:
    fffffadc`c075b000 fffffadc`c0767000   dump_storport.sys
    fffffadc`c071b000 fffffadc`c0729000   dump_STORAHCI.sys
    fffffadc`b992f000 fffffadc`b9946000   imapi.sys
    fffffadc`b9a4e000 fffffadc`b9a64000   redbook.sys
    fffffadc`b9a41000 fffffadc`b9a64000   serial.sys
    fffffadc`b9ce3000 fffffadc`b9cfe000   cdrom.sys
    fffffadc`bf7af000 fffffadc`bf7b8000   Sfloppy.SYS
    fffffadc`befbd000 fffffadc`befc9000   Flpydisk.SYS
    fffffadc`c074b000 fffffadc`c0759000   Fdc.SYS

#2348

infuscomus

⇗ @diderius6
watchdog.sys 5048 is also needed
My guess is it does not work right now because of missing imports
EDIT:
I was dumb and was looking at x86 versions, not x64
x64 versions seem to not have any missing imports

#2349

diderius6

⇗ @infuscomus
Here are the 2 files from 5048 64 bit
unmodded
Dietmar
diderius6 has attached files to this post

- ⇗ Videoprt64Watchdog5048.rar

#2350 | infuscomus | ⇗ @diderius6 no missing imports for these - earlier I was looking at x86 versions by mistake which does have missing imports can you try and boot XP x64 in CSM mode with these drivers?
#2351 | diderius6 | ⇗ @infuscomus Later in the evening, because now I hurry to family meeting Dietmar

#2352

Gelip

My ASUS has GOP firmware for iGPU graphics card in motherboard bios but to be available in the system the computer and operating system must be running without CSM. I just installed Win10 without CSM and GPU-Z shows that GOP is present. As confirmation, I checked the bios 1408.bin in UBU (UEFI BIOS Updater):
⇗ ⇗ ⇗ ⇗
If CSM is enabled then legacy OROM VBIOS SNB-IVB 2143 is used instead.
P.S. I don't have to buy a PCIe graphics card with GOP for WinXP x64 testing :-)

#2353

Gelip

I installed the IntelHD driver and now WinDbg shows that it is his error and not videoprt.sys:

    Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 13:39:57.774 2019 (GMT+2)), ptr64 TRUE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`01800000 PsLoadedModuleList = 0xfffff800`019d5100
    System Uptime: not available

    Intel Storage Driver Ver: 11.2.0.1006

    KDTARGET: Refreshing KD connection

    *** Fatal System Error: 0x00000050
                                                 (0xFFFFF80000090000,0x0000000000000000,0xFFFFF80001CA664D,0x0000000000000000)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 50, {fffff80000090000, 0, fffff80001ca664d, 0}

    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -
    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for hal.dll -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for VIDEOPRT.SYS -
    *** ERROR: Module load completed but symbols could not be loaded for igxpmp64.sys
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for win32k.sys -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for igxpdv64.DLL -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for igxpgd64.dll -
    *** ERROR: Module load completed but symbols could not be loaded for igxprd64.dll
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    Probably caused by : igxpmp64.sys ( igxpmp64_fffffadfc85a4000+26a3e )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus:
    fffff800`01826db0 cc              int     3

#2354

skullteria

> Zitat von ⇗ Gelip im Beitrag ¶ #2329

> I connected WinDbg to ASUS and it turns out that the problem is caused by the VIDEOPRT.SYS file and/or the AHCI driver regardless of whether we use the AnaPa driver or boot the system without any graphics driver (vga and VgaSave services removed):

>     Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Server 2003 3790 x64 target at (Sun Sep  8 09:14:38.008 2019 (GMT+2)), ptr64 TRUE
>     Kernel Debugger connection established.
>     Symbol search path is: *** Invalid ***
>     ****************************************************************************
>     * Symbol loading may be unreliable without a symbol search path.           *
>     * Use .symfix to have the debugger choose a symbol path.                   *
>     * After setting your symbol path, use .reload to refresh symbol locations. *
>     ****************************************************************************
>     Executable search path is:
>     *********************************************************************
>     * Symbols can not be loaded because symbol path is not initialized. *
>     *                                                                   *
>     * The Symbol Path can be set by:                                    *
>     *   using the _NT_SYMBOL_PATH environment variable.                 *
>     *   using the -y <symbol_path> argument when starting the debugger. *
>     *   using .sympath and .sympath+                                    *
>     *********************************************************************
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
>     Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
>     Built by: 3790.srv03_sp2_rtm.070216-1710
>     Machine Name:
>     Kernel base = 0xfffff800`01800000 PsLoadedModuleList = 0xfffff800`019d5100
>     System Uptime: not available

>     Intel Storage Driver Ver: 11.2.0.1006

>     KDTARGET: Refreshing KD connection

>     *** Fatal System Error: 0x00000050
>                                                  (0xFFFFFADFCB40202A,0x0000000000000000,0xFFFFF800018E2CAE,0x0000000000000000)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     *********************************************************************
>     * Symbols can not be loaded because symbol path is not initialized. *
>     *                                                                   *
>     * The Symbol Path can be set by:                                    *
>     *   using the _NT_SYMBOL_PATH environment variable.                 *
>     *   using the -y <symbol_path> argument when starting the debugger. *
>     *   using .sympath and .sympath+                                    *
>     *********************************************************************
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 50, {fffffadfcb40202a, 0, fffff800018e2cae, 0}

>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -
>     ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

>     *** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
>     *************************************************************************
>     ***                                                                   ***
>     ***                                                                   ***
>     ***    Your debugger is not using the correct symbols                 ***
>     ***                                                                   ***
>     ***    In order for this command to work properly, your symbol path   ***
>     ***    must point to .pdb files that have full type information.      ***
>     ***                                                                   ***
>     ***    Certain .pdb files (such as the public OS symbols) do not      ***
>     ***    contain the required information.  Contact the group that      ***
>     ***    provided you with these symbols if you need this command to    ***
>     ***    work.                                                          ***
>     ***                                                                   ***
>     ***    Type referenced: nt!_KPRCB                                     ***
>     ***                                                                   ***
>     *************************************************************************
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for VIDEOPRT.SYS -
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for win32k.sys -
>     *************************************************************************
>     ***                                                                   ***
>     ***                                                                   ***
>     ***    Your debugger is not using the correct symbols                 ***
>     ***                                                                   ***
>     ***    In order for this command to work properly, your symbol path   ***
>     ***    must point to .pdb files that have full type information.      ***
>     ***                                                                   ***
>     ***    Certain .pdb files (such as the public OS symbols) do not      ***
>     ***    contain the required information.  Contact the group that      ***
>     ***    provided you with these symbols if you need this command to    ***
>     ***    work.                                                          ***
>     ***                                                                   ***
>     ***    Type referenced: nt!_KPRCB                                     ***
>     ***                                                                   ***
>     *************************************************************************
>     *************************************************************************
>     ***                                                                   ***
>     ***                                                                   ***
>     ***    Your debugger is not using the correct symbols                 ***
>     ***                                                                   ***
>     ***    In order for this command to work properly, your symbol path   ***
>     ***    must point to .pdb files that have full type information.      ***
>     ***                                                                   ***
>     ***    Certain .pdb files (such as the public OS symbols) do not      ***
>     ***    contain the required information.  Contact the group that      ***
>     ***    provided you with these symbols if you need this command to    ***
>     ***    work.                                                          ***
>     ***                                                                   ***
>     ***    Type referenced: nt!_KPRCB                                     ***
>     ***                                                                   ***
>     *************************************************************************
>     *********************************************************************
>     * Symbols can not be loaded because symbol path is not initialized. *
>     *                                                                   *
>     * The Symbol Path can be set by:                                    *
>     *   using the _NT_SYMBOL_PATH environment variable.                 *
>     *   using the -y <symbol_path> argument when starting the debugger. *
>     *   using .sympath and .sympath+                                    *
>     *********************************************************************
>     *********************************************************************
>     * Symbols can not be loaded because symbol path is not initialized. *
>     *                                                                   *
>     * The Symbol Path can be set by:                                    *
>     *   using the _NT_SYMBOL_PATH environment variable.                 *
>     *   using the -y <symbol_path> argument when starting the debugger. *
>     *   using .sympath and .sympath+                                    *
>     *********************************************************************
>     Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!VideoPortSetTrappedEmulatorPorts+5e )

>     Followup: MachineOwner
>     ---------

>     nt!DbgBreakPointWithStatus:
>     fffff800`01826db0 cc              int     3

VGA and VGASAVE are fallback if no video driver are installed. It these drivers are not present or removed from registry, windows not show interface

#2355

Gelip

> Zitat von ⇗ skullteria im Beitrag ¶ #2354

> VGA and VGASAVE are fallback if no video driver are installed. It these drivers are not present or removed from registry, windows not show interface

Yes I know about it. After removing these services from the registry, you can start WinXP x64 without a graphics driver under UEFI having, for example, access via Remote Desktop.
It looks like not on every UEFI computer - just like with the AnaPa driver.

## Page 158

#2356

Gelip

I confirm what WinDbg shows when IntelHD drivers are installed:

- if CSM is enable then videoprt.sys error
- if CSM is disabled then igxpmp64.sys error

#2357 | diderius6 | ⇗ @infuscomus "can you try and boot XP x64 in CSM mode with these drivers?" I just try and I get the same BSOD as with videoprt.sys 5048 alone Dietmar

#2358

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2357

> @infuscomus
> "can you try and boot XP x64 in CSM mode with these drivers?"
> I just try and I get the same BSOD as with videoprt.sys 5048 alone
> Dietmar

Well, i think we will don't have support for any XDDM based driver. Videoprt use int10 instruction. On AMD64, int10 instruction (used to video support, on BIOS) is emulated. However, only dxgkrnl support driver without int10, on WDDM model

#2359

Gelip

Maybe files from some version of ReactOS will help because they are constantly making patches: ⇗ reactos/win32ss/drivers/videoprt
or
files from beta Longhorn Server 2008 or beta Longhorn Vista like efi files?
Why does WinXP x64 boot from UEFI on some computers and not on others e.g working on ThinkPad X220, ASRock Z170 Pro4S ???
Why WinXP boot from UEFI on VMware Workstation even with a graphics driver (VMware Tools) ???
Instead of patching system files, maybe it is better to patch the motherboard or graphics card BIOS?
⇗ @Illen
From >¶ this< post it follows that it depends on the graphics card and therefore its firmware VBIOS ROM.

#2360 | infuscomus | ⇗ @Gelip ⇗ @diderius6 Does Vista RTM boot properly in UEFI mode on boards that have trouble booting XP x64?

#2361

diderius6

⇗ @infuscomus
I have not tried yet.
Just now I make another try:
May be it can be done with winload.efi
from win8
have a nice day
Dietmar
EDIT: bootx64.efi from win8 works as good as the one from Longhorn.

#2362 | skullteria | Well, winload can't load Windows XP/2003 since Windows. Always Computer restart...I think winload from win8 works is almost impossible
#2363 | diderius6 | ⇗ @skullteria Yes, winload.efi from win8 64 bit first asks for apisetschema.dll. I give it, but then always restart, debug not possible. What is your latest version from Vista, Win7, that can start XP via its winload Dietmar

#2364

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2363

> @skullteria
> Yes, winload.efi from win8 64 bit first asks for apisetschema.dll.
> I give it, but then always restart, debug not possible.
> What is your latest version from Vista, Win7, that can start XP via its winload
> Dietmar

Vista, lastest version. Windows 7 any version doesn't works. Please, confirm to me, winload.exe can start Windows XP x64 (not UEFI)?

#2365

Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #2333

> The USB3.0 drivers modded work correctly on asrock B250M Pro4 with i5 6600 skylake and XP32 (including the USB 3.0 type-C port).
> But I can obtain only a 'multiprocessor mps' system, so no ACPI and no multi-core. All the alternative options chosen during XP installation (by pressing F5 or F7 keys) are without ACPI mode or give me BSOD A5. In the updated bios, all the related options seem to be properly configured.
> Can I try something else?

I found a workaround for the problem I quoted above and so I post it here, maybe it can be useful for other owners of this motherboard. I will try to explain the procedure step by step in the hope that my poor english can be at least clear a bit.
1. I downgraded the bios from the latest version installed to the first released (1.00) - also tried intermediate versions without success - (thanks to member Mov AX, 0xDEAD for ¶ this tip);
2. At next reboot, I loaded default bios settings leaving the 'XHCI hand-off' option on disable;
3. I started the XP installation using the method described ⇗ here by the member Hardwarejiri (thanks to him too);
4. I pressed the usual F5 key and I chosen the 'ACPI Multiprocessor PC' from the list and the installation goes on with no BSOD A5 for the first time in my attempts;
5. The XP installation continues in the normal mode until it blocks on a 'asms' file request;
6. At this point, I turned it off manually, extracted the pendrive and inserted the XP installation disc in the internal optical disc drive and I restarted the machine;
7. At next boot, the installation continues from the disc and it goes on until the classic azure screen appears (no BSOD here :)) but the manual restart is needed again;
8. Now, finally, XP starts as usual. In the device manager the 'ACPI Multiprocessor PC' now appears in addition to cpu's cores previously not visible.
I then successfully installed the USB3.0 drivers modded and, for last, i updated the bios to the latest version (2.50) et voila, no change has occurred, everything seems to work as before even if the 'XHCI hand-off' option is now enabled by default.
During the XP installation the usb mouse did not work even if the ps2 emulation was enabled in the bios.
I have tried again to install XP on the upgraded bios but i still got the BSOD A5.
One last thingh I have not a solution: while the shutdown works correctly, the restart won't, it always hangs.
I will attempt for a solution...... any suggest is appreciated.
⇗

#2366 | diderius6 | ⇗ @skullteria I am on FAT32 with XP64 and it seems not to be possible via EasyBCD 1.7.2 to install the bootmgr with Vista MBR there Dietmar

#2367

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2366

> @skullteria
> I am on FAT32 with XP64
> and it seems not to be possible via EasyBCD 1.7.2 to install the bootmgr with Vista MBR there
> Dietmar

Well, maybe because Windows Vista only support NTFS as system file system.

#2368

Gelip

> Zitat von ⇗ skullteria im Beitrag ¶ #2364

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2363

> > @skullteria
> > Yes, winload.efi from win8 64 bit first asks for apisetschema.dll.
> > I give it, but then always restart, debug not possible.
> > What is your latest version from Vista, Win7, that can start XP via its winload
> > Dietmar

> Vista, lastest version. Windows 7 any version doesn't works. Please, confirm to me, winload.exe can start Windows XP x64 (not UEFI)?

I checked many versions of bootx64.efi (bootmgfw.efi) and winload.efi from several dozen beta versions of Vista Longhorn, Server 2008, regular Vista, 7, 8, 10
The version of efi files older than from Server 2008 16497 cannot run WinXP x64 because there is a black screen with a white bar at the top:
⇗
With efi files newer than 16497 WinXP not boot and error 0xc000000f:
⇗
Read this my post: ⇗ https://www.betaarchive.com/forum/viewto...=433499#p433499
winload.exe can start WinXP x64 in legacy (not UEFI) but also from beta server 16497:
⇗
To make possible boot over winload.exe you need:

- format partition from later OS than WinXP e.g. Win7 diskpart because he adds an entry in PBR that looks for the bootmgr file:
  ⇗
  You can fix this in WinPE (Win7) using the bootrec /fixboot command
- folder Boot with BCD file and Fonts folder with wgl4_boot.ttf
- in BCD ApplicationPath to \WINDOWS\system32\winload.exe

But there is the same startup problem as in UEFI mode with the file winload.efi
winload.exe in Legacy mode and winload.efi in UEFI mode cause the same problem, please read my post: ⇗ https://www.betaarchive.com/forum/viewto...=443358#p443358
I really recommend that you read the entire topic ⇗ Does Windows XP have EFI? carefully from beginning to end because there are many things checked and tested.

#2369 | Lost_N_BIOS | You guys post a lot in here, every day this thread is blowing up! Maybe the most active thread here

#2370

Gelip

> Zitat von ⇗ Lost_N_BIOS im Beitrag ¶ #2369

> You guys post a lot in here, every day this thread is blowing up! Maybe the most active thread here

Yeah, please look also at betaarchive how many times the thread ⇗ Does Windows XP have EFI? was viewed
⇗

## Page 159

#2371

Gelip

WinXP x64 (ia64) for Itanium CPU have EFI loader ia64ldr.efi. If you could get the source code and compile for the amd64 architecture this would probably solve the problems
⇗ https://www.betaarchive.com/forum/viewto...=432953#p432953
⇗ IA64ldr.efi
Microsoft --> ⇗ Overview of Boot Options in EFI

#2372 | Gelip | I found an interesting thing: ⇗ In Windows Server 2003, you may not be able to start a computer from a GPT disk when the computer has an Itanium processor It follows that the EFI loader IA64ldr.efi from Itanium Win2003 is not compatible with the Itanium Win2003 SP1 version and vice versa.

#2373

diderius6

⇗ @Gelip
"winload.exe in Legacy mode and winload.efi in UEFI mode cause the same problem"
This is a very important discovery.
It means, that BSOD is NOT the fault because of UEFI
Dietmar
EDIT: Now I think, winload (not important if *.efi or normal) is the reason for BSOD.
videoprt.sys tries to write in low memory and this may be forbidden via winload from Vista.
The situation for XP SP3 and *.efi boot may be other.

#2374 | infuscomus | ⇗ @diderius6 does Vista give same BSOD?

#2375

diderius6

⇗ @infuscomus
Full Vista64 I have not tried until now.
But I see, that the BSOD in videoprt.sys is always exact the same in UEFI boot for XP64 SP2,
error in memory,
not depending if you are enable\disable CSM in Bios
Dietmar

#2376 | diderius6 | May be this can help ⇗ https://www.geoffchappell.com/studies/wi...6bios/index.htm Dietmar
#2377 | infuscomus | ⇗ @diderius6 can you try replacing the bootloader with grub2? from grub2 load winload.efi maybe that might fix the video problem?

#2378

Mov AX, 0xDEAD

Again i've played with IOTR resource conflict, i think source of problem is how vga i/o ports is decoding. Windows get two i/o ranges (3b0-3bb and 3c0-3df) with 10-bit decoding from vga/pci device. These decoding means device may claim not only 3b0-3bb range but all other possible ranges with any high 6 bits in i/o adress e.g. 3b0, 7b0, bb0,..., fbb0, ffb0. IOTR claims ff00-fffe, so ffb0-ffbb & ffc0-ffdf conflicting with vga.
How Windows7+ resolve this problem is still big QUESTION :)
Simple implementation of blocking this device in winxp's v5512 acpi.sys without touching DSDT & ConcatenateResTemplate:
- need patch this code:

> Zitat

>             Name (BUF0, ResourceTemplate ()
>                     {
>                         IO (Decode16,
>                             0x0000,             // Range Minimum  ; Begin I/O range, filled with 0xFF00
>                             0x0000,             // Range Maximum  ; End   I/O range, filled with 0xFF00
>                             0x01,               // Alignment
>                             0xFF,               // Length        ; We will set length to Zero or lower 0xB0
>                             _Y21)
>                     })

same in aml hex code:
`47 01 00 00 00 00 01 FF 79 00`
- patching "_Buffer" proc:

    .text:000274CC                 and     ecx, 3
    .text:000274CF                 rep movsb

    .text:000274D1                 jmp     loc_3BA98 ; replace two "mov xx,yy"
    .text:000274D6 loc_274D6:                        ; with jmp/nop , position depend offset !
    .text:000274D6                 nop               ; dummy for aligning

    .text:000274D7                 mov     [ecx+3Ch], eax
    .text:000274DA                 pop     edi

- allocating some bytes in .TEXT section, for example in enlarged .INIT section at 0x0003BA98:

    .text:0003BA98 loc_3BA98:
    .text:0003BA98                 cmp     eax, 0Ah                       ; check for length==10 bytes
    .text:0003BA9D                 jnz     short loc_3BAC2                ; Skip patching if not
    .text:0003BA9F                 mov     eax, [ebx+30h]
    .text:0003BAA2                 mov     eax, [eax+10h]                 ; Ptr where buffer was copied
    .text:0003BAA5                 cmp     dword ptr [eax],   00000147h   ; "47 01 00 00"
    .text:0003BAAB                 jnz     short loc_3BAC2
    .text:0003BAAD                 cmp     dword ptr [eax+4], FF010000h   ; "00 00 01 FF"
    .text:0003BAB4                 jnz     short loc_3BAC2
    .text:0003BAB6                 cmp     word ptr [eax+8],  0079h       ; "79 00"
    .text:0003BABC                 jnz     short loc_3BAC2

    .text:0003BABE                 mov     byte ptr [eax+7],  00          ; Length FF -> 00 or any lower 0xB0

    .text:0003BAC2 loc_3BAC2:
    .text:0003BAC2                 mov     eax, [ebx+14h]                 ; original 1st mox xx,yy
    .text:0003BAC5                 mov     ecx, [ebp+arg_0]               ; original 2nd mox xx,yy
    .text:0003BAC8                 jmp     loc_274D6                      ; jmp back, position depend offset !

0x0003BA98 in hex:

     3D 0A 00 00 00 75 23 8B  43 30 8B 40 10 81 38 47
     01 00 00 75 15 81 78 04  00 00 01 FF 75 0C 66 81
     78 08 79 00 75 04 C6 40  07 00 8B 43 14 8B 4D 08
     E9 09 ba fe ff

If length = 0 IOTR device report zero i/o range and windows hide/remove it
If length < 0xB0 IOTR device still present but without conflict with vga i/o ports

#2379

diderius6

⇗ @infuscomus
The problem is not direct related to UEFI.
It is how to manage INT10 call.
Some UEFI Bios have an extra INT10 UEFI "driver",
which allows to boot XP there normal, it is called UEFI 2. May be this "driver" just frees or relocates memory <=1 MB.
UEFI 3 has nothing like this. So in Vista I think,
they solved the problem, putting this INT10 code in hal.dll and ntoskrnl.exe.
And now a strange situation happens: The Vista hal.dll and ntoskrnl.exe
with this INT10 simulator crashes together with XP files (in 64 bit. May be not in 32 bit.)
And the XP with INT10 call crashes, when there is no INT10 "driver" in Bios.
⇗ @Mov AX, 0xDEAD wrote, that videoprt.sys has exact this problem
with mapping memory. And you can see exact the place where this happens via Ida Pro.
I think, this INT10 "driver" can be done by hand
Dietmar

#2380 | lsmlcx | Does anyone have a hotfix for scsiport.sys? New version for scsiport.sys
#2381 | infuscomus | ⇗ @lsmlcx the most recent version of scsiport.sys I have is 5.1.2600.6073 I am not sure if it is the newest version
#2382 | lsmlcx | what is the hotfix number?
#2383 | infuscomus | ⇗ @lsmlcx i think it is KB2498072 ⇗ https://support.microsoft.com/en-au/help...iv2-0-for-windo

#2384

diderius6

Even Win7 has this problem with INT10 (Irq from Bios for the grafikcard)
and to boot from typ 3 UEFI Bios:
"Windows 7 Setup hangs at "Starting Windows" on Surface Pro
Applies to: Windows 7 EnterpriseWindows 7 Home PremiumWindows 7 Professional More
Symptoms
If you attempt to install 64-bit version of Windows 7 on a Surface Pro or other UEFI-based computer, the Setup may hang at "Starting Windows" screen and the Setup process may not complete.
Cause
The computer does not support legacy BIOS interrupt 10 (INT 10H).
Resolution
Check the BIOS settings to verify if the computer allows you to enable Compatibility Support Module (CSM) or legacy BIOS Interrupt 10 (INT 10H).
Contact the Original Equipment Manufacture (OEM) or hardware manufacture for additional information.
Note: If your computer does not support above mentioned options then you cannot run Windows 7 on the computer.
More Information
The Surface Pro is a Class 3 UEFI device that does not support legacy BIOS Interrupt 10 (INT 10H) video transitioning and it requires Windows 8 or later operating systems to run.
"
Dietmar
EDIT: Windows 8 works, because it uses GOP for video instead of INT10.
Any idea, how to overcome videoprt.sys and to make at once use of the Nvidia gop driver in XP?

#2385

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2379

> The problem is not direct related to UEFI.
> It is how to manage INT10 call.
> Some UEFI Bios have an extra INT10 UEFI "driver",
> which allows to boot XP there normal, it is called UEFI 2. May be this "driver" just frees or relocates memory <=1 MB.
> ....
> @Mov AX, 0xDEAD wrote, that videoprt.sys has exact this problem
> with mapping memory. And you can see exact the place where this happens via Ida Pro.
> I think, this INT10 "driver" can be done by hand

Mapping memory is not related to int10 real mode handler.
First 1M RAM is mess of 1) Pure ram 00000-9ffff 2) Video ram a0000-bffff 3) Vga rom c0000-cfffff 4) acpi ram e0000-????? 5) shadow ram (chipset depends) 6) Bios rom f0000-fffff(???) . Videoport_x64 want to map all 1M to kernel space, technicaly this is not problem for CPU, MmMapIoSpace in theory create new GDT/LDT record to translate logical adresses->physical adresses and work is done. Problem starting when someone try to access this translated memory, BSOD inside MmMapIoSpace tell about some check/access to this memory before return to caller, this is strange why memory is accessed immediately after mapping.

## Page 160

#2386 | diderius6 | ⇗ @Mov AX, 0xDEAD "MmMapIoSpace tell about some check/access to this memory before return to caller" Is it possible to force (the user of this memory) to wait, until return is done Dietmar
#2387 | skullteria | Well, i read litle about GOP and Windows 7 seem support it. ⇗ https://www.youtube.com/watch?v=1Yyr1zuFiYk I think it is supported by dxgkrnl, Video Port for WDDM drivers. VideoPrt only support INT10, like bootvid. Because it on Video the boot animation is not displayed.
#2388 | skullteria | Well, we need run. ⇗ https://hothardware.com/news/intel-sunse...or-uefi-class-3 CSM support will end.
#2389 | diderius6 | ⇗ @skullteria May be it is possible, to integrate something like generic CSM in grub2 Dietmar
#2390 | skullteria | Well, i'm working to port WDDM drivers for XP/2003...And, to solve HalResetDisplay, for x64
#2391 | XPLives | Good luck.
#2392 | XPLives | UEFI
#2393 | skullteria | Well, what the isos of i have of Windows Vista, until build 5472, exist EFI files on x86

#2394

Gelip

@diderius

> Zitat von ⇗ diderius6 im Beitrag ¶ #2379

> The problem is not direct related to UEFI.
> It is how to manage INT10 call.
> Some UEFI Bios have an extra INT10 UEFI "driver"

Is this the INT10 driver in VMware? --> ¶ Windows XP SP3 32bit and modern PC parts (156)

> Zitat von ⇗ diderius6 im Beitrag ¶ #2387

> Even Win7 has this problem with INT10 (Irq from Bios for the grafikcard)
> and to boot from typ 3 UEFI Bios:

Yes, read this: ⇗ Install Windows 7 at UEFI Graphics Output Protocol (GOP) hardware
⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #2374

> does Vista give same BSOD?

On ThinkPad X220 beta Longhorn Server 2008 6.0.6001.16497 (6.0.6001.16497.longhorn_beta3.070330-1720_amd64fre_server-serverstandard-serverenterprise-serverdatacenter_retail_en-us-KB3SxFRE_EN_DVD.iso) cannot be installed in legacy or UEFI because it is BSOD 7E. On VMware, however, it installs without a problem.

#2395 | infuscomus | ⇗ @Gelip do you know where I can download a copy of 6.0.6001.16497.longhorn_beta3.070330-1720_amd64fre_server-serverstandard-serverenterprise-serverdatacenter_retail_en-us-KB3SxFRE_EN_DVD.iso?
#2396 | infuscomus | just something i found interesting ⇗ https://askubuntu.com/questions/851892/a...to-an-uefi-grub apparently rEFInd boot manager can also boot a non-UEFI OS from UEFI mode
#2397 | Gelip | ⇗ @infuscomus On FTP betaarchive but you must be of the right rank to have access to FTP.
#2398 | infuscomus | ⇗ @Gelip Thanks, unfortunately, I don't have permission to access betaarchive FTP

#2399

diderius6

Does anybody have the version of
videoprt.sys from XP64 without SP2 (meaning I want to test each version of videoprt.sys 64 bit, old new just all)).
I read an interesting articel about stability of XP 64 SP2.
And one of the new files which gives BSODs
is the new videoprt.sys XP64 SP2
Dietmar

#2400

infuscomus

⇗ @diderius6
I might be wrong, but I believe that XP 64-bit only came into existence around the time SP2 came out and was forked from the server 2003 kernel
I think there is a server 2003 SP0 64-bit though.
EDIT:
5.2.3790.1830 - earliest 64bit videoprt.sys I can find.
infuscomus has attached files to this post

- ⇗ VIDEOPORT X64.zip

## Page 161

#2401 | infuscomus | i found useful polish ISO site ⇗ https://winiso.pl/windows-desktop/windows-xp I also found 5.2.3790.0 videoprt.sys but is IA64 architecture so not useful
#2402 | diderius6 | Hi, I am looking for the videoprt.sys from 64 bit beta of XP vers 1069 Dietmar
#2403 | diderius6 | ⇗ @skullteria Take a look at ⇗ http://x86asm.net/articles/calling-bios-...windows-xp-x64/ ⇗ http://www.alex-ionescu.com/publications/Recon/recon2012.pdf Dietmar

#2404

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #2403

> @skullteria
> Take a look at
> ⇗ http://x86asm.net/articles/calling-bios-...windows-xp-x64/

this mentions VDM (i assume meaning NTVDM)
regarding this, someone made a 64-bit NTVDM on github
⇗ https://github.com/leecher1337/ntvdmx64

#2405 | diderius6 | ⇗ @infuscomus Do you know, how to install this in XP64 Dietmar
#2406 | infuscomus | ⇗ @diderius6 ⇗ https://github.com/leecher1337/ntvdmx64/...ster/readme.txt seems like it takes a few steps to compile OpenNT here ⇗ https://github.com/Paolo-Maffei/OpenNT

#2407

diderius6

Because I noticed, that some problems first time appear with videoprt.sys
from XP64 SP2, I am just making a new FAT32 install with XP64 SP1 5.2.3790.1830.
By the way I noticed, that in this XP version you have to update storport.sys (storport.sys 5.2.3790.4173 works)
or you will get message, that generic STORAHCI from ⇗ @skullteria fails
Dietmar

#2408

diderius6

I change vga.sys, videoprt.sys, ntoskrnl.exe, hal.dll
against XP 64 SP1 DEBUG version.
Now, the BSOD goes to vga.sys
Dietmar

    MODULE_NAME: vga

    FAULTING_MODULE: fffff80000c00000 nt

    DEBUG_FLR_IMAGE_TIMESTAMP:  42435c56

    READ_ADDRESS: unable to get nt!MmSpecialPoolStart
    unable to get nt!MmSpecialPoolEnd
    unable to get nt!MmPoolCodeStart
    unable to get nt!MmPoolCodeEnd
     fffff800000c1743

    FAULTING_IP:
    hal!x86BiosExecuteInterrupt+95d
    fffff800`0136063d 0fb608          movzx   ecx,byte ptr [rax]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    CURRENT_IRQL:  0

    LAST_CONTROL_TRANSFER:  from fffff80000c5c0c7 to fffff80000d9c2c0

    STACK_TEXT:
    fffffadc`c0376318
     fffff800`00c5c0c7 : 00000000`00000050 fffffadc`df66fbd0
    fffff800`000c1743 00000000`00000001 : nt!DbgBreakPointWithStatus
    fffffadc`c0376320
     fffff800`00c5d3d0 : fffff800`00000003 00000000`00000050
    fffff800`000c1743 00000000`00000000 : nt!KeWaitForSingleObject+0xf77
    fffffadc`c0376390
     fffff800`00d93144 : 00000002`00000050 fffff800`000c1743
    00000000`00000000 fffffadc`c0376b00 : nt!KeWaitForSingleObject+0x2280
    fffffadc`c03769d0
     fffff800`00d35fb1 : 00000000`00000050 fffff800`000c1743
    00000000`00000000 fffffadc`c0376b00 : nt!KeBugCheckEx+0x104
    fffffadc`c0376a10
     fffff800`00da1059 : 00000000`00000000 fffff800`000c1743
    fffffadc`df896700 fffffadc`c0376b00 : nt!NtFreeVirtualMemory+0x32ba1
    fffffadc`c0376b00
     fffff800`0136063d : fffffadc`bef4c000 fffffadc`df661743
    0000b86d`de7deaa1 00000000`00000000 : nt!longjmp+0x31f9
    fffffadc`c0376c90
     fffff800`01356b43 : fffff800`01374cd0 fffff800`00d6c000
    00000000`00001743 fffffadc`c0376d00 : hal!x86BiosExecuteInterrupt+0x95d
    fffffadc`c0376ce0
     fffffadc`bef46120 : fffffadc`00000010 fffffadc`c0376e30
    fffffadc`c0376e34 fffffadc`c0376e38 : hal!HalCallBios+0x133
    fffffadc`c0376d60
     fffffadc`bedb6798 : fffffadc`df5da620 fffffadc`c0376e30
    00000000`00000280 00000000`000001e0 : VIDEOPRT!VideoPortInt10+0x110
    fffffadc`c0376e00 fffffadc`bedb8f38 : fffffadc`df5da620 fffffadc`dfb7acb0 00000000`00000004 fffffadc`c0376ec4 : vga+0x5798
    fffffadc`c0376e90 fffffadc`bef542dc : fffffadc`df5da620 fffffadc`c0376fc0 00000000`00000000 00000000`00000000 : vga+0x7f38
    fffffadc`c0376f10
     fffff97f`ff086dee : fffffadc`df5da090 fffffadc`df896700
    fffffa80`0065f928 fffff97f`00000004 :
    VIDEOPRT!VideoPortCreateEvent+0xfec
    fffffadc`c0377040
    fffff97f`ff086cf1 : 00000000`0000019c 00000000`00000000
    00000000`00000000 00000000`00000001 : win32k!EngDeviceIoControl+0x12e
    fffffadc`c0377100
     fffff97f`ff485609 : 00000000`00000000 00000000`00000000
    00000000`0000009c fffff97f`ff0c76a9 : win32k!EngDeviceIoControl+0x31
    fffffadc`c0377150
     fffff97f`ff485304 : 00000000`00000010 00000000`00000000
    00000000`01050033 fffffa80`0065f8e0 : vga_fffff97fff483000+0x2609
    fffffadc`c0377220
     fffff97f`ff006579 : 000001e0`00000280 fffffa80`0067ec50
    00000000`00000000 fffffa80`0065f8e0 : vga_fffff97fff483000+0x2304
    fffffadc`c0377260
     fffff97f`ff0ad017 : fffffadc`c03772b0 fffffa80`006919e0
    fffffa80`0067f000 fffffa80`0067f000 : win32k!EngFreeModule+0x1a09
    fffffadc`c03772a0
     fffff97f`ff0086d1 : fffffa80`0067f000 00000000`000008b8
    fffffa80`002fb830 fffffa80`006919e0 : win32k!EngCreateDeviceSurface+0x57
    fffffadc`c03772f0
     fffff97f`ff0082f0 : fffffa80`0054e3e0 fffffa80`0067b890
    fffffa80`002fb830 00000000`00000001 : win32k!EngFreeModule+0x3b61
    fffffadc`c03773e0
     fffff97f`ff00b1bc : fffffadc`00000002 fffff97f`ff323fc0
    fffffadc`00000000 00000000`00000000 : win32k!EngFreeModule+0x3780
    fffffadc`c0377740
     fffff97f`ff00a01d : fffffadc`ffffffff ffffffff`80000054
    00000000`01bc8000 00000000`00000000 :
    win32k!EngFindImageProcAddress+0x19fc
    fffffadc`c0377970
    fffff97f`ff00ba85 : fffffa80`0059b460 00000000`00000000
    fffffadc`c0377a38 fffffadc`c0377a78 :
    win32k!EngFindImageProcAddress+0x85d
    fffffadc`c03779e0
    fffff97f`ff00b5d6 : 00000000`00000148 fffffadc`c0377cf0
    00000000`00000003 00000000`00000144 :
    win32k!EngFindImageProcAddress+0x22c5
    fffffadc`c0377c20
    fffff800`00da1f33 : 00000000`00000001 00000000`0015fa40
    fffffadc`df66fbd0 00000000`00000010 :
    win32k!EngFindImageProcAddress+0x1e16
    fffffadc`c0377c70
    000007ff`7c5fe85a : 000007ff`7c5fea99 00000000`001657f0
    00000000`001657f0 00000000`00000003 : nt!longjmp+0x40d3
    00000000`0015fbc8 000007ff`7c5fea99 : 00000000`001657f0 00000000`001657f0 00000000`00000003 00000000`00000000 : winsrv+0xe85a
    00000000`0015fbd0
     00000000`001657f0 : 00000000`001657f0 00000000`00000003
    00000000`00000000 00000000`00000000 :
    winsrv!UserServerDllInitialization+0x229
    00000000`0015fbd8 00000000`001657f0 : 00000000`00000003 00000000`00000000 00000000`00000000 00000000`00000003 : 0x1657f0
    00000000`0015fbe0 00000000`00000003 : 00000000`00000000 00000000`00000000 00000000`00000003 00000000`001657f0 : 0x1657f0
    00000000`0015fbe8 00000000`00000000 : 00000000`00000000 00000000`00000003 00000000`001657f0 00000000`78efa9be : 0x3

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    vga+5798
    fffffadc`bedb6798 85c0            test    eax,eax

    SYMBOL_STACK_INDEX:  9

    SYMBOL_NAME:  vga+5798

    FOLLOWUP_NAME:  MachineOwner

    IMAGE_NAME:  vga.sys

    BUCKET_ID:  WRONG_SYMBOLS

    Followup: MachineOwner

#2409

diderius6

Next try, this time BSOD goes to bootvid.dll
Dietmar

    MODULE_NAME: BOOTVID

    FAULTING_MODULE: fffff80000c00000 nt

    DEBUG_FLR_IMAGE_TIMESTAMP:  42438552

    READ_ADDRESS: unable to get nt!MmSpecialPoolStart
    unable to get nt!MmSpecialPoolEnd
    unable to get nt!MmPoolCodeStart
    unable to get nt!MmPoolCodeEnd
     fffff800000c1743

    FAULTING_IP:
    hal!x86BiosExecuteInterrupt+95d
    fffff800`0136063d 0fb608          movzx   ecx,byte ptr [rax]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    CURRENT_IRQL:  0

    LAST_CONTROL_TRANSFER:  from fffff80000c5c0c7 to fffff80000d9c2c0

    STACK_TEXT:
    fffffadc`c0a07f68
     fffff800`00c5c0c7 : 00000000`00000050 fffffadc`e136c7b0
    fffff800`000c1743 00000000`00000001 : nt!DbgBreakPointWithStatus
    fffffadc`c0a07f70
     fffff800`00c5d3d0 : fffff800`00000003 00000000`00000050
    fffff800`000c1743 00000000`00000000 : nt!KeWaitForSingleObject+0xf77
    fffffadc`c0a07fe0
     fffff800`00d93144 : 00000000`00000050 fffff800`000c1743
    00000000`00000000 fffffadc`c0a08750 : nt!KeWaitForSingleObject+0x2280
    fffffadc`c0a08620
     fffff800`00d35fb1 : 00000000`00000050 fffff800`000c1743
    00000000`00000000 fffffadc`c0a08750 : nt!KeBugCheckEx+0x104
    fffffadc`c0a08660
     fffff800`00da1059 : 00000000`00000000 fffff800`000c1743
    00000000`00000800 fffffadc`c0a08750 : nt!NtFreeVirtualMemory+0x32ba1
    fffffadc`c0a08750
     fffff800`0136063d : 00000000`0000c000 00000000`00001743
    fffffadc`c5b4ff29 fffff800`0139cfe7 : nt!longjmp+0x31f9
    fffffadc`c0a088e0
     fffff800`013569e7 : fffff800`01374cd0 fffff800`014cc000
    00000000`00001743 fffffadc`c0a08950 : hal!x86BiosExecuteInterrupt+0x95d
    fffffadc`c0a08930
     fffffadc`c060c5ff : 00000000`000a0000 00000000`00020000
    fffffadc`00000000 fffffadc`c0a089c0 : hal!HalReadDmaCounter+0xb27
    fffffadc`c0a08980
     fffff800`012cf251 : fffff800`00437e01 fffff800`013177a0
    00000000`00000000 00002b99`2ddfa232 : BOOTVID!VidInitialize+0x18f
    fffffadc`c0a089f0
     fffff800`012d0756 : fffff800`004184f8 fffff800`00000012
    7ca976fb`74696e49 7ce936ab`a21f8b54 : nt!NlsMbOemCodePageTag+0x19181
    fffffadc`c0a08a40
     fffff800`01097b93 : fffff800`004184f8 f14d9291`54009847
    f1399211`d400d863 f16d9271`5440d823 : nt!NlsMbOemCodePageTag+0x1a686
    fffffadc`c0a08d40
     fffff800`0117059e : fffff800`004184f8 f93d8a25`5594d067
    c6292156`f7a54a4a 00000000`00000080 : nt!IoVerifyPartitionTable+0x33b3
    fffffadc`c0a08d70
     fffff800`00d9be76 : fffff800`01097b80 fffff800`004184f8
    fffff800`01170560 1f197401`ba303053 :
    nt!PsRemoveCreateThreadNotifyRoutine+0x7ae
    fffffadc`c0a08dd0
    00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!ZwUnloadKey+0x2ac6

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    BOOTVID!VidInitialize+18f
    fffffadc`c060c5ff 84c0            test    al,al

    SYMBOL_STACK_INDEX:  8

    SYMBOL_NAME:  BOOTVID!VidInitialize+18f

    FOLLOWUP_NAME:  MachineOwner

    IMAGE_NAME:  BOOTVID.dll

    BUCKET_ID:  WRONG_SYMBOLS

    Followup: MachineOwner

---------
I succeed to overcome all BSODS, but now I have no screen^^.
This is on pur UEFI, CSM disabled, ultrafast start

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Fri Sep 13 00:31:57.718 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp1_rtm.050324-1447
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00dad0c0
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    ERROR: DavReadRegistryValues/RegQueryValueExW(6). WStatus = 1309
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    nt!DbgBreakPointWithStatus:
    fffff800`00c4b350 cc              int     3
    *** WARNING: Unable to verify timestamp for ntdll.dll
    *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll
    9: kd> lm
    start             end                 module name
    00000000`78ec0000 00000000`78ff9000   ntdll    T (no symbols)
    fffff800`00c00000 fffff800`0106e000   nt         (export symbols)       ntkrnlmp.exe
    fffff800`0106e000 fffff800`010cc000   hal        (deferred)
    fffff97f`ff000000 fffff97f`ff45c000   win32k     (deferred)
    fffff97f`ff45c000 fffff97f`ff483000   dxg        (deferred)
    fffff97f`ff483000 fffff97f`ff48c000   TSDDD      (deferred)
    fffffadc`bdeb0000 fffffadc`bdf7a000   srv        (deferred)
    fffffadc`be092000 fffffadc`be122000   HTTP       (deferred)
    fffffadc`be2b2000 fffffadc`be2fb000   mrxdav     (deferred)
    fffffadc`be7ed000 fffffadc`be8b9000   mrxsmb     (deferred)
    fffffadc`be8b9000 fffffadc`be90a000   rdbss      (deferred)
    fffffadc`be90a000 fffffadc`be958000   afd        (deferred)
    fffffadc`be958000 fffffadc`be9bb000   netbt      (deferred)
    fffffadc`be9bb000 fffffadc`be9f3000   ipnat      (deferred)
    fffffadc`be9f3000 fffffadc`beab4000   tcpip      (deferred)
    fffffadc`beab4000 fffffadc`beadf000   ipsec      (deferred)
    fffffadc`beadf000 fffffadc`beaf3000   Npfs       (deferred)
    fffffadc`beb59000 fffffadc`beb6d000   NDProxy    (deferred)
    fffffadc`bec0d000 fffffadc`bec23000   termdd     (deferred)
    fffffadc`bec23000 fffffadc`bec79000   rdpdr      (deferred)
    fffffadc`bec79000 fffffadc`bec8f000   msgpc      (deferred)
    fffffadc`bec8f000 fffffadc`becaf000   psched     (deferred)
    fffffadc`becaf000 fffffadc`becd2000   raspptp    (deferred)
    fffffadc`becd2000 fffffadc`bece6000   raspppoe   (deferred)
    fffffadc`bece6000 fffffadc`bed12000   ndiswan    (deferred)
    fffffadc`bed12000 fffffadc`bed38000   rasl2tp    (deferred)
    fffffadc`bed38000 fffffadc`bed81000   ks         (deferred)
    fffffadc`bed81000 fffffadc`bed9e000   i8042prt   (deferred)
    fffffadc`bede4000 fffffadc`bee07000   VIDEOPRT   (deferred)
    fffffadc`bf5df000 fffffadc`bf5ec000   mssmbios   (deferred)
    fffffadc`bf5ef000 fffffadc`bf5fc000   mouclass   (deferred)
    fffffadc`bf5ff000 fffffadc`bf609000   ndistapi   (deferred)
    fffffadc`bf60f000 fffffadc`bf618000   watchdog   (deferred)
    fffffadc`bf61f000 fffffadc`bf629000   rasacd     (deferred)
    fffffadc`bf62f000 fffffadc`bf63f000   update     (deferred)
    fffffadc`bf63f000 fffffadc`bf64d000   kbdclass   (deferred)
    fffffadc`bf64f000 fffffadc`bf65c000   Msfs       (deferred)
    fffffadc`bf65f000 fffffadc`bf668000   wmiacpi    (deferred)
    fffffadc`bfc80000 fffffadc`bfcb6000   Mup        (deferred)
    fffffadc`bfcb6000 fffffadc`bfd11000   NDIS       (deferred)
    fffffadc`bfd11000 fffffadc`bfd44000   KSecDD     (deferred)
    fffffadc`bfd44000 fffffadc`bfd85000   Fastfat    (deferred)
    fffffadc`bfd85000 fffffadc`bfda8000   sr         (deferred)
    fffffadc`bfda8000 fffffadc`bfde5000   fltMgr     (deferred)
    fffffadc`bfde5000 fffffadc`bfe04000   CLASSPNP   (deferred)
    fffffadc`bfe04000 fffffadc`bfe19000   disk       (deferred)
    fffffadc`bfe19000 fffffadc`bfe7c000   storport   (deferred)
    fffffadc`bfe7c000 fffffadc`bfec7000   volsnap    (deferred)
    fffffadc`bfec7000 fffffadc`bff0d000   dmio       (deferred)
    fffffadc`bff0d000 fffffadc`bff4d000   ftdisk     (deferred)
    fffffadc`bff4d000 fffffadc`bff63000   MountMgr   (deferred)
    fffffadc`bff63000 fffffadc`bff84000   pci        (deferred)
    fffffadc`bff84000 fffffadc`bfff2000   ACPI       (deferred)
    fffffadc`c00f3000 fffffadc`c0105000   intelppm   (deferred)
    fffffadc`c0106000 fffffadc`c0118000   wanarp     (deferred)
    fffffadc`c0119000 fffffadc`c012b000   netbios    (deferred)
    fffffadc`c012c000 fffffadc`c013e000   Fips       (deferred)
    fffffadc`c03fb000 fffffadc`c0405000   kdcom      (deferred)
    fffffadc`c040b000 fffffadc`c0414000   BOOTVID    (deferred)
    fffffadc`c041b000 fffffadc`c0424000   WMILIB     (deferred)
    fffffadc`c042b000 fffffadc`c0434000   isapnp     (deferred)
    fffffadc`c043b000 fffffadc`c044b000   PartMgr    (deferred)
    fffffadc`c044b000 fffffadc`c0459000   storahci   (deferred)
    fffffadc`c045b000 fffffadc`c0466000   crcdisk    (deferred)
    fffffadc`c055b000 fffffadc`c0569000   vga        (deferred)
    fffffadc`c057b000 fffffadc`c058a000   TDI        (deferred)
    fffffadc`c059b000 fffffadc`c05a5000   mnmdd      (deferred)
    fffffadc`c05ab000 fffffadc`c05b7000   Dxapi      (deferred)
    fffffadc`c05db000 fffffadc`c05e6000   raspti     (deferred)
    fffffadc`c05eb000 fffffadc`c05f8000   ptilink    (deferred)
    fffffadc`c05fb000 fffffadc`c0605000   RDPCDD     (deferred)
    fffffadc`c064b000 fffffadc`c0655000   Fs_Rec     (deferred)
    fffffadc`c065b000 fffffadc`c0666000   ndisuio    (deferred)
    fffffadc`c066b000 fffffadc`c0673000   audstub    (deferred)
    fffffadc`c0673000 fffffadc`c067b000   Null       (deferred)
    fffffadc`c067b000 fffffadc`c0683000   CdaC15BA   (deferred)
    fffffadc`c0683000 fffffadc`c068b000   CdaD10BA   (deferred)
    fffffadc`c068b000 fffffadc`c0693000   secdrv     (deferred)
    fffffadc`c07fb000 fffffadc`c0802000   dmload     (deferred)
    fffffadc`c096e000 fffffadc`c0973e80   ksthunk    (deferred)
    fffffadc`c09ad000 fffffadc`c09b4000   Beep       (deferred)
    fffffadc`c0bb1000 fffffadc`c0bb2400   swenum     (deferred)

    Unloaded modules:
    fffffadc`be4a7000 fffffadc`be4e5000   HDAudBus.sys
    fffffadc`be4a7000 fffffadc`be4e5000   HDAudBus.sys
    fffffadc`c05bb000 fffffadc`c05c7000   dump_storport.sys
    fffffadc`be7af000 fffffadc`be7ed000   HDAudBus.sys
    fffffadc`be7af000 fffffadc`be7ed000   HDAudBus.sys
    fffffadc`be7d6000 fffffadc`be7ed000   imapi.sys
    fffffadc`be8f4000 fffffadc`be90a000   redbook.sys
    fffffadc`be8e7000 fffffadc`be90a000   serial.sys
    fffffadc`beaf8000 fffffadc`beb13000   cdrom.sys
    fffffadc`c054b000 fffffadc`c0554000   Sfloppy.SYS
    fffffadc`c060b000 fffffadc`c0617000   Flpydisk.SYS
    fffffadc`c063b000 fffffadc`c0649000   Fdc.SYS
    fffffadc`bead5000 fffffadc`beb13000   HDAudBus.sys
    fffffadc`bead5000 fffffadc`beb13000   HDAudBus.sys
    fffffadc`bead5000 fffffadc`beb13000   HDAudBus.sys
    fffffadc`bead5000 fffffadc`beb13000   HDAudBus.sys
    fffffadc`beb2f000 fffffadc`beb6d000   HDAudBus.sys
    fffffadc`beb2f000 fffffadc`beb6d000   HDAudBus.sys
    fffffadc`c056b000 fffffadc`c0576000   Vbemp.sys
    fffffadc`bed43000 fffffadc`bed81000   HDAudBus.sys
    fffffadc`bed60000 fffffadc`bed9e000   HDAudBus.sys
    9: kd> !devnode 0 1
    Error retrieving address of IopRootDeviceNode
    9: kd> g

#2410

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2399

> Does anybody have the version of videoprt.sys from XP64 without SP2

⇗ >link<

#2411

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #2409

> Next try, this time BSOD goes to bootvid.dll
> I succeed to overcome all BSODS, but now I have no screen^^.
> This is on pur UEFI, CSM disabled, ultrafast start

are you able to remote desktop into it? or has it frozen?

#2412

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2403

> Take a look at
> ⇗ http://x86asm.net/articles/calling-bios-...windows-xp-x64/
> ⇗ http://www.alex-ionescu.com/publications/Recon/recon2012.pdf

Thank you man. Well, i use/made a patch on winload based on PatchPae. Its disable digital signature verification. I think was made to x64 too, however, need make sure. It is importante for EFI too, we need search about it. And, i succeced install and boot Windows XP with Windows 7 setup engine. It need some patch on Windows partition, and patch winsetup.dll from dvd and boot.wim. I will attach here
EDIT by Fernando: Double post deleted and blank lines removed (to save space)

#2413 | skullteria | Well, i was thinking...The problem is of display is not really in UEFI. When you try load Windows XP x64 with Windows Vista winload, you will get a BSOD or computer restart. I think winload don't initialize or reset the display and ntldr made it. So, maybe we need focus on winload or try modifie WRK x64 (Windows Research Kernel) to reset display.

#2414

diderius6

⇗ @infuscomus
I can start XP64 SP1 with full UEFI 64 bit on asrock fatal1ty z370 gaming k6 board.
CSM is disabled, settings to ultrafast boot in Bios.
I hear the startsound from this XP.
But no screen, because hal.dll emulation of INT10 fails
Dietmar
PS: The Anapa driver makes the system hang. So I deleted it.
This boot of XP64 with sound and no screen is without the Anapa driver.

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Fri Sep 13 19:11:51.828 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp1_rtm.050324-1447
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00dad0c0
    System Uptime: not available
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    HAL: Interrupt emulation failed, status e
    ERROR: DavReadRegistryValues/RegQueryValueExW(6). WStatus = 1309
    [alcwzrd]CheckRegKey = FALSE
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    nt!DbgBreakPointWithStatus:
    fffff800`00c4b350 cc              int     3
    *** WARNING: Unable to verify timestamp for ntdll.dll
    *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll
    5: kd> lm
    start             end                 module name
    00000000`78ec0000 00000000`78ff9000   ntdll    T (no symbols)
    fffff800`00c00000 fffff800`0106e000   nt         (export symbols)       ntkrnlmp.exe
    fffff800`0106e000 fffff800`010cc000   hal        (deferred)
    fffff97f`ff000000 fffff97f`ff45c000   win32k     (deferred)
    fffff97f`ff45c000 fffff97f`ff483000   dxg        (deferred)
    fffff97f`ff483000 fffff97f`ff48c000   TSDDD      (deferred)
    fffffadc`bcb8f000 fffffadc`bcbc7000   kmixer     (deferred)
    fffffadc`bcc16000 fffffadc`bcc41000   sysaudio   (deferred)
    fffffadc`bcc41000 fffffadc`bcc75000   wdmaud     (deferred)
    fffffadc`bcf09000 fffffadc`bcfd3000   srv        (deferred)
    fffffadc`bd27b000 fffffadc`bd30b000   HTTP       (deferred)
    fffffadc`bd397000 fffffadc`bd3e0000   mrxdav     (deferred)
    fffffadc`bd9c2000 fffffadc`bda8e000   mrxsmb     (deferred)
    fffffadc`bda8e000 fffffadc`bdadf000   rdbss      (deferred)
    fffffadc`bdadf000 fffffadc`bdb2d000   afd        (deferred)
    fffffadc`bdb2d000 fffffadc`bdb90000   netbt      (deferred)
    fffffadc`bdb90000 fffffadc`bdbc8000   ipnat      (deferred)
    fffffadc`bdbc8000 fffffadc`bdc89000   tcpip      (deferred)
    fffffadc`bdc89000 fffffadc`bdcb4000   ipsec      (deferred)
    fffffadc`bdcb4000 fffffadc`bdcc8000   Npfs       (deferred)
    fffffadc`bdce8000 fffffadc`bdd0b000   VIDEOPRT   (deferred)
    fffffadc`be3df000 fffffadc`be41f000   portcls    (deferred)
    fffffadc`be41f000 fffffadc`bebac000   RTKHDA64   (deferred)
    fffffadc`bebf2000 fffffadc`bec06000   NDProxy    (deferred)
    fffffadc`bec06000 fffffadc`bec1c000   termdd     (deferred)
    fffffadc`bec1c000 fffffadc`bec72000   rdpdr      (deferred)
    fffffadc`bec72000 fffffadc`bec88000   msgpc      (deferred)
    fffffadc`bec88000 fffffadc`beca8000   psched     (deferred)
    fffffadc`beca8000 fffffadc`beccb000   raspptp    (deferred)
    fffffadc`beccb000 fffffadc`becdf000   raspppoe   (deferred)
    fffffadc`becdf000 fffffadc`bed0b000   ndiswan    (deferred)
    fffffadc`bed0b000 fffffadc`bed31000   rasl2tp    (deferred)
    fffffadc`bed31000 fffffadc`bed7a000   ks         (deferred)
    fffffadc`bedac000 fffffadc`bedc9000   i8042prt   (deferred)
    fffffadc`bedc9000 fffffadc`bee07000   HDAudBus   (deferred)
    fffffadc`bf5df000 fffffadc`bf5ec000   Msfs       (deferred)
    fffffadc`bf5ff000 fffffadc`bf60a000   ndisuio    (deferred)
    fffffadc`bf60f000 fffffadc`bf61b000   Dxapi      (deferred)
    fffffadc`bf62f000 fffffadc`bf63c000   mouclass   (deferred)
    fffffadc`bf65f000 fffffadc`bf669000   Fs_Rec     (deferred)
    fffffadc`bfc80000 fffffadc`bfcb6000   Mup        (deferred)
    fffffadc`bfcb6000 fffffadc`bfd11000   NDIS       (deferred)
    fffffadc`bfd11000 fffffadc`bfd44000   KSecDD     (deferred)
    fffffadc`bfd44000 fffffadc`bfd85000   Fastfat    (deferred)
    fffffadc`bfd85000 fffffadc`bfda8000   sr         (deferred)
    fffffadc`bfda8000 fffffadc`bfde5000   fltMgr     (deferred)
    fffffadc`bfde5000 fffffadc`bfe04000   CLASSPNP   (deferred)
    fffffadc`bfe04000 fffffadc`bfe19000   disk       (deferred)
    fffffadc`bfe19000 fffffadc`bfe7c000   storport   (deferred)
    fffffadc`bfe7c000 fffffadc`bfec7000   volsnap    (deferred)
    fffffadc`bfec7000 fffffadc`bff0d000   dmio       (deferred)
    fffffadc`bff0d000 fffffadc`bff4d000   ftdisk     (deferred)
    fffffadc`bff4d000 fffffadc`bff63000   MountMgr   (deferred)
    fffffadc`bff63000 fffffadc`bff84000   pci        (deferred)
    fffffadc`bff84000 fffffadc`bfff2000   ACPI       (deferred)
    fffffadc`c00f3000 fffffadc`c0105000   intelppm   (deferred)
    fffffadc`c0106000 fffffadc`c0118000   wanarp     (deferred)
    fffffadc`c0119000 fffffadc`c012b000   netbios    (deferred)
    fffffadc`c012c000 fffffadc`c013e000   Fips       (deferred)
    fffffadc`c03fb000 fffffadc`c0405000   kdcom      (deferred)
    fffffadc`c040b000 fffffadc`c0414000   BOOTVID    (deferred)
    fffffadc`c041b000 fffffadc`c0424000   WMILIB     (deferred)
    fffffadc`c042b000 fffffadc`c0434000   isapnp     (deferred)
    fffffadc`c043b000 fffffadc`c044b000   PartMgr    (deferred)
    fffffadc`c044b000 fffffadc`c0459000   storahci   (deferred)
    fffffadc`c045b000 fffffadc`c0466000   crcdisk    (deferred)
    fffffadc`c051b000 fffffadc`c0528000   ptilink    (deferred)
    fffffadc`c055b000 fffffadc`c0565000   rasacd     (deferred)
    fffffadc`c057b000 fffffadc`c0585000   mnmdd      (deferred)
    fffffadc`c059b000 fffffadc`c05a5000   RDPCDD     (deferred)
    fffffadc`c05ab000 fffffadc`c05ba000   TDI        (deferred)
    fffffadc`c05bb000 fffffadc`c05c9000   kbdclass   (deferred)
    fffffadc`c05cb000 fffffadc`c05d8000   mssmbios   (deferred)
    fffffadc`c05db000 fffffadc`c05e6000   raspti     (deferred)
    fffffadc`c060b000 fffffadc`c0615000   ndistapi   (deferred)
    fffffadc`c061b000 fffffadc`c0624000   watchdog   (deferred)
    fffffadc`c062b000 fffffadc`c0634000   wmiacpi    (deferred)
    fffffadc`c063b000 fffffadc`c064b000   update     (deferred)
    fffffadc`c065b000 fffffadc`c0669000   vga        (deferred)
    fffffadc`c066b000 fffffadc`c0673000   audstub    (deferred)
    fffffadc`c0673000 fffffadc`c067b000   Null       (deferred)
    fffffadc`c067b000 fffffadc`c0683000   CdaC15BA   (deferred)
    fffffadc`c0683000 fffffadc`c068b000   CdaD10BA   (deferred)
    fffffadc`c068b000 fffffadc`c0693000   secdrv     (deferred)
    fffffadc`c07fb000 fffffadc`c0802000   dmload     (deferred)
    fffffadc`c096e000 fffffadc`c0973e80   ksthunk    (deferred)
    fffffadc`c09ec000 fffffadc`c09f3000   Beep       (deferred)
    fffffadc`c0b37000 fffffadc`c0b39800   splitter   (deferred)
    fffffadc`c0bb1000 fffffadc`c0bb2400   swenum     (deferred)

    Unloaded modules:
    fffffadc`bcbc7000 fffffadc`bcbe1000   swmidi.sys
    fffffadc`bcbe1000 fffffadc`bcc16000   aec.sys
    fffffadc`c0bd7000 fffffadc`c0bd9000   MSPCLOCK.sys
    fffffadc`c0acf000 fffffadc`c0ad2000   MSKSSRV.sys
    fffffadc`c0bdf000 fffffadc`c0be1000   MSPQM.sys
    fffffadc`c054b000 fffffadc`c0557000   dump_storport.sys
    fffffadc`bd9ab000 fffffadc`bd9c2000   imapi.sys
    fffffadc`bdac9000 fffffadc`bdadf000   redbook.sys
    fffffadc`bdabc000 fffffadc`bdadf000   serial.sys
    fffffadc`bdd36000 fffffadc`bdd51000   cdrom.sys
    fffffadc`c058b000 fffffadc`c0594000   Sfloppy.SYS
    fffffadc`bf64f000 fffffadc`bf65b000   Flpydisk.SYS
    fffffadc`bf61f000 fffffadc`bf62d000   Fdc.SYS

#2415 | infuscomus | ⇗ @diderius6 using a second computer are you able to remote desktop on to it? to bypass the failed display driver.

## Page 162

#2416 | diderius6 | ⇗ @infuscomus I did it on the compi itself, until now I do not test remote boot Dietmar
#2417 | infuscomus | ⇗ @diderius6 it would seem like it is only the display is not working but the rest of the system is fine, that's why I suggested using remote desktop to confirm this is the case.
#2418 | infuscomus | ⇗ @diderius6 if you don't mind, could you make a backup HDD image of your UEFI bootable XP64? I would like to test it for myself. I will PM you my Backup/Recovery media ISO I use.

#2419

diderius6

⇗ @infuscomus
I can also make a pur copy for you
from the harddisk, first partition with MBR.
This you can copy with Hexeditor bit by bit
to an harddisk and it will work
Dietmar

#2420 | infuscomus | ⇗ @diderius6 entire harddisk preferably, so I don't need to reinstall the OS everytime, just restore the image

#2421

diderius6

⇗ @infuscomus
Nice Tool and very fast. But size even with *.rar it is still 2 Gbyte,
I am uploading
Dietmar
PS: It is only one partition FAT32 (for UEFI) with MBR
and with crazy timer hacked hal.dll and sound and Moorhuhn), thanks to ⇗ @Mov AX, 0xDEAD
You can boot this XP64 normal and via UEFI, select via Bootmenu. And for UEFI
you always have to disable driver integry check in boot menu.
I use STORAHCI and last acpi.sys so it should work on any compi.

#2422 | skullteria | Hey diderius6, you could make a test load Windows XP x64 with winload.exe instead winload.efi and see results

#2423

diderius6

⇗ @skullteria
From this version 6.0.6001.16497 I do not have winload.exe.
And I do not know, how I should edit BCD,
that it now uses winload.exe.
I am on a Fat32 partition with MBR
Dietmar
PS: May be, that the problems with INT10 come from winload.exe.
We should test also winload.exe from Win8.

#2424

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2423

> And I do not know, how I should edit BCD,
> that it now uses winload.exe

You edit BCD in BOOTICE in Professional mode - change path winload.efi to winload.exe:
⇗

#2425

skullteria

Hey, to disable Signature check, need patch ImgpValidateImageHash function inside winload.exe. For me, work these lines:
Original: 8B C8 85 C9 89 4D 08 7D
Replace: C7 45 08 00 00 00 00 EB
x64(maybe)
Original: 45 33 db 41 3b c3 8b d8
Replace: C7 45 08 00 00 00 00 EB
Tested on Vista SP2 winload

#2426

Gelip

> Zitat von ⇗ skullteria im Beitrag ¶ #2425

> Hey, to disable Signature check, need patch ImgpValidateImageHash function inside winload.exe. For me, work these lines:
> Original: 8B C8 85 C9 89 4D 08 7D
> Replace: C7 45 08 00 00 00 00 EB
> x64(maybe)
> Original: 45 33 db 41 3b c3 8b d8
> Replace: C7 45 08 00 00 00 00 EB
> Tested on Vista SP2 winload

I checked it in 64-bit winload.efi from beta server 16497. Such a HEX string exists but after changing the value I have a checksum error at system startup:
⇗

#2427 | Gelip | ⇗ @skullteria Maybe it will help:⇗ completely disable all checksum verifications during bootup

#2428

skullteria

> Zitat von ⇗ Gelip im Beitrag ¶ #2426

> > Zitat von ⇗ skullteria im Beitrag ¶ #2425

> > Hey, to disable Signature check, need patch ImgpValidateImageHash function inside winload.exe. For me, work these lines:
> > Original: 8B C8 85 C9 89 4D 08 7D
> > Replace: C7 45 08 00 00 00 00 EB
> > x64(maybe)
> > Original: 45 33 db 41 3b c3 8b d8
> > Replace: C7 45 08 00 00 00 00 EB
> > Tested on Vista SP2 winload

> I checked it in 64-bit winload.efi from beta server 16497. Such a HEX string exists but after changing the value I have a checksum error at system startup:
> ⇗

You need update checksum with pe.exe, with command: pe -c winload.exe
Well, my patch for x64 is not working. This corrupt winload.exe
EDIT: i think i found a way: I read forum about how change Windows 7 boot screen, and in this page: ⇗ https://www.sevenforums.com/customizatio...ows-7-a-12.html
on post number 118, the user thaimin talk about certificates what are verified on boot. So, i copied windows-legacy-whql.cat to WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} and
CodeIntegrity to Windows\System32 and voila: not error with Winload from Vista until Build 6000. I get error with build 6002. Works both x86 and x64. Winload from Vista SP2 (6002) not work on x64 (vmware)
Only thing: kernel component must be signed. Windows are signature on all binaries, even Windows XP;

#2429

Gelip

> Zitat von ⇗ skullteria im Beitrag ¶ #2428

> So, i copied windows-legacy-whql.cat to WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} and
> CodeIntegrity to Windows\System32 and voila: not error with Winload from Vista until Build 6000. I get error with build 6002. Works both x86 and x64. Winload from Vista SP2 (6002) not work on x64 (vmware)

Yeah, I know about it: ⇗ Beta 2 Longhorn Vista 6.0.5384.4 (last Vista Beta2 which support Boot.ini)
In beta Longhorn Server 2008 16497 this not work - ⇗ So I started to test EFI files from versions Windows Server 2008 Longhorn on WinXP x64 on X220 and:
6001.16406 - last version which causes white bar
6001.16497 - first version which causes ntoskrnl.exe 0xc0000428 Windows cannot verify the digital signature for this file

#2430

Gelip

I have idea!
The ThinkPad X220 laptop has VBIOS 2089 SandyBridge-Mobile and on it WinXP x64 boots with the AnaPa driver under UEFI.
ASUS P8H61 M LE R2 (bios 1408) has VBIOS 2143 SandyBridge/IvyBridge-Desktop and on it WinXP x64 does not start from AnaPa.
I came up with the idea to downgrade ASUS VBIOS to 2089 version.
Maybe this will solve the problem with running WinXP x64 under UEFI ???
or
In Intel BMP you can change various VBIOS settings - maybe you need to change something for WinXP x64 to start under UEFI?

## Page 163

#2431

diderius6

With the german version of real Windows 2003 R2 server64 bit 5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
now I come exact to the same place as with XP 64 SP1 5.2.3790.1830 (srv03_sp1_rtm.050324-1447) for UEFI boot on
the asrock fatal1ty z370 gaming k6 board.
I can boot full UEFI with CSM disabled.
But because the ANAPA driver hangs (code 10), no screen.
I can hear the sound of this Win Server 2003 R2 after UEFI boot.
Crazy job to find the right time to hit strg alt del and then hit enter with no screen^^.
No BSOD before about videoprt.sys.
I compare videoprt.sys from XP 64 SP2 with this version.
They are different
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows Server 2003 3790 x64 target at (Sat Sep 14 20:42:32.671 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows Server 2003 Kernel Version 3790 MP (1 procs) Free x64
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0xfffff800`00c00000 PsLoadedModuleList = 0xfffff800`00dd5100
    System Uptime: not available
    HAL: Interrupt emulation failed, status c
    AhciHwFindAdapter finishing
    AhciHwFindAdapter finishing
    KDTARGET: Refreshing KD connection
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    HAL: Interrupt emulation failed, status c
    AFD: AfdPprThreshold value queried from transport: 2960
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    nt!DbgBreakPointWithStatus:
    fffff800`00c26db0 cc              int     3
    11: kd> lm
    start             end                 module name
    00000000`78eb0000
     00000000`78fef000   ntdll      (pdb symbols)
    c:\symbols\ntdll.pdb\B2BE918952834AB8BAA710708C00CC7C2\ntdll.pdb
    fffff800`00c00000
     fffff800`01091000   nt         (pdb symbols)
    c:\symbols\ntkrnlmp.pdb\3B7C35F2F8624C78898D609597BB1C772\ntkrnlmp.pdb
    fffff800`01091000 fffff800`010ef000   hal        (deferred)
    fffff97f`ff000000 fffff97f`ff45f000   win32k     (deferred)
    fffff97f`ff45f000 fffff97f`ff487000   dxg        (deferred)
    fffff97f`ff487000 fffff97f`ff490000   TSDDD      (deferred)
    fffffadc`bc3be000 fffffadc`bc482000   srv        (deferred)
    fffffadc`bcba4000 fffffadc`bcc71000   mrxsmb     (deferred)
    fffffadc`bcc71000 fffffadc`bccc2000   rdbss      (deferred)
    fffffadc`bccc2000 fffffadc`bcd0f000   afd        (deferred)
    fffffadc`bcd0f000 fffffadc`bcd69000   netbt      (deferred)
    fffffadc`bcd69000 fffffadc`bcda7000   ipnat      (deferred)
    fffffadc`bcda7000 fffffadc`bce9c000   tcpip      (deferred)
    fffffadc`bce9c000 fffffadc`bceb2000   msgpc      (deferred)
    fffffadc`bceb2000 fffffadc`bcedd000   ipsec      (deferred)
    fffffadc`bcedd000 fffffadc`bcef1000   Npfs       (deferred)
    fffffadc`bd58b000 fffffadc`bd5cb000   portcls    (deferred)
    fffffadc`bd5cb000 fffffadc`bdd58000   RTKHDA64   (deferred)
    fffffadc`bdd58000 fffffadc`bdd6c000   NDProxy    (deferred)
    fffffadc`bdd6c000 fffffadc`bdd87000   update     (deferred)
    fffffadc`bdd87000 fffffadc`bdd9d000   termdd     (deferred)
    fffffadc`bdde3000 fffffadc`bde3a000   rdpdr      (deferred)
    fffffadc`bde3a000 fffffadc`bde5d000   raspptp    (deferred)
    fffffadc`bde5d000 fffffadc`bde71000   raspppoe   (deferred)
    fffffadc`bde71000 fffffadc`bde9d000   ndiswan    (deferred)
    fffffadc`bde9d000 fffffadc`bdec3000   rasl2tp    (deferred)
    fffffadc`bdec3000 fffffadc`bdf0c000   ks         (deferred)
    fffffadc`bdf34000 fffffadc`bdf51000   i8042prt   (deferred)
    fffffadc`bdf51000 fffffadc`bdf8f000   HDAudBus   (deferred)
    fffffadc`be6c5000 fffffadc`be6cf000   mnmdd      (deferred)
    fffffadc`be6e5000 fffffadc`be6f2000   mouclass   (deferred)
    fffffadc`be7f7000 fffffadc`be800000   wmiacpi    (deferred)
    fffffadc`be837000 fffffadc`be844000   ptilink    (deferred)
    fffffadc`be857000 fffffadc`be862000   raspti     (deferred)
    fffffadc`be887000 fffffadc`be893000   Dxapi      (deferred)
    fffffadc`beea8000 fffffadc`beedc000   Mup        (deferred)
    fffffadc`beedc000 fffffadc`bef42000   NDIS       (deferred)
    fffffadc`bef42000 fffffadc`bef65000   VIDEOPRT   (deferred)
    fffffadc`bef65000 fffffadc`bef99000   KSecDD     (deferred)
    fffffadc`bef99000 fffffadc`befda000   Fastfat    (deferred)
    fffffadc`befda000 fffffadc`bf018000   fltMgr     (deferred)
    fffffadc`bf018000 fffffadc`bf035000   CLASSPNP   (deferred)
    fffffadc`bf035000 fffffadc`bf04a000   disk       (deferred)
    fffffadc`bf04a000 fffffadc`bf07a000   storport   (deferred)
    fffffadc`bf07a000 fffffadc`bf0c6000   volsnap    (deferred)
    fffffadc`bf0c6000 fffffadc`bf10d000   dmio       (deferred)
    fffffadc`bf10d000 fffffadc`bf14d000   ftdisk     (deferred)
    fffffadc`bf14d000 fffffadc`bf163000   MountMgr   (deferred)
    fffffadc`bf163000 fffffadc`bf184000   pci        (deferred)
    fffffadc`bf184000 fffffadc`bf1f2000   ACPI       (deferred)
    fffffadc`bf2f3000 fffffadc`bf304000   Dfs        (deferred)
    fffffadc`bf306000 fffffadc`bf319000   intelppm   (deferred)
    fffffadc`bf319000 fffffadc`bf32b000   wanarp     (deferred)
    fffffadc`bf32c000 fffffadc`bf33e000   netbios    (deferred)
    fffffadc`bf33f000 fffffadc`bf351000   Fips       (deferred)
    fffffadc`bf5fb000 fffffadc`bf605000   kdcom      (deferred)
    fffffadc`bf60b000 fffffadc`bf614000   BOOTVID    (deferred)
    fffffadc`bf61b000 fffffadc`bf624000   WMILIB     (deferred)
    fffffadc`bf62b000 fffffadc`bf634000   isapnp     (deferred)
    fffffadc`bf63b000 fffffadc`bf64b000   PartMgr    (deferred)
    fffffadc`bf64b000 fffffadc`bf659000   storahci   (deferred)
    fffffadc`bf65b000 fffffadc`bf666000   Vbemp      (deferred)
    fffffadc`bf66b000 fffffadc`bf674000   watchdog   (deferred)
    fffffadc`bf67b000 fffffadc`bf686000   crcdisk    (deferred)
    fffffadc`bf73b000 fffffadc`bf74a000   TDI        (deferred)
    fffffadc`bf75b000 fffffadc`bf769000   vga        (deferred)
    fffffadc`bf77b000 fffffadc`bf785000   rasacd     (deferred)
    fffffadc`bf79b000 fffffadc`bf7a8000   mssmbios   (deferred)
    fffffadc`bf7bb000 fffffadc`bf7c5000   RDPCDD     (deferred)
    fffffadc`bf7db000 fffffadc`bf7e7000   ndisuio    (deferred)
    fffffadc`bf7eb000 fffffadc`bf7f5000   Fs_Rec     (deferred)
    fffffadc`bf80b000 fffffadc`bf815000   ndistapi   (deferred)
    fffffadc`bf81b000 fffffadc`bf828000   Msfs       (deferred)
    fffffadc`bf83b000 fffffadc`bf849000   kbdclass   (deferred)
    fffffadc`bf86b000 fffffadc`bf873000   audstub    (deferred)
    fffffadc`bf873000 fffffadc`bf87b000   Null       (deferred)
    fffffadc`bf87b000 fffffadc`bf883000   CdaC15BA   (deferred)
    fffffadc`bf883000 fffffadc`bf88b000   CdaD10BA   (deferred)
    fffffadc`bf88b000 fffffadc`bf893000   secdrv     (deferred)
    fffffadc`bf9fb000 fffffadc`bfa02000   dmload     (deferred)
    fffffadc`bfb98000 fffffadc`bfb9de80   ksthunk    (deferred)
    fffffadc`bfc32000 fffffadc`bfc39000   Beep       (deferred)
    fffffadc`bfdb5000 fffffadc`bfdb6400   swenum     (deferred)

    Unloaded modules:
    fffffadc`be695000 fffffadc`be6a1000   dump_storport.sys
    fffffadc`bcb8d000 fffffadc`bcba4000   imapi.sys
    fffffadc`bccac000 fffffadc`bccc2000   redbook.sys
    fffffadc`bcc9f000 fffffadc`bccc2000   serial.sys
    fffffadc`bcf3c000 fffffadc`bcf57000   cdrom.sys
    fffffadc`be6a5000 fffffadc`be6ae000   Sfloppy.SYS
    fffffadc`bf84b000 fffffadc`bf857000   Flpydisk.SYS
    fffffadc`be867000 fffffadc`be875000   Fdc.SYS
    fffffadc`bf65b000 fffffadc`bf666000   Vbemp.sys

    11: kd> !devnode 0 1
    Dumping IopRootDeviceNode (= 0xfffffadce0a9d7c0)
    DevNode 0xfffffadce0a9d7c0 for PDO 0xfffffadce1f047d0
      InstancePath is "HTREE\ROOT\0"
      State = DeviceNodeStarted (0x308)
      Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9cc30 for PDO 0xfffffadce0a9ce50
        InstancePath is "Root\ACPI_HAL\0000"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadce0a96490 for PDO 0xfffffadce1efc060
          InstancePath is "ACPI_HAL\PNP0C08\0"
          ServiceName is "ACPI"
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce084e010 for PDO 0xfffffadce0966060
            InstancePath is "ACPI\PNP0A08\0"
            ServiceName is "pci"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce23da440 for PDO 0xfffffadcdfa48d40
              InstancePath is "PCI\VEN_8086&DEV_3EC2&SUBSYS_00000000&REV_07\3&11583659&0&00"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce23da270 for PDO 0xfffffadcdfa48560
              InstancePath is "PCI\VEN_8086&DEV_1901&SUBSYS_00000000&REV_07\3&11583659&0&08"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce07ca800 for PDO 0xfffffadce07ca060
                InstancePath is "PCI\VEN_10DE&DEV_13C0&SUBSYS_13C010DE&REV_A1\4&17bc2637&0&0008"
                ServiceName is "Vbemp"
                State = DeviceNodeRemoved (0x312)
                Previous State = DeviceNodeStartCompletion (0x306)
                Problem = CM_PROB_FAILED_START
                Failure Status 0000000000

              DevNode 0xfffffadce07ca630 for PDO 0xfffffadce07cad40
                InstancePath is "PCI\VEN_10DE&DEV_0FBB&SUBSYS_13C010DE&REV_A1\4&17bc2637&0&0108"
                ServiceName is "HDAudBus"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0xfffffadce0688c50 for PDO 0xfffffadcdf954d20

                  InstancePath is
    "HDAUDIO\FUNC_01&VEN_10DE&DEV_0071&SUBSYS_10DE13C0&REV_1001\5&2222d42c&0&0001"
                  State = DeviceNodeInitialized (0x302)
                  Previous State = DeviceNodeUninitialized (0x301)
                  Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0962010 for PDO 0xfffffadce0629ad0
              InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\3&11583659&0&A0"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0962e40 for PDO 0xfffffadce0615650
              InstancePath is "PCI\VEN_8086&DEV_A2B1&SUBSYS_A2B11849&REV_00\3&11583659&0&A2"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0962c70 for PDO 0xfffffadce0966a80
              InstancePath is "PCI\VEN_8086&DEV_A2BA&SUBSYS_A2BA1849&REV_00\3&11583659&0&B0"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0962aa0 for PDO 0xfffffadce0966760
              InstancePath is "PCI\VEN_8086&DEV_A282&SUBSYS_A2821849&REV_00\3&11583659&0&B8"
              ServiceName is "storahci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce0991360 for PDO 0xfffffadcdfa68a20
                InstancePath is "SCSI\Disk&Ven_WDC&Prod_WD2003FZEX-00SRL&Rev_01.0\4&3543605e&0&010000"
                ServiceName is "disk"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce09628d0 for PDO 0xfffffadce0966440
              InstancePath is "PCI\VEN_8086&DEV_A2E7&SUBSYS_00000000&REV_F0\3&11583659&0&D8"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce0962700 for PDO 0xfffffadce095f060
              InstancePath is "PCI\VEN_8086&DEV_A290&SUBSYS_00000000&REV_F0\3&11583659&0&E0"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce0962530 for PDO 0xfffffadce095fb70
              InstancePath is "PCI\VEN_8086&DEV_A291&SUBSYS_00000000&REV_F0\3&11583659&0&E1"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce05f8010 for PDO 0xfffffadcdfa37970
                InstancePath is "PCI\VEN_1B21&DEV_0612&SUBSYS_06121849&REV_02\4&12e73dd2&0&00E1"
                ServiceName is "storahci"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce0962360 for PDO 0xfffffadce095f850
              InstancePath is "PCI\VEN_8086&DEV_A292&SUBSYS_00000000&REV_F0\3&11583659&0&E2"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadcdfa37c40 for PDO 0xfffffadce0709450
                InstancePath is "PCI\VEN_8086&DEV_1539&SUBSYS_15391849&REV_03\4&2880aa1&0&00E2"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0963010 for PDO 0xfffffadce095f530
              InstancePath is "PCI\VEN_8086&DEV_A294&SUBSYS_00000000&REV_F0\3&11583659&0&E4"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce0709720 for PDO 0xfffffadce0709060
                InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
                Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0963e40 for PDO 0xfffffadce0964d40
              InstancePath is "PCI\VEN_8086&DEV_A298&SUBSYS_00000000&REV_F0\3&11583659&0&E8"
              ServiceName is "pci"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce0963c70 for PDO 0xfffffadce0964a20
              InstancePath is "PCI\VEN_8086&DEV_A2C9&SUBSYS_00000000&REV_00\3&11583659&0&F8"
              ServiceName is "isapnp"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce05f8200 for PDO 0xfffffadce05f8a20
                InstancePath is "ACPI\PNP0C02\0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084b010 for PDO 0xfffffadce05f8820
                InstancePath is "ACPI\PNP0303\0"
                ServiceName is "i8042prt"
                TargetDeviceNotify List - f 0xfffffa8000633370  b 0xfffffa8000633370
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce084be40 for PDO 0xfffffadce05f8620
                InstancePath is "ACPI\PNP0F03\0"
                ServiceName is "i8042prt"
                TargetDeviceNotify List - f 0xfffffa80007ceaf0  b 0xfffffa80007ceaf0
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce084bc70 for PDO 0xfffffadce05f8420
                InstancePath is "ACPI\INT0800\4&e69c0be&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084baa0 for PDO 0xfffffadcdfb88060
                InstancePath is "ACPI\PNP0103\0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084b8d0 for PDO 0xfffffadcdfb88e60
                InstancePath is "ACPI\PNP0000\4&e69c0be&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084b700 for PDO 0xfffffadcdfb88c60
                InstancePath is "ACPI\PNP0C04\4&e69c0be&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084b530 for PDO 0xfffffadcdfb88a60
                InstancePath is "ACPI\PNP0C02\2"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce084b360 for PDO 0xfffffadcdfb88860
                InstancePath is "ACPI\PNP0C02\LPC_DEV"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce0976010 for PDO 0xfffffadcdfb88660
                InstancePath is "ACPI\PNP0B00\4&e69c0be&0"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadce0976e40 for PDO 0xfffffadcdfb88460
                InstancePath is "ACPI\PNP0100\4&e69c0be&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
              DevNode 0xfffffadce0976c70 for PDO 0xfffffadcdfb88260
                InstancePath is "ACPI\INT3F0D\4&e69c0be&0"
                State = DeviceNodeInitialized (0x302)
                Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadce0963aa0 for PDO 0xfffffadce0964700
              InstancePath is "PCI\VEN_8086&DEV_A2A1&SUBSYS_A2A11849&REV_00\3&11583659&0&FA"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce09638d0 for PDO 0xfffffadce09643e0
              InstancePath is "PCI\VEN_8086&DEV_A2F0&SUBSYS_12211849&REV_00\3&11583659&0&FB"
              ServiceName is "HDAudBus"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
              DevNode 0xfffffadcdf911010 for PDO 0xfffffadcdfac9560

                InstancePath is
    "HDAUDIO\FUNC_01&VEN_10EC&DEV_1220&SUBSYS_18491221&REV_1000\4&cc7b6aa&0&0001"
                ServiceName is "IntcAzAudAddService"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
            DevNode 0xfffffadce0963700 for PDO 0xfffffadce0614060
              InstancePath is "PCI\VEN_8086&DEV_A2A3&SUBSYS_A2A31849&REV_00\3&11583659&0&FC"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0963530 for PDO 0xfffffadce0614d40
              InstancePath is "PCI\VEN_8086&DEV_15B8&SUBSYS_15B81849&REV_00\3&11583659&0&FE"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
              Problem = CM_PROB_DISABLED
            DevNode 0xfffffadce0963360 for PDO 0xfffffadce09610c0
              InstancePath is "ACPI\PNP0C02\1"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadce095d010 for PDO 0xfffffadce09641e0
              InstancePath is "ACPI\PNP0C02\PCHRESV"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadce095de40 for PDO 0xfffffadce070a8e0
              InstancePath is "ACPI\PNP0C02\IoTraps"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadce095dc70 for PDO 0xfffffadce0614b40
              InstancePath is "ACPI\PNP0C02\5"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)
            DevNode 0xfffffadce095daa0 for PDO 0xfffffadce0614940
              InstancePath is "ACPI\PNP0C14\MXM2"
              ServiceName is "WmiAcpi"
              State = DeviceNodeStarted (0x308)
              Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce06152e0 for PDO 0xfffffadce0616060
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_0"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce097f190 for PDO 0xfffffadce0965060
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_1"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0629e40 for PDO 0xfffffadce084c4e0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_2"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce1eecb80 for PDO 0xfffffadce084e8e0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_3"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0956340 for PDO 0xfffffadce1ef71b0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_4"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0609670 for PDO 0xfffffadce1ee81b0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_5"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce07cb0e0 for PDO 0xfffffadce0617e60
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_6"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0617b70 for PDO 0xfffffadce1ef21b0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_7"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0978190 for PDO 0xfffffadce1f033c0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_8"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce095fe40 for PDO 0xfffffadce1eed360
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\_9"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0617480 for PDO 0xfffffadce1ee41b0
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\10"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce06172b0 for PDO 0xfffffadce0609350
            InstancePath is "ACPI\GenuineIntel_-_EM64T_Family_6_Model_158\11"
            ServiceName is "intelppm"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce06170e0 for PDO 0xfffffadce07cbde0
            InstancePath is "ACPI\PNP0C0E\2&daba3ff&0"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce0960b80 for PDO 0xfffffadce1eeb590
            InstancePath is "ACPI\PNP0C14\TBFP"
            ServiceName is "WmiAcpi"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce09609b0 for PDO 0xfffffadce0950440
            InstancePath is "ACPI\PNP0C0C\2&daba3ff&0"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
          DevNode 0xfffffadce09607e0 for PDO 0xfffffadce0609060
            InstancePath is "ACPI\FixedButton\2&daba3ff&0"
            State = DeviceNodeStarted (0x308)
            Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f02e40 for PDO 0xfffffadce0a9c9e0
        InstancePath is "Root\dmio\0000"
        ServiceName is "dmio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f02a60 for PDO 0xfffffadce1f02c80
        InstancePath is "Root\ftdisk\0000"
        ServiceName is "ftdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
        DevNode 0xfffffadce0628010 for PDO 0xfffffadce0974060
          InstancePath is "STORAGE\Volume\1&30a96598&0&Signature661910A0Offset100000Length1D1C05C0000"
          ServiceName is "volsnap"
          TargetDeviceNotify List - f 0xfffffa80003a8290  b 0xfffffa80008061c0
          State = DeviceNodeStarted (0x308)
          Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f03c30 for PDO 0xfffffadce1f03e50
        InstancePath is "Root\LEGACY_AFD\0000"
        ServiceName is "AFD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f03850 for PDO 0xfffffadce1f03a70
        InstancePath is "Root\LEGACY_BEEP\0000"
        ServiceName is "Beep"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9be40 for PDO 0xfffffadce0a9b060
        InstancePath is "Root\LEGACY_CDAC15BA\0000"
        ServiceName is "CdaC15BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9ba60 for PDO 0xfffffadce0a9bc80
        InstancePath is "Root\LEGACY_CDAD10BA\0000"
        ServiceName is "CdaD10BA"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9b680 for PDO 0xfffffadce0a9b8a0
        InstancePath is "Root\LEGACY_CRCDISK\0000"
        ServiceName is "crcdisk"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9b2a0 for PDO 0xfffffadce0a9b4c0
        InstancePath is "Root\LEGACY_DMBOOT\0000"
        ServiceName is "dmboot"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f01e40 for PDO 0xfffffadce1f01060
        InstancePath is "Root\LEGACY_DMLOAD\0000"
        ServiceName is "dmload"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f01a60 for PDO 0xfffffadce1f01c80
        InstancePath is "Root\LEGACY_FIPS\0000"
        ServiceName is "Fips"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f01680 for PDO 0xfffffadce1f018a0
        InstancePath is "Root\LEGACY_GPC\0000"
        ServiceName is "Gpc"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f012a0 for PDO 0xfffffadce1f014c0
        InstancePath is "Root\LEGACY_IPNAT\0000"
        ServiceName is "IpNat"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9ae40 for PDO 0xfffffadce0a9a060
        InstancePath is "Root\LEGACY_IPSEC\0000"
        ServiceName is "IPSec"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9aa60 for PDO 0xfffffadce0a9ac80
        InstancePath is "Root\LEGACY_KSECDD\0000"
        ServiceName is "ksecdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9a680 for PDO 0xfffffadce0a9a8a0
        InstancePath is "Root\LEGACY_MNMDD\0000"
        ServiceName is "mnmdd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a9a2a0 for PDO 0xfffffadce0a9a4c0
        InstancePath is "Root\LEGACY_MOUNTMGR\0000"
        ServiceName is "mountmgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f00e40 for PDO 0xfffffadce1f00060
        InstancePath is "Root\LEGACY_NDIS\0000"
        ServiceName is "NDIS"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f00a60 for PDO 0xfffffadce1f00c80
        InstancePath is "Root\LEGACY_NDISTAPI\0000"
        ServiceName is "NdisTapi"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f00680 for PDO 0xfffffadce1f008a0
        InstancePath is "Root\LEGACY_NDISUIO\0000"
        ServiceName is "Ndisuio"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1f002a0 for PDO 0xfffffadce1f004c0
        InstancePath is "Root\LEGACY_NDPROXY\0000"
        ServiceName is "NDProxy"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a99e40 for PDO 0xfffffadce0a99060
        InstancePath is "Root\LEGACY_NETBT\0000"
        ServiceName is "NetBT"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a99a60 for PDO 0xfffffadce0a99c80
        InstancePath is "Root\LEGACY_NULL\0000"
        ServiceName is "Null"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a99680 for PDO 0xfffffadce0a998a0
        InstancePath is "Root\LEGACY_PARTMGR\0000"
        ServiceName is "PartMgr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a992a0 for PDO 0xfffffadce0a994c0
        InstancePath is "Root\LEGACY_RASACD\0000"
        ServiceName is "RasAcd"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1effe40 for PDO 0xfffffadce1eff060
        InstancePath is "Root\LEGACY_RDPCDD\0000"
        ServiceName is "RDPCDD"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1effa60 for PDO 0xfffffadce1effc80
        InstancePath is "Root\LEGACY_SECDRV\0000"
        ServiceName is "Secdrv"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1eff680 for PDO 0xfffffadce1eff8a0
        InstancePath is "Root\LEGACY_TCPIP\0000"
        ServiceName is "Tcpip"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1eff2a0 for PDO 0xfffffadce1eff4c0
        InstancePath is "Root\LEGACY_VGASAVE\0000"
        ServiceName is "VgaSave"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a98e40 for PDO 0xfffffadce0a98060
        InstancePath is "Root\LEGACY_VOLSNAP\0000"
        ServiceName is "VolSnap"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a98a60 for PDO 0xfffffadce0a98c80
        InstancePath is "Root\LEGACY_WANARP\0000"
        ServiceName is "Wanarp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a98680 for PDO 0xfffffadce0a988a0
        InstancePath is "Root\MEDIA\MS_MMACM"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a982a0 for PDO 0xfffffadce0a984c0
        InstancePath is "Root\MEDIA\MS_MMDRV"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efee40 for PDO 0xfffffadce1efe060
        InstancePath is "Root\MEDIA\MS_MMMCI"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efea60 for PDO 0xfffffadce1efec80
        InstancePath is "Root\MEDIA\MS_MMVCD"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efe680 for PDO 0xfffffadce1efe8a0
        InstancePath is "Root\MEDIA\MS_MMVID"
        ServiceName is "audstub"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efe2a0 for PDO 0xfffffadce1efe4c0
        InstancePath is "Root\MS_L2TPMINIPORT\0000"
        ServiceName is "Rasl2tp"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a97e40 for PDO 0xfffffadce0a97060
        InstancePath is "Root\MS_NDISWANIP\0000"
        ServiceName is "NdisWan"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a97a60 for PDO 0xfffffadce0a97c80
        InstancePath is "Root\MS_PPPOEMINIPORT\0000"
        ServiceName is "RasPppoe"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a97680 for PDO 0xfffffadce0a978a0
        InstancePath is "Root\MS_PPTPMINIPORT\0000"
        ServiceName is "PptpMiniport"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a972a0 for PDO 0xfffffadce0a974c0
        InstancePath is "Root\MS_PTIMINIPORT\0000"
        ServiceName is "Raspti"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efde40 for PDO 0xfffffadce1efd060
        InstancePath is "Root\RDPDR\0000"
        ServiceName is "rdpdr"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efda60 for PDO 0xfffffadce1efdc80
        InstancePath is "Root\RDP_KBD\0000"
        ServiceName is "TermDD"
        TargetDeviceNotify List - f 0xfffffa8000979fa0  b 0xfffffa8000979fa0
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efd680 for PDO 0xfffffadce1efd8a0
        InstancePath is "Root\RDP_MOU\0000"
        ServiceName is "TermDD"
        TargetDeviceNotify List - f 0xfffffa8000794960  b 0xfffffa8000794960
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce1efd2a0 for PDO 0xfffffadce1efd4c0
        InstancePath is "Root\SYSTEM\0000"
        ServiceName is "swenum"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a96e40 for PDO 0xfffffadce0a96060
        InstancePath is "Root\SYSTEM\0001"
        ServiceName is "update"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
      DevNode 0xfffffadce0a96a60 for PDO 0xfffffadce0a96c80
        InstancePath is "Root\SYSTEM\0002"
        ServiceName is "mssmbios"
        State = DeviceNodeStarted (0x308)
        Previous State = DeviceNodeEnumerateCompletion (0x30d)
    11: kd> g
    [alcwzrd]Driver Version >=5100

Just to change videoprt.sys from WinServer2003 R2 64 bit to XP64 SP2 is not enough.
It still gives BSOD VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
on XP64 SP2, this BSOD XP64 SP1 and WinServer2003 R2 64 bit never show.

#2432

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2431

> Just to change videoprt.sys from WinServer2003 R2 64 bit to XP64 SP2 is not enough.
> It still gives BSOD VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
> on XP64 SP2, this BSOD XP64 SP1 and WinServer2003 R2 64 bit never show.

There is only one conclusion. Since on some computers WinXP x64 SP2 starts with AnaPa without any problems (X220) and on others it does not have to depend on the motherboard bios.
From this post it follows that booting also depends on the graphics card or its VBIOS:
¶ ASRock Z170 Pro4S + NVidia 8400GS GPU with the Anapa driver

#2433

diderius6

⇗ @Gelip
I just notice, that the grafikcards, which work with the Anapa driver have NO GOP (so no pur UEFI),
means they need always INT10.
Can you confirm this with your grafikcards which work/not work with the Anapa driver on XP64 SP2 for UEFI
Dietmar

#2434

diderius6

⇗ @Mov AX, 0xDEAD ⇗ @daniel_k
Do you have an idea, how to disable the signature check
in winload.efi?
There is a switch in the BCD menu
"Disable Driver Signature Enforcement"
but this switch cannot be set via BootIce for to be permanent.
I noticed, that all the problems, that winload.efi makes via INT10 for grafik
are the same as in winload.exe, so it isnt a problem of UEFI.
Here is the winload.efi 6.0.6001.16497
which may be the only working UEFI OS loader for XP64.
As bootloader you can use also the one from Win8
Dietmar
diderius6 has attached files to this post

- ⇗ server_BCD.rar

#2435

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2433

> I just notice, that the grafikcards, which work with the Anapa driver have NO GOP (so no pur UEFI),
> means they need always INT10.
> Can you confirm this with your grafikcards which work/not work with the Anapa driver on XP64 SP2 for UEFI
> Dietmar

It also depends on the motherboard bios version. X220 with latest bios have no GOP for iGPU and AnaPa working with efi loader from beta server.
ASUS bios 0402 (initial release) and 0405 have no GOP for iGPU but efi loader from server beta crash with error: An unexpected error 0xc0000017 and efi loader from vista beta crash with error: BlInitializeLibrary failed 0xc0000023 The same happens with a PCIe graphics card that does not have a GOP, e.g. GeForce 6200
Only bios version 0610 and newer have GOP for iGPU SNB/IVB and CSM Enable/Disable switch.
Yeeeaahh!
WinXP x64 SP2 boot OK on ASUS P8H61-M-LE-R2 with bios 0610 with PCIe GeForce 6200 LE 64MB VGA (D-sub) with AnaPa (nVidia):
⇗
It is possible because I installed WinXP again:

- one active partition FAT32 5120MB (5GB)
- efi loader from beta server
- no any drivers installed except AnaPa (nVidia) and Gigabit Ethernet
- debugging is set in BCD file and WinDbg work on another PC over serial cable (without symbol path)
- HDD work in IDE Compatible mode (not SATA, AHCI)
- option Fast Boot enabled in bios
- Launch CSM - Auto
- Security Boot - Other legacy & UEFI

⇗ ⇗
Bios 610 not detect HDD as UEFI: but to start WinXP you need use EFI Shell loaded from FAT32 pendrive:

    fs1:\efi\boot\bootx64.efi

or add entry to NVRAM with bcfg command:

    bcfg boot dump

check last value e.g i have 00 - PXE Realtek, 01 - HDD, 02 - UEFI: Kingston then next empty value is 03 so:

    bcfg boot add 3 fs1:\efi\boot\bootx64.efi "WinXP x64 SP2 from UEFI"

⇗
My Geforce 6200 LE no have GOP firmware.

#2436

infuscomus

⇗ @diderius6
I tested you XP64 Image in VMWare Workstation 15.1
in BIOS mode it booted normally, worked fine
in UEFI mode I received this error
⇗
this matches your testing?
edit:
disabling driver signature enforcement appears to make VM freeze (HDD/CD/Network icons in bottom right corner blink constantly and goes nowhere)

#2437 | diderius6 | ⇗ @infuscomus On real hardware I have no problem with disabling driver signature enforcement via BCD. But it can there not be set to permanently Dietmar

#2438

infuscomus

⇗ @Lost_N_BIOS
do you know anything about UEFI programming?
⇗ https://github.com/tianocore/edk2/tree/master/OvmfPkg/Csm
⇗ https://github.com/tianocore/edk2/search...unscoped_q=BIOS
It would be nice to have an EFI executable that could be run from EFI console to create a CSM from scratch to support legacy OS for UEFI class 3 systems in the future that wont have one.
assuming that this is possible

#2439 | lsmlcx | I test final ACPI.sys and xhci for Intel z170. they work well in XP x86, but in 2003 the Intel xhci device cann't start with error 39
#2440 | cringysami | is there any way to make Windows XP run on an ASRock B450M Pro4 motherboard? that's the motherboard that i have and i can't find any sata drivers for xp to work, so i keep getting bluescreens on the xp setup.
#2441 | IntiMD | ⇗ @cringysami ¶ Windows XP SP3 32bit and modern PC parts (119) Here's the link to the generic AHCI driver(storahci) by skullteria. If you can provide, what's the hardware identificator of the mobo's SATA controller?
#2442 | cringysami | How do I provide the hardware identifactor of the SATA controller?
#2443 | infuscomus | ⇗ @cringysami Show what is in Hardware IDs e.g. in Windows 10 -> Control Panel -> Device Manager -> IDE/ATAPI Controllers -> Standard SATA AHCI Controller -> Details -> Hardware IDs -> PCI\VEN_1022&DEV_7901&CC_0106

#2444

IntiMD

⇗ @cringysami
Aight, the first device according to pci.ids (DEV_7901) is "AMD FCH SATA Controller [AHCI mode]", the second one (DEV_43C8) is "AMD 400 Series Chipset SATA Controller" which is actually a virtualised AHCI controller for StoreMI. You shouldn't care about that virtualised device(second one), but the first device instead.
You now have 2 choices: One is to use the generic backported StorAHCI driver (which relies on Storport, which XP doesn't have <only Windows Server 2003>), the second choice is to use the inf-modded AMD AHCI driver by Fernando, which can be found here ⇗ [Guide] Integration of AMD's AHCI/RAID drivers into a WinXP/W2k3 CD
Get >Universal 32bit AMD AHCI driver v6.1.3.35 mod+signed by Fernando<, since the v1.21.321 driver depends on Storport, which XP doesn't have.

#2445 | infuscomus | ⇗ @cringysami there is also a modded driver by daniel_k you can try ¶ Windows XP SP3 32bit and modern PC parts (112)

## Page 164

#2446

infuscomus

Has anyone compiled 64bit reactos? would like to try their 64bit videoprt.sys
edit:
most recent pre-built x64
⇗ https://iso.reactos.org/bootcd/latest-x64-msvc-win-dbg
infuscomus has attached files to this post

- ⇗ reactos-x64-videoprt.zip

#2447

diderius6

⇗ @infuscomus
I tried the videoprt.sys from Reactos for to boot XP64 SP2.
I have no success, not for legacy not for UEFI boot, with
or without the ANAPA driver.
But the BSODS are other than for videoprt.sys from XP64 SP2.
So, may be the Reactos drivers are future for UEFI boot of XP
Dietmar

#2448 | infuscomus | ⇗ @diderius6 I get BSOD 0A with reactos videoprt.sys
#2449 | cringysami | ⇗ @IntiMD I tried using the storAHCI driver but I got the same 0x7B bluescreen. When I messaged didierious6 about it, he told me if I put the storport.sy_ correctly, but on the folder he linked, there was storport.sys and acpi.sys. Was I supposed to rename .sys to .sy_ for the bluescreen to go away. I'll also try the other driver you linked. Thank you for trying to help me solve this problem, I really appreciate it.
#2450 | infuscomus | ⇗ @cringysami you use nlite to integrate the drivers into your XP installation ISO.
#2451 | cringysami | ⇗ @infuscomus I did use nlite to integrate the drivers. It still gave me the same bluescreen. I don't know what I am doing wrong. I tried the universal driver too and it still gave me the bluescreen.
#2452 | infuscomus | ⇗ @cringysami one thing I found through testing - USB CD/DVD drives do not work properly on USB 3.0 for installing XP. you can solve this by using: 1. a SATA CD/DVD or 2. getting a PCI-E USB 2.0 card (uncommon, but they exist) - with USB 2.0 you can use USB CD/DVD drives for installing XP.
#2453 | cringysami | ⇗ @infuscomus Yes, I was using a USB 3.0 to install XP. My computer does not have a CD Drive and all the USB ports on the motherboard are USB 3.0. I guess my only option is to buy a SATA CD/DVD drive. Thank you so much for trying to help me. You, diderious6, and IntiDM have been really helpful and I appreciate it. I was hoping that the installation would work, but it seems that it only would work with a CD drive so I might get one.
#2454 | infuscomus | ⇗ @cringysami you're welcome! P.S alternatively - pcie USB 2.0 card ⇗ https://www.ebay.com/itm/USB-2-0-to-PCI-...lEAAOSwaBZZmNXaThe following contents have been linked to this post:

#2455

skullteria

> Zitat von ⇗ infuscomus im Beitrag ¶ #2448

> @diderius6
> I get BSOD 0A with reactos videoprt.sys

VideoPrt from reactos is incomplete and instable. Need some adaptation to run on XP. Even x86 version not work, on "normal" Bios

#2456

dencorso

> Zitat von ⇗ skullteria im Beitrag ¶ #2455

> VideoPrt from reactos is incomplete and instable. Need some adaptation to run on XP. Even x86 version not work, on "normal" Bios

Ain't it amazing how no interesting module from ReactOS is ever complete or working OK whenever it's needed?

#2457

diderius6

⇗ @dencorso
I make a try to set up the Reactos 64 bit *.iso on a FAT32 partition
from ⇗ @infuscomus post #2446 on the Asrock fatal1ty z370 gaming k6.
But even it looks, as Reactos has all the needed drivers for this board,
it crashes during install with black screen and no comment at all
Dietmar
EDIT: There is also a life CD for Reactos 64 bit
⇗ https://drive.google.com/uc?export=downl...mZwY4l-ndmLzXEb
This one fails with BSOD for bootvid.dll.
May be, that the switch /SOS can help.
EDIT2: Using the /SOS switch and setting up windbg it shows,
that it has a problem with the AHCI driver. So, it may work in IDE compatible mode.

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    (ntoskrnl\kd64\kdinit.c:74) -----------------------------------------------------
    (ntoskrnl\kd64\kdinit.c:75)
     ReactOS 0.4.13-amd64-dev (Build 20190530-0.4.13-dev-439-g582cbbd)
    (Commit 582cbbd9e082397bc3c7ba62183ab0e19d5adc29)
    (ntoskrnl\kd64\kdinit.c:76) 1 System Processor [1024 MB Memory]
    (ntoskrnl\kd64\kdinit.c:80) Command Line: DEBUG DEBUGPORT=COM1 BAUDRATE=115200 SOS MININT
    (ntoskrnl\kd64\kdinit.c:81) ARC Paths: multi(0)disk(0)cdrom(111) \ multi(0)disk(0)cdrom(111) \reactos\
    Connected to Windows Server 2003 3790 x64 target at (Mon Sep 16 23:15:49.500 2019 (UTC + 2:00)), ptr64 TRUE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe -
    Windows Server 2003 Kernel Version 3790 UP Checked x64
    Built by: 20190530-0.4.13-dev-439-g582cbbd.MSVC_19.21.27702.2
    Machine Name:
    Kernel base = 0xfffff800`00400000 PsLoadedModuleList = 0xfffff800`0062b830
    System Uptime: not available
    (ntoskrnl\ke\amd64\kiinit.c:445) Pcr = FFFFF80000608180, Gdt = FFFFF800003FC000, Idt = FFFFF80000627A00, Tss = FFFFF8000009B000
    (hal\halx86\acpi\halacpi.c:782) ACPI Timer at: 1808h (EXT: 0)
    (hal\halx86\acpi\halacpi.c:891) ACPI 2.0 Detected. Tables: [RSDT] [FACP] [DBGP]
    (hal\halx86\apic\rtctimer.c:102) Clock initialized
    (ntoskrnl\mm\ARM3\mminit.c:1452) HAL I/O Mapping at FFFFFFFFFFFE0000 is unsafe
    (ntoskrnl\mm\ARM3\mminit.c:1452) HAL I/O Mapping at FFFFFFFFFFFE1000 is unsafe
    (ntoskrnl\mm\ARM3\largepag.c:37) MiInitializeLargePageSupport: PAE/x64 Not Implemented
    (hal\halx86\amd64\x86bios.c:106) memory: F000EEF3F000EEF3, F000EEF3F000E2C3
    ExceptionFilter 1
    ExceptionFilter 2
    Finally
    Target1
    (ntoskrnl\mm\mminit.c:136)           0xFFFFF80000000000 - 0xFFFFF80003000000	Boot Loaded Image
    (ntoskrnl\mm\mminit.c:140)           0xFFFFFA8000000000 - 0xFFFFFA8000E01000	PFN Database
    (ntoskrnl\mm\mminit.c:144)           0xFFFFFA8031038000 - 0xFFFFFA8033050000	ARM3 Non Paged Pool
    (ntoskrnl\mm\mminit.c:148)           0xFFFFF97FED000000 - 0xFFFFF97FF3800000	System View Space
    (ntoskrnl\mm\mminit.c:152)           0xFFFFF97FF3800000 - 0xFFFFF98000000000	Session Space
    (ntoskrnl\mm\mminit.c:155)           0xFFFFF68000000000 - 0xFFFFF6FFFFFFFFFF	Page Tables
    (ntoskrnl\mm\mminit.c:158)           0xFFFFF6FB40000000 - 0xFFFFF6FB7FFFFFFF	Page Directories
    (ntoskrnl\mm\mminit.c:161)           0xFFFFF70000000000 - 0xFFFFF77FFFFFFFFF	Hyperspace
    (ntoskrnl\mm\mminit.c:164)           0xFFFFF98000000000 - 0xFFFFF980FFFFEFFF	System Cache
    (ntoskrnl\mm\mminit.c:168)           0xFFFFF8A000000000 - 0xFFFFF8A002000000	ARM3 Paged Pool
    (ntoskrnl\mm\mminit.c:171)           0xFFFFF88000000000 - 0xFFFFFA8033050000	System PTE Space
    (ntoskrnl\mm\mminit.c:174)           0xFFFFFA8033050000 - 0xFFFFFA8049F44000	Non Paged Pool Expansion PTE Space
    (ntoskrnl\config\cmcheck.c:25) CmCheckRegistry(0xFFFFFA8032FD8000, 2) is UNIMPLEMENTED!
    ACPI Compatible Eisa/Isa HAL Detected
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC220, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC150, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC220, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC2A0, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC2A0, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC380, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC380, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC380, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC380, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC380, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC420, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\ex\work.c:755) Requesting a new thread. CurrentCount: 0. MaxCount: 1
    (sdk\lib\rtl\image.c:172) Invalid base address: 0000000000000000
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC790, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\iomgr\driver.c:1637) '\Driver\SACDRV' initialization failed, status (0xc0000037)
    (ntoskrnl\io\iomgr\driver.c:64) Deleting driver object '\Driver\SACDRV'
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (drivers\storage\scsiport\scsiport.c:5859) ZwOpenKey() failed with Status=0xC0000034
    (hal\halx86\legacy\bus\pcibus.c:727) WARNING: PCI Slot Resource Assignment is FOOBAR
    (ntoskrnl\ke\amd64\interrupt.c:94) FIXME: KeConnectInterrupt() with invalid vector 0x0!
    (ntoskrnl\ke\amd64\interrupt.c:136) FIXME: KeConnectInterrupt() with used vector 0x0!
    (hal\halx86\legacy\bus\pcibus.c:727) WARNING: PCI Slot Resource Assignment is FOOBAR
    (ntoskrnl\ke\amd64\interrupt.c:94) FIXME: KeConnectInterrupt() with invalid vector 0x10!
    (ntoskrnl\ke\amd64\interrupt.c:136) FIXME: KeConnectInterrupt() with used vector 0x10!
    (ntoskrnl\io\iomgr\driver.c:1637) '\Driver\UNIATA' initialization failed, status (0xc00000c0)
    (ntoskrnl\io\iomgr\driver.c:64) Deleting driver object '\Driver\UNIATA'
    (ntoskrnl\io\iomgr\driver.c:1637) '\Driver\BUSLOGIC' initialization failed, status (0xc00000c0)
    (ntoskrnl\io\iomgr\driver.c:64) Deleting driver object '\Driver\BUSLOGIC'
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (drivers\ksfilter\swenum\swenum.c:428) SWENUM loaded
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC6D0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC8B0, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC4C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC3F0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC4C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC540, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC540, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC620, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC620, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC620, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC620, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC620, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC3D0, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC410, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\ke\amd64\interrupt.c:94) FIXME: KeConnectInterrupt() with invalid vector 0x20!
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC2C0, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC340, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2CB0, Irp->UserEvent=FFFFF880053DC350, IrpStack=FFFFFA8032FD2DC8
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBF60, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBE90, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBF60, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBFE0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBFE0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC0C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC0C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC0C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC0C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC0C0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DC020, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBF70, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBFB0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBE60, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBEE0, IrpStack=FFFFFA8032FD2340
    (ntoskrnl\io\pnpmgr\pnpmgr.c:670) No service!
    (ntoskrnl\io\pnpmgr\pnpmgr.c:1466) ### Irp=FFFFFA8032FD2270, Irp->UserEvent=FFFFF880053DBEF0, IrpStack=FFFFFA8032FD2340

    *** Fatal System Error: 0x0000007b
                                                 (0xFFFFF880053DCA18,0xFFFFFFFFC0000034,0x0000000000000000,0x0000000000000000)

    Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows Server 2003 3790 x64 target at (Mon Sep 16 23:16:02.062 2019 (UTC + 2:00)), ptr64 TRUE
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe -
    Loading Kernel Symbols
    .....................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 7B, {fffff880053dca18, ffffffffc0000034, 0, 0}

    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    Probably caused by : ntoskrnl.exe ( nt!KeRegisterNmiCallback+592 )

    Followup: MachineOwner
    ---------

    nt!DbgBreakPointWithStatus+0x2:
    fffff800`0057f876 cc              int     3
    kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    INACCESSIBLE_BOOT_DEVICE (7b)
    During the initialization of the I/O system, it is possible that the driver
    for the boot device failed to initialize the device that the system is
    attempting to boot from, or it is possible for the file system that is
    supposed to read that device to either fail its initialization or to simply
    not recognize the data on the boot device as a file system structure that
    it recognizes.  In the former case, the argument (#1) is the address of a
    Unicode string data structure that is the ARC name of the device from which
    the boot was being attempted.  In the latter case, the argument (#1) is the
    address of the device object that could not be mounted.
    If this is the initial setup of the system, then this error can occur if
    the system was installed on an unsupported disk or SCSI controller.  Note
    that some controllers are supported only by drivers which are in the Windows
    Driver Library (WDL) which requires the user to do a custom install.  See
    the Windows Driver Library for more information.
    This error can also be caused by the installation of a new SCSI adapter or
    disk controller or repartitioning the disk with the system partition.  If
    this is the case, on x86 systems the boot.ini file must be edited or on ARC
    systems setup must be run.  See the "Advanced Server System Administrator's
    User Guide" for information on changing boot.ini.
    If the argument is a pointer to an ARC name string, then the format of the
    first two (and in this case only) longwords will be:
        USHORT Length;
        USHORT MaximumLength;
        PWSTR Buffer;
    That is, the first longword will contain something like 00800020 where 20
    is the actual length of the Unicode string, and the next longword will
    contain the address of buffer.  This address will be in system space, so
    the high order bit will be set.
    If the argument is a pointer to a device object, then the format of the first
    word will be:
        USHORT Type;
    That is, the first word will contain a 0003, where the Type code will ALWAYS
    be 0003.
    Note that this makes it immediately obvious whether the argument is a pointer
    to an ARC name string or a device object, since a Unicode string can never
    have an odd number of bytes, and a device object will always have a Type
    code of 3.
    Arguments:
    Arg1: fffff880053dca18, Pointer to the device object or Unicode string of ARC name
    Arg2: ffffffffc0000034
    Arg3: 0000000000000000
    Arg4: 0000000000000000

    Debugging Details:
    ------------------

    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.

    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    Your debugger is not using the correct symbols                 ***
    ***                                                                   ***
    ***    In order for this command to work properly, your symbol path   ***
    ***    must point to .pdb files that have full type information.      ***
    ***                                                                   ***
    ***    Certain .pdb files (such as the public OS symbols) do not      ***
    ***    contain the required information.  Contact the group that      ***
    ***    provided you with these symbols if you need this command to    ***
    ***    work.                                                          ***
    ***                                                                   ***
    ***    Type referenced: nt!_KPRCB                                     ***
    ***                                                                   ***
    *************************************************************************

    ADDITIONAL_DEBUG_TEXT:
    Use '!findthebuild' command to search for the target build information.
    If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.

    MODULE_NAME: nt

    FAULTING_MODULE: fffff80000400000 nt

    DEBUG_FLR_IMAGE_TIMESTAMP:  5cf01f6c

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x7B

    CURRENT_IRQL:  0

    LAST_CONTROL_TRANSFER:  from fffff800004ab0d2 to fffff8000057f876

    STACK_TEXT:
    fffff880`053dc348
     fffff800`004ab0d2 : fffff880`053dc388 fffff880`053dc401
    00000000`00000000 00000000`00000000 : nt!DbgBreakPointWithStatus+0x2
    fffff880`053dc350
     fffff800`004aa282 : fffff800`00000003 00000000`0000007b
    fffff880`053dca18 ffffffff`c0000034 : nt!KeRegisterNmiCallback+0x592
    fffff880`053dc380
     fffff800`004a99f2 : fffff880`0000007b fffff880`053dca18
    ffffffff`c0000034 00000000`00000000 : nt!KeBugCheckEx+0x8d2
    fffff880`053dc990
     fffff800`005b887a : fffff880`0000007b fffff880`053dca18
    ffffffff`c0000034 00000000`00000000 : nt!KeBugCheckEx+0x42
    fffff880`053dc9d0
     fffff800`005b7818 : fffff800`00074000 fffff800`005d29f8
    00000000`0000000a fffff800`006320e0 : nt!InbvEnableBootDriver+0x3a2a
    fffff880`053dcb90
     fffff800`005b2b53 : fffff800`00074000 fffff800`0000004b
    fffff800`00646700 00000000`00000000 : nt!InbvEnableBootDriver+0x29c8
    fffff880`053dcd80 fffff800`00438fe3 : fffff800`00074000 fffffa80`32feebf0 fffff800`00631800 0053002b`002b0010 : nt!wcsspn+0xd063
    fffff880`053dcf60
     fffff800`0053d17e : fffff800`00074000 fffff800`0053d130
    00000000`00000010 00000000`00000246 : nt!HeadlessDispatch+0x223
    fffff880`053dcf90
     fffff800`0040266b : fffff800`00438fd0 fffff800`00074000
    00000000`00000000 fffff800`0053d130 : nt!PsWrapApcWow64Thread+0xdee
    fffff880`053dcfd0
     00000000`00000000 : 00000000`00000000 00000000`00000000
    00000000`00000000 00000000`00000000 : nt!ZwYieldExecution+0xfb

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    nt!KeRegisterNmiCallback+592
    fffff800`004ab0d2 eb07            jmp     nt!KeRegisterNmiCallback+0x59b (fffff800`004ab0db)

    SYMBOL_STACK_INDEX:  1

    SYMBOL_NAME:  nt!KeRegisterNmiCallback+592

    FOLLOWUP_NAME:  MachineOwner

    IMAGE_NAME:  ntoskrnl.exe

    BUCKET_ID:  WRONG_SYMBOLS

    Followup: MachineOwner
    ---------

    kd> lm
    start             end                 module name
    fffff800`0022e000 fffff800`00284000   hal        (deferred)
    fffff800`00284000 fffff800`0028b000   kdcom      (deferred)
    fffff800`0028b000 fffff800`00293000   bootvid    (deferred)
    fffff800`00400000 fffff800`00659000   nt         (export symbols)       ntoskrnl.exe
    fffff880`053dd000 fffff880`0540a000   ks         (deferred)
    fffff880`0540a000 fffff880`05411000   swenum     (deferred)
    fffff880`05411000 fffff880`05435000   ndis       (deferred)
    fffff880`05435000 fffff880`05440000   mup        (deferred)
    fffff880`05440000 fffff880`05448000   nmidebug   (deferred)
    fffff880`05448000 fffff880`05466000   ksecdd     (deferred)
    fffff880`05466000 fffff880`05471000   ramdisk    (deferred)
    fffff880`05471000 fffff880`0547f000   disk       (deferred)
    fffff880`0547f000 fffff880`0548e000   class2     (deferred)
    fffff880`0548e000 fffff880`054a0000   cdrom      (deferred)
    fffff880`054a0000 fffff880`054ab000   buslogic   (deferred)
    fffff880`054ab000 fffff880`054c0000   scsiport   (deferred)
    fffff880`054c0000 fffff880`054ff000   uniata     (deferred)
    fffff880`054ff000 fffff880`05518000   mountmgr   (deferred)
    fffff880`05518000 fffff880`05525000   pci        (deferred)
    fffff880`05525000 fffff880`05587000   acpi       (deferred)
    fffff880`05587000 fffff880`055a2000   sacdrv     (deferred)
    fffff880`055a2000 fffff880`055cf000   cdfs       (deferred)
    kd> !devnode 0 1
    Error retrieving address of IopRootDeviceNode

#2458 | IntiMD | IIRC the AMD64 arch version of ReactOS isn't that ready yet (even compared to the project's 32-bit builds), so don't be surprised that it won't work.

#2459

Gelip

I noticed strange thing. I tested different VGA PCIe and PCI cards and now with GeForce 6200 LE WinXP x64 not boot and error:
Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
I programmed again 610 bios with CH341A but it did not help. I think that I have to install the fresh WinXP bacause the registry has a lot of entries from the previous tested VGA PCIe and PCI cards e.g. in:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters -> VideoInitTime ???
Maybe it changed load order of the drivers in WinXP and is therefore problem videoprt.sys ???
It may have changed device resources such as IRQ, memory adresses and I/O ports ? For now I have like this:

    System Information report written at: 09/16/19 07:23:00
    System Name: EFIFAT
    [Display]

    Item	Value
    Name	VBE Miniport (nVidia)
    PNP Device ID	PCI\VEN_10DE&DEV_0163&SUBSYS_CA33107D&REV_A1\4&8F789FD&0&0008
    Adapter Type	VESA/SVGA, AnaPa Corp compatible
    Adapter Description	VBE Miniport (nVidia)
    Adapter RAM	64,00 MB (67 108 864 bytes)
    Installed Drivers	framebuf.dll,modex.dll
    Driver Version	15.01.0001
    INF File	oem0.inf (Vbemp section)
    Color Planes	1
    Color Table Entries	4294967296
    Resolution	800 x 600 x 56 hertz
    Bits/Pixel	32
    Memory Address	0xF6000000-0xF6FFFFFF
    Memory Address	0xE0000000-0xEFFFFFFF
    Memory Address	0xF5000000-0xF70FFFFF
    I/O Port	0x000003B0-0x000003BB
    I/O Port	0x000003C0-0x000003DF
    Memory Address	0xA0000-0xBFFFF
    Driver	c:\windows\system32\drivers\vbemp.sys (15.01.0001 built by: WinDDK, 23,00 KB (23 552 bytes), 2019-09-15 19:38)

This is very strange. I need install fresh copy WinXP for tests.

#2460

infuscomus

⇗ @Gelip
have you tried the official nvidia driver for Geforce 6000 series? - Surprisingly, Geforce 6000 is supported up to Windows 8 64bit.
XP 64bit
⇗ https://www.geforce.com/drivers/results/57494
Win8 64bit
⇗ https://www.geforce.com/drivers/results/82758

## Page 165

#2461

Andalu

A strange thingh: usb3 no longer works on my asrock B75 Pro3-M as in ¶ #2130. I had put the board aside after checking the correct operation of the mod drivers but today when I picked it up to try a clean XP install on a new hard disk I was no longer able to get the correctly working USB3. And worse, also connecting my previous disk (used with USB3 ports fully functional), the same ports don't work as some days ago.
The modded AHCI.sys is still in C:\WINDOWS\system32\drivers. Tried to reinstall the drivers with no success. The bios options seem be to set as when usb3 worked correctly. In some reboots, I received this message: 'Press <CTRL P> to Enter MEBX Setup Menu - CMOS Date/Time Not Set - Press F2 or Del to Run Setup - Press F1 to Continue'. By pressing F1 key the boot continued normally but windows date and time was incorrect. I already cleared the cmos and changed the battery and that message seems gone but the usb3 ports act as usb2 also with a new clean XP install. What happened and how can i resolve?

#2462

PPeti66x

Hi! Your problem is probably that Intel Inf package installs a null-driver for Gen-3 and older motherboards. You need to kill this driver prior installing a modded one:
1.) You must search in all *.inf in Windows\Inf directory for string "PantUSB3.inf" or "Null driver for Intel(R) USB 3.0", then rename the file extension of both inf and pnf file (the file should be have name "oem*.inf", then rename to "oem*.in_").
2.) Then You must uninstall the "Intel(R) 7 Series/C216 Chipset Family Universal Serial Bus (USB) Controller - 1E31" driver.
3.) Now you can install the modded driver.

#2463 | Andalu | ⇗ @PPeti66x It works!!! Thanks sooo much
#2464 | lama | Hi,.. Can anyone suggest me best new PC and components that is XP and Hackintosh compatible? Thanks in advance

#2465

Gelip

> Zitat von ⇗ lama im Beitrag ¶ #2464

> Hi,..
> Can anyone suggest me best new PC and components that is XP and Hackintosh compatible? Thanks in advance

Not new, but best is ThinkPad X220. It has drivers for WinXP/Vista/7/8/10. Mac OS also sholud work.
or search motherboard from 2010-2014 which has drivers for WinXP.

#2466

infuscomus

⇗ @diderius6 ⇗ @daniel_k ⇗ @skullteria ⇗ @Gelip
So this was something I was attempting to do a couple of years ago using an old version of KernelEx by Xeno86 that used to patch code into PE files - thanks to Dibya over at MSFN forum for finding it.
It was an attempt at patching extra functions into ntoskrnl for XP to support more hardware.
You can see there is extra code at the end of the file after relocations section (this may or may not be a bad idea? not sure)
anyone interested in going further with this? or a waste of time?
infuscomus has attached files to this post

- ⇗ attempt_ntkrnlmp_patch.zip

#2467 | diderius6 | ⇗ @infuscomus This ntkrnlmp.exe has an unfullfilled dependency for Hal.dll HalGetVectorInput Dietmar

#2468

infuscomus

⇗ @diderius6
here is the hal.dll with HalGetVectorInput patched in
infuscomus has attached files to this post

- ⇗ attempt_halmacpi_patch.zip

#2469

Archimedes

Hello Everyone,
first let me thank you for your hard work, you are doing a great job!
I have the same issues that already cedar mentioned with your ACPI 5048 for XP x64 SP2 from Dietmars post #2202. I'm getting random BSODs with IRQ not less or equal 0x0000000A. I uninstalled nearly every Driver but i seems that the patched ACPI must be responsible. The BSODs are more likely to appear when e.g. playing a video file with mediaplayer classic or doing heavy downloads from the intel nic.
I tested with a x370 Crosshair VI Extreme, BIOS 7403 and a Ryzen 3800X.
I also get a yellow exclamation mark at the ACPI Embedded Conroller, which I didnt see in Diderus6 own Screenshots with the patched ACPI. And now comes something more pitty: On a intel x79 with full xp support i also tested for fun the patched ACPI and i am getting the same issues - also the exclamation mark at the ACPI embedded controller. So it can not be an issue with the ACPI tables in the BIOS, it must be a problem with the patched ACPI.
Any Ideas? Im willing to help and test! :) Thank you!
⇗

#2470

Archimedes

> Zitat von ⇗ diderius6 im Beitrag ¶ #2222

> @daniel_k
> This picture is based on the acpi.sys 5048 for XP 64 SP2 on Ryzen from post 2202
> Dietmar
> ⇗

Here in this post Dietmar dont have the exclamation mark at the ACPI embedded controller. Could it be because of the old Ryzen 1700? I used the new 3800x.

#2471

diderius6

⇗ @Archimedes
The embedded Acpi controller is not needed at all.
I make the experience, that XP 64 SP2 is much more instable than XP SP3, 32 bit.
On every compi, where I install XP SP3 it is stable (about 100 different motherboards I tested).
But only on one(!) motherboard, XP64 SP2 was stable, it is the Giga H110 board
Dietmar

#2472

Archimedes

> Zitat von ⇗ diderius6 im Beitrag ¶ #2471

> @Archimedes
> The embedded Acpi controller is not needed at all.
> I make the experience, that XP 64 SP2 is much more instable than XP SP3, 32 bit.
> On every compi, where I install XP SP3 it is stable (about 100 different motherboards I tested).
> But only on one(!) motherboard, XP64 SP2 was stable, it is the Giga H110 board
> Dietmar

Did you/some of you try XP x64 with a modded DSDT instead of a patched ACPI? Was the result more stable?

#2473

diderius6

⇗ @Archimedes
I have not tried. Where is sense to spend a lot of time when results are bad from the beginning?
When you read about your special BSODs from XP64 SP2,
they can be found everywhere from 2007 until now, for lan connections, for sound and so on.
This never happens for any version of XP 32 bit.
It has nothing to do with ACPI.
XP64 SP1 from 2005 was more stable
Dietmar

#2474

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #2473

> @Archimedes
> I have not tried. Where is sense to spend a lot of time when results are bad from the beginning?
> When you read about your special BSODs from XP64 SP2,
> they can be found everywhere from 2007 until now, for lan connections, for sound and so on.
> This never happens for any version of XP 32 bit.
> It has nothing to do with ACPI.
> XP64 SP1 from 2005 was more stable
> Dietmar

However, x64 is the presente and the future, several programs not be more compiled in x86, only x64. Windows XP X64 is the minimum to NT 5.X keep living

#2475

Archimedes

> Zitat von ⇗ diderius6 im Beitrag ¶ #2473

> @Archimedes
> I have not tried. Where is sense to spend a lot of time when results are bad from the beginning?
> When you read about your special BSODs from XP64 SP2,
> they can be found everywhere from 2007 until now, for lan connections, for sound and so on.
> This never happens for any version of XP 32 bit.
> It has nothing to do with ACPI.
> XP64 SP1 from 2005 was more stable
> Dietmar

Dont get me wrong, but I would not agree with that. I am using XP x64 SP2 since 2010 on AMD AM3 and Intel X79 and it is running rock stable - including a 980 TI.
Since the patched ACPI.sys runs flawless without BSODs (excl. the embedded controller) on my x79 build with XP x64, I think there must be still something missing for the ACPI 2.0 compatibility.

## Page 166

#2476

Mov AX, 0xDEAD

Some progress on windbg over NET for Windows XP
- port of kdnet.dll from windows 8.1 x32, support many qualcomm/intel/realtek/broadcom/emulex pci-e chips
- testing on VMware (thanks to embedded GDB server)
- guest OS = WindowsXP x32 PAE SP3 1CPU
- host OS = Windows7 x64
- test card = virtual Intel 8254x(e1000e) Gigabit network card
- currently need little ntoskrnl.exe patch for disabling ram-moving of kdnet.dll+kdstub.dll
- unresolved bug with losting connection windbg<->guestos
windbg log:

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.4.3 on port 50000 on local IP 192.168.4.1.
    Connected to Windows XP 2600 x86 compatible target at (Sat Sep 21 02:49:35.219 2019 (UTC + 5:00)), ptr64 FALSE
    Kernel Debugger connection established.

    ************* Symbol Path validation summary **************
    Response                         Time (ms)     Location
    OK                                             C:\Windows\Symbols
    Symbol search path is: C:\Windows\Symbols
    Executable search path is:
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp.080413-2111
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for halmacpi.dll -
    nt!DbgBreakPoint:
    8052b5d0 cc              int     3
    kd> bu nt!MiReloadBootLoadedDrivers
    kd> g
    Breakpoint 0 hit
    nt!MiReloadBootLoadedDrivers:
    806a6e90 8bff            mov     edi,edi
    kd> p
    nt!MiReloadBootLoadedDrivers+0x2:
    806a6e92 55              push    ebp

#2477

diderius6

⇗ @Mov AX, 0xDEAD
This is a nice result (хорошая работа), because a lot of new compis
can only be debugged for XP via this way.
When you have kdnet.dll for XP,
I want to test
Dietmar
PS: Have you tested, at which point in bootprocess of XP SP3 windbg starts to work?

#2478 | infuscomus | anyone interested in the patcher program to add functions? i have source code if anyone would like to see it.
#2479 | diderius6 | ⇗ @infuscomus I am interested. Do you have a driver, which works now on this new XP 32, using integrated functions Dietmar

#2480

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2477

> When you have kdnet.dll for XP,
> I want to test

OK, but i dont know when kdnet will be done, on real hardware (realtek and atheros lan chips) it not work yet.
p.s it's realy hard to debug "debug transport" on hardware, maybe i will have mix classic UART/COM transport with lan, so kernel will double output to both transports and will be possible to see on COM what's going with other transport

> Zitat von ⇗ diderius6 im Beitrag ¶ #2477

> PS: Have you tested, at which point in bootprocess of XP SP3 windbg starts to work?

- ntldr load NTOSKRNL(or variation like PAE/MP), then HAL, then bootvid.dll, then KD Transport (default KDCOM ), start NTOSKRNL
- NTOSKRNL load many bootdrivers but not start it
- NTOSKRNL at some init stage (phase0 in sources) start KD transport, init connection to windbg and break instantly if /BREAK option presented in boot.ini

#2481

Gelip

Yes, I confirm - for WinXP x64 SP2 to run under UEFI with the AnaPa driver you need:

- you must install >> !!! fresh !!! << WinXP in legacy mode using a card that will work later when booting in UEFI mode
- after first boot need install AnaPa driver
- copy my EFI files from beta longhorn server

It doesn't matter if you install the system on one FAT32 partition or on 100MB FAT32 + NTFS 5G (my way)
Tested hardware: GeForce 6200 LE PCI EXPRESS LEADTEK LR2A13 PCB REV:C on ASUS P8H61-M LE R2 with bios 0610. SATA disk mode set to IDE in bios:
⇗
P.S. I need make this test one more time but now with nVidia driver

#2482 | Gelip | Just one change of the graphics driver and the system does not boot in UEFI - only fresh WinXP x64 SP2 installation solve the problem.

#2483

diderius6

⇗ @Gelip
This brings me to the idea,
that it is important, which driver starts after which one.
But bootvid.dll and videoprt.sys have no entry in registry.
So I have no idea, how to change the loadorder of them
Dietmar
PS: May be, they have a hidden entry in hive "system".
Can you sent me a whole copy of your working hive "system"
and that one, which fails for UEFI boot and I compare them
via Beyond Compare 2.

#2484

diderius6

Just now I try to set up XP SP3 32 bit for UEFI boot on the Lenovo flex 10 notebook.
Nothing easy in this, because I noticed, that the installed Bios is 64 bit.
There is a 32 bit UEFI Bios for this notebook, but how to flash 64 bit Bios back to 32 bit Bios is another question.
In this moment I make a backup from the installed Win10 on NTFS GPT partition.
Thanks to ⇗ @infuscomus this is easy for me).
Oh my, my i920 compi with XP SP3 for daily use is about 10 times faster^^
Dietmar

#2485

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2483

> So I have no idea, how to change the loadorder of them
> PS: May be, they have a hidden entry in hive "system".
> Can you sent me a whole copy of your working hive "system"
> and that one, which fails for UEFI boot and I compare them
> via Beyond Compare 2.

I attach the system registry files for comparison. Maybe there is something to the Video option in GroupOrderList ???

> Zitat von ⇗ diderius6 im Beitrag ¶ #2484

> Just now I try to set up XP SP3 32 bit for UEFI boot on the Lenovo flex 10 notebook.
> Nothing easy in this, because I noticed, that the installed Bios is 64 bit.
> There is a 32 bit UEFI Bios for this notebook, but how to flash 64 bit Bios back to 32 bit Bios is another question.

You can probably program the old bios with the external programmer and I wrote you what and how on betaarchive: ⇗ https://www.betaarchive.com/forum/viewto...=444342#p444342
⇗
Gelip has attached files to this post

- ⇗ system_not_boot.zip
- ⇗ system_boot.zip

#2486

diderius6

⇗ @Gelip
Until now, I do not succeed to flash back the Lenovo flex 10 notebook from 64 bit to 32 bit Bios.
To extract only the Bios region and use insyde to flash this via win10 64 bit does not work.
The Intel CSME also not works, gives unknown error.
Universal BIOS Backup ToolKit 2.0.exe gives message "Bios cant be identified".
FD44Editor.exe also not works, brrr..
In win10 compi writes that Bios is flashed,
but on reboot appears message Error in flash process.
I can use the external Epromer, but then all information about compi
Uiid and Mac number is gone. With UEFI tool, only the Bios region can be seen,
no ME region etc.
With the external Epromer I can extract the whole 64 bit Bios.
But how to flash it back with Bios 32 bit,
so that Mac etc. is not gone, I dont know
Dietmar

#2487

dencorso

> Zitat

> anyone interested in the patcher program to add functions? i have source code if anyone would like to see it.

⇗ @infuscomus:
Yes, I do. If you can provide both the executable and the source code, even better. Thanks in advance.
Changing subjects: give ⇗ this a look. There you'll find injective code that might be useful for what, IMO, ought to be a properly done kernelex. I think the cleanest way to do that is to inject code at the run time images of kernel32.dll advapi.dll and some other processes, and use that code to redirect requests for missing functions to modules providing them. If that can be done at Ring 0 level, by means of a pseudo-driver, even better, because then hal.dll and krnl*.exe could also be modified without any direct patching of any M$ files. Just my 2¢, of course...
Keep on the great work!

#2488

diderius6

I succeed to read out the whole 64 bit Bios from Lenovo flex 10 notebook with its own
Insyde.exe tool.
For this I set in platform.ini
[BackupROM]
Flag=1
FilePath=
FileName=
This writes the full (?) original Bios to the place, from where it is called.
Can somebody take a look at this file, if UUID, Mac and serial number are correct in this file?
And my question is: When I flash the Bios 32 bit from website
and add there the Me and Gbe region from this 64 bit Bios via UEFI tool before flashing with Epromer,
will this 32 Bit Bios work
Dietmar
diderius6 has attached files to this post

- ⇗ Flex10.rar
- ⇗ Ready32forFlashhh.rar

#2489

diderius6

⇗ @Gelip
I compare both System files.
In System, where it boots,
the monitor is not specified.
And the compi seems to use the original vga.sys instead of the anapa driver
Dietmar
PS: The differences in Registry could be tested one by one, which would be a really hard work.
diderius6 has attached files to this post

- ⇗ rptA7008.rar

#2490

PPeti66x

Hi!
ACPI Embedded controller exclamation can be solved by installing a null-driver (as in original case in Longhorn/Vista)
Here are the modified inf files. Copy the correct inf to the Windows\Inf folder (backup the original file first), then uninstall the Embedded controller, then reinstall it.
PPeti66x has attached files to this post

- ⇗ acpi_inf_for_Longhorn5048.zip

## Page 167

#2491 | infuscomus | ⇗ @diderius6 ⇗ @dencorso I PMed you the kernel patcher program with source code.

#2492

XPLives

⇗ @skullteria

> Zitat von ⇗ skullteria im Beitrag ¶ #2474

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2473

> > @Archimedes
> > I have not tried. Where is sense to spend a lot of time when results are bad from the beginning?
> > When you read about your special BSODs from XP64 SP2,
> > they can be found everywhere from 2007 until now, for lan connections, for sound and so on.
> > This never happens for any version of XP 32 bit.
> > It has nothing to do with ACPI.
> > XP64 SP1 from 2005 was more stable
> > Dietmar

> However, x64 is the presente and the future, several programs not be more compiled in x86, only x64. Windows XP X64 is the minimum to NT 5.X keep living

Actually I have to disagree. There is no need to force XP Pro 64-Bit.
Server 2003 Data Center Edition 32-Bit would be the best NT 5.X version for the future if you want XP 32-Bit compatibility with enhanced memory and GPT support. 2003 Server R2 64-Bit might be the best version if you must push to 64-Bit with the smallest OS foot print as far as total installed size and maximum memory support.
For true 64-Bit I'd use Vista Ultimate only because of Quick Launch and Classic Themes or Windows 7 Enterprise 64-Bit or Server 2012 R2 due to gaming compatibility that XP 64-Bit or 2003 64-Bit just can't play anything DX11+ and restricted to DX9. Why go through all that trouble? Is there some specific XP Pro 64-Bit software that doesn't work in Vista/Windows 7 64-Bit?
2003 Server 32-Bit / 2012 Server R2 64-Bit (These two OS are really all you'll need to run almost 95%) software.

#2493

XPLives

@gelip

> Zitat von ⇗ Gelip im Beitrag ¶ #2481

> Yes, I confirm - for WinXP x64 SP2 to run under UEFI with the AnaPa driver you need:
> - you must install >> !!! fresh !!! << WinXP in legacy mode using a card that will work later when booting in UEFI mode
> - after first boot need install AnaPa driver
> - copy my EFI files from beta longhorn server
> It doesn't matter if you install the system on one FAT32 partition or on 100MB FAT32 + NTFS 5G (my way)
> Tested hardware: GeForce 6200 LE PCI EXPRESS LEADTEK LR2A13 PCB REV:C on ASUS P8H61-M LE R2 with bios 0610. SATA disk mode set to IDE in bios:
> ⇗
> P.S. I need make this test one more time but now with nVidia driver

Gelip since you have access to the beta files archive there can you tell me if you know if it exists?
Is there any beta of Server 2003 64-Bit or XP Pro 64-Bit that had the WINNT.EXE for DOS based installation setup file?
Or even a beta of Vista 32-Bit/64-Bit WINNT.EXE DOS based installation setup file?
Another idea was there any XP x64 Itanium Edition that had a DOS WINNT.EXE installer?

#2494 | infuscomus | ⇗ @XPLives there is an XP x64 Itanium Edition available here ⇗ https://winiso.pl/windows-desktop/windows-xp it is dated 3/27/2003

#2495

diderius6

I make some more tests with the Lenovo Flex 10 notebook.
It is impossible to flash via FPTw, always message error 63, hardware platform not supported.
And Me tool shows Me version 1.0.2.1060 (I think from 2013).
So, only Epromer will do this job.
On the grafik card gpu-z shows empty box for UEFI rom on grafikcard,
so best chances to get XP SP3 to boot via UEFI there.
This Bios has an integrated INT10, which works for the grafikcard also in win10(!)
even when you disable all CSM, "pur" Uefi
Dietmar
PS: 3Dmark2001 gives for Win10 64 bit 5387 points on this notebook.
I think, under XP 32 bit it will be faster, lets test^^.

#2496

XPLives

⇗ @infuscomus c

> Zitat von ⇗ infuscomus im Beitrag ¶ #2494

> @XPLives
> there is an XP x64 Itanium Edition available here
> ⇗ https://winiso.pl/windows-desktop/windows-xp
> it is dated 3/27/2003

I believe that's XP Pro 64 Bit.
Can you confirm that's the IA64 version?
Itanium Edition is dated 2001 around the same time as XP Gold.
I found a info link about it.
⇗ https://msdn.su/downloads/operating-syst.../itanium/ja/iso
Since it was dated 2001 I have a feeling it might have included a 64-Bit DOS installer.

#2497

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2495

> On the grafik card gpu-z shows empty box for UEFI rom on grafikcard,
> so best chances to get XP SP3 to boot via UEFI there.

What version of bios do you have now in Flex10?

#2498

infuscomus

> Zitat von ⇗ XPLives im Beitrag ¶ #2496

> Can you confirm that's the IA64 version?

Yep, downloaded and it's definitely an IA64 version - the rest of them are AMD64 versions

#2499

Mov AX, 0xDEAD

> Zitat von ⇗ Gelip im Beitrag ¶ #2485

> @diderius6

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2483

> > that it is important, which driver starts after which one.
> > But bootvid.dll and videoprt.sys have no entry in registry.
> > So I have no idea, how to change the loadorder of them

> I attach the system registry files for comparison. Maybe there is something to the Video option in GroupOrderList ???

bootvid & videoprt is not boot drivers, they are kernel mode dll and auto-loaded if some other linked to them
ntoskrnl has dependies to bootvid
vga/nt4_mini/rdpcdd/dxapi have dependies to videoprt

#2500 | diderius6 | ⇗ @Gelip Until now it is its original 93CN52WW(V9.2).64bit Soon I change Bios to 32bit 93cn19ww(v5.2&v3.7) Dietmar

#2501

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2495

> On the grafik card gpu-z shows empty box for UEFI rom on grafikcard

GPU-Z shows an empty box in Windows which is launched in Legacy bios mode and uses VBIOS.
A ticked box means that Windows is in UEFI mode with CSM turned off and Secure Boot turned on.
64-bit bios 93CN52WW have VBIOS and GOP firmware but 32-bit bios 93cn19ww have only GOP firmware:
⇗

#2502 | Gelip | Probably this 32-bit bios have no legacy (CSM) support only pure UEFI ??
#2503 | diderius6 | ⇗ @Gelip Hm, this gives me to think, if it would not be better to make some tests before with XP on the 64 bit Bios. Do you know any Bios flash tool, with which you dont have to use Epromer on such a notebook Dietmar

#2504

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2503

> Do you know any Bios flash tool, with which you dont have to use Epromer on such a notebook

I have never programmed a chip in a system PCB without desoldering. Apparently on some devices you can use the test clip SOIC8 e.g. on ThinkPad X220:
⇗ Coreboot on the ThinkPad X220 with a Raspberry Pi
It's possible that you can do it on Flex10. Instead of raspberry you can use e.g. USB CH341A and flashrom for Linux

#2505 | Gelip |

## Page 168

#2506

XPLives

> Zitat von ⇗ Gelip im Beitrag ¶ #2502

> Probably this 32-bit bios have no legacy (CSM) support only pure UEFI ??

What laptops and desktops have only pure 32-Bit UEFI only mode and no CSM?
Are there any desktop UEFI 64-Bit MBs that can be converted to run in pure UEFI 32-Bit for testing?
It will be easier to test using the 32-Bit DOS installer unless WINNT.EXE can be modified to bypass file checking then I might be able to test the 64-Bit version using the same method.

#2507

diderius6

⇗ @Gelip
You are right: No INT10 at all in the 32 bit UEFI Bios for the Flex 10 Lenovo notebook.
But in the 64 bit UEFI Bios there is full CSM support and INT10 can be found in Bios for the graphik *.dxe driver
Dietmar
EDIT: Instead to force all to UEFI, it would be a better idea, to implement something like a generic CSM driver in UEFI Bios.
Now I dont know, how to make this, but when CSM documentation is open source, it could be possibel.

#2508

Andalu

Once again I have read the entire thread from the first page looking for a solution to make USB3 working in all of my motherboards.
Until now, the usb3 works on two boards by installing the modded driver only while on the other it doesn't work. For them, with all probability, I need to modify the DSDT table. I saw the posts ¶ #1445, ¶ #1854, ¶ #1856, ¶ #1858, and ¶ #1865 where ⇗ @diderius6 explain the procedure but I have some difficult to understand some points like: "Extract with UEFI tool your DSDT table. From this raw file make dsdt.dsl with the tool iasl in commandline C:\ iasl dsdt.raw"" and "Do the mod in DSDT as in post 1442".
For example, how to extract the DSDT table with UEFI tool? I tried to extract it from a .rom file but I can't get a .raw file. And how to make the mod in DSDT as in post ¶ #1442 for other boards unlike ASRock Z370?
So, here my request (I think it can be useful for other users too):
is there someone that can explain the method, step by step and in the simplest way, to extract, decompile, modify and recompile the DSDT table, please?
Thanks in advance.

#2509

dencorso

> Zitat von ⇗ Andalu im Beitrag ¶ #2508

> Until now, the usb3 works on two boards by installing the modded driver only while on the other it doesn't work.

Could you please tell which boards/processors the modded driver alone worked for and which it didn't? Moreover, did you try including also the modded acpi.sys for the board/processor the modded usb3 drivers alone were insufficient to make USB3 working? Thanks in advance!

#2510

lsmlcx

> Zitat von ⇗ dencorso im Beitrag ¶ #2509

> > Zitat von ⇗ Andalu im Beitrag ¶ #2508

> > Until now, the usb3 works on two boards by installing the modded driver only while on the other it doesn't work.

> Could you please tell which boards/processors the modded driver alone worked for and which it didn't? Moreover, did you try including also the modded acpi.sys for the board/processor the modded usb3 drivers alone were insufficient to make USB3 working? Thanks in advance!

ASUS z170-k worked with xp sp3 x86 on intel usb3, not 2003 sp2 x86.
ASUS z170-a cann't worked on intel usb3.
The xhci device cann't be started under error code 39 with model acpi.sys and usb3.

#2511

Andalu

⇗ @dencorso
Thanks for your reply. I installed the USB3 modded driver and the acpi system file (5048) for all my boards.
The USB3 works on:
- Asrock B250M Pro4 and i5-6600 Skylake;
- Asrock B75 Pro3-M and i5-3470 Ivy Bridge.
It doesn't work on:
- Msi CSM-Q87M-E43 and i7-4770K Haswell;
- Acer IPIMB-AR Rev 1.02A and i7-3770K Ivy Bridge;
- Asrock B75M-GL R2.0 (so similar to B75 Pro3-M) and i7-3770 Ivy Bridge.
For each board where USB3 fails, I have tried an XPSP3 32bit fresh installation with acpi.sys (5048) packed into i386 folder, driver.cab and SP3.cab. I have also tried an XP installation with Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006 mod+signed by Fernando only and after I have installed the driver modded and copied acpi.sys in the system32\driver folder from another pc. In both cases the driver has properly installed with no errors but the usb3.0 ports act as USB2.0. In the bios, the options seem to be set correctly. So, I think that the only solution is a modded DSDT table.

#2512 | infuscomus | I recall edit: dencorso mentioned earlier -> here ¶ Windows XP SP3 32bit and modern PC parts (141) in this thread that at some point one of the ntoskrnl updates for XP breaks Intel USB 3.0 and stops it from working. I don't know when exactly it broke, but from my testing I know that up to version 5.1.2600.6748 USB 3.0 still works.
#2513 | Andalu | In my tests i used the same version of ntoskrnl.exe (5.1.2600.5512) for all boards.
#2514 | infuscomus | ⇗ @Andalu which of the USB 3.0 drivers have you tested? there are several versions in this thread
#2515 | Andalu | ⇗ @infuscomus Here I found two version of the modded driver, one is ¶ AMDXHCI_XP_FINAL and another is ¶ USB3bestforIntel. Both with no differences on my boards where USB3 doesn't work. Is there another version?

#2516

infuscomus

⇗ @Andalu
here are a few USB 3.0 drivers to try
amdxhci <- works for me with patched acpi.sys and ntoskrnl 6748
renesas
¶ Windows XP SP3 32bit and modern PC parts (128)
VIA usb 3.0 driver
¶ Windows XP SP3 32bit and modern PC parts (89)
I think there is an Etron driver too somewhere in this thread but I can't remember what page it was on.

#2517 | lsmlcx | ⇗ @infuscomus where is the ntoskrnl 6748?

#2518

infuscomus

⇗ @lsmlcx
here is the multiprocessor version - if you need uniprocessor just ask
you may need to rename them
ntkrnlmp -> ntoskrnl
ntkrpamp -> ntkrnlpa
infuscomus has attached files to this post

- ⇗ ntkrnlmp-6748.zip
- ⇗ ntkrpamp-6748.zip

#2519

Doc.Brown

> Zitat von ⇗ infuscomus im Beitrag ¶ #2518

> @lsmlcx
> here is the multiprocessor version - if you need uniprocessor just ask
> you may need to rename them
> ntkrnlmp -> ntoskrnl
> ntkrpamp -> ntkrnlpa

Do you think thoose files could help with XP SP3 x86 compatibility for my Maximus XI Gene ? I tried lot of things(acpi504,different AHCI drivers) but I'm already stuck with BSOD A5(0x00010006,0x8a275098,0x00000000,0x00000000) or the only solution is to mod the bios to add XP compatibility(impossible for me cause I haven't necessary knowledge) ?
I'm only able to finish OS installation by pressing F5 or F7 for now,USB work well in XP and have 1 core or 6 core if I choose Standard PC or Multiprocessor MPS in F5 option,the big problem is with Asus TurboV that don't install properly(DLL problem).For (extreme) overclocking this software is very usefull unfortunately :/
I also tried to make a ghost after install on X299 Rampage VI Apex but result on this BSOD on Gene too.
Thanks.

#2520

diderius6

⇗ @Doc.Brown
BSOD A5 with
0x10006 : ACPI_LINK_NODE_CANNOT_BE_DISABLED
ACPI found a link node, but cannot disable it. Link nodes must
be disable to allow for reprogramming
2 - Pointer to the link node. This device is missing the _DIS method.
I think, it can be hacked in any acpi.sys
Dietmar

## Page 169

#2521 | infuscomus | ⇗ @Doc.Brown I doubt it will help, but you might as well try anyway. concerning BSOD A5(0x00010006,0x8a275098,0x00000000,0x00000000) ⇗ @diderius6 ⇗ @daniel_k any ideas?
#2522 | Andalu | ⇗ @infuscomus Thanks for your help ;) I tried all the driver suggested and also the ¶ Etron but even if correctly installed the USB3 doesn't work as really USB3. Also using the updated version for ntoskrnl and ntkrnlpa doesn't help. I think that the only way is to modify the DSDT table. I'm still hoping for someone that can explain "how to do".

#2523

diderius6

⇗ @Doc.Brown
Make a try with this acpi.sys,
it is for XP 32 bit,
just small hack
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#2524 | Doc.Brown | ⇗ @diderius6 My poor knowledge doesn't allow me to understand what it is related to but I guess if it could be hacked it will be wonderful ! I'll test your ACPI file so much thanks ;) ⇗ @infuscomus as USB works for me I think I will not test for now so,thanks for your reply

#2525

PPeti66x

For those, who want make experiments with USB3 kernel compatibility, I collected all kernel updates beginning with 5.1.2600.6748:
⇗ https://drive.google.com/file/d/1Wm7Wvbd...yl6CK_sp1w/view
I can not test it, because both of my computers works correctly with the latest kernel known to be incompatible with some systems.
My USB3 experiences on Windows XP 32-bit:
Computer-1: ASRock Fatal1ty Z77 Professional, I7 3770 (non-k) CPU (Ivy bridge), BIOS v1.70-beta (in v1.90-beta one of my HDDs is not recognized)
USB3 (modded AMD driver) can be installed without changing the ACPI.SYS - but the null-driver must be uninstalled first. But also works with the ACPI 5048 from Longhorn. Everything seems to working OK, USB3 speeds really achieved (120 MiB/s reading, which is the limit of my pendrive).
This mainboard have Etron USB3 - this works on XP with official drivers, but these are unstable - causes BSOD cca. on every 2 weeks when I returning from standby mode, and sometimes in other cases.
Computer-2: Dell Precision M4800, chipset QM87, CPU 4810MQ (Haswell), BIOS A25 (30 okt 2018)
USB3 (modded AMD driver) can be installed only after updating ACPI.SYS to the ACPI 5048 from Longhorn (works with original and patched too). But this notebook have some switching mechanism: if compatible OS detected, ports are switched to USB3 controller, else to USB2 controller. Switching from USB3 to USB 2 requires restarting 2 times, but from USB2 to USB3 is switched instantly. So if I switching from Windows 7 to Windows XP 1st time, the ports will work in USB3 mode (USB3 speeds really achieved - 120MiB/s read speed, limited by pendrive), but if i start XP 2nd time, I will have only USB2.
There are also minor problems with ACPI.SYS 5048:
1. I can not use Fn-keys to set display brightness
2. Switching between internal and external display by Fn key does not work
3. Because of 2 graphics cards (in-CPU and nVidia Quadro), if display is turned off, it can not be turned on by normal way (XP probably switches to in-CPU graphics, which is non-working, because only 1 driver can be loaded at once). The only program which can reenable the display is the MultiMonitorTool by NirSoft with the switch command. But when I returning from standby, the login password must be entered without display (not always, but mostly).
Problems Solved by ACPI.SYS 5048:
1. Possible to install USB3 driver - but switching mechanism is still not resolved
2. Sleep mode works (with the original version it always failed)

#2526

diderius6

⇗ @Doc.Brown
A more elegant way is to put the missing
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
in DSDT of Bios from Gene board at the end of the crashing device
Dietmar

#2527

infuscomus

⇗ @PPeti66x
thanks very much for these!
KB3033395(5.1.2600.6748-OK)
KB3134146(5.1.2600.7005-OK) - tested - OK
KB3140410(5.1.2600.7017-?)
KB3153171(5.1.2600.7053-?)
KB3175024(5.1.2600.7121-?)
KB3191256(5.1.2600.7146-?)
KB4011981(5.1.2600.7197-?)
KB4018490(5.1.2600.7259-OK) - tested - OK
KB4056615(5.1.2600.7392-?)
KB4101864(5.1.2600.7459-OK) - tested - OK
KB4230467(5.1.2600.7494-X) - tested - Code 39
KB4463103(5.1.2600.7581-X)
KB4486463(ntkrnlmp.exe only)(5.1.2600.7649-X)

#2528

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2526

> @Doc.Brown
> A more elegant way is to put the missing

>      Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
>                  {
>                  }

> in DSDT of Bios from Gene board at the end of the crashing device
> Dietmar

I don't know what is DSDT,I'm totaly noob with that sadly :( I'm open for learn how to do it if you wan't to learn it to me but it will be very long I think cause I start from 0 :/
Just tested the hacked ACPI file and BSOD has changed now as you can see on the pic below :
⇗
And,not sure if it's linked or could help,the Asus TurboV error message after press F5 and choose "MPS multiprocessor" to be able to have complete installation :
⇗
I'm using 0057 bios below : ⇗ M11G-0057
but new 0022 is also good : ⇗ M11G-0022
Thanks.

#2529

diderius6

⇗ @Doc.Brown
Try this acpi.sys.
When it not works,
I am out of ideas just now
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#2530

XPLives

⇗ @PPeti66x

> Zitat von ⇗ PPeti66x im Beitrag ¶ #2525

> For those, who want make experiments with USB3 kernel compatibility, I collected all kernel updates beginning with 5.1.2600.6748:
> ⇗ https://drive.google.com/file/d/1Wm7Wvbd...yl6CK_sp1w/view
> I can not test it, because both of my computers works correctly with the latest kernel known to be incompatible with some systems.
> My USB3 experiences on Windows XP 32-bit:
> Computer-1: ASRock Fatal1ty Z77 Professional, I7 3770 (non-k) CPU (Ivy bridge), BIOS v1.70-beta (in v1.90-beta one of my HDDs is not recognized)
> USB3 (modded AMD driver) can be installed without changing the ACPI.SYS - but the null-driver must be uninstalled first. But also works with the ACPI 5048 from Longhorn. Everything seems to working OK, USB3 speeds really achieved (120 MiB/s reading, which is the limit of my pendrive).
> This mainboard have Etron USB3 - this works on XP with official drivers, but these are unstable - causes BSOD cca. on every 2 weeks when I returning from standby mode, and sometimes in other cases.
> Computer-2: Dell Precision M4800, chipset QM87, CPU 4810MQ (Haswell), BIOS A25 (30 okt 2018)
> USB3 (modded AMD driver) can be installed only after updating ACPI.SYS to the ACPI 5048 from Longhorn (works with original and patched too). But this notebook have some switching mechanism: if compatible OS detected, ports are switched to USB3 controller, else to USB2 controller. Switching from USB3 to USB 2 requires restarting 2 times, but from USB2 to USB3 is switched instantly. So if I switching from Windows 7 to Windows XP 1st time, the ports will work in USB3 mode (USB3 speeds really achieved - 120MiB/s read speed, limited by pendrive), but if i start XP 2nd time, I will have only USB2.
> There are also minor problems with ACPI.SYS 5048:
> 1. I can not use Fn-keys to set display brightness
> 2. Switching between internal and external display by Fn key does not work
> 3. Because of 2 graphics cards (in-CPU and nVidia Quadro), if display is turned off, it can not be turned on by normal way (XP probably switches to in-CPU graphics, which is non-working, because only 1 driver can be loaded at once). The only program which can reenable the display is the MultiMonitorTool by NirSoft with the switch command. But when I returning from standby, the login password must be entered without display (not always, but mostly).
> Problems Solved by ACPI.SYS 5048:
> 1. Possible to install USB3 driver - but switching mechanism is still not resolved
> 2. Sleep mode works (with the original version it always failed)

Interesting list of kernel updates. Maybe you can add the date of each kernel update next to it so it will be more helpful.
Although I think most people will use mainly the original SP0, SP1, SP2, SP3 versions. Any post SP3 kernel I doubt many will be using but would be interesting to see if all post SP3 updates work at all with the USB modded drivers.
Which specific USB 3.0 modded driver do you test the 120MiB/s read speed on? Can you link the file and I will retest.
This was on your Intel USB 3.0 ports on your Z77?
Try doing a sustained transfer rate reading a Blu-ray movie .m2ts video stream playback and see if it hiccups during the movie playback at any point.
Next try transferring a 100GB file from one USB hard drive to another USB hard drive using both Intel USB 3.0 ports and time the duration.
For your Z77 you should use BIOS v1.00, don't use the BETA. Or use the latest version and repeat the test.
This is a common problem with notebooks using nVidia shared with Intel iGPU. You will not see the discrete graphics card in a notebook and only the Intel iGPU in Windows XP. This is why only Ivy Bridge and earlier chipsets should be used for notebooks and XP if you wish to use it for 3D gaming. Most nVidia with Haswell and later are post XP driver support.
"1. I can not use Fn-keys to set display brightness
2. Switching between internal and external display by Fn key does not work"
These are related to the software that was preinstalled for that notebook to use those Function keys to perform a function. If you installed a clean XP those normally will not function at all without adding the software. Usually this software comes preinstalled with the OS together when you first bought it and sometimes there is no stand alone installer provided by the manufacturer website to do it with a clean XP install. It might be possible to extract the registry entries and the driver files and copy them over to a clean XP installation and make it work but not an easy task.
Also I don't think there should be any need to install the modded ACPI for Haswell or Broadwell. Both should install XP clean without BSOD A5 issues.
"USB3 (modded AMD driver) can be installed only after updating ACPI.SYS to the ACPI 5048 from Longhorn (works with original and patched too)."
What happens do you get an Error Code when installing AMD USB 3.0 modded driver on regular XP ACPI.SYS?

#2531 | kukonosau | Where is chipset drivers for Windows XP x86 and x64 and Windows 7 x86 and x64 for Ryzen? I have sometimes lagging several games in all systems besides Windows 10. This problem with processors or motherboard? Or absents chipset drivers?

#2532

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2529

> @Doc.Brown
> Try this acpi.sys.
> When it not works,
> I am out of ideas just now
> Dietmar

⇗ @diderius6
Thanks again I will test it as soon as possible(this weekend I think cause I have to buy another pack of CD-R :D )

#2533 | infuscomus | So based on my testing hotfix KB4230467 for ntoskrnl introduces a bug that breaks the generic USB 3.0 driver for XP.

#2534

PPeti66x

⇗ @XPLives
About speed test:
A 3.27 GiB MKV file was copied from Pretec REX 150 64-GB pendrive to HDD, so it was only a fast testing. The copied file was not cached in memory before (it was copied to pendrive weeks earlier).
In both cases test was made on Intel USB3 with AMD modded driver (AMDXHCI_XP_FINAL.rar: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)).
The Etron controller can not achieve even 60 MiB/s with the official drivers. I am not tested AMD driver on the Etron controller.
On both cases on Windows XP was applied all non-SSE2 updates up to May 2019
"Next try transferring a 100GB file from one USB hard drive to another USB hard drive using both Intel USB 3.0 ports and time the duration."
To prove that ports working in USB3 mode, that test was enough. Both the WD VelociRaptor (cca. 140 MiB/s sequential write speed on the selected defragmented partition) and Samsung SSD HDDs had higher speed. Maybe I will do some other tests to check for the data integrity (the transferred MKV file had correct MD5 checksum).
About BIOS version:
In case of the Z77 motherboard, I am using this version many years. Because this motherboard have official Windows XP support, I think, BIOS version not affects the USB3 (by changelog, only DRAM compatibility was improved). The beta BIOS was released in November 2013 (the regular 1.70 in June 2013). I never see the BIOS v1.00, it was 1.3 and some alphabetical subversion.
"These are related to the software that was preinstalled for that notebook to use those Function keys to perform a function."
The mentioned 2 function is provided by the XP ACPI.SYS file (correctly works on SP3, and on x64 SP2). But it was not implemented in longhorn 5048 version, or some dependencies missing from the XP system.
On M4800 was possible to install near everything by extrancting the diver files from the installers. Some of the drivers was hard to find on the manufacrurer site, because packages provided by Dell sometimes lacked the XP driver version. Functioning of the Free Fall Sensor is questionable (Win7 driver was installed), but by the Device Manager it works correctly. Also the Intel management engine is older, than required. The device manager not shows any unknown or non-working hardware.
"What happens do you get an Error Code when installing AMD USB 3.0 modded driver on regular XP ACPI.SYS?"
The device is simply not found by Windows XP (not listed in Device Manager). After replacing the ACPI.SYS with the Longhorn version, a new unknown hardware is found, and is possible to install the device driver. After installing the modded driver and reverting the ACPI.SYS, the device driver not shows, and USB3 is disfunctional (no errors displayed). Longhorn 5048 ACPI.SYS is required only for Gen-4 (Haswell) and later mainboards. Patched version is required by a newer (Gen-6 or Gen-7 and later) mainboards.
Windows XP (32-bit) Kernel update dates (compile date time stamp in ntoskrnl.exe, Y.M.D H:M:S):
KB3033395, 5.1.2600.6748, 2015.02.06 07:14:27
KB3134146, 5.1.2600.7005, 2016.01.21 02:43:40
KB3140410, 5.1.2600.7017, 2016.02.05 16:36:08
KB3153171, 5.1.2600.7053, 2016.03.31 15:35:58
KB3175024, 5.1.2600.7121, 2016.08.16 00:08:27
KB3191256, 5.1.2600.7146, 2016.10.04 07:43:28
KB4011981, 5.1.2600.7197, 2017.02.10 06:39:21
KB4018490, 5.1.2600.7259, 2017.04.28 05:33:39
KB4056615, 5.1.2600.7392, 2017.12.05 19:47:10
KB4101864, 5.1.2600.7459, 2018.04.12 23:32:37
KB4230467, 5.1.2600.7494, 2018.05.20 17:10:49
KB4463103, 5.1.2600.7581, 2018.09.12 17:02:19
KB4486463, 5.1.2600.7649, 2019.01.08 17:48:43 (ntkrnlmp.exe)
⇗ @infuscomus
"So based on my testing hotfix KB4230467 for ntoskrnl introduces a bug that breaks the generic USB 3.0 driver for XP."
This was a great find!

#2535

diderius6

⇗ @Doc.Brown
Make a try with this Bios for the Gene XI board.
It is original Bios from Asus for the Gene XI board, but now not avaible on their website.
In its DSDT table, the _DIS is treated in another way
Dietmar
⇗ https://www.dropbox.com/s/py7qjgousqov3a...S-0057.rar?dl=0

## Page 170

#2536

XPLives

⇗ @PPeti66x

> Zitat von ⇗ PPeti66x im Beitrag ¶ #2534

> @XPLives
> About speed test:
> A 3.27 GiB MKV file was copied from Pretec REX 150 64-GB pendrive to HDD, so it was only a fast testing. The copied file was not cached in memory before (it was copied to pendrive weeks earlier).
> In both cases test was made on Intel USB3 with AMD modded driver (AMDXHCI_XP_FINAL.rar: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)).
> The Etron controller can not achieve even 60 MiB/s with the official drivers. I am not tested AMD driver on the Etron controller.
> On both cases on Windows XP was applied all non-SSE2 updates up to May 2019
> "Next try transferring a 100GB file from one USB hard drive to another USB hard drive using both Intel USB 3.0 ports and time the duration."
> To prove that ports working in USB3 mode, that test was enough. Both the WD VelociRaptor (cca. 140 MiB/s sequential write speed on the selected defragmented partition) and Samsung SSD HDDs had higher speed. Maybe I will do some other tests to check for the data integrity (the transferred MKV file had correct MD5 checksum).
> About BIOS version:
> In case of the Z77 motherboard, I am using this version many years. Because this motherboard have official Windows XP support, I think, BIOS version not affects the USB3 (by changelog, only DRAM compatibility was improved). The beta BIOS was released in November 2013 (the regular 1.70 in June 2013). I never see the BIOS v1.00, it was 1.3 and some alphabetical subversion.
> "These are related to the software that was preinstalled for that notebook to use those Function keys to perform a function."
> The mentioned 2 function is provided by the XP ACPI.SYS file (correctly works on SP3, and on x64 SP2). But it was not implemented in longhorn 5048 version, or some dependencies missing from the XP system.
> On M4800 was possible to install near everything by extrancting the diver files from the installers. Some of the drivers was hard to find on the manufacrurer site, because packages provided by Dell sometimes lacked the XP driver version. Functioning of the Free Fall Sensor is questionable (Win7 driver was installed), but by the Device Manager it works correctly. Also the Intel management engine is older, than required. The device manager not shows any unknown or non-working hardware.
> "What happens do you get an Error Code when installing AMD USB 3.0 modded driver on regular XP ACPI.SYS?"
> The device is simply not found by Windows XP (not listed in Device Manager). After replacing the ACPI.SYS with the Longhorn version, a new unknown hardware is found, and is possible to install the device driver. After installing the modded driver and reverting the ACPI.SYS, the device driver not shows, and USB3 is disfunctional (no errors displayed). Longhorn 5048 ACPI.SYS is required only for Gen-4 (Haswell) and later mainboards. Patched version is required by a newer (Gen-6 or Gen-7 and later) mainboards.
> Windows XP (32-bit) Kernel update dates (compile date time stamp in ntoskrnl.exe, Y.M.D H:M:S):
> KB3033395, 5.1.2600.6748, 2015.02.06 07:14:27
> KB3134146, 5.1.2600.7005, 2016.01.21 02:43:40
> KB3140410, 5.1.2600.7017, 2016.02.05 16:36:08
> KB3153171, 5.1.2600.7053, 2016.03.31 15:35:58
> KB3175024, 5.1.2600.7121, 2016.08.16 00:08:27
> KB3191256, 5.1.2600.7146, 2016.10.04 07:43:28
> KB4011981, 5.1.2600.7197, 2017.02.10 06:39:21
> KB4018490, 5.1.2600.7259, 2017.04.28 05:33:39
> KB4056615, 5.1.2600.7392, 2017.12.05 19:47:10
> KB4101864, 5.1.2600.7459, 2018.04.12 23:32:37
> KB4230467, 5.1.2600.7494, 2018.05.20 17:10:49
> KB4463103, 5.1.2600.7581, 2018.09.12 17:02:19
> KB4486463, 5.1.2600.7649, 2019.01.08 17:48:43 (ntkrnlmp.exe)
> @infuscomus
> "So based on my testing hotfix KB4230467 for ntoskrnl introduces a bug that breaks the generic USB 3.0 driver for XP."
> This was a great find!

Thanks for including the time stamps! Are the version numbers extracted from the ntoskrnl.exe file except the last one?
Now we need to add the version and time stamps for XP SP0, SP1, and SP2 along side these for reference. Other kernels are Server 2003 32-Bit, XP POS 2009 32-Bit for comparison and possible testing. There was also XP Media Center Edition.
This is very fascinating you got 140MB/s speeds on Intel USB 3.0 -> Intel USB 3.0 ports and compared to the Etron much faster?
For your single file 100GB test on Intel USB 3.0 port to Intel USB 3.0 port can you give me the time duration Minutes, Seconds.XX that elapsed?
I haven't tested mine but let's see if we match BIOS versions if this affects.
I will upload my rare v1.00 BIOS to share with you.
You run the program within XP and it will flash it back to genuine v1.00 and once rebooted you will have BIOS v1.00 :)
This was the first BIOS version released for the Fatal1ty splash logo. It's a bit strange seeing it for the time if you've been used to v1.70 Beta all this time.
If you can repeat your tests on BIOS V1.00 to see if any changes are noticed.
One final test is to reinstall XP using F7 or F5 NO ACPI mode which should force it to MPS mode and try all the USB 3.0 modded drivers again with the different kernel versions to see if that affected anything.
If we can isolate which modded drivers work in both modded ACPI and NO ACPI modes this is the best driver choice. Keep note of which kernel version had success.
The reason I mentioned the Function Key issue was software related is even when I install XP clean onto VAIO laptop all Function Keys on top do nothing unless you install the correct software and registry patches. And I think on the VAIO they did not have a stand alone installer for this. It was integrated into the XP install with all the other bloated software when the laptop is brand new or using the recovery disc images.
XPLives has attached files to this post

- ⇗ Z77FAT10.ZIP

⇗ u10321_XPLives.html

#2537

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2535

> @Doc.Brown
> Make a try with this Bios for the Gene XI board.
> It is original Bios from Asus for the Gene XI board, but now not avaible on their website.
> In its DSDT table, the _DIS is treated in another way
> Dietmar
> ⇗ https://www.dropbox.com/s/py7qjgousqov3a...S-0057.rar?dl=0

wow awesome ! I'll test it tonight and your last ACPI file too,thank you ^^

#2538 | kukonosau | ⇗ @diderius6 Where is chipset drivers for Windows XP x86 and x64 and Windows 7 x86 and x64 for Ryzen? I have sometimes lagging several games in all systems besides Windows 10. This problem with processors or motherboard? Or absents chipset drivers?
#2539 | diderius6 | ⇗ @kukonosau No chipset driver for AMD Ryzen and XP. But a lot of drivers for XP can be found via VEN_&DEV_ number Dietmar

#2540

IntiMD

⇗ @kukonosau
For Windows 7: ⇗ https://www.amd.com/en/support/chipsets/amd-socket-am4/b350 --> Windows 7 - 64-Bit Edition
For Windows XP there's different situation, although I can try helping you when it comes to missing drivers. Get Snappy Driver Installer Origin (only drivertool that has integrity - no bundled shit, open-source) from ⇗ here. Get "Application Only", unpack the archive and load the program. Choose "Download indexes only". After it downloads and shows list of drivers, quit the program and copy latest .snp log file from "logs". Upload it to say zippyshare or anonfile, or you can make a forum attachment if it fits the size. I'll take a look and tell you which drivers you should install.
(Sidenote of SDIO, even though it's most genuine, i recommend not letting the app installing the drivers itself, rather mouse over the device to check driver info such as localisation of driver in the driverpack, which version is it, all that. Download the driverpack and navigate to the folder, if it has an installer AND is not bloated, use the installer. if it doesn't have an installer or it's bloated, install it manually through devmgmt.msc.)
But like I said, get the latest .SNP log and upload it.

#2541 | Doc.Brown | ⇗ @diderius6 Same BSOD A5 with the other 0057 bios I try with last ACPI file after making a fresh ISO ;)
#2542 | kukonosau | ⇗ @diderius6 This is opportunity without SDI (Snappy Driver Installer)? I have lagging in all system in several games besides Windows 10!!! Unfortunately, Windows 7 has lagging also!!! May be, this from processor Ryzen 3 2200G with integrated graphics card? May be, for example, Ryzen 5 2600 is stability work in Windows 7 or Windows XP? Or I must find chipset drivers?

#2543

PPeti66x

⇗ @XPLives
"Are the version numbers extracted from the ntoskrnl.exe file except the last one?"
Yes, but should be same for all files in the package.
"This is very fascinating you got 140MB/s speeds on Intel USB 3.0"
140 MiB/s was not achieved via USB, it was reading from SATA HDD to memory - I needed to know, which device is slower. I have not fast enough device to test the maximal speed of the USB3.
XP kernel versions:
Date time stamps are extracted from ntoskrnl.exe file.
XP SP SP3 32-bit english (untouched CD image)
XP POSReady 2009 (untouched CD image)
(SP3 and POSReady 2009 file CRC32 is same.)
SP3.CAB\ ntkrnlmp.exe, ntkrnlpa.exe, ntkrpamp.exe, ntoskrnl.exe: 5.1.2600.5512 2008.04.13 19:27:39
SP3.CAB\ acpi.sys: 5.1.2600.5512 2008.04.13 18:36:33
XP SP2 32-bit + Media Center 2005 (unofficial CD image, but seems to be correct, not updated)
SP3.CAB\ ntkrnlmp.exe, ntkrnlpa.exe, ntkrpamp.exe, ntoskrnl.exe: 5.1.2600.2180 2004.08.04 06:19:48
SP3.CAB\ acpi.sys: 5.1.2600.2180 2004.08.04 06:07:35
XP SP1a 32-bit (untouched CD image)
SP3.CAB\ ntkrnlmp.exe, ntkrnlpa.exe, ntkrpamp.exe, ntoskrnl.exe: 5.1.2600.1106 2002.08.29 09:03:24
SP3.CAB\ acpi.sys: 5.1.2600.1106 2002.08.29 08:09:03
XP SP2 x64 (untouched CD image)
SP2.CAB\ ntkrnlmp.exe: 5.2.3790.3959 2007.02.17 07:03:32
SP2.CAB\ ntoskrnl.exe: 5.2.3790.3959 2007.02.17 07:01:10
SP2.CAB\ acpi.sys: 5.2.3790.3959 2007.02.17 06:37:56
I have no XP SP0 version and Server versions.
"The reason I mentioned the Function Key issue..."
Windows XP SP3 ACPI.SYS incorporates some Fn functions. I had no Dell software installed for this, because these was only for Windows 7, and disfunctional on XP. Only Device Drivers was installed, but I not found any specific device for this.
New speed test:
Source HDD: ADATA HV620S
Target HDD: Seagate Barracuda 7200.12 via StarTech USB to IDE/SATA adapter
Mainboard: ASRock Fatal1ty Z77 Professional
BIOS: 1.00, 1.70b (1.90b not tested, is incompatible with one of my HDDs)
XP kernel: ntoskrnl.exe 5.1.2600.7649, ntkrnlpa.exe 5.1.2600.7581
Controller: Intel C216 (PCI\VEN_8086&DEV_1E31)
Controller: Etron EJ188H
Video file: single AVI file, 161384651246 bytes, 153.908 GiB
(Speed was practically limited by the HDDs - I do not have faster high capacity media.
Speed constantly slowed from cca. 122000 kbytes/s to cca. 70000 kbytes/s)
Intel controller with BIOS v1.70b, microcode 306A9/15
27min 53sec = 1673 sec, 91.995 MiB/s
Etron Controller with BIOS v1.70b, microcode 306A9/15 (device driver v0.0.0.119)
27min 55sec = 1675 sec, 91.886 MiB/s
Intel controller with BIOS v1.00, microcode 306A9/C
27min 43sec = 1663 sec, 92.549 MiB/s
Etron controller with BIOS v1.00, microcode 306A9/C (device driver v0.0.0.119)
28min 14sec = 1694 sec, 90.855 MiB/s
On Windows 7 the speed is similiar.
It was amazing to see the old Fatal1ty logo in the 1.00 BIOS. In the original 1.3? BIOS was same or similiar. But the reaction on the F2/Del key was strange.
IMPORTANT NOTE: By backdating the BIOS the microcode updates was not backdated! The microcode update 306A9 comes from BIOS 1.90beta, which was not used, because of incompatibility with my 2TB WD Green HDD (not listed in BIOS, not seen by Windows).
When I was unable to achieve 60 MiB/s on Etron controller (around Q4/2014) the driver version was older (probably 0.0.0.118, or may be 0.0.0.115beta), and BIOS was 1.60 or 1.70 (non-beta). The speed was similiar on Win7 x64 and on WinXP 32-bit. And both operating systems was actualized from this time. What caused this big difference is unknown.

#2544

lsmlcx

I had test my z170 like this.
I found something interesting.
used ACPI.sys
then I used AMD xHCI,the error code is 39.
then I used NEC xhci,the device starts OK,and I don't install hub driver,
then I reinstall AMD xhci,and AMD xhci drive can works well.

#2545

skullteria

Error Code 39 is related with missing functions on dependencies files or missing dependencies files. It probably occours because AMD XHCI don't copy USBD.sys and NEC XHCI, copy. On Windows 7, what AMD XHCI is designed, USBD.sys is placed on Drivers folder by default, on XP, with XHCI system, no.
The relevant problem is the error is code 10, because it is related with start device and not really driver.

#2546 | dencorso | XP SP0: ntkrnlmp.exe, ntkrnlpa.exe, ntkrpamp.exe, ntoskrnl.exe: 5.1.2600.0 - Aug 18, 2001
#2547 | Dibya | Does this xhci driver works without bios mod?
#2548 | infuscomus | ⇗ @Dibya based on my testing, yes it does hotfix KB4230467 KB4463103 KB4486463 break the driver ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (169)

#2549

Gelip

I am trying to understand why WinXP x64 starts in VMware with full graphics support. Maybe because VMware has the UGA protocol?
I found interesting tools for UEFI shell:
⇗ ScanGOP_LocateProtocol & ScanUGA_LocateProtocol
⇗ screenmodes.efi (⇗ source code)

> Zitat

> The original EFI (Extensible Firmware Interface) specification and EDK (EFI Development Kit) supported a text output protocol and UGA (Universal Graphic Adapter), a device-independent VGA-derived graphics protocol. In 2005, Intel handed EFI standardization over to an industry consortium, UEFI, and that consortium decided to replace UGA with GOP (Graphics Output Protocol) to remove the remaining VGA hardware dependencies.

VMware has UEFI 2.30 but still has UGA and my ASUS has UEFI 2.31 and only has GOP protocol:
VMware 8 screenmodes.efi:

    No ConsoleControl handle found via HandleProtocol
    Found ConsoleControl handle via LocateProtocol
    Found 1 ConsoleControl handles via LocateHandleBuffer

    No UGA handle found via HandleProtocol
    Found UGA handle via LocateProtocol
    Found 2 UGA handles via LocateHandleBuffer

    No GOP handle found via HandleProtocol
    Found GOP handle via LocateProtocol
    Found 2 GOP handles via LocateHandleBuffer

ASUS screenmodes.efi:

    No ConsoleControl handle found via HandleProtocol
    Found ConsoleControl handle via LocateProtocol
    Found 1 ConsoleControl handles via LocateHandleBuffer

    No UGA handle found via HandleProtocol
    No UGA handle found via LocateProtocol
    No UGA handles found via LocateHandleBuffer

    No GOP handle found via HandleProtocol
    Found GOP handle via LocateProtocol
    Found 1 GOP handles via LocateHandleBuffer

#2550

lsmlcx

> Zitat von ⇗ skullteria im Beitrag ¶ #2545

> Error Code 39 is related with missing functions on dependencies files or missing dependencies files. It probably occours because AMD XHCI don't copy USBD.sys and NEC XHCI, copy. On Windows 7, what AMD XHCI is designed, USBD.sys is placed on Drivers folder by default, on XP, with XHCI system, no.
> The relevant problem is the error is code 10, because it is related with start device and not really driver.

⇗ @skullteria
thank you very much.
It works.

## Page 171

#2551

diderius6

On the Lenovo Flex 10 notebook with Bay Trail N2806 cpu and 64 bit legacy Bios
I get acpi.sys BSOD A5 (0x11, 0x08,..)
on XP SP3 and also on Win7 32 bit.
This remembers me a lot about the reversions number r2
in the DSDT table. Soon I change DSDT via iasl into version r1 (for 32 bit)
and flash with Epromer Revelprog IS
Dietmar

#2552

dencorso

> Zitat von ⇗ infuscomus im Beitrag ¶ #2548

> hotfix KB4230467 KB4463103 KB4486463 break the driver
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (169)

⇗ @daniel_k: would you kindly take a look at the newer kernel versions and see whether it's possible to fix the modded AMD drivers so that they can be used with the latest kernel version? Sorry to bother and thanks in advance!

#2553

lsmlcx

> Zitat von ⇗ skullteria im Beitrag ¶ #2545

> Error Code 39 is related with missing functions on dependencies files or missing dependencies files. It probably occours because AMD XHCI don't copy USBD.sys and NEC XHCI, copy. On Windows 7, what AMD XHCI is designed, USBD.sys is placed on Drivers folder by default, on XP, with XHCI system, no.
> The relevant problem is the error is code 10, because it is related with start device and not really driver.

⇗ @skullteria
I got a new problem.
When I put usbd.sys on Driver folder (\Windows\system32\drivers\), And install the modded AMD XHCI drivers.
It works well.
But when I restart the PC, After the scrollbar the PC got Black screen, I cann't see the desktop, But it doesn't Crash.
I donn't know why, It seems like the problem still happend with the modded AMD XHCI drivers.
I have tested it many times, every time.

#2554 | infuscomus | ⇗ @lsmlcx strange, I did not run into this problem is usbd.sys located in system32/drivers on a fresh install of XP? does it need to be copied? does the driver work if you dont copy usbd.sys?
#2555 | lsmlcx | ⇗ @infuscomus without copying usbd.sys, the error code is 39. when i copyed usbd.sys, then install driver, OK. but after reboot, I sad that.

#2556

lsmlcx

[[File:amd_new.zip]]
here is the new amd xhci version, DriverVer=12/04/2018, 1.1.0.0276
the xhci seems support xp, but the hub seems not.
maybe you can use old hub driver.
who can try to Crack
lsmlcx has attached files to this post

- ⇗ amd_new.zip

#2557

infuscomus

⇗ @diderius6
I think I may have gotten Intel USB 3.0 ports working in XP textmode setup
in txtsetup.sif edit

    [SourceDisksFiles]

    amdxhc.sys = 100,,,,,,,4,0,0
    amdhub30.sys = 100,,,,,,,4,0,0

    [HardwareIdsDatabase]

    PCI\VEN_8086&CC_0C0330 = "amdxhc"
    AMDUSB30\ROOT_HUB30 = "amdhub30"
    AMDUSB30\CLASS_09&SUBCLASS_00 = "amdhub30"
    AMDUSB30\CLASS_09&SUBCLASS_01 = "amdhub30"

    [InputDevicesSupport.Load]
    usbehci  = usbehci.sys
    usbohci  = usbohci.sys
    usbuhci  = usbuhci.sys
    usbhub   = usbhub.sys
    usbccgp  = usbccgp.sys
    amdxhc   = amdxhc.sys
    amdhub30 = amdhub30.sys
    hidusb   = hidusb.sys
    serial   = serial.sys
    serenum  = serenum.sys
    usbstor  = usbstor.sys

    [files.amdxhc]
    hid.dll,2
    hccoin.dll,2
    hidclass.sys,4
    hidparse.sys,4
    usbd.sys,4
    usbport.sys,4
    amdxhc.sys,4

    [files.amdhub30]
    amdhub30.sys,4

    [InputDevicesSupport]
    usbehci  = "Enhanced Host Controller",files.usbehci,usbehci
    usbohci  = "Open Host Controller",files.usbohci,usbohci
    usbuhci  = "Universal Host Controller",files.usbuhci,usbuhci
    usbhub   = "Generic USB Hub Driver",files.usbhub,usbhub
    hidusb   = "Human Interface Parser",files.hidusb,hidusb
    serial   = "Serial Port Driver",files.none,serial
    serenum  = "Serial Port Enumerator",files.none,serenum
    usbstor  = "USB Storage Class Driver",files.usbstor,usbstor
    usbccgp  = "USB Generic Parent Driver",files.usbccgp,usbccgp
    amdxhc   = "USB xHCI Compliant Host Controller",files.amdxhc,amdxhc
    amdhub30 = "Generic USB 3.0 Hub Driver",files.amdhub30,amdhub30

can you test this on your end?

#2558

diderius6

⇗ @infuscomus
I just edit my txtsetup.sif with your extra values for AMD xhci and make a check, that nothing is missed.
Then I add to installations folder i386 amdxhc.sy_ and amdhub30.sy_ final version for x86 from ⇗ @daniel_k .
All seems ok, but I do not know the behavior of usbd.sys.
Some years ago I make the same for USB ehci boot, but I use F6 method and Nlite for to integrate everything.
In this moment I am installing on the Asrock fatal1ty z370 gaming k6 board
Dietmar
EDIT: On first reboot I got BSOD 0x7B, because I use STORAHCI driver from ⇗ @skullteria and storport.sys is gone.
Now XP continues installing after I add storport.sys again to windows\system32\drivers.
USB mouse does not work during install.
usbd.sys amdxhc.sys amdhub30.sys are in windows\system32\drivers but usbstor.sys is missed there. I add usbstor.sys by hand.
Ok, I get A5 (0x11,..) because crazy XP changed acpi.sys back to original version, I copy modded acpi.sys by hand and continue install.
EDIT2: Install is finished. I see, that for amdxhc.sys and also for amdhub30.sys there is no ImagePath and no Group entry in registry and no entry in registry for usbstor.sys. I think, to integrate the drivers via F6 is more easy.
EDIT3: When I install the final AMD USB driver via hand, the missing entries are put into registry.
No usbstor entry in registry until you connect an USB stick. Then, all USB driver works on the Asrock board.

#2559 | infuscomus | ⇗ @diderius6 Thanks, did USB mouse and keyboard work for you during textmode phase? I was hoping it would work with just a txtsetup.sif mod without any registry hacks, unfortunately nlite wont do the registry hacks automatically to setupreg.hiv and hivesys.inf needed for Intel USB 3.0 to work during XP setup and these will always have to be done manually.
#2560 | diderius6 | ⇗ @infuscomus When you make a txtsetup.oem with all the files from USB, it will work using Nlite Dietmar
#2561 | infuscomus | ⇗ @diderius6 is it possible to specify multiple driver files in a txtsetup.oem? also did USB mouse and keyboard work for you during textmode phase on intel usb 3.0 ports?
#2562 | diderius6 | ⇗ @infuscomus No USB during setup of XP. Yes, I put 7 USB drivers in txtsetup.oem, and named all their *.inf files there Dietmar
#2563 | infuscomus | ⇗ @diderius6 OK, damn, I thought I had managed to get Intel USB 3.0 working in XP textmode setup, but since it does not work for you it means something else must be happening.

#2564

Mov AX, 0xDEAD

Another update ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (12):

> Zitat

> - WinDBG via USB or LAN connection unresolved

to

> Zitat

> WinDBG via LAN connection solved (custom kdnet.dll)

I've fixed all critical bugs in KDNET transport on real hardware and confirm "WinDBG works with NET for Windows XP x32"
Tested on realtek and qualcomm atheros pci-e chips. Now step-debug speed is amazing !
p.s. it need modding hal.dll & ntoskrrnl.exe, i plan to find workaround to not touching these files and release guide on this week...
p.s.s. Diderius6, you will get test files soon...

#2565 | diderius6 | ⇗ @Mov AX, 0xDEAD Niccceee, I want:)))), test on all compis Dietmar

## Page 172

#2566

diderius6

⇗ @Mov AX, 0xDEAD
Interesting, which driver is used for Windbg to connect to other compi via lan.
Is it the Bios lan driver?
If yes, this debug method will even work,
if there is no driver for this lan device under XP
Dietmar
PS:"Tested on realtek and qualcomm atheros pci-e chips. "
This is an interesting detail.
Until now, you cant add an pci-e COM1 card, for to get Windbg working,
because no driver for the pci-e bus is ready before Windbg needs it.
But now, as long as you can add a pci-e lan card, Windbg will work.
Via this way I come to the idea,
that it is even not needed to implement a whole lan driver into windbg,
it would be enough to make use of the the pci-e bus for Windbg and than take a normal COM1 seriell pci-e card.

#2567

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2566

> @Mov AX, 0xDEAD
> Interesting, which driver is used for Windbg to connect to other compi via lan.
> Is it the Bios lan driver?
> that it is even not needed to implement a whole lan driver into windbg
> it would be enough to make use of the the pci-e bus for Windbg and than take a normal COM1 seriell pci-e card.

These drivers was writed by ms/vendors exclusively for kernel debugging, MS published examples for intel&realtek (see last windbg x64, folder DDK). Also drivers do not use full features of netcard, only minimal for receive&send UDP packets, kdnet.dll include minimal implementation of IP stack (arp/dhcp client/etc)

#2568

diderius6

⇗ @Mov AX, 0xDEAD
Will lan debug work under XP SP3
using there Windbg 6.12.0002.633 ?
This version runs under XP SP3 and can debug Win2000, XP, Server2003, Vista, Win7
each 32 bit and 64 bit architektures
Dietmar

#2569

Doc.Brown

Hi guys :)
After some more testing with bios and ACPI.sys provided by ⇗ @diderius6 unfortunately I'm always stuck with A5 BSOD on the Asus Gene 11 and 8700K,with the last modded ACPI.sys there's more bugged info with the BSOD as you can see on the screen below:
⇗
Started by integrate AHCI driver for A352 device by Fernando,after that tested by adding AMDXHCI and STOREAHCI but nothing help,also tried all ACPI5048 and also the one for 5512 XP build but fail,fail,fail
If you see more things to test I'm open ^^
Thanks for your help

#2570 | diderius6 | ⇗ @Doc.Brown Until now the problem is, that the Gene XI board has no serial COM1 port for debug. But very soon, thanks to ⇗ @Mov AX, 0xDEAD this problem is gone and I can help you Dietmar
#2571 | Doc.Brown | ⇗ @diderius6 That's a good news I'm hurry to see some update so :)
#2572 | infuscomus | ⇗ @diderius6 just asking, there are pci-e serial port cards you can get, does debugging work when using those?

#2573

diderius6

⇗ @infuscomus
When I understand ⇗ @Mov AX, 0xDEAD correct,
Microsoft offers drivers for network cards special for Kernel debug,
even when they are connected via pci-e(!). This would mean, that for example you can debug a compi with Intel i219-v
lan, even there is no XP driver until now for this device. Or you can put your own lan card into pci-e slot and start debugging.
This never works before.
What is not clear until now for me is, if everything can be done (Host and Target compi)
under XP SP3, when you have windbg, which works under XP SP3 and can debug compi with Win7
Dietmar

#2574

diderius6

⇗ @Mov AX, 0xDEAD
Yesssssssssssssssssssssssssssaaaaaaaaaa it works:))))))))))))))!!!!!!!!!!!!!!!!!

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.2.108 on port 50000.

Dietmar
PS: Everything under XP SP3(!).

#2575

diderius6

⇗ @Mov AX, 0xDEAD
How can I sent "break" command from host to debugged target compi?
At the window called Port Number from windbg for lan debug is the input
`50000 this.is.secret.key`
correct
Dietmar
PS: "Network debugging uses a 256-bit key that is specified as four 64-bit values, in base 36, separated by periods. Each 64-bit value is specified by using up to 13 characters. Valid characters are the letters a through z and the digits 0 through 9. "
EDIT: Now I think, my connection via XP SP3 as host machine is not complete:

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86 is from win 8.1
    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86  is my version on XP SP3

#2576

diderius6

Crazy, I cant install the win 8.1 sdk on real Win8.1
The blue map appears for a second and then disappears
Dietmar
EDIT: What a crap is win 8.1..
So, at the moment I dont have windbg Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86 from win 8.1
and I dont know, how to get it even I have original Win 8.1 32 bit installed.

#2577

nektandra

Gentlemen, it is what are you doing tremendous and I understand that I tear off you from a solution of really difficult tasks, but you could render me the small help? I try to install Windows XP х86 on the motherboard with a chipset of B350 and the Ryzen processor. Thanks to the detailed instruction of kindly provided ⇗ @infuscomus I replaced in a distribution kit all copies of the acpi.sys file with the file from acpi5048_x86_intel_amd_final.rar. After that I promoted from the blue screen with error A5 to error 7B. It is obvious that at this stage I should integrate drivers of the SATA controller correctly. Using nlite I tried Universal 32bit AMD AHCI driver v1.2.1.321 mod by Fernando and Universal 32bit AMD AHCI driver v6.1.3.35 mod by Fernando. Also I without results tried to use Scsiport and Storport of the driver the laid-out ⇗ @daniel_k before reached me that for them there are no files of txtsetup.oem. Tell me please,
1 What drivers of the SATA controller of a chipset of AMD 350 are suitable for Windows XP x86 better?
2 If Scsiport or Storport of the driver from ⇗ @daniel_k are the best version of the driver whether then it is necessary to generate manually for them txtsetup.oem?
3 At last if my assumptions are quite misleading, then how it is correct to integrate driver Storport from ⇗ @daniel_k into the Windows XP distribution kit?

#2578 | diderius6 | ⇗ @nektandra Only the STORAHCI driver from ⇗ @skullteria works on AMD Ryzen boards, see this driver in my post #881 Dietmar

#2579

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2574

> @Mov AX, 0xDEAD
> Using NET for debugging
> Opened WinSock 2.0
> Waiting to reconnect...
> Connected to target 192.168.2.108 on port 50000.
> ....
> PS: Everything under XP SP3(!).

Old windbg for winxp will not work with transport from win8.1 (it doesnt have field for entering password), you wont see anything after "Connected to target 192.168.2.108 on port 50000". If you can find version of windbg for winxp with password support - it probably will work.

#2580

diderius6

⇗ @Mov AX, 0xDEAD
Do you have an idea,
where I can get a newer windbg version which works for lan debug of XP
Dietmar
PS: I cant install SDK 8.1 for unknown reason in Win 8.1 32 bit. This Win 8.1 tells: Incompatible program..
Dietmar

## Page 173

#2581

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2576

> So, at the moment I dont have windbg Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86 from win 8.1
> and I dont know, how to get it even I have original Win 8.1 32 bit installed.

- start "X86 Debuggers And Tools-x86_en-us.msi" manualy, it will not add menus in Programs, create link to "c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe"
or
- extract "X86 Debuggers And Tools-x86_en-us.msi" to any folder, create link

#2582 | diderius6 | ⇗ @Mov AX, 0xDEAD I just found ⇗ https://github.com/kbandla/installers/bl...s-x86_en-us.msi Dietmar

#2583

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2573

> @infuscomus
> When I understand @Mov AX, 0xDEAD correct,
> Microsoft offers drivers for network cards special for Kernel debug,
> even when they are connected via pci-e(!). This would mean, that for example you can debug a compi with Intel i219-v
> lan, even there is no XP driver until now for this device. Or you can put your own lan card into pci-e slot and start debugging.

- host PC can have any card if owner has driver for windows
- target pc must have card only supported KD NET, ⇗ http://go.microsoft.com/fwlink/p/?linkid=230754
- when boomgr load winload/ntosk/hal it also load kdnet.dll + check for available pci netcard
- if netcard is supported it load proper .dll like kd_02_8086.dll (intel), this dll is special driver for kernel debugging
p.s. windows 8.x also has new BOOT DEBUGGER, all drivers implemented in winload and no need extern dll

#2584

nektandra

> Zitat von diderius6

> Only the STORAHCI driver from @skullteria works on AMD Ryzen boards,
> see this driver in my post #881
> Dietmar

Excellently! Many thanks! I have to apologize for not reading the whole branch of the forum in a row.
After installing with ahci the driver from message 881, I updated the sata driver using the amd_ahci_x86 from message 1669.
Whether correctly I understand that AMDXHCI_XP_FINAL.rar from the message 2225 contains the working driver of the USB controller for AMD B350?

#2585

diderius6

⇗ @Mov AX, 0xDEAD
I get this windbg version to work under win 8.1.
But XP hangs during boot.
May be because of hanging, the "break" or "g" command not works.
Tomorrow I set up new Win7 32 bit.
The connection seems now to be ok
Dietmar

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.2.108 on port 50000 on local IP 192.168.2.101.
    Connected to Windows XP 2600 x86 compatible target at (Tue Oct  1 01:47:23.109 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp_sp3_qfe.190108-0655
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
    System Uptime: not available

    Intel Storage Driver Ver: 11.2.0.1006

    AhciHwFindAdapter finishing

#2586

diderius6

Yesssaaaaaaaa, in "Safe Mode" (F8) it works!!!
Dietmar

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.2.108 on port 50000 on local IP 192.168.2.101.
    Connected to Windows XP 2600 x86 compatible target at (Tue Oct  1 02:10:13.745 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp_sp3_qfe.190108-0655
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
    System Uptime: not available

    Intel Storage Driver Ver: 11.2.0.1006

    AhciHwFindAdapter finishing
    SAFEBOOT: skipping device = mnmdd.SYS(Video Save)
    SAFEBOOT: skipping device = RDPCDD.SYS(Video Save)
    SAFEBOOT: skipping device = RasAcd.SYS(Streams Drivers)
    SAFEBOOT: skipping device = IPSec.SYS(PNP_TDI)
    SAFEBOOT: skipping device = Tcpip.SYS(PNP_TDI)
    SAFEBOOT: skipping device = NetBT.SYS(PNP_TDI)
    SAFEBOOT: skipping device = AFD.SYS(TDI)
    SAFEBOOT: skipping device = NetBIOS.SYS(NetBIOSGroup)
    SAFEBOOT: skipping device = Serial.SYS(Extended base)
    SAFEBOOT: skipping device = intelppm.SYS(Extended Base)
    SAFEBOOT: skipping device = WS2IFSL.SYS(Group)
    SAFEBOOT: skipping device = Rdbss.SYS(Network)
    SAFEBOOT: skipping device = MRxSmb.SYS(Network)
    SAFEBOOT: skipping device = Fips.SYS(Group)
    SAFEBOOT: skipping device = ElbyCDIO.SYS(Group)
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run console kernel debugger) or,                       *
    *       CTRL+BREAK (if you run GUI kernel debugger),                          *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    *** WARNING: Unable to verify timestamp for ntdll.dll
    *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    nt!DbgBreakPointWithStatus+0x4:
    804e29c2 cc              int     3
    0: kd> lm
    start    end        module name
    7f520000 7f5da000   ntdll    T (no symbols)
    80010000 80013000   BOOTVID    (deferred)
    80100000 80140000   KDSTUB     (deferred)
    804d7000 80700000   nt         (export symbols)       ntkrnlmp.exe
    80700000 80720d00   hal        (deferred)
    80721000 80757000   kdcom      (deferred)
    b8019000 b8059000   dump_storport   (deferred)
    b80c9000 b80dcf00   VIDEOPRT   (deferred)
    b80f7000 b80f9900   Dxapi      (deferred)
    b8137000 b8194f00   update     (deferred)
    b8195000 b81b7700   ks         (deferred)
    b81c8000 b81cb000   mouhid     (deferred)
    b81dc000 b81de880   hidusb     (deferred)
    b81e0000 b820fe80   rdpdr      (deferred)
    b8210000 b8227000   amdhub30   (deferred)
    b8227000 b824f000   HDAudBus   (deferred)
    b8393000 b8396c80   mssmbios   (deferred)
    b83c3000 b83dce80   Mup        (deferred)
    b83dd000 b8409980   NDIS       (deferred)
    b840a000 b8496d00   Ntfs       (deferred)
    b8497000 b84a9f00   WudfPf     (deferred)
    b84aa000 b84c0b80   KSecDD     (deferred)
    b84c1000 b84d2f00   sr         (deferred)
    b84d3000 b84f2b00   fltMgr     (deferred)
    b84f3000 b8533000   storport   (deferred)
    b8533000 b854a880   SCSIPORT   (deferred)
    b854b000 b8800000   iaStor     (deferred)
    bd000000 bd011600   dxg        (deferred)
    bf800000 bf9d3780   win32k     (deferred)
    bff70000 bff72480   framebuf   (deferred)
    f7472000 f7497a00   dmio       (deferred)
    f7498000 f74b6d80   ftdisk     (deferred)
    f7517000 f7524000   dump_storahci   (deferred)
    f7527000 f7536900   Cdfs       (deferred)
    f7557000 f7567a80   pci        (deferred)
    f7568000 f75a8000   ACPI       (deferred)
    f75a8000 f75d6000   amdxhc     (deferred)
    f75f7000 f7600300   isapnp     (deferred)
    f7607000 f7611580   MountMgr   (deferred)
    f7617000 f7624200   VolSnap    (deferred)
    f7627000 f7637000   asahci32   (deferred)
    f7637000 f7644000   storahci   (deferred)
    f7647000 f764fe00   disk       (deferred)
    f7657000 f7663180   CLASSPNP   (deferred)
    f76a7000 f76b3f00   i8042prt   (deferred)
    f76b7000 f76c0f00   termdd     (deferred)
    f76c7000 f76d3000   VClone     (deferred)
    f76d7000 f76e6600   cdrom      (deferred)
    f76e7000 f76f5180   redbook    (deferred)
    f76f7000 f7700000   HIDCLASS   (deferred)
    f7707000 f770d780   USBSTOR    (deferred)
    f770f000 f7713d00   PartMgr    (deferred)
    f7747000 f774d280   kbdclass   (deferred)
    f774f000 f7754c00   mouclass   (deferred)
    f7787000 f778d380   HIDPARSE   (deferred)
    f779f000 f77a4200   vga        (deferred)
    f77af000 f77b3b00   Msfs       (deferred)
    f77bf000 f77c6980   Npfs       (deferred)
    f77e7000 f77eb500   watchdog   (deferred)
    f7943000 f7945280   wmiacpi    (deferred)
    f7987000 f7988500   USBD       (deferred)
    f7989000 f798a100   WMILIB     (deferred)
    f798b000 f798c700   dmload     (deferred)
    f7995000 f7996100   swenum     (deferred)
    f799d000 f799ef00   Fs_Rec     (deferred)
    f79a1000 f79a2080   Beep       (deferred)
    f7aa7000 f7aa7d00   dxgthk     (deferred)
    f7ab0000 f7ab0b80   Null       (deferred)

#2587

Andalu

Continuing in my tests about USB3 functionality, something strange happened for my asrock ivy boards.
On the B75 Pro3-M the USB3 works fine after a clean XP install (with inside modded amd drivers and acpi.sys 5048). On each restart, the USB3 continues to work correctly. But if I shutdown the computer and then turn off the power supply unit, on the next boot the USB3 doesn't work anymore until a new XP install or by restoring an XP image with acronis true image boot disk. But even in the last case, at the end of the recover operation:
1) if I choose to restart the computer, on the next boot the USB3 will work fine;
2) if I choose to shutdown, the USB3 will not work anymore.
For the B75M-GL R2.0 almost the same behaviour. The difference is that the USB3 doesn't work on a clean XP install also. The only way to get the USB3 functionality for this board is to restore the image saved from the B75 Pro3-M but never shutdown the computer, only restarts. So, to keep the usb3 functionality, these boards need to be always on. Any ideas?

#2588

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2585

> @Mov AX, 0xDEAD
> I get this windbg version to work under win 8.1.
> But XP hangs during boot.
> May be because of hanging, the "break" or "g" command not works.
> Tomorrow I set up new Win7 32 bit.
> The connection seems now to be ok

yes, connection now is OK, you dont need win7
maybe XP hangs because you are activated network device in XP ? it must be disabled in DevManager because conflict with debugger driver, also try with /BREAK, it must stop loading windows and you can check G command

#2589 | infuscomus | ⇗ @Andalu for the USB 3.0 controllers listed in device manager, do you see a power management tab?

#2590

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #2587

> So, to keep the usb3 functionality, these boards need to be always on. Any ideas?

amd/nec/via/intel usb3 driver save some settings in registry, may this is problem. we dont know what these setting mean but driver can load it after ever reset and override hardware/mode of usb3 controller
example for via:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\xhcdrv\Parameters]
    "IMODI"=dword:00000001
    "MsDelayAfterAddressBsr0"=dword:00000014
    "RootPortStatusFormat"=dword:00000001
    "HwTriggerMask"=dword:ffffffff
    "MaxRootHubReEnumCount"=dword:00000003
    "UsDelayBetweenSeparateTd"=dword:000003e8
    "UsMinLfsBulkUrbCompletionTime"=dword:000000a0
    "UsMinSsBulkUrbCompletionTime"=dword:00000118
    "UsMinCtrlUrbCompletionTime"=dword:00000000
    "MsDelayAfterModifyIntegratedHubPp"=dword:00000488
    "FrameWindow"=dword:000007ff
    "DmaEnablerAlignmentRequirement"=dword:00000003
    "DisableUpdateFirstTrbCycleBitLast"=dword:00000000
    "DisableSecondaryInterrupters"=dword:00000000
    "DisableSelectiveSuspend"=dword:00000001
    "DisableSimplifiedBulkHandlingOnBOT"=dword:00000000
    "DisableRemoteWakeup"=dword:00000000
    "DisableDynamicRootHubEnum"=dword:00000000

On Notebooks usb3 modes probably controlled by EmbeddedController with help of DSDT (acpi)

#2591 | Andalu | ⇗ @infuscomus here the device manager for the B75Pro3-M board (the same for the B75M-GL R2.0). I always unticked the power saving for all my boards. ⇗

#2592

Andalu

⇗ @Mov AX, 0xDEAD
You are right, it is something related to the registry that changes during XP booting. The strange is: why this change happens for the shutdown only and never for the restart? And regarding the B75 Pro3-M board, why only when the psu is turned off?
I have also tried to load (with asl.exe /loadtable command) a modified DSDT table for the B75M-GL R2.0 board following ⇗ this guide (it is for hackintosh so I have changed the values for OSYS too) but i had no success (I had to use the -f option to force iasl.exe to compile the *.aml file although it had highlighted 3 errors).
So for now, i have only one motherboard out of six where the USB3 is fully functional but I don't know what will happen when I turn on that board :)

#2593

diderius6

⇗ @Mov AX, 0xDEAD
you are right.
I just disable in Device Manager the Realtek network controller on the
nice Giga H110 board and now XP starts normal.
On this compi lan Debug works now like the Debug over COM1,
what a great success
Dietmar

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.2.108 on port 50000 on local IP 192.168.2.101.
    Connected to Windows XP 2600 x86 compatible target at (Tue Oct  1 17:35:20.084 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp_sp3_qfe.190108-0655
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
    System Uptime: not available

    Intel Storage Driver Ver: 11.2.0.1006

    AhciHwFindAdapter finishing
    AFD: Read FastSendDatagramThreshold from the registry, value: 0x5dc (default: 0x400))
    AFD: Read DefaultReceiveWindow from the registry, value: 0x40290 (default: 0x2000))
    AFD: Read DefaultSendWindow from the registry, value: 0x1f5e0 (default: 0x2000))
    44: ERROR: UMRxReadDWORDFromTheRegistry/ZwQueryValueKey: NtStatus = c0000034
    ERROR: DavReadRegistryValues/RegQueryValueExW(4). WStatus = 127
    ERROR: DavReadRegistryValues/RegQueryValueExW(5). WStatus = 127
    ERROR: DavReadRegistryValues/RegQueryValueExW(6). WStatus = 127
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run console kernel debugger) or,                       *
    *       CTRL+BREAK (if you run GUI kernel debugger),                          *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    *** WARNING: Unable to verify timestamp for ntdll.dll
    *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlmp.exe -
    nt!DbgBreakPointWithStatus+0x4:
    804e29c2 cc              int     3
    0: kd> lm
    start    end        module name
    7f520000 7f5da000   ntdll    T (no symbols)
    80010000 80013000   BOOTVID    (deferred)
    80100000 80140000   KDSTUB     (deferred)
    804d7000 80700000   nt         (export symbols)       ntkrnlmp.exe
    80700000 80720d00   hal        (deferred)
    80721000 80757000   kdcom      (deferred)
    b2ab7000 b2af7e00   HTTP       (deferred)
    b304a000 b30a1c80   srv        (deferred)
    b31e0000 b31f4480   wdmaud     (deferred)
    b321d000 b3248f80   mrxdav     (deferred)
    b3359000 b3367d80   sysaudio   (deferred)
    b34b5000 b34b8900   ndisuio    (deferred)
    b419c000 b41dc000   dump_storport   (deferred)
    b42a4000 b4313a80   mrxsmb     (deferred)
    b4314000 b433ee80   rdbss      (deferred)
    b433f000 b4360d00   afd        (deferred)
    b4361000 b4386500   ipnat      (deferred)
    b4387000 b43aed80   netbt      (deferred)
    b43d7000 b442f480   tcpip      (deferred)
    b4430000 b4442600   ipsec      (deferred)
    b447f000 b4481900   Dxapi      (deferred)
    b44b3000 b4a7b000   RtkHDAud   (deferred)
    b4aa3000 b4aa6000   mouhid     (deferred)
    b4aab000 b4aad280   rasacd     (deferred)
    b4ab7000 b4ab9880   hidusb     (deferred)
    b4acb000 b4aeea80   portcls    (deferred)
    b4aef000 b4b0c580   nvhda32    (deferred)
    b6d95000 b6df2f00   update     (deferred)
    b6df3000 b6e15700   ks         (deferred)
    b6e16000 b6e45e80   rdpdr      (deferred)
    b6e46000 b6e56e00   psched     (deferred)
    b6e57000 b6e6d680   ndiswan    (deferred)
    b6e89000 b6e89d00   dxgthk     (deferred)
    b6e8c000 b6ea3000   amdhub30   (deferred)
    b6ea3000 b6ecb000   HDAudBus   (deferred)
    b6ecb000 b6edef00   VIDEOPRT   (deferred)
    b6edf000 b7b40bc0   nv4_mini   (deferred)
    b826f000 b8272c80   mssmbios   (deferred)
    b828b000 b8293780   netbios    (deferred)
    b829b000 b82a3700   wanarp     (deferred)
    b82ab000 b82b4000   HIDCLASS   (deferred)
    b82bb000 b82c9180   redbook    (deferred)
    b82cb000 b82da600   cdrom      (deferred)
    b82db000 b82e9b00   drmk       (deferred)
    b82eb000 b82f5000   NDProxy    (deferred)
    b82fb000 b8307000   VClone     (deferred)
    b830b000 b8314f00   termdd     (deferred)
    b831b000 b8323900   msgpc      (deferred)
    b8367000 b8369900   ndistapi   (deferred)
    b836b000 b836d280   wmiacpi    (deferred)
    b836f000 b8372d80   serenum    (deferred)
    b83c3000 b83dce80   Mup        (deferred)
    b83dd000 b8409980   NDIS       (deferred)
    b840a000 b8496d00   Ntfs       (deferred)
    b8497000 b84a9f00   WudfPf     (deferred)
    b84aa000 b84c0b80   KSecDD     (deferred)
    b84c1000 b84d2f00   sr         (deferred)
    b84d3000 b84f2b00   fltMgr     (deferred)
    b84f3000 b8533000   storport   (deferred)
    b8533000 b854a880   SCSIPORT   (deferred)
    b854b000 b8800000   iaStor     (deferred)
    bd000000 bd011600   dxg        (deferred)
    bd012000 bd3ca380   nv4_disp   (deferred)
    bf800000 bf9d3780   win32k     (deferred)
    f7472000 f7497a00   dmio       (deferred)
    f7498000 f74b6d80   ftdisk     (deferred)
    f74b7000 f74c2d00   raspptp    (deferred)
    f74c7000 f74d1200   raspppoe   (deferred)
    f74d7000 f74e3880   rasl2tp    (deferred)
    f74e7000 f74f0e00   intelppm   (deferred)
    f74f7000 f7507000   serial     (deferred)
    f7507000 f7513f00   i8042prt   (deferred)
    f7557000 f7567a80   pci        (deferred)
    f7568000 f75a8000   ACPI       (deferred)
    f75a8000 f75d6000   amdxhc     (deferred)
    f75f7000 f7600300   isapnp     (deferred)
    f7607000 f7611580   MountMgr   (deferred)
    f7617000 f7624200   VolSnap    (deferred)
    f7627000 f7637000   asahci32   (deferred)
    f7637000 f7644000   storahci   (deferred)
    f7647000 f764fe00   disk       (deferred)
    f7657000 f7663180   CLASSPNP   (deferred)
    f7687000 f7691e80   Fips       (deferred)
    f76a7000 f76b1000   ElbyCDIO   (deferred)
    f76c7000 f76d6900   Cdfs       (deferred)
    f76d7000 f76e4000   dump_storahci   (deferred)
    f7707000 f770d780   USBSTOR    (deferred)
    f770f000 f7713d00   PartMgr    (deferred)
    f7767000 f776d280   kbdclass   (deferred)
    f776f000 f7774c00   mouclass   (deferred)
    f7777000 f777ba80   TDI        (deferred)
    f777f000 f7783580   ptilink    (deferred)
    f7787000 f778b080   raspti     (deferred)
    f779f000 f77a5380   HIDPARSE   (deferred)
    f77af000 f77b4200   vga        (deferred)
    f77b7000 f77bbb00   Msfs       (deferred)
    f77bf000 f77c6980   Npfs       (deferred)
    f77c7000 f77cb500   watchdog   (deferred)
    f7987000 f7988500   USBD       (deferred)
    f7989000 f798a100   WMILIB     (deferred)
    f798b000 f798c700   dmload     (deferred)
    f79ab000 f79ac100   swenum     (deferred)
    f79b3000 f79b4f00   Fs_Rec     (deferred)
    f79b5000 f79b6080   Beep       (deferred)
    f79b7000 f79b8080   mnmdd      (deferred)
    f79bb000 f79bc080   RDPCDD     (deferred)
    f7a7b000 f7a7bc00   audstub    (deferred)
    f7aab000 f7aabb80   Null       (deferred)

    Unloaded modules:
    b30f2000 b311d000   kmixer.sys
    b7d04000 b7d05000   drmkaud.sys
    b3531000 b353e000   DMusic.sys
    b3339000 b3347000   swmidi.sys
    b311d000 b3140000   aec.sys
    f79e3000 f79e5000   splitter.sys
    b31e1000 b31f5000   Parport.SYS
    f7677000 f7682000   imapi.sys
    f77a7000 f77ac000   Cdaudio.SYS
    b4ab3000 b4ab6000   Sfloppy.SYS
    f7797000 f779c000   Flpydisk.SYS
    f7627000 f7637000   asahci32.sys
    b854b000 b8800000   iaStor.sys

#2594

diderius6

⇗ @Mov AX, 0xDEAD
I make a new test with a Realtek Slot Pci-e card on the nice Giga H110 board.
In Device Manager I look for its PCI-Bus 4, Gerät 0, Funktion 0 and
make an entry with this numbers in boot.ini with /busparams=4.0.0
so that the debugger knows, which NIC is used.
And voila, it works ). This is the very first time,
that I succeed to connect windbg to an pci-e slot card
and make it work.
This means: Now, as long as the compi has a COM1 port or a supported network card or just 1 free Pci-e slot,
it can be fully debugged under XP SP3
Dietmar

#2595

diderius6

⇗ @Mov AX, 0xDEAD
I test the Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
under Vista 32 bit (Vista as host, the compi where windbg runs).
It also works from there for debugging XP SP3 over lan. So, there is a chance to make this new debugger version run under XP SP3.
I test Debug over lan on Intel i211 nic on the Asrock fatal1ty z370 gaming k6 board with XP SP3 as target (compi which is debugged).
Works ).
On the NIC i219-v it does not work. The reason is just, i219-v DEV ID 15BX is not supported in Lan Debug of win8.1
Dietmar

    System Requirements

    Kernel
     debugging through Ethernet NICs requires certain low-level platform
    support. Windows requires that these NICs be attached via PCI/PCIe for
    this debugging solution. In most cases, simply plugging in one of these
    supported NICs will allow a robust kernel debugging experience. However,
     there may be cases where BIOS configuration details hinder the Windows
    debug path. The following platform requirement should be considered:

        System firmware should discover and configure the NIC device such
    that its resources do not conflict with any other devices that have been
     BIOS-configured.

    Finding the vendor ID and device ID

    First find the vendor ID and device ID of the network adapter on your target computer.

        On the target computer, open Device Manager (enter devmgmt in a Command Prompt window).
        In Device Manager, locate the network adapter that you want to use for debugging.
        Right click the network adapter node, and choose Properties.
        In the Details tab, under Property, select Hardware Ids.

    The
     vendor and device IDs are shown as VEN_VendorID and DEV_DeviceID. For
    example, if you see PCI\VEN_8086&DEV_104B, the vendor ID is 8086,
    and the device ID is 104B.
    Vendor ID 8086, Intel Corporation

    For vendor ID 8086, these device IDs are supported:

    0438
     043A 043C 0440 1000 1001 1004 1008 1009 100C 100D 100E 100F 1010 1011
    1012 1013 1014 1015 1016 1017 1018 1019 101A 101D 101E 1026 1027 1028
    1049 104A 104B 104C 104D 105E 105F 1060 1075 1076 1077 1078 1079 107A
    107B 107C 107D 107E 107F 108A 108B 108C 1096 1098 1099 109A 10A4 10A5
    10A7 10A9 10B5 10B9 10BA 10BB 10BC 10BD 10BF 10C0 10C2 10C3 10C4 10C5
    10C6 10C7 10C8 10C9 10CB 10CC 10CD 10CE 10D3 10D5 10D6 10D9 10DA 10DB
    10DD 10DE 10DF 10E1 10E5 10E6 10E7 10E8 10EA 10EB 10EC 10EF 10F0 10F1
    10F4 10F5 10F6 10F7 10F8 10F9 10FA 10FB 10FC 1501 1502 1503 1507 150A
    150B 150C 150D 150E 150F 1510 1511 1514 1516 1517 1518 151C 1521 1522
    1523 1524 1525 1526 1527 1528 1529 152A 1533 1534 1535 1536 1537 1538
    1539 153A 153B 1546 154A 154D 1557 1558 1559 155A 1560 157B 157C 1F40
    1F41 1F45 294C
    Vendor ID 10EC, Realtek Semiconductor Corp.

    For vendor ID 10EC, these device IDs are supported:

    8136 8137 8167 8168 8169
    Vendor ID 14E4, Broadcom

    For vendor ID 14E4, these device IDs are supported:

    1600
     1601 1639 163A 163B 163C 1644 1645 1646 1647 1648 164A 164C 164D 1653
    1654 1655 1656 1657 1658 1659 165A 165B 165C 165D 165E 165F 1668 1669
    166A 166B 166D 166E 1672 1673 1674 1676 1677 1678 1679 167A 167B 167C
    167D 167F 1680 1681 1684 1688 1690 1691 1692 1693 1694 1696 1698 1699
    169A 169B 169D 16A0 16A6 16A7 16A8 16AA 16AC 16B0 16B1 16B2 16B4 16B5
    16B6 16C6 16C7 16DD 16F7 16FD 16FE 16FF 170D 170E 170F
    Vendor ID 1969, Atheros Communications

    For vendor ID 1969, these device IDs are supported:

    1062
     1063 1073 1083 1090 1091 10A0 10A1 10B0 10B1 10C0 10C1 10D0 10D1 10E0
    10E1 10F0 10F1 2060 2062 E091 E0A1 E0B1 E0C1 E0D1 E0E1 E0F1
    Vendor ID 19A2, ServerEngines (Emulex)

    For vendor ID 19A2, these device IDs are supported:

    0211 0215 0221 0700 0710
    Vendor ID 10DF, Emulex Corporation

    For vendor ID 10DF, these device IDs are supported:

    0720 E220
    Vendor ID 15B3, Mellanox Technology

    For vendor ID 15B3, these device IDs are supported:

    1000
     1001 1002 1003 1004 1005 1006 1007 1008 1009 100A 100B 100C 100D 100E
    100F 1010 6340 6341 634A 634B 6354 6368 6369 6372 6732 6733 673C 673D
    6746 6750 6751 675A 6764 6765 676E 6778

## Page 174

#2596

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2595

> On the NIC i219-v it does not work. The reason is just, i219-v DEV ID 15BX is not supported in Lan Debug of win8.1

In theory, if i219-v compatible with some previous model, patched kd_02_8086.dll (ID_XXX=>ID_YYY) solve problem.
Dietmar, learn asm, you can do any things yourself )

#2597

diderius6

⇗ @Mov AX, 0xDEAD
I found with Ida Pro in kd_02_8086.dll the place,
where the check for 8086 (Intel nic) happens.
Also I see the place there

    .text:800119F1                 mov     dword ptr [eax], offset aThisNicIsNotSu

but I dont know, how to add extra Device ID for the i219-v
and a lot of other devices for Atheros (in its kd_02_1969.dll)
even I think the Vendor key is other `VEN_168C&DEV_0036&SUBSYS_061211AD Qualcomm Atheros AR956x Wireless Network Adapter` for the Lenovo Flex 10 netbook
Dietmar

#2598

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2597

> and a lot of other devices for Atheros (in its kd_02_1969.dll)
> even I think the Vendor key is other
> VEN_168C&DEV_0036&SUBSYS_061211AD Qualcomm Atheros AR956x Wireless Network Adapter for the Lenovo Flex 10 netbook

Vendors can register multiple PCI ID: 1969 for LAN , 168C - wireless, 666- dEvil's electronic toys )

#2599

Mov AX, 0xDEAD

⇗ @diderius6,
Newer Windbg (Win8/Win10) versions has incompatibility bug - Register Window is empty if target is WinXP or Win2003, bug still in place even with original COM debugging. I think MS changed protocol and windbg cannot show required registers.
I use IDA+windbg plugin instead "pure" windbg, this bug is not presented in IDA
p.s. win2003 x32 now supported too

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 192.168.4.3 on port 50000 on local IP 192.168.4.1.
    Connected to Windows Server 2003 3790 x86 compatible target at (Wed Oct  2 23:39:00.684 2019 (UTC + 5:00)), ptr64 FALSE
    Kernel Debugger connection established.

    ************* Symbol Path validation summary **************
    Response                         Time (ms)     Location
    Deferred                                       SRV*C:\Windows\SYMBOLS*⇗ http://msdl.microsoft.com/download/symbols
    Symbol search path is: SRV*C:\Windows\SYMBOLS*⇗ http://msdl.microsoft.com/download/symbols
    Executable search path is:
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlpa.exe -
    Windows Server 2003 Kernel Version 3790 UP Free x86 compatible
    Built by: 3790.srv03_sp2_rtm.070216-1710
    Machine Name:
    Kernel base = 0x80800000 PsLoadedModuleList = 0x8089ffa8
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************

#2600

diderius6

⇗ @Mov AX, 0xDEAD
"Register Window is empty if target is WinXP or Win2003"
what does this mean for debugging XP via Lan for example with host Win8.1?
Can the Acpi Bsod A5 been fully debugged on XP SP3 via lan
on the Newer Windbg (Win8/Win10)
Dietmar
PS: When this bug cannot be overcome.
How can I integrate the Newer Windbg (Win8/Win10)
into Ida as plugin? I have version 6.1.11.315 (from 2011)
with the possibility to attach windbg.

#2601

diderius6

⇗ @Mov AX, 0xDEAD
I take a look at windbg Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
why this windbg does not like to run on XP SP3.
Dependency Walker shows as only file with unmatched import functions
msvcrt.dll
__CxxFrameHandler3
_except_handler4_common
wcscpy_s
May be, they can be customized for to work with XP SP3
Dietmar
EDIT: msvcrt.dll from Vista or Longhorn 5048 crashes XP SP3.

#2602

diderius6

⇗ @Mov AX, 0xDEAD
The only strange behavior of using Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
for lan debugging of XP SP3 on Win8.1 is, that I cant store the Symbol path,
so on each new use of this windbg I have to put the Symbol path there by hand.
All other works for me
Dietmar

#2603 | infuscomus | ⇗ @diderius6 can you not use the older XP debugger over a network?

#2604

diderius6

⇗ @infuscomus
I tried this and I can connect this debugger over lan.
But, because the files from Win8.1 for debug over lan want a password (what a crazy idea^^)
you cant do anything more until now after connecting with the old windbg.
An elegant way would be, to cancel the password question in the files from win8.1.
But until now I am not good enough in assembler to do that.
⇗ @Mov AX, 0xDEAD to me "Dietmar, learn assembler and you can do all this by yourself."
It is just true, this is what I tell pupils every day
Dietmar

#2605

diderius6

I just set up full Acpi XP SP3 on the Lenovo Flex 10 notebook.
All I do is via USB3:)), until now no need to open nice netbook
Dietmar
PS: If I do not succeed to integrate the Ven_&Dev ID from its wireless lan controller,
I try to enable debug via USB3.
⇗

#2606

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2600

> @Mov AX, 0xDEAD
> "Register Window is empty if target is WinXP or Win2003"
> what does this mean for debugging XP via Lan for example with host Win8.1?

you dont see any registers, only manual "r" works

> Zitat

> How can I integrate the Newer Windbg (Win8/Win10) into Ida as plugin?

1) run windbg, break target PC, close windbg
2) run IDA->attach debugger->windbg debugger
-debug options->set specific-> kernel mode debugging
-connect string: net:port=50000,key=this.is.secret.key
3) select slot (0), wait for connection
In output window you can enter windbg commands, like "lm", "analyze", but often ida hangs, this is ida's bugs (
If module list is empty, try ".reload", sometimes it solve problem

> Zitat von ⇗ diderius6 im Beitrag ¶ #2602

> I cant store the Symbol path

set env variable
_NT_SYMBOL_PATH=SRV*%SYSTEMROOT%\SYMBOLS*⇗ http://msdl.microsoft.com/download/symbols

#2607

Mov AX, 0xDEAD

Status of KDNET for Windows XP x32:
Intel 10G big alloc buffer - ?
No patches to other files - Done
Any HAL - Done
Auto-disable device in pnp manager - Done
Win2003 version - Done
Auto calculate cpufreq option - ?
Windbg 6.3.9600.x under Windows XP - Done
Fixed Register Window - Done
Project - ⇗ https://github.com/MovAX0xDEAD/KDNET

#2608

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2601

> Dependency Walker shows as only file with unmatched import functions
> msvcrt.dll
> __CxxFrameHandler3
> _except_handler4_common
> wcscpy_s

easy-peasy-japanesey:

    00000140:       06 05
    00000142:       00 01
    00000150:       B9 4D
    00000151:       35 D3
    00000152:       07 06
    0002E3E9:       68 90
    0002E3EA:       00 90
    0002E3EB:       04 90
    0002E3EC:       00 90
    0002E3ED:       00 90
    0002E400:       0C 08
    00033296:       57 90
    000332A0:       0C 08
    000488B4:       5F 00
    000488B5:       73 00
    000489F9:       34 33
    000489FA:       5F 00
    00048D33:       33 00

also need patch winxp/kdexts.dll, but much best:
1) use compatible msvcrt from newer OS, rename to msvcr1.dll, patch exe/dll to use msvcr1 instead msvcrt
2) compile msvcrt.dll from VS2008 sources, rename to msvcr1.dll, patch exe/dll to use msvcr1 instead msvcrt

    000ECEA2:       0B 00

seems works normal, we don't need anymore win7+ for host pc :)

#2609

diderius6

⇗ @Mov AX, 0xDEAD
Waaaoh:)) ,
I just cant believe,
what a nice work
Dietmar
PS: "If there is a Windbg for XP with password field, it may work."
There is no, so we make, I just test under XP SP3, works:))!!

#2610

dencorso

In case you find it useful, a long time ago BlackWingCat created a version of the vista msvcrt.dll which does not cause _except_handler4_common not found error. It's still obtainable from his Japanese language site, in an international version:
⇗ https://translate.google.com.br/translat...%2F1706829.html

## Page 175

#2611

diderius6

⇗ @dencorso
⇗ http://blog.livedoor.jp/blackwingcat/archives/1706829.html
this is the original link to msvcrt.dll from Blackwingcat
thanks:))
Dietmar
diderius6 has attached files to this post

- ⇗ msvcrt.rar

#2612 | Mov AX, 0xDEAD | WinDBG's Register Window fixed, ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (174)

#2613

diderius6

⇗ @Mov AX, 0xDEAD
Thanks a lot, I corrected dbgeng.dll and make checksum new. In the morning I tested the new Windbg under XP SP3 over lan a lot.
ACPI, Pcitree, lm, !analyze-v !devnode 0 1 and so on.
For me I need also the msvcrt.dll from Vista from Blackwingcat. In other case, in !devnode 0 1 Windbg tells, that a *.dll was not found. Windbg over lan is now fast as never before.
Do you have an idea, how to make the grafik on the Bay Trail cpu N2806 work under XP? I tested about 20 drivers, they give all code 10.
I think, Intel put (like into the USB driver) something like a VEN_8086 and DEV check,
so that NO compi from the Baytrail series (2013-2014) can work with XP.
But I only find the 8086 check in igxpmp32.sys driver. May be there is a cpu ID check?
This driver works for HD grafik in XP, but not for the device VEN_8086&DEV_0F31 (Netbook Lenovo Flex 10).
What do you think: Is there a chance to make this work? There are Win7 32 bit, Win8 32 bit drivers for this device but with a lot of unfullfilled dependencies under XP SP3
Dietmar
EDIT: Because all HD3000, HD4000, HD4400, HD5000, ... are treated identic in XP SP3 (see igxp32.inf),
I start to think, that there is no DEV ID check in XP igxpmp32.sys at all. DEV ID check appears in Win7 32 bit for DEV_0F31.
But this would simple mean, that all possible HDXXXX work with this driver in XP. And when it shows code 10,
this driver does just not work for this HD device DEV_0F31 in XP SP3. When I add to igxp32.inf DEV_0F31,
I can use the normal setup program from Intel. But without success after reboot.
And this "why HD not works in XP" depends also on chipset: The same cpu with the same integrated HD works on one chipset and on the other not, brrr...
EDIT2: I just noticed, that on Win7 32 bit, there are extra, other entries to registry for this device 0F31 with name Valleyview,
as for other HDxxxx, here it is named %iVLVGMT0% = iVLV2M_w7, PCI\VEN_8086&DEV_0F31
diderius6 has attached files to this post

- ⇗ igxpmp32.rar

#2614

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2613

> @Mov AX, 0xDEAD
> But I only find the 8086 check in igxpmp32.sys driver. May be there is a cpu ID check?
> This driver works for HD grafik in XP, but not for the device VEN_8086&DEV_0F31 (Netbook Lenovo Flex 10).

look for dev_id checks around "8086 check", it may be complex like add XX /sub XX, then comparing.
in last drivers intel do check for dev_id, then set config like

    dev_id1:
    mov     dword ptr [edi+298h], 0Bh
    mov     dword ptr [edi+294h], 5
    mov     dword ptr [edi+28Ch], 11h

    dev_id2:
    mov     dword ptr [edi+298h], 3
    mov     dword ptr [edi+294h], 3
    mov     dword ptr [edi+28Ch], 6

so dev_id=>magic numbers

#2615

diderius6

⇗ @Mov AX, 0xDEAD
Thanks a lot,
I just find for example this, direct before Haswell GPU is mentioned

    text:10021BDE

    .text:10021BDE loc_10021BDE: ; CODE XREF: sub_10020DB0+1C0 j
    .text:10021BDE                                         ; sub_10020DB0+203
    j ...
    .text:10021BDE                 mov     edx, [ebp+arg_0]
    .text:10021BE1                 mov     dword ptr [edx+208h], 9
    .text:10021BEB                 mov     eax, [ebp+arg_0]
    .text:10021BEE                 mov     dword ptr [eax+204h], 9
    .text:10021BF8                 mov     ecx, [ebp+arg_0]
    .text:10021BFB                 mov     dword ptr [ecx+1FCh], 0Ch
    .text:10021C05                 mov     edx, [ebp+arg_0]
    .text:10021C08                 mov     eax, [edx+0DCh]
    .text:10021C0E                 or      eax, 80000000h
    .text:10021C13                 mov     ecx, [ebp+arg_0]
    .text:10021C16                 mov     [ecx+0DCh], eax
    .text:10021C1C                 push    offset aIntelRHdGrap_3 ; "Intel(R) HD Graphics Family"
    .text:10021C21                 lea     edx, [ebp+var_208]
    .text:10021C27                 push    edx
    .text:10021C28                 mov     eax, [ebp+arg_0]
    .text:10021C2B                 push    eax
    .text:10021C2C                 call    sub_1002F2D0
    .text:10021C31                 mov     [ebp+var_478], 38h
    .text:10021C3B                 mov     [ebp+var_469], 0
    .text:10021C42                 jmp     loc_10021D24
    .text:10021C47 ; -----

Now question is, how to change values, so that this becomes:)) DEV_0F31
Dietmar
PS: The check for this DEV ID I also found.
It is, where above is jumped from

    A9 loc_10020FA9: ; CODE XREF: sub_10020DB0+1B4 j
    .text:10020FA9                 cmp     [ebp+var_5C4], 166h   <-----  This is VEN_8086&DEV_0166
    .text:10020FB3                 jz      loc_10021BDE
    .text:10020FB9                 cmp     [ebp+var_5C4], 16Ah
    .text:10020FC3                 jz      loc_10021BDE
    .text:10020FC9                 cmp     [ebp+var_5C4], 402h
    .text:10020FD3                 jz      loc_10021C47
    .text:10020FD9                 jmp     loc_10021D15

Do you know anybody, who succeeds with this hack
166h => F31h
EDIT: This IDA extract is from very last XP Embedded for Intel GPU from February 2014.
diderius6 has attached files to this post

- ⇗ igxpmp32.rar

#2616

diderius6

⇗ @Mov AX, 0xDEAD
I just check this magic numbers in Win7 32 bit.
They are identic to XP Embedded.
DEV_0166 => (9 9 0Ch)
So I think, looking at Win7
DEV_0F31 => (9 5 0Fh)
But I have no idea,
what this numbers mean
Dietmar
EDIT: The last magic number seems to be a numerating of the devices:
DEV_0166 => (9 9 0Ch)
DEV_016A => (9 9 0Dh)

#2617

diderius6

⇗ @Mov AX, 0xDEAD
First hack does not work.
May be, that DEV_0F31 has other dependencies also,
for example entries in registry.
I change
DEV_0166 => DEV_0F31 (in igxp32.inf and in igxpmp32.sys)
and also its magic number in igxpmp32.sys from
(9 9 0Ch) => (9 5 0Fh)
as you can see with Ida Pro,
set correct Checksum but I still get code 10
Dietmar
PS: Here I send igxpmp32.sys from Windows Embedded before hack and after.
It is from Intel
⇗ https://downloadcenter.intel.com/de/down...s-Xp32-Embedded
and this one is the same DEV_0F31 Grafik driver for win7, win8, win10
⇗ https://downloadcenter.intel.com/de/down...dows-15-33-?v=t
EDIT: I just notice, that in Win7 32 bit the 0F31h appears also at 3 other places. Oha, this looks like hard work.
But also is interesting, that in this driver nothing changed from win7 to win10.
diderius6 has attached files to this post

- ⇗ IntelValleyView.rar

#2618 | XPWELL64 | ⇗ @diderius6 I benchmarked HL1 with anapa driver on my asus x555lb in windows xp and results are more terrible than windows 95 preinstalled pc. I will mod this igxpmp32.sys with ida pro can you tell me how to do it? My DEVID is: DEV_1616

#2619

Mov AX, 0xDEAD

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #2618

> @diderius6
> I benchmarked HL1 with anapa driver on my asus x555lb in windows xp and results are more terrible than windows 95 preinstalled pc.

Anapa is VBE translator, no any acceleration, only frame buffer, so speed must be relative slow

#2620

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2617

> @Mov AX, 0xDEAD
> First hack does not work.
> May be, that DEV_0F31 has other dependencies also,
> for example entries in registry.

I cant help with this, sorry, but as i know some guys from this forum overwrite dev_id in skylake+ drivers to work with new HD6xxx for Windows 7
They patched sys + dll

#2621

diderius6

⇗ @Mov AX, 0xDEAD
I make a test with Ida Pro on files from post and arround them.
⇗ Win 7 x64 Coffee Like UHD 630 Video driver (2)
In its *.inf the new Dev Ids are added and also some changes in registry.
I find differences compared via *.lst and Beyond Compare with original igdkmd64.sys and mod.
Original

    .text:0000000140047AE1		       mov     eax, 8086h
    .text:0000000140047AE6		       cmp     [rdx], ax
    .text:0000000140047AE9		      		      		       jz      short loc_140047AF8

Mod

    .text:0000000140047AE1                   mov     ax, 5912h
    .text:0000000140047AE5                  mov     [rdx+2],	ax
    .text:0000000140047AE9                  mov     eax, 8086h
    .text:0000000140047AEE                                                    jmp     short loc_140047AF8

DEV_5912 is a new device id. But other device ids are not added, hm, does it mean only one ID to mod is enough?
May be, that for other Dev Ids *.inf modding is enough.
No *.dll is modded
Dietmar
PS: ⇗ @canonkong please, can you tell me, how do you come to the idea to change this and do you know, how the other DEV_ ids are in igdkmd64.sys?
EDIT: I find my mistake in renaming DEV_0166 => DEV_0F31
Via this way through the logic of the XP Embedded driver it jmp to "Unknown Intel decive". Now fun goes on^^..
Hm, the XP Embedded driver looks also for the chipset..
EDIT2: The famous code 10 is gone. This seems to me, that the driver is started but crashes with
BSOD 0x7E (0xC0000005, 0x00000000,xxx,yyy)
For sure I hacked correct the DEV ID.
Now, Debug on the Lenovo Flex 10 would be nice. May be via USB3.
Now, with my last best^^ version of igxpmp32.sys it installs normal but hangs without visible BSOD at the end of the boot process. I want debugger:))!!
diderius6 has attached files to this post

- ⇗ ValleyViewII.rar

#2622 | Gelip | ⇗ @diderius6 I found how to disable signature checking in winload.efi 6.0.6001.16497 for boot WinXP x64 - read this: ⇗ winload.efi_patch This works ! You do not need the Advanced Menu and the Disable driver signature enforcement option anymore

#2623

diderius6

⇗ @Gelip
This are really nice news:))!! So testing for UEFI boot of XP can go on.
I know for sure, that also ⇗ @skullteria is most happy now.
Today I work all the day on the crazy igxpmp32.sys from XP Embedded
for to make it work with DEV_0F31.
I have the win7 32 bit driver with this DEV, but it is very different from the XP driver.
acpi.sys and usb is easy compared with the graphikdriver, its size is more than 2 Mbyte, brrr
Dietmar

#2624 | Gelip | Probably this patch will also work with winload.exe and winload.efi from any 64-bit version of Vista Beta, Server 2008 beta, Vista RTM
#2625 | diderius6 | ⇗ @Gelip Can the idea for this patch also be put on the 32 bit version of winload.efi (winload.exe) Dietmar

## Page 176

#2626

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #2625

> @Gelip
> Can the idea for this patch also be put on the 32 bit version of winload.efi (winload.exe)
> Dietmar

On 32-bit Windows, there is no signature checking, so you don't have to patch the loader.

#2627 | diderius6 | Waaaoooh, this compi is 1.576.800.000 times faster than the best supercompi today Dietmar ⇗ https://drive.google.com/file/d/19lv8p1f...p082Lc-kdD/view

#2628

infuscomus

⇗ @diderius6
winload 32bit from longhorn server beta 16497
infuscomus has attached files to this post

- ⇗ winload.zip

#2629 | Mov AX, 0xDEAD | Project "Kernel Debugging over LAN cable for WinXP/2003 x32 " published ⇗ https://github.com/MovAX0xDEAD/KDNET comments & bugreports welcome :)

#2630

diderius6

⇗ @Mov AX, 0xDEAD
This is great work:))!!
Today I test. I have a question: Is debugging with USB3 crossed debug cable also possible
with the same files,
have a nice day
Dietmar

#2631 | diderius6 | ⇗ @infuscomus From winload 32bit from longhorn server beta 16497, do you also have the winload.efi 32 bit version Dietmar
#2632 | infuscomus | ⇗ @diderius6 i have the 32bit 16497 ISO and unfortunately it seems that there is no winload.efi for the 32bit version.

#2633

diderius6

⇗ @Mov AX, 0xDEAD
Please add something like this text to your description of your nice project about windbg via lan on XP:
"When you have more than 1 lancard on your motherboard,
look in Device Manager and search there for your used lan card, here for example PCI-Bus 4, Device 0, Function 0 and
make an entry with this numbers in boot.ini with /busparams=4.0.0
so that the debugger knows, which NIC is used."
Dietmar
diderius6 has attached files to this post

- ⇗ WindbgFiles.rar
- ⇗ windbg81.rar
- ⇗ msvcrt.rar

#2634

jonny

hi, guys i need help installing windows xp pro x64 on my machine, im tryng to install it in 2 pc, the first is my laptop, is an ASUS X553MA, if i insert the windows xp 64 bit dvd it give me a BSOD and the error is the classic 0x07B, in the bios i set the hdd to ide mode and the BSOD goes away, but another BSOD appear this time is 0x07E, so i dont know how to fix it im trying all method, i also found a hacked ACPI.SYS in this forum, but when i insert in the win xp cd the setup give me a error, it say ERROR 14, NTKRNLMP.EXE COULD NOT BE LOADED, SETUP CANNOT CONTINUE. PRESS ANY KEY TO EXIT. i was using acpi 5048 from windows longhorn by the way, pls help me guys, thank you.
sorry for my very bad english, im italian.

#2635

diderius6

⇗ @Mov AX, 0xDEAD
Until now I can not debug the BSOD 0x50 made by the modded graphikcard driver igxpmp32.sys on the Lenovo Flex 10.
Is it a lot of work, to enable also USB3 debug for XP? I know, that lan debugging is much more stable.
I found in Win8.1 32 bit the driver kdusb.dll.
The Wlan works under XP SP3 on this Netbook, but the driver from Atheros is not
in the support list from Microsoft,
Dietmar

#2636

diderius6

⇗ @jonny
Make first a try with XP SP3 32 bit.
This is much more easy to install and you can test, if you do everything right with integrating acpi.sy_ (via makecab acpi.sys)
into the installationsfolder. The error "ERROR 14, NTKRNLMP.EXE COULD NOT BE LOADED, SETUP CANNOT CONTINUE. PRESS ANY KEY TO EXIT." can also happen, when a driver has not the correct checksum or the CD is not clean or contains an error
during its burning
Dietmar

#2637 | Andalu | On my asrock B250M-Pro4 the amd USB3 modded drivers seem to be incompatible with the 'chinese patch (XP64G2.1)' applied to support more than 4GB memory: the usb ports 2.0 are with no power and the usb ports 3.0, although powered, don't recognize the devices, mouse included. The shutdown also stops working with. I'm using the patch with no problem on my MSI-Q87 where the usb3 modded drivers unfortunately don't work. Someone is using with success the amd modded drivers and that patch or another method to remove the 4GB RAM limit?
#2638 | infuscomus | ⇗ @Andalu I PMed you an XP ISO to try, please try it.
#2639 | diderius6 | ⇗ @infuscomus Some new results about integrating USB3 drivers into XP SP3 CD? Dietmar
#2640 | Andalu | ⇗ @infuscomus Thank you ;)

## Page 177

#2641 | infuscomus | ⇗ @diderius6 I haven't been able to reproduce the problem you got, I would like to see if ⇗ @Andalu gets the same diderius6 can you test the ISO I PMed you both in VMWare/Virtualbox and real hardware? the Installing drivers part (and the rest of the install) should continue without user input if it is working properly.
#2642 | diderius6 | ⇗ @infuscomus I tried this Iso also on another compi. There it hangs suddently in the middle of txtsetup Dietmar

#2643

Mikedebian

Hello!
I have a Ryzen 1800X on a Biostar X470GTA motherboard, and I've had a bunch of issues. It's a bit tiresome replacing extracting and repacking cab files for a new fix (going through posts), so is there any ISO I can test out ⇗ @infuscomus ?
Please?

#2644 | infuscomus | ⇗ @diderius6 does the ISO work correctly in VMWare/Virtualbox?

#2645

diderius6

⇗ @infuscomus
I have not tested. Where is sense, it needs to run on real hardware.
I use Qemu, but only when nothing other helps.
This I do not understand: You have soso many good ideas, why dont make a good XP SP3 installations CD by yourself? You can..
Tomorrow I try to hack kdstub.dll (qualcom atheros) for lan debug,
because I noticed, that there I can change VEN_&DEV_ number
for my Lenovo Flex 10 notebook
Dietmar
PS: I am getting better in x86 assembler, what a crazy hard lesson in last 3 days.

#2646 | infuscomus | ⇗ @diderius6 just wanted to confirm if it worked correctly for you in VMWare/Virtualbox
#2647 | Mikedebian | Test ISO: Setup is starting windows... IRQ_NOT_LESS_OR_EQUAL 0x0000000A (0X0...0 0x0...2 0x0...1 0x8080F5C0)
#2648 | diderius6 | ⇗ @Mikedebian Switch everything in Bios off (any device, that you dont need for install) Dietmar
#2649 | Mikedebian | ⇗ @diderius6 Sorry, last thing to switch off was XHCI, which in turn disables my sata and usb ports and makes it unable to boot..
#2650 | infuscomus | ⇗ @Mikedebian just to test, if you press F7 to disable ACPI do you still get 0A BSOD?
#2651 | diderius6 | ⇗ @infuscomus ⇗ @Mov AX, 0xDEAD My hack in kdstub.dll (qualcom atheros) for lan debug of Lenovo Flex 10 netbook is ready. Tomorrow I test, if it is possible to do Windbg over Wifi:)) Dietmar PS: ⇗ @infuscomus I just burn CD, now I test it.
#2652 | Mikedebian | I attached picture Edit: Would like to attest that my RAM is fine. No errors since beginning, not OC and have been using it to install Windows 7,10, Vista, Linux, etc. Mikedebian has attached images to this post ⇗ IMG_20191008_010818.jpg

#2653

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2633

> The Wlan works under XP SP3 on this Netbook, but the driver from Atheros is not
> in the support list from Microsoft

MS wrote drivers only for cable chips, no any wlan

> Zitat von ⇗ diderius6 im Beitrag ¶ #2633

> @Mov AX, 0xDEAD
> Please add something like this text to your description of your nice project about windbg via lan on XP:

Thanks for feedback, fixed
About USB3:
Yes, it possible to enable usb3 in KDNET, but on my hardware it is not works. Maybe cable is very bad or controllers want special pre-initialization, i dont know yet.
You can try, usb3 has special requirement - usb3.0 port on target must support "USB Debugging", can be checked with USBVIEW.exe from windbg install folder. Insert in port any device, check about "Debugging: YES", if NO - check other available ports. You need win8.1+ on HOST )
patch to kdnet.dll (then correct checksum):
C7 05 AE 11 02 80 02 20 C6 05 B0 11 02 80 FF 66
C7 05 AE 11 02 80 0C 03 C6 05 B0 11 02 80 30 66

#2654 | infuscomus | ⇗ @Mikedebian in the txtsetup.sif file - you can try removing all "usbxhc" and "usbhub30" entries, this will remove the USB 3.0 for textmode, but might fix the BSOD

#2655

daniel_k

> Zitat von ⇗ dencorso im Beitrag ¶ #2552

> @daniel_k: would you kindly take a look at the newer kernel versions and see whether it's possible to fix the modded AMD drivers so that they can be used with the latest kernel version? Sorry to bother and thanks in advance!

Hi, ⇗ @dencorso!
I've been finishing updating all my ISOs.
Now I can give a definitive feedback for every testing environment.
OS is always installed from Intel USB 3 ports using my modded driver, additionally I install from ASMedia, just to confirm the same behavior.

## Page 178

#2656 | Mikedebian | ⇗ @infuscomus Now there is no BSOD, but freezes at Setup is starting windows... Just stays there.

#2657

diderius6

⇗ @infuscomus
Compi hangs at exact the same place as before,
after Eula and installing devices,
no reaction, if I hit "next"
compi gets frozen with message "Not Responding".
At your place I would make brandnew CD, where is problem
Dietmar

#2658

daniel_k

BOOTING AND INSTALLING WINDOWS XP SP3 FROM AN USB FLASH DRIVE
System Setup:
- i7-8700K (stock speeds)
- Gigabyte Z370 AORUS Gaming 3
- 16GB RAM (2x8GB) Kingston HyperX FURY 2400MHz
- SSD 240GB KINGSTON V300 (used specifically for testing purposes)
- 16GB USB2.0 Sandidsk Flash Drive (used specifically for testing purposes)
- DVD-RW ASUS DRW-24D3ST
I have many more drives, but I disable all other AHCI ports except one connected to the SSD listed above and the other one connected to the DVD-RW also listed above.
1) Windows XP SP3 with all oficial updates, including POSReady ones, original ACPI.SYS (patched DSDT):
- Only my modded RSTe 4.7.0.1098 driver works. Skullteria's STORAHCI and last official Intel's IASTOR 11.2 cause Setup to suddenly restart during GUI mode before Installing devices.
- AMD USB3 driver works properly through the whole installation, just like ASMedia's. Disabling AMD's driver doesn't help with the above issue.
2) Windows XP SP3 original ISO, no updates, original ACPI.SYS (patched DSDT):
- Same behavior as case above.
3) Windows XP SP3 with all oficial updates, including POSReady ones, patched Vista beta 5048 ACPI.SYS:
- Same behavior as case above.
4) Windows XP SP3 original ISO, no updates, patched Vista beta 5048 ACPI.SYS:
- Same behavior as case above.
CONCLUSION:
As it turned out, this issue lies in the USB install itself.
For some reason only my modded RSTe 4.7.0.1098 driver works and it has nothing to do with the latest kernel update as the original SP3 kernel is also affected by the issue.
Thought it could be a device enumeration issue, but it doesn't make sense at all.
Maybe the issue is specific to 8th generation boards?

#2659 | Mikedebian | It loaded it loaded!!!
#2660 | daniel_k | ⇗ @Mov AX, 0xDEAD, nice job with KDNET and thanks for sharing it publicly! Any plans to work on an x64 version?
#2661 | infuscomus | ⇗ @diderius6 was this in VMWare or Virtualbox or both? Strange, I do not get this behavior even in VMs - also, I do not click next, just wait it continues on its own - maybe clicking next is causing the crash?
#2662 | Mikedebian | Picture Mikedebian has attached images to this post ⇗ IMG_20191008_020437.jpg
#2663 | infuscomus | ⇗ @Mikedebian nice!
#2664 | Mikedebian | Not too supported! Installing the usb driver in XP blue screens the system! Mikedebian has attached images to this post ⇗ 1570494199413573948718909
#2665 | infuscomus | ⇗ @Mikedebian can you get the HWIDs for all the hardware missing drivers? and the USB that BSOD too

#2666

diderius6

⇗ @daniel_k
Why did you change back to original acpi.sys?
Do you think it is possible, to make a generic DSDT for all compis?
May be like translator which translates Acpi 2.0 text to Acpi 1b in DSDT.
I think, the Ryzen hack has to stay in acpi.sys for Ryzen boards
Dietmar

#2667

diderius6

⇗ @infuscomus
On the Lenovo Flex 10 netbook
I can install your XP SP3 via USB CD rom,
no need to tip on "next",
nice:))
Dietmar
PS: I will try direct USB boot install on the other compi too.

#2668 | Mikedebian | Is there a program for windows xp that generates a text file with all the hw ids? Can I use Linux for this? Would the output of lspci -vv be helpful? I am typing this from within windows xp!
#2669 | infuscomus | ⇗ @Mikedebian There are programs that will do this, but we only need the HWIDs missing drivers e.g. Device Manager -> Other Devices -> PCI (USB) controller -> Properties -> Details -> drop down menu - Hardware IDs -> PCI\VEN_1022&DEV_43B9&CC_0C03
#2670 | Mikedebian | Here is for USB Mikedebian has attached images to this post ⇗ 1570495472538213885878745

## Page 179

#2671 | infuscomus | ⇗ @diderius6 Awesome! So it is working for some Intel systems at least, just not all
#2672 | Mikedebian | Second Mikedebian has attached images to this post ⇗ 1570495640417855598997735
#2673 | infuscomus | ⇗ @Mikedebian Try Fernandos driver - ⇗ https://www.win-unattended.de/Benutzer/F....5.3%20WHQL.rar
#2674 | Mikedebian | Hey, now it works! My VEGA 56 is probably never going to be compatible with anything below Windows 7 (never say never!), and I have to download the driver for my sound card, but there are still the sm bus controller, PCI Encryption / Decryption controller, and 4 pci devices marked yellow!
#2675 | infuscomus | ⇗ @Mikedebian grab the HWIDs for the yellow marked devices and we will see if we can get drivers for them.
#2676 | Mikedebian | ⇗ @infuscomus Here is a picture ⇗

#2677

daniel_k

BOOTING AND INSTALLING WINDOWS XP SP3 FROM A DVD DISC
System Setup:
- i7-8700K (stock speeds)
- Gigabyte Z370 AORUS Gaming 3
- 16GB RAM (2x8GB) Kingston HyperX FURY 2400MHz
- SSD 240GB KINGSTON V300 (used specifically for testing purposes)
- DVD-RW ASUS DRW-24D3ST
I have many more drives, but I disable all other AHCI ports except one connected to the SSD listed above and the other one connected to the DVD-RW also listed above.
1) Windows XP SP3 with all oficial updates, including POSReady ones, original ACPI.SYS (patched DSDT):
- All AHCI drivers work (my modded RSTe 4.7.0.1098, Skullteria's STORAHCI and last official Intel's IASTOR 11.2).
- AMD USB3 driver works properly through the whole installation, just like ASMedia's.
2) Windows XP SP3 original ISO, no updates, original ACPI.SYS (patched DSDT):
- Same behavior as case above.
3) Windows XP SP3 with all oficial updates, including POSReady ones, patched Vista beta 5048 ACPI.SYS:
- Same behavior as case above.
4) Windows XP SP3 original ISO, no updates, patched Vista beta 5048 ACPI.SYS:
- Same behavior as case above.
CONCLUSION:
Booting from a DVD disc and installing Windows XP is the easiest way to get the job done.

#2678

daniel_k

Does hibernation work?
Using the patched Vista beta 5048 ACPI.SYS, hibernation does work, as long as you are NOT using Intel USB3 ports.
When system returns from hibernation (after a power on), Intel USB3 controller won't work properly until the system is restarted.
On the other hand, if you use any other USB3 controllers with original drivers (ASMedia and VIA, I tested myself), everything works as it should.
But frankly, with cheap SSD nowadays, I wouldn't use this feature as it takes too much time until Windows is ready for use.

#2679

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #2666

> @daniel_k
> Why did you change back to original acpi.sys?
> Do you think it is possible, to make a generic DSDT for all compis?
> May be like translator which translates Acpi 2.0 text to Acpi 1b in DSDT.
> I think, the Ryzen hack has to stay in acpi.sys for Ryzen boards
> Dietmar

Just did a final test with original and modded acpi.sys when installing XP from USB or DVD as you can see from my reports.
Personally, I've patched my DSDT table and just use original files.
For current Intel boards, it's easy to patch.
For Ryzen, I don't think we well ever have a DSDT patch as the issue is more complicated.

#2680

infuscomus

> Zitat von ⇗ daniel_k im Beitrag ¶ #2679

> For Ryzen, I don't think we well ever have a DSDT patch as the issue is more complicated.

What is the issue? do we know exactly?

#2681

infuscomus

⇗ @Mikedebian
PCI\VEN_1022&DEV_1451 - AMD IOMMU Device
PCI\VEN_1022&DEV_1455 - AMD PCI
PCI\VEN_1022&DEV_1456 - AMD Family 17h (Models 00h-0fh) Platform Security Processor
PCI\VEN_1022&DEV_145C - AMD USB3 Host Controller drivers / Micro-Star MS-7A34
PCI\VEN_1022&DEV_145A - AMD PCI
PCI\VEN_1022&DEV_790B = AMD SMBus
I think driverpacks solution can cover these - ⇗ https://drp.su/en
PCI\VEN_1987&DEV_5007 - AMD NVME - ⇗ @diderius6 posted a driver for this somewhere in this thread.

#2682

Mikedebian

It wants to install the USB device as AMD usb 3 controller and I point it to the driver pack that you told me about earlier. It finds it and it's all good, but then it wants usbxhc.sys to complete the install, and if I do select usbxhc.sys from the installation medium of windows xp, I get instant blue screen.
Another device that fails is the AMD PSP 3 driver.
Edit:
Also, is there a link to the NVME driver?

#2683 | infuscomus | ⇗ @Mikedebian what BSOD error code did you get? it might be best to leave the USB 3 uninstalled for the moment
#2684 | Mikedebian | Picture Mikedebian has attached images to this post ⇗ 1570525529787575353015910 ⇗ IMG_20191008_110357.jpg
#2685 | infuscomus | ⇗ @Mikedebian what was the HWID of the problem USB device? was it PCI\VEN_1022&DEV_145C ?

## Page 180

#2686 | Mikedebian | ⇗ @infuscomus Yes, that is correct!

#2687

Andalu

⇗ @infuscomus
Installation with pendrive completed. Two manual restarts are needed during the setup.
With the F5 key I can choose only Standard PC with C-Step i486, other options are not present; I pressed the F7 key and I got 'Multiprocessor MPS' so no cpu cores in the device manager (even if 4 cores are visualized in the task manager); acpi.sys is not present so shutdown and restart don't work. USB3 works fine.
An error occurs during the driverpacks installation on searching the "WinXPPx86IE - setup.cmd": file not found.
Applying the 'chinese patch' I got bsod 7B on next boot.

#2688 | infuscomus | ⇗ @Mikedebian some alternate USB drivers to try ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128) ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (89)
#2689 | infuscomus | ⇗ @Andalu you should be able to see "ACPI multiprocessor PC" if you press the up arrow a few times. does it work without pressing F5/F7 key? does it work unmodified?

#2690

Mikedebian

> Zitat von ⇗ infuscomus im Beitrag ¶ #2688

> @Mikedebian
> some alternate USB drivers to try
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (89)

The second link worked with great success! Now it is only PSP driver lacking.

#2691 | Mikedebian | ⇗ @infuscomus Is it normal that windows xp only sees one core? Process lasso only sees one core too. Edit: It's listed as "Standard PC" in device manager
#2692 | infuscomus | ⇗ @Mikedebian in device manager, under computer do you see "ACPI multiprocessor PC" or something else?
#2693 | Mikedebian | Only "Standard PC" and I can not update the driver to anything else.
#2694 | infuscomus | ⇗ @Mikedebian "Standard PC" is only one core, I think you can update driver to "ACPI multiprocessor PC" manually without reinstalling, but I have not tried this myself.
#2695 | Mikedebian | ⇗ @infuscomus I've seen that ⇗ @diderius6 has that. How did he do it? How would I theoratically update?
#2696 | infuscomus | ⇗ @Mikedebian When updating driver try Install from specific location -> don't search, I will chose which driver to install.
#2697 | Mikedebian | Yes, that is what I have done and it only gives me one option even if I disable the checkbox "Only show compatible hardware"

#2698

diderius6

⇗ @Mikedebian
Update to "ACPI multiprocessor PC" from "StandardPC" does not work.
I make a trick: I installed full "ACPI multiprocessor PC" on another compi.
Then, on this other compi I add hal.dll and ntoskrnl.exe from "StandardPC"
and add an entry for them in boot.ini.
This XP then I copy to first PC,
so I have both
Dietmar

#2699 | infuscomus | ⇗ @Mikedebian when updating try Have Disk.. -> C:\WINDOWS\INF\HAL.INF select "ACPI Multiprocessor PC" diderius6 boot.ini method is probably safer.
#2700 | Mikedebian | Oh so I did it wrong in the beginning? I can't remember an option to select multicpu in install

## Page 181

#2701 | Mikedebian | Oh so I did it wrong in the beginning? I can't remember an option to select multicpu in install

#2702

infuscomus

⇗ @Mikedebian
setup is supposed to detect multiprocessor for you, unless you pressed F5 or F7 and selected "Standard PC"
you can force setup to use multiprocessor by pressing F5 then pressing the up arrow until you get to "ACPI muliprocessor PC" and selecting it.
⇗ @diderius6
do you remember how to modify boot.ini to add an option for ACPI multiprocessor?

#2703

infuscomus

⇗ @Mikedebian
I found an example entry you might be able use in boot.ini
make a 2nd entry e.g.
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP MultiCore" /fastdetect /NoExecute=OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll
attached a halmacpi.dll and ntkrnlmp.exe for you - place in C:\WINDOWS\SYSTEM32 of XP
infuscomus has attached files to this post

- ⇗ mikedebian.zip

#2704 | diderius6 | ⇗ @infuscomus I tried this, does not work. Only vice versa from "ACPI Multiprocessor PC" to "Standard PC" is possible Dietmar
#2705 | Mikedebian | I only get options F6 or F2 when booting install
#2706 | infuscomus | ⇗ @Mikedebian the F5 and F7 options exist, setup just doesn't tell you about them. I think at this point it is best to reinstall XP, press F5 during setup (during F6 prompt) and manually force "ACPI Multiprocessor PC"

#2707

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #2689

> you should be able to see "ACPI multiprocessor PC" if you press the up arrow a few times.

You are right, my mistake. I tried just now for multiprocessor acpi but the installation hangs on "setup is detecting and installing devices on your computer"; only the ps/2 keyboard and the pendrive is attached to computer, no usb or ps/2 mouse. The same happens without pressing the F5 or F7 keys. I'll try again.

#2708 | Mikedebian | Only option I get is standard pc with c-step i486 Edit Herp derp lol
#2709 | infuscomus | diderius6 also reported it hangs on "setup is detecting and installing devices on your computer" so your not the only one - try NOT clicking next and just try waiting a bit see if it responds? I have not encountered this issue for myself on my hardware, works fine on ryzen and Z97.
#2710 | Mikedebian | Can I safely install the unofficial XP sp4 June 2019 on this?
#2711 | infuscomus | ⇗ @Mikedebian I'm not sure, I think it should be OK. install it in a VM to test first, just to be safe.
#2712 | Andalu | ⇗ @infuscomus tried again, I waited 10 minutes with no clicking, same behavior.
#2713 | infuscomus | ⇗ @Andalu OK, thanks for the testing. I'll try to make a new xp usb3 iso image with unmodified source.
#2714 | Mikedebian | Waiting works for me. Never tried to click next. Wait about 7 seconds
#2715 | Andalu | ⇗ @infuscomus I tried your iso on my crazy asrock B75 Pro3-M Ivy board: installation completed without errors (except for WinXPPx86IE) but the USB3 doesn't work.

## Page 182

#2716 | infuscomus | ⇗ @Andalu post #2688 i left links to posts containing alternate USB 3 drivers to try.
#2717 | Mikedebian | ⇗ AMD GPIO Controller ACPI\AMDI0030 *AMDI0030 Also, which page is the NVME driver on???

#2718

diderius6

⇗ @Mov AX, 0xDEAD
My Hack in kdstub.dll from Atheros does not work
on the Lenovo Flex 10 card.
The debugger just do not connect. Is there a principial difference between lan NIC and Wifi Nic?
This means, other networkcards do (may?) not work, when they are added to the original Microsoft 8.1 kdstub.dll files
Dietmar
PS: I tested both versions from lan debug: Alpha and the new one.
On cable lan NIC with from Microsoft supported networkcard it works nice and fast.
diderius6 has attached files to this post

- ⇗ kdstubAtheros.rar

#2719 | Andalu | ⇗ @infuscomus I have already tried all the alternative drivers on my crazy B75 Pro3-M with no success. The only one that seems to work (??) is the amd modded driver but I still have the problem reported in ¶ #2587: this board needs to be always on...it's impossible, so it's correct to say: the usb3 doesn't work on this mysterious board... at least for now :)
#2720 | infuscomus | ⇗ @daniel_k do you have any other USB 3 drivers for ⇗ @Andalu to try?

#2721

schreiberstein

Hello!
It is so amazing that you folks over here at win-raid.com were able to get Windows XP / 2003 working on such modern hardware. Unlike other forums where people say "nah, this cannot be done. Just go with the time", you put in the effort to to patch, hack and experiment. I usually expect this kind of stuff from msfn.org, so it is great to see a German forum take the lead in this, (being Germany myself) hehe. Thank you so much to everyone involved in this.
My system:
--------------
Gigabyte Z390 Designare (Cannon Lake PCH)
Intel Core i9 9900K, 32GB RAM
AMD Radeon RX 580 8GB (I am aware this is not XP compatible)
Onboard Network cards: 8086:1539 (I211), 8086:15BC (I219-V)
Onboard AHCI controller: 8086:A352
--> PCI cards work using DELOCK 41341 Riser Card PCI-Express to PCI (tested on Windows 10 with Creative Audigy 2 ZS)
This system is my daily driver on Apple Mac OS X ("Hackintosh"), but I tried to get Windows XP x86 running two or three months ago.
I used good old Winfuture xp-Iso-Builder to integrate Fernando's driver, booted from CD and was able to install XP SP3 (US English) with ACPI disabled, otherwise the installation would crash.
USB keyboard and mouse worked using the integrated legacy support (I have no idea how they implemented that. Magic.), but it is also possible to use a real PS/2 keyboard and mouse using a StarTech KYC1MF PS/2 Y-Adapter.
As far as I remember, all cores were detected properly, but a lesser amount of RAM than the expected 3.25GB were detected. Boot took unusually long. It seems like it was stuck somewhere before the kernel got executed.
I would be happy to volunteer to serve as a guinea pig of some sort, given I have one of the newest systems available.
For now, I would like to refrain from BIOS patching for altering the ACPI table. I am not sure my Mac OS X bootloader could cope with changes in the ACPI table - and I also do not want to brick my board.
(I do not think I can actually choose which BIOS chip to load from. Gigabyte's "DUAL BIOS" will choose it automatically based on failed previous boot attempts, I suppose. If it actually is possible, I might be up for some experiments sometime.)
My questions:
- Is it possible to achieve a mostly working system without modifying the ACPI table on the chip?
- Is there any hope to get any of the integrated Intel ethernet controllers working?
My ideas (as gathered from this long post):
- Create Windows XP SP3 EN_US ISO
- Integrate AHCI driver TXTSETUP
- "Integrate" patched ACPI.SYS using makecab procedure (Which one would be the best version?)
- Install Windows XP with ACPI enabled
- Install modded Intel USB3 driver
- Play 3D Space Cadet Pinball
- Profit
Am I missing any recent findings of you guys, or does this sound like a doable way to get XP running with ACPI and multicore support on this machine?
Just for fun: I also had trouble getting anything DOS or Windows 98/ME related running (EMM386 not installed - incorrect machine type.), even when applying the patches from RLOEW for AHCI and memory. It seems that there is something about this architecture that the MS-DOS memory manager EMM386 just cannot handle. If I inserted a Geforce 7000-series card into one slot, it could theoretically be semi-usable.
Thank you.
Cheers,
Alexander (schreiberstein)

#2722

XPLives

⇗ @schreiberstein
Guten Tag Schreiberstein,
I didn't know the board was in German originally as Fernando did a very good job making it all English. Only the hints are in the editor when you see German words.
From one of my favorite earliest games famous quote, "Halt Stop, Mein Name Ist". Somehow I believe banned in Germany.
Hard to know why the install froze. I would try using CD disc burned method to install from scratch. Use a 128GB drive FAT32 partition and can be split into 32GB each.
What kind of Hackintosh Mac OS do you have setup on your Z370?
What is the oldest MAC OS X version that will work on it? I want to try Tiger 10.4 if that's even possible for legacy support? Would be funny to run Mac OS Tiger on Tiger Lake Intel CPU Chipset in the future.
Can you write a make a new thread and write a guide and steps on how you got your Hackintosh working on your Z370 i9-9900K system. I would be interesting to make an XP/Hackintosh setup. I also use a SB Audigy ZS 2 for my systems though I had to use another model now since the original one fried in an experiment. Which Windows 10 drivers are you using for the sound card? I think the official ones go up to Windows 7.
There might be some tools getting a Hackintosh to work that might benefit XP and UEFI.
What kind of functionality is your Hackintosh?
Does video card and sound card work? What drivers are you using for it?
Does Intel USB 3.0 ports work?
What about network LAN? Do both Intel LAN models ethernet ports work?
To me it sounds like it would be more difficult to get Hackintosh working than XP?
How long did it take you to get the Hackintosh working?
Was this your first Hackintosh build?
The DOS memory issues existed since Sky Lake 100 Series from my own experience. Something to do with how conventional ram is separated is different and might be connected to the iGPU shared memory. Also most PCI sound cards don't work in DOS so only Windows 98SE might be the oldest to work with drivers. Someone with Assembly and BIOS experience might be able to fix the EMM386 issues. AMD doesn't seem to have this issue so maybe comparing the BIOS to see why this occurs.
Do you have any of the DOS/Windows Non XMS Ramdrive software that RLoew created for testing?

#2723

Mikedebian

What is the latest modified storport driver?
"Community NVME 1.3 Storport Miniport by Schtrom"
This device cannot start, code 10
Yellow checkmark.
Also, AMD GPIO driver is checkmarked yellow. I did the snappy driver installer in expert mode and downloaded the pack. Only found windows 7 gpio driver? Anybody else can confirm? ⇗ @diderius6
do you have gpio working?
Those are my last two devices and then my X470GTA is fully supported.
690LC is basically my water cooler to control rgb, not needed.
Video gpu is vega 56, not supported.

#2724

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #2680

> > Zitat von ⇗ daniel_k im Beitrag ¶ #2679

> > For Ryzen, I don't think we well ever have a DSDT patch as the issue is more complicated.

> What is the issue? do we know exactly?

As the DSDT table is mostly the same as previous AMD platforms and the ACPI.SYS from Vista 5048 beta doesn't work without changes, certainly AMD changed the PIC in a way it isn't compatible with XP.

#2725

daniel_k

⇗ @schreiberstein, sent you a ready to use pack you can use to build your own compatible XP SP3 installation disc.
Make sure you read the instructions in the ReadMe.txt file.
Additionally, you can create a bootable USB flash drive with WinSetupFromUSB. Personally, I've tried with v1.8.
In this case, you don't need to run BUILDCD.BAT, just run WinSetupFromUSB and choose C:\GRTMPFPP_EN\CD as the source folder.

#2726

schreiberstein

⇗ @XPLives
Hello XPLives,
Thank you!
Everything that could be said about my Hackintosh setup can be found in an extraordinary, detailed guide made by an extremely helpful individual over at TonyMacx86:
⇗ https://www.tonymacx86.com/threads/succe...-rx-580.267551/
It is a Z390 system from late 2018 by the way. The parts have been selected to work with macOS Mojave.
I have quite a lot of hackintosh experience (intermediate level, I'd say), but proceeded to use real Macs for years since there were always some quirks involved. And simply because my iMac did all I needed, until it didn't.
This is very different from hackintoshing in the early 2010s. A lot more sophisticated. It is an insane amount of work what people put into patching and modding.
This build works 100%. Never crashed once. No kernel panics. 100% stability. 100% sleep capabilities. 100% wifi, bluetooth, usb3, onboard audio, ThunderBolt 3, iMessage, FileVault boot volume encryption (YES!) etc.
I was initially hesitant to shill out this amount of money on a new system and said to myself "send it back within 14 days if you cannot get it working perfectly"...
What can I say... I built it one Friday night in January, installed Windows and completed my entire macOS installation with everything working by Sunday evening. It pretty much works like a real Mac.
However, there were some things I needed to fix manually to get FileVault encryption working. But the guide is pretty complete. I am uttermost satisfied with this build.
It is insane how well it works.
⇗ https://www.tonymacx86.com/threads/assor...ckintosh.11234/
I built several Hackintoshes over the years (some homeservers, some virtual machines (Linux KVM with PCI-e passthrough and custom patchy kernels back in 2013, very tricky, lovely memories)). My first hackintosh build was in January 2011 (I was 15 at that time) - a Gigabyte GA-H55M-UD2H. It was a huge and cheap upgrade to my MacMini of that time, but the board was very unstable. Even on Windows. Sudden reboots, regardless of RAM or PSU. I then used an iMac 2011 from 2013 onwards. I then switched to a MacBook Pro 2013 in 2018 but really disliked the experience.
I now run this Hackintosh machine with two Apple Cinema HD 30" 16:10 displays connected and a "retro" Apple Extended Keyboard II from the early 1990s. It feels better than any Mac I have ever used in my life. The i9 really is a beast.
My intention was to build a system I would use for the next 5 years that would be Mojave (32 Bit + iTunes intact) compatible and that was somewhat overpowered, yet quiet.
I doubt Tiger would work. It already crashed in a virtual machine on everything higher or equal to Haswell. Something about the CPU. Maybe Snow Leopard. I have way to many "vintage" Macs to justify attempting such a project, lol.
The audio drivers for Windows 10 were : ⇗ http://danielkawakami.blogspot.com/2015/...rt-pack-61.html
There are also drivers for OS X, but mine did not survive sleep and wake. The audio stopped working afterwards. Sleep (ACPI S3, not my body lol) is very important for me. I barely ever turn off my computer.
But there are folks working on that over at the insanelymac forum, if I remember correctly. The kX Audio Driver is open source, after all.
A regular Audigy 2 ZS costs ~20 on German eBay these days. I originally bought it for my Windows 98 Athlon 64 rig, but its FireWire port steals the desired IRQ5 that I can assign in the BIOS. The Live! is better in that regard.
I recently purchased a used EVGA nVidia Geforce GTX 780 (non TI for compatiblity) which should work in both Windows XP and Mac OS X (it is the last supported nVidia GPU generation that is natively supported without "webdrivers" for OS X, which currently are not available for Mojave, as discussed on MacRumors) - However, the Radeon RX 580 feels much smoother on Mac OS X.
The 780 GTX still supports analog VGA out via DVI (for my Sony Trinitron CRT), which the Radeon does not support.
But since this is an ATX board, I could drive both cards. Incompatible GPUs can be made invisible via DSDT patches (also mentioned in the TonyMac guide), as they otherwise mess with sleep. The Geforce 780 wouldn't cause any issues though.
Getting the Hackintosh working will be much easier than XP, given that nearly all of the hardware is incompatible.
I suppose all will be fine if I get ACPI and thus IRQ management working on XP. If you don't mind dozens of add-in cards, I guess you can get nearly any system working.
I do not know why, but I really have an obsession with getting old stuff working on new systems.
--> My installation froze because of "not fully ACPI compliant" - 0x000000A5 . The typical issue discussed on here. Without ACPI, everything went smoothly and the system was stable, but nearly unusable due to severe IRQ conflicts.
Drivers for my Renesas USB3 PCI-E card would not work either. Probably due to the lack of "resources".
It would be really NICE to just get Windows 98 or ME to boot. ME actually went further in the installation. I was able to install it, but it then crashed during the first restart, even after I patched the memory and all that jazz.
No, I do not have any other software from RLOEW. But I purchased both AHCI and Memory patch. Partly because I wanted to support and compliment him for his work. I did not really expect it to work on Z390.
If you have any idea how to work around this issue, I would be very happy to hear about it. I doubt anyone would be able to get universal USB drivers working though. Well... I guess people need some challenges for the 2020s, haha!
If you have any questions regarding your Hackintosh project or about this build, feel free to send me a private message.
Cheers,
schreiberstein

#2727

schreiberstein

⇗ @daniel_k Thanks a lot! That was quick!
I will give that a try! Super helpful.
I won't bother with that USB stuff.
One burned CD-R a day keeps the Greta away.
#TuesdaysForLasers #SaveThePitsAndLands
Cheers,
schreiberstein

#2728 | daniel_k | ⇗ @schreiberstein, you're welcome! Just give me your feedback.
#2729 | XPWELL64 | In MattKC's video,Windows 98 detects internal laptop keyboard and touchpad on Lenovo Thinkpad T480. This is a problem related with vendors that disable XP compilant acpi in dsdt section. This is vendor related thing. Another confusing thing is that Broadwell+ Muxless laptops cannot install GPU drivers. You can't use HDMI you can't use bluetooth you can't play games and you cannot use internal things in Windows XP.

#2730

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #2720

> @daniel_k
> do you have any other USB 3 drivers for @Andalu to try?

No, all available modded drivers can be found in this topic.

> Zitat von ⇗ Andalu im Beitrag ¶ #2719

> @infuscomus
> I have already tried all the alternative drivers on my crazy B75 Pro3-M with no success. The only one that seems to work (??) is the amd modded driver but I still have the problem reported in ¶ #2587: this board needs to be always on...it's impossible, so it's correct to say: the usb3 doesn't work on this mysterious board... at least for now :)

The USB controller doesn't work at all or it works but is limited to USB2 speeds?

## Page 183

#2731 | POE_UK | The problem is simple, there are very few 32bit drivers for any modern system.

#2732

diderius6

⇗ @Mov AX, 0xDEAD
I make a test to install USB DEBUG 3.0 on the Lenovo Flex 10 under XP SP3.
I get an USB 3.0 Super-Speed A/A Debugging Cable 10ft
⇗ https://www.datapro.net/products/usb-3-0...ging-cable.html
Hm, usbview.exe tells me, that USB debug is not supported on the Lenovo Flex 10 xhci port.
I also take a look at USB2.0 debug, which should work from Vista and above.
The content of my boot.ini for this is (looks very simple, hope not too simple:)) )
[boot loader]
timeout=30
default=C:\WINDOWS
[operating systems]
C:\WINDOWS="Windows XP" /noexecute=optin /fastdetect
C:\WINDOWS="Windows XP QEMU DEBUG" /noexecute=optin /fastdetect /DEBUG /DEBUGPORT=USB /BUSPARAMS=0.14.0 /targetname=otto
When I start XP SP3 with this USB debug settings, it starts at once again with to chose an entry from boot.ini.
Here I mention, that on Vista (for USB2.0 boot) the BUSPARAMS=0.14.0 is a HEX value (from Win7 and above it is only decimal value)
means in Device Manager is shown BUSPARAMS=0.20.0 in decimal for the xhci port.
I do not know, if I should make a test for USB debug with Win8.1, even I have original Win8.1 on the Lenovo Flex 10
Dietmar
PS: Here are my modded files for XP SP3 USB3 debug. I mod only kdnet.dll (the new for lan modded version kdnet.dll with some extra HEX values. There I noticed an write error in the post it has to be
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (177)
C7 05 AE 11 02 80 02 00 C6 05 B0 11 02 80 FF 66 =>
C7 05 AE 11 02 80 0C 03 C6 05 B0 11 02 80 30 66
diderius6 has attached files to this post

- ⇗ USBdebug.rar

#2733

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #2730

> The USB controller doesn't work at all or it works but is limited to USB2 speeds?

Please see my post at ¶ #2587

#2734

diderius6

But it is not me to give up.
I want to make the grafik driver work under XP on the Lenovo Flex 10.
The BSOD 0x50 which is shown I have seen in such situations,
when nearly(!) all was ready. May be, it is a problem of the IRQ configuration,
because under XP SP3 the lan network, sound and the graphikdriver all want IRQ7.
I ordered the very last compi
⇗ https://de.aliexpress.com/item/328158978....1fa24c4d2dAgxo
because it has one of the very rare boards with an N2806 Bay Trail cpu
Dietmar

#2735

tarsonis

Hi there,
hope for getting a direction. I was using XP 32bit dual boot on my Ivy Bridge the last ten years and was stumbled to find out that its a pure hassle to get it running on AM4 unfortunately. Now with my Asus CH6 wifi (latest bios) with 1800x I try to get it running. After I found a user who got it running on this board with links to the files offered in this thread I was happy that there seems to be a chance. I used the latest files from this thread, created a XP cd with nlite but not able to install at all. I tried USB stick method month ago but gave up as I did not succeed at all. Since it works on this board I'm desperate to find out how since month... So any help is much appreciated.
I used the files from this thread:
acpi5048_x86_intel_amd_final.rar = compressed acpi.sys with Cabpack 1.4 and replaced it with the one nLite created in the final iso
AHCI32bit package which should have all drivers posted by diderius6 (inf selection in nlite - textmode - I selected all available in the list)
AMDXHCI_XP_FINAL package posted by diderius6 (inf selection in nlite - textmode)
When I select the processor (F7) I get always 7B error after setup is finished loading files with:
ACPI Multiprocessor
MPS Multiprocessor
Standard PC
If I don't select any Processor at all I get error 5 saying just random advice to check for virus and such. Since there are two important things to get it running (ahci and acpi) I can't figure out which produces the error. Or they maybe both produce the BSOD.
Did I made something wrong with nlite and the files I took from here or I'm just without luck? This board is a nightmare since the day one...
Or do I have to set anything in the bios first (the board is missing a IDE compatible mode obviously)?
Another possibility what I though is. I got my old working XP on hdd which worked on my IVY Bridge. Is it possible, without serious coding skillz, to reconfigure the OS files to be able to boot into it?

#2736

diderius6

⇗ @tarsonis
For me, ONLY the STORAHCI driver from ⇗ @skullteria works on AM4 Ryzen board
Dietmar
PS: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59)
Integrate via nlite storahci.sys.
Make storport.sy_
from it via
makecab storport.sys
and put it into installationsfolder i386 from Installations CD.

#2737

diderius6

⇗ @Mov AX, 0xDEAD
On the Asrock fatal1ty z370 gaming k6,
with the same files for USB debug,
compi also reboots at once, so something with the USB debug files or with my boot.ini settings
on the target is not ok for XP SP3
Dietmar
EDIT: No clear statement about USB debug is possible until now for me, because usbview.exe also
on the Asrock fatal1ty z370 gaming k6 board tells: No debug port.
This is for the Intel USB and also for the Asmedia USB there true.

#2738

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #2733

> > Zitat von ⇗ daniel_k im Beitrag ¶ #2730

> > The USB controller doesn't work at all or it works but is limited to USB2 speeds?

> Please see my post at ¶ #2587

Missed that.
What is the error code the XHCI controller reports?
Can you export the following registry tree:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
Of a working and a not working instance?
Curiously, the AMD driver doesn't create any specific registry entries. Really odd.

#2739 | daniel_k | ⇗ @diderius6, any of your boards have the ASM2142 controller? Can you please test the new driver v1.16.59.1 that Fernando just posted? ⇗ USB 3.0/3.1 Drivers (original and modded) For me it isn't working, doesn't detect any devices. vmanuelgm says it's working on his system, which has an ASM3142 controller.

#2740

schreiberstein

⇗ @daniel_k
I created a boot media according to your instructions (VL ISO, the second one from the list, I think).
Unfortunately, the installer crashes after loading the Windows NT Kernel. I could clearly see how it loaded all different sorts of USB drivers and also the Intel Storage stuff.
It then crashed with the same bluescreen about The BIOS in this system is not fully ACPI compliant.
0x0000000A5
I will try to start the installer without ACPI support so I have a semi working system to experiment in, if the AHCI driver is correct.
Do you have an idea what might be the issue? I could see that the modified date of the changed files was correct. I dont think I messed it up.
Cheers,
schreiberstein
EDIT:
Booting off the SATA CD drive also does not work after forcing ACPI off using F7. It gives me another bluescreen: the 0x0000007E - it cant find the boot device, I suppose. I guess the pack did not include the correct AHCI driver for my chipset. An ISO I made myself with a certain driver from Fernando worked without issues previously, albeit without ACPI and USB.
I will list what driver I used in a bit.

#2741

diderius6

⇗ @daniel_k
I just install this new Asmedia driver (see pic) on the Asrock board. It has ASM2142 controller.
ASM3142 does not exist really, it is identic to ASM2142.
For me, Asmedia device with this new driver v1.16.59.1 works normal (I installed xhci and HUB driver).
But I remember some versions ago from this driver, that I have the same problems as you now.
Always crash, device not recogniced and so on.
But now not
Dietmar
⇗

#2742 | daniel_k | ⇗ @schreiberstein, strange. I was sure it would work.

#2743

daniel_k

[quote=diderius6|p2741]
ASM3142 does not exist really, it is identic to ASM2142.[/quote]
That's what I always thought, but why is there a device ID PCI\VEN_1B21&DEV_3142 in the INF?
Is there anything pluged in the ASMedia ports? Can't see from your screenshot.
If not, please connect something.

#2744 | schreiberstein | ⇗ @daniel_k I have just checked my previous download folder. The AHCI driver that should work for my Z390 coffee lake system was "Universal Intel RST Drivers+Software Set v11.2.0.1006 mod+signed by Fernando.rar".
#2745 | diderius6 | ⇗ @daniel_k Look on right side E:\SanDisk (is ultrafast USB stick, about 400 MByte/s) and also in Device Manager, last entry "USB-Massenspeichergerät" Dietmar

## Page 184

#2746 | daniel_k | ⇗ @diderius6, thanks! Just wonder why it doesn't work here? O.o
#2747 | daniel_k | ⇗ @schreiberstein, I've attached the drivers from Fernando. Just unpack in the \GRTMPFPP_EN\CD\I386, overwriting existing files. You may delete the following files in the same folder: iaStorA.inf, iaStorA.sys and iaStorF.sys. Rebuild the ISO.

#2748

schreiberstein

⇗ @daniel_k
Alright! Thank you. I will try that out in a moment.
Unfortunately, this probably means that the Longhorn ACPI hack won't work for me, if it already crashes with a BSOD during setup, right?
That means there won't be a resolution for IRQ resource conflicts.
So, I will install using F7 and see if anything changes.
Cheers,
schreiberstein

#2749 | daniel_k | ⇗ @schreiberstein, by the way, it would be nice if you could post the complete ACPI error message, maybe it gives us some clues about where is the problem. ⇗ @diderius6, you've got an eVGA Z390? If so, it works just fine with the modded ACPI 5048, right?

#2750

schreiberstein

> Zitat von ⇗ daniel_k im Beitrag ¶ #2749

> @schreiberstein, by the way, it would be nice if you could post the complete ACPI error message, maybe it gives us some clues about where is the problem.
> @diderius6, you've got an eVGA Z390? If so, it works just fine with the modded ACPI 5048, right?

I attached a photo of the bluescreen.
Cheers,
schreiberstein
schreiberstein has attached images to this post ⇗ IMG_0688.jpeg

#2751

daniel_k

⇗ @schreiberstein, that's a tough one.
Parameter 1 is kind of incompatibility.
Parameter 2 is the pointer to the link node. (This device is missing the _DIS method.)
⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error
Parameter 1 is 0x10006, which means that ACPI found a link node, but it cannot disable the node. (Link nodes must be disabled to allow for reprogramming.)
⇗ @diderius6, do you have any experience with this?

#2752

schreiberstein

> Zitat von ⇗ daniel_k im Beitrag ¶ #2751

> @schreiberstein, that's a tough one.

⇗ @daniel_k
Oh, jackpot, I guess... :D
Thanks for your initial assessment of the situation.
Burning the CD-RW of the updated ISO right now...
By the way, can I assist by posting any output from a working Windows/Linux system or DSDT dumps?
I think fixing the problem I encounter should allow users of all other Gigabyte AORUS Z390 boards to run XP, since these boards are very similar, as far as I know.
And these boards are quite popular due to their good VRM design.
Cheers,
schreiberstein

#2753

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #2738

> Missed that.
> What is the error code the XHCI controller reports?
> Can you export the following registry tree:
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
> Of a working and a not working instance?
> Curiously, the AMD driver doesn't create any specific registry entries. Really odd.

No yellow exclamation mark for the XHCI controller when the USB3 function fails, simply the usb3 ports act as usb2 after a shutdown.
Sorry, but I'm really noob on this: how can I attached the reg files at my post?

#2754 | daniel_k | ⇗ @schreiberstein, actually I can extract the DSDT table from the BIOS on Gigabyte site. At first sight, it seems to be simple: just missing some _DIS methods.

#2755

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #2753

> No yellow exclamation mark for the XHCI controller when the USB3 function fails, simply the usb3 ports act as usb2 after a shutdown.
> Sorry, but I'm really noob on this: how can I attached the reg files at my post?

When replying, below the "text" box, click on Attach file.
A new box will open, then you can browse your computer for the file, then click on Upload. That's all.
It's a good idea to pack both .reg files together instead of sending them one by one uncompressed.

#2756

schreiberstein

⇗ @daniel_k
That's cool! I am using Firmware F6 by the way, but F7 did not change anything except for the microcode, so...
Btw. The new ISO also fails with a 7E error. Sounds like the AHCI driver does not work. I will try with the ISO I previously created using Winfuture xp-Iso-Builder.
Strange. I removed the files you asked me to remove. and pasted in the content of the archive. It mentioned an Intel Driver being loaded.
Maybe I can get USB to work regardless on a finished system for troubleshooting. Could you point me to the latest "installable" package for the appropriate USB drivers? Installable in the sense of manually assigning the inf files in device manager?
Thank you and cheers,
schreiberstein

#2757 | Mikedebian | ⇗ @infuscomus Is there a reason that ocmsn.dll is not present on the CD / System after install? It is required for things like adding and removing windows components. I got it from an external source, but when trying to add things (like Windows Search 4.0) it complained that other files were missing too (a bmp file for example. It was not present anywhere. Can't remember the name of it.)
#2758 | daniel_k | ⇗ @schreiberstein ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128) AMDXHCI_XP_FINAL.rar
#2759 | Andalu | ⇗ @daniel_k I have already doing so but on preview the file attached seems to be an image file and not a zip file

#2760

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #2759

> @daniel_k
> I have already doing so but on preview the file attached seems to be an image file and not a zip file

Huh?
Just upload it using ⇗ https://www.mediafire.com/

## Page 185

#2761

Andalu

⇗ @daniel_k
Here the registry trees requested.
Andalu has attached files to this post

- ⇗ HKLM.zip

#2762 | infuscomus | ⇗ @Mikedebian the XP source I used already has it removed I'll PM you my XP source

#2763

diderius6

⇗ @daniel_k
"At first sight, it seems to be simple: just missing some _DIS methods."
Exact the same BSOD happens on the z390 Maximus XI Gene board.
But without having possibility to debug this board,
it is a hard job.
I noticed, that compared with the Asus Apex X board,
they changed _Dis method on a lot of devices.
Patch of DSDT table is possible,
but how
Dietmar
PS: Bsod 0xA5 (0x10006) is not solved until now via acpi 5048 on XP SP3.
It happens on nearly all Z390 boards.
EDIT: May be at the end of every device we can put
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
in DSDT.

#2764

daniel_k

⇗ @Andalu, there is only one relevant change in the following tree:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0480&Pid_a007\20130504008236F\Device Parameters]

    "ExtPropDescSemaphore"=dword:00000001

Which is only present in 2.HKLM post-shutdown (USB2).reg
Try to delete this entry and restart.
If this doesn't help, probably something related to device programming registers, which is something I can't help you with.

#2765

tarsonis

> Zitat von ⇗ diderius6 im Beitrag ¶ #2736

> @tarsonis
> For me, ONLY the STORAHCI driver from ⇗ @skullteria works on AM4 Ryzen board
> Dietmar
> PS: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59)
> Integrate via nlite storahci.sys.
> Make storport.sy_
> from it via
> makecab storport.sys
> and put it into installationsfolder i386 from Installations CD.

Great I will try this one. So just the ⇗ @skullteria driver from your link needed and no iaStor.sys, acpi.sys integration in the iso? Thanks for the link!

#2766 | infuscomus | ⇗ @tarsonis acpi.sys is still needed iastor.sys can be removed

#2767

diderius6

⇗ @tarsonis
Modded acpi.sy_ has to be put in i386 folder as before.
No iaStor.sys is needed.
But you have to integrate the STORAHCI driver as txtmode driver via nlite or F6 method
and add by hand storport.sy_ also in i386 folder
Dietmar

#2768

schreiberstein

⇗ @diderius6
Would it be possible to patch the DSDT without modifying the BIOS, as described in this patcher application ?:
⇗ https://msfn.org/board/topic/179059-acpi...r-at-boot-time/
I have no knowledge about ACPI, but if there is something I can test for you on my Z390 machine, I would love to help - as long as I don't have to attach a JTAG device to my bios chip.
It really is a bummer that these bios programmers removed the support for older ACPI versions. It does not really make sense to me.
Cheers,
schreiberstein

#2769

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #2764

> @Andalu, there is only one relevant change in the following tree:
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0480&Pid_a007\20130504008236F\Device Parameters]
> "ExtPropDescSemaphore"=dword:00000001
> Which is only present in 2.HKLM post-shutdown (USB2).reg
> Try to delete this entry and restart.
> If this doesn't help, probably something related to device programming registers, which is something I can't help you with.

That entry is re-created after each restart. I'll try tomorrow a way to block it.
Thanks for your time ;)

#2770

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #2769

> That entry is re-created after each restart. I'll try tomorrow a way to block it.
> Thanks for your time ;)

You're welcome.
Question is: Does it make a difference?

#2771 | daniel_k | ⇗ @schreiberstein, please try this. Found the _DIS check which causes the BSOD. Now we need to know what happens later. Just unpack in the \GRTMPFPP_EN\CD\I386, overwriting existing file.
#2772 | diderius6 | ⇗ @daniel_k Do you jmp over 0x10006 Bsod? I tried this also, but does not help Dietmar

#2773

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #2763

> Bsod 0xA5 (0x10006) is not solved until now via acpi 5048 on XP SP3.
> It happens on nearly all Z390 boards.
> EDIT: May be at the end of every device we can put

>     Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
>     {
>     }

> in DSDT.

Actually, we just need to add that Method to Device (LNKA) to Device (LNKH), which are all have hardware ID PNP0C0F.
Just saw that ACPI.SYS specifically checks all devices with PNP0C0F for a _DIS method.
EDIT: Nevermind them.

#2774

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #2772

> @daniel_k
> Do you jmp over 0x10006 Bsod?
> I tried this also, but does not help
> Dietmar

What happens then?
⇗ @schreiberstein, please try it anyway, maybe the behavior is different.

#2775

schreiberstein

⇗ @daniel_k
Should I do a quick attempt of what you suggested to see if the 0xA5 BSOD changes to a 0x7E due to the missing AHCI driver? (Thus indicating ACPI works, just no boot media can be found - which I can fix sometime later tomorrow.)
Or should I go to bed and try it tomorrow? :D
Cheers,
schreiberstein

## Page 186

#2776 | daniel_k | ⇗ @schreiberstein, make a quick try.

#2777

diderius6

⇗ @daniel_k
Then happens famous BSOD 0x7E (0xC0000005,..)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (169)
and from this place I think we need Windbg.
Now all the z390 boards can be debugged via lancard (I use Realtek in Pcie slot) because of nice work for lan debug from ⇗ @Mov AX, 0xDEAD
Dietmar

#2778 | schreiberstein | ⇗ @daniel_k Burning the disc right now... will keep you posted. It's strange that the txtsetup takes soooo long to load on these modern boards with all their bells and whistles. My Athlon 64 939 rushes through it like a starving rat. Cheers, schreiberstein
#2779 | daniel_k | ⇗ @diderius6, can't you try to patch the DSDT? That'd be easier, provided that you can easily flash the BIOS with your tools. Under certain cases I don't think we can simply hack away ACPI.SYS.

#2780

diderius6

⇗ @daniel_k
Of course I can try to patch DSDT. I think with good chances. With lan Windbg you can found the exact place of BSOD.
But I do not have this board. And for other people it is a big risk to flash a faulty DSDT,
even the Gene XI has a Biosflashback port
Dietmar

#2781 | daniel_k | ⇗ @diderius6 I thought you had one Z390 board. Ever thought of getting one?

#2782

diderius6

⇗ @daniel_k
I have the EVGA z390 Dark board. EVGA speaks with people from Asus and they make just as a hobby a Bios,
that works to full with normal XP SP3 and XP 64bit, even with USB3 from scratch.
I compare those 2 Bios for normal and for XP. At once I see, that the _DIS method is treated complete other
and this is also true for Asus Apex X (I patch DSDT, works) and Asus Apex XI, until now no XP Bios
and overclocker worry at hardwarebot a lot about it
Dietmar

#2783 | schreiberstein | Gosh. The disc failed on me. Trying a new one. This was a brand new Verbatim CD-RW. schreiberstein has attached images to this post ⇗ Screen Shot 2019-10-09 at
#2784 | daniel_k | ⇗ @diderius6, forgot about it. EVGA z390 Dark, that's the one that have XP friendly BIOS.
#2785 | daniel_k | ⇗ @schreiberstein, you're in Germany, right? Do it tomorrow, man! It's too late.
#2786 | diderius6 | ⇗ @daniel_k Nono, this EVGA Bios for XP is the key for to understand, what went wrong with _DIS in its normal Bios Dietmar

#2787

daniel_k

⇗ @diderius6, just saw what they did.
Basically, the code of all Device (LNK?) is exactly the same as from Z370 boards.
And they readded this:

        Scope (_SB)
           {
            OperationRegion (ITSS, SystemMemory, 0xFDC43100, 0x0208)
            Field (ITSS, ByteAcc, NoLock, Preserve)
                   {
                PARC,   8,
                PBRC,   8,
                PCRC,   8,
                PDRC,   8,
                PERC,   8,
                PFRC,   8,
                PGRC,   8,
                PHRC,   8,
                Offset (0x200),
                    ,   1,
                    ,   1,
                SCGE,   1
                   }
           }

Piece of cake!

#2788 | daniel_k | ⇗ @schreiberstein, try to learn how to use Mov AX, 0xDEAD's ACPI Patcher, which you've linked previously: ⇗ https://msfn.org/board/topic/179059-acpi...r-at-boot-time/ This way we can help you to test a patched DSDT table.

#2789

schreiberstein

⇗ @daniel_k
Just like Dietmar predicted.
0x7E acpi.sys
I can get familiar with the patcher soon.
Good night,
schreiberstein
schreiberstein has attached images to this post ⇗ 0796B5B1-C15B-4459-8BCB-0

#2790 | daniel_k | ⇗ @schreiberstein Good night! I'm sure we will fix it easily.

## Page 187

#2791

diderius6

⇗ @daniel_k
I think,
the most important part is this in XP DSDT, which is missed 8 times at nonXP DSDT
for Device (LNKA) Device (LNKB) Device (LNKC) Device (LNKD) Device (LNKE) Device (LNKF) Device (LNKG) Device (LNKH)
here as example for Device (LNKA)
Method (_DIS, 0, Serialized) // _DIS: Disable Device
{
PARC |= 0x80
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
Return (PRSA) /* \_SB_.PRSA */
}
Dietmar
PS: This is from XP friendly Bios 92 of the EVGA DARK z390 board. It is missed in XP unfriendly Bios.

#2792

diderius6

⇗ @daniel_k ⇗ @schreiberstein
I make a new DSDT and flash this into Bios Z390DESI.F7
from original Biosversion F7 from Gigabyte Website
⇗ https://www.gigabyte.com/de/Motherboard/...support-dl-bios
I think, it will not destroy anything to 99% and works for XP. But 1% risk is left.
Dietmar
Download
⇗ https://ufile.io/iwoysdfd
EDIT: If this still gives BSOD A5 (0x10006), we have the possibility to copy in DSDT the whole device
Device (LNKA)
Device (LNKB)
Device (LNKC)
Device (LNKD)
Device (LNKE)
Device (LNKF)
Device (LNKG)
Device (LNKH)
from a Gigabyte z370 gaming 3 DSDT to the gigabyte z390 designare DSDT.
diderius6 has attached files to this post

- ⇗ DSDT.rar

#2793

schreiberstein

⇗ @diderius6
Moin Dietmar,
I will look into the Mov AX, 0xDEAD's ACPI Patcher method first before flashing the BIOS, so thanks a lot for providing the DSDT file as a standalone version. That's really cool.
Right now, I am not familiar with how reliably Gigabyte's dual bios technology works and how easy a recovery would be. I also do not possess a JTAG device or whatever is needed to unflash a bricked BIOS.
I first need to look into how I would in case something goes wrong, before I actually attempt it.
Please understand. :-)
Have a nice day,
schreiberstein

#2794

diderius6

⇗ @schreiberstein
Of course I understand you.
I broke 2 boards with modded Bios, takes me months to make them alive again.
"how reliably Gigabyte's dual bios technology works"
I think, only when the possibility is given, to copy Bios back, this will work.
I "succeed" on Asus Apex board to brake Biosflashback(!)
Dietmar

#2795

diderius6

⇗ @Doc.Brown
To flash Bios is always a risk!
I make also a Bios based on Version 57 for the ROG MAXIMUS XI GENE board.
Flash it via Biosflashback on the gene XI board.
The risk of broken Bios in compi is because of Biosflashback <1%.
The chance, that it works for XP is about 70%, because this solved only BSOD A5 (0x10006)
Dietmar
⇗ https://ufile.io/75zrsuuo
diderius6 has attached files to this post

- ⇗ DSDTgeneXIBios57.rar

#2796 | jonny | ⇗ @diderius6 thanks for your help, pls can you tell me a way to integrate acpi.sy_ correctly into windows xp cd? because i saw that acpi.sys from windows longhorn build 5048 have dependencies with the file that gave me ERROR 14, so if you can help me how to integrate the acpi.sys in a better way pls let me know, (i used CABPACK 1.4 to integrate acpi.sys, then i named the file acpi.sy_) and i installed xp into usb not cd, sorry i typed wrong, have a good day

#2797

diderius6

⇗ @jonny
At commandline type for the modded acpi.sys (path to its folder)
(path to its folder) makecab acpi.sys
This gives you acpi.sy_
This acpi.sy_ you copy to your installationsfolder i386 and burn CD
To change *.cab can be done after installing XP or even never^^^.
Dietmar
PS: Be sure, to have the needed AHCI driver integrated via txtmode driver in nlite.

#2798 | XPWELL64 | ⇗ @diderius6 I bricked my mobo because I integrated your DSDT wrongly.
#2799 | diderius6 | ⇗ @XPWELL64 I cant remember, that I make a Bios for you Dietmar
#2800 | XPWELL64 | ⇗ @diderius6 1- Download my 603 Version of Asus X555LB bios. 2- After extracting things of my bios, please integrate your dsdt.aml into my bios. 3- I will check my bios and injected dsdt.aml by Uefitool.
#2801 | diderius6 | XPWELL64 I remember Asus X555LB notebook. There I solved all 24 unfullfilled dependencies in DSDT Dietmar PS: I still do not know, what you want to change in that Bios.
#2802 | XPWELL64 | ⇗ @diderius6 I want to inject dsdt.aml into bios.
#2803 | diderius6 | ⇗ @XPWELL64 This I understand. But what should be changed in that DSDT Dietmar PS: I have already done with post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (125)
#2804 | XPWELL64 | ⇗ @diderius6 Nothing.
#2805 | diderius6 | ⇗ @XPWELL64 The problem with long integers 64bit as for example PDBM=0xFFFFFFFFFFFFFFF9 is gone with the last acpi.sys 5048 mod Dietmar

## Page 188

#2806 | XPWELL64 | Problem solved, I will buy sandy bridge desktop.
#2807 | diderius6 | ⇗ @XPWELL64 Witch problem? Dietmar PS: Laptop Asus x555lb seems to stay alive ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (175)

#2808

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2726

> @XPLives
> Hello XPLives,
> Thank you!
> Everything that could be said about my Hackintosh setup can be found in an extraordinary, detailed guide made by an extremely helpful individual over at TonyMacx86:
> ⇗ https://www.tonymacx86.com/threads/succe...-rx-580.267551/
> It is a Z390 system from late 2018 by the way. The parts have been selected to work with macOS Mojave.
> I have quite a lot of hackintosh experience (intermediate level, I'd say), but proceeded to use real Macs for years since there were always some quirks involved. And simply because my iMac did all I needed, until it didn't.
> This is very different from hackintoshing in the early 2010s. A lot more sophisticated. It is an insane amount of work what people put into patching and modding.
> This build works 100%. Never crashed once. No kernel panics. 100% stability. 100% sleep capabilities. 100% wifi, bluetooth, usb3, onboard audio, ThunderBolt 3, iMessage, FileVault boot volume encryption (YES!) etc.
> I was initially hesitant to shill out this amount of money on a new system and said to myself "send it back within 14 days if you cannot get it working perfectly"...
> What can I say... I built it one Friday night in January, installed Windows and completed my entire macOS installation with everything working by Sunday evening. It pretty much works like a real Mac.
> However, there were some things I needed to fix manually to get FileVault encryption working. But the guide is pretty complete. I am uttermost satisfied with this build.
> It is insane how well it works.
> ⇗ https://www.tonymacx86.com/threads/assor...ckintosh.11234/
> I built several Hackintoshes over the years (some homeservers, some virtual machines (Linux KVM with PCI-e passthrough and custom patchy kernels back in 2013, very tricky, lovely memories)). My first hackintosh build was in January 2011 (I was 15 at that time) - a Gigabyte GA-H55M-UD2H. It was a huge and cheap upgrade to my MacMini of that time, but the board was very unstable. Even on Windows. Sudden reboots, regardless of RAM or PSU. I then used an iMac 2011 from 2013 onwards. I then switched to a MacBook Pro 2013 in 2018 but really disliked the experience.
> I now run this Hackintosh machine with two Apple Cinema HD 30" 16:10 displays connected and a "retro" Apple Extended Keyboard II from the early 1990s. It feels better than any Mac I have ever used in my life. The i9 really is a beast.
> My intention was to build a system I would use for the next 5 years that would be Mojave (32 Bit + iTunes intact) compatible and that was somewhat overpowered, yet quiet.
> I doubt Tiger would work. It already crashed in a virtual machine on everything higher or equal to Haswell. Something about the CPU. Maybe Snow Leopard. I have way to many "vintage" Macs to justify attempting such a project, lol.
> The audio drivers for Windows 10 were : ⇗ http://danielkawakami.blogspot.com/2015/...rt-pack-61.html
> There are also drivers for OS X, but mine did not survive sleep and wake. The audio stopped working afterwards. Sleep (ACPI S3, not my body lol) is very important for me. I barely ever turn off my computer.
> But there are folks working on that over at the insanelymac forum, if I remember correctly. The kX Audio Driver is open source, after all.
> A regular Audigy 2 ZS costs ~20 on German eBay these days. I originally bought it for my Windows 98 Athlon 64 rig, but its FireWire port steals the desired IRQ5 that I can assign in the BIOS. The Live! is better in that regard.
> I recently purchased a used EVGA nVidia Geforce GTX 780 (non TI for compatiblity) which should work in both Windows XP and Mac OS X (it is the last supported nVidia GPU generation that is natively supported without "webdrivers" for OS X, which currently are not available for Mojave, as discussed on MacRumors) - However, the Radeon RX 580 feels much smoother on Mac OS X.
> The 780 GTX still supports analog VGA out via DVI (for my Sony Trinitron CRT), which the Radeon does not support.
> But since this is an ATX board, I could drive both cards. Incompatible GPUs can be made invisible via DSDT patches (also mentioned in the TonyMac guide), as they otherwise mess with sleep. The Geforce 780 wouldn't cause any issues though.
> Getting the Hackintosh working will be much easier than XP, given that nearly all of the hardware is incompatible.
> I suppose all will be fine if I get ACPI and thus IRQ management working on XP. If you don't mind dozens of add-in cards, I guess you can get nearly any system working.
> I do not know why, but I really have an obsession with getting old stuff working on new systems.
> --> My installation froze because of "not fully ACPI compliant" - 0x000000A5 . The typical issue discussed on here. Without ACPI, everything went smoothly and the system was stable, but nearly unusable due to severe IRQ conflicts.
> Drivers for my Renesas USB3 PCI-E card would not work either. Probably due to the lack of "resources".
> It would be really NICE to just get Windows 98 or ME to boot. ME actually went further in the installation. I was able to install it, but it then crashed during the first restart, even after I patched the memory and all that jazz.
> No, I do not have any other software from RLOEW. But I purchased both AHCI and Memory patch. Partly because I wanted to support and compliment him for his work. I did not really expect it to work on Z390.
> If you have any idea how to work around this issue, I would be very happy to hear about it. I doubt anyone would be able to get universal USB drivers working though. Well... I guess people need some challenges for the 2020s, haha!
> If you have any questions regarding your Hackintosh project or about this build, feel free to send me a private message.
> Cheers,
> schreiberstein

Schreiberstein,
Does your username mean something in German?
For the moment I probably have the most advanced setup at least for XP and Server 2003. I own the i9-9900K and preordered mine and probably the only one to have attempted installing over 64GB memory in XP and Server 2003 for both 32-Bit and 64-Bit testing. I'm using a Z370 that is fully compatible with the i9 Coffee Lake octacore so it is possible whatever I can do can be done the same on the Z390 since the chipsets are nearly identical similar to how the Z68 and Z77 were. The only major changes I believe is just the CPU microcode support for 9th Gen out of the box as the socket remained the same. The Z390 was just a rush job as they were supposed to release a Z470 chipset that supported the 10nm Cannon Lake which now has been delayed or altered so Ice Lake is now the next desktop replacement. This is disappointing as I've read Ice Lake will use a different CPU socket so a new motherboard will have to be purchased. So that is the reason why I am waiting for final news on which Intel Chipset will finally have true DDR5 and PCIe 5.0 support before upgrading again. Worst case is Z470 is still 14nm and 10 core max or capped to 128GB max memory with DDR4 and PCIe 4.0. Best case is Z470 uses the same socket as Z370/Z390 and we get a Z470/Z570 CPU backward compatibility extension with just a BIOS microcode update with the possibility of 10nm CPUs that run cooler so it will work on Z370 since it's doubtful Intel can hit 16 Core / 32 Thread CPUs until 7nm Sapphire Rapids.
Now I typically switch to my cheaper hexacore for most of my experimental OS testing in case I fry it I'm not out a lot of $$$ money. But any testing that works on it should apply to the i9-9900K.
The XP ACPI issues have existed starting with SkyLake 100 Series so without BIOS modding or using a modded ACPI.SYS it is unlikely you can use the system with full ACPI functionality which is why you are getting the infamous BSOD A5 Error.
So without BIOS modding which I also don't want to do either the best method would be either a modded ACPI.sys replacement or choosing to install XP without ACPI. So far in my Z370 any modded ACPI.sys testing the graphics card is missing including the integrated Intel GPU in the Device Manager so if you depend on graphics you may have to be the guinea pig and test out other people's modded ACPI.SYS and hope you hit a winner like the lotto. So unless this is resolved only the NO ACPI install method with MPS Mode on Intel CPUs are the only easy way to get XP working without ACPI or BIOS modding.
The good thing is XP will still work but you are correct since there are less IRQs available you may run into resource issues. I think there is another way to get around this and avoid using all ACPI features by modifying the ACPI.sys to act closer to MPS mode. Without knowing what exactly is being modified in the ACPI.SYS I can't really assist other people and fix it and release my own modded ACPI.SYS for testing. Since no one has taken the time and written any kind of ACPI.SYS modding guide yet on exactly what they are modifying or altering when they release a modded ACPI.SYS for people to guinea pig test it's anyones guess if there can be a universal ACPI.SYS fix for all systems.
But I think the key is partially in converting the ACPI.SYS to be less ACPI friendly and function more in MPS mode so you still get the extra IRQs but no Standy By Mode. You can simulate power efficiency by changing your BIOS CPU Core Ratio down to a fixed number like 8. 800 MHz is the lowest you can go today. I actually hate how the CPU MHz gets throttled as the CPU Voltage isn't constant. By setting a fixed CPU Core Ratio and CPU Core Voltage you can get better efficiency and lower temps. If someone can push it down to 400 MHz -> 66 MHz that would be amazing to see how much lower the CPU Core Voltage can reach. As long as you can Shutdown and Restart the computer I think that would be fine for most people. If the system is running 24/7 this is the perfect universal modded ACPI.SYS. As for Hyperthreading that is something I don't know if it's possible to still function with ACPI disabled because in MPS Mode there is no hyperthreading. If a modified ACPI.SYS can have hyperthreading, all IRQs available, but just no Standy By or Power Saving Modes then this will be the best modded universal ACPI.sys to create combined with my BIOS settings.
The only other way is BIOS modding and simulating only Ivy Bridge ACPI functions and removing all newer ones. If this were possible then maybe you could make a Coffee Lake BIOS operate the same as Ivy Bridge except add newer CPU microcode support. Most of newer lower power features are probably what is causing the ACPI errors. I don't know enough if it's possible to use an Ivy Bridge BIOS template and port it to Coffee Lake BIOS. Only thing is you would have to remove the entire Intel GPU sections as XP drivers won't work on the newer iGPU and I think the iGPU memory sharing is partly responsible for the DOS incompatibility with Himem.sys. Personally I'd just clean out all the iGPU code entirely so it isn't detected or see if the Ivy Bridge iGPU code could work on the Intel Coffee Lake iGPU. I'd be curious if that's all that is preventing the XP drivers from working on newer iGPUs.
I usually don't do too many help responses due to my own limited time but I think yours is the first XP Hackintosh request so I think it may end up being useful for many people. I've been to TonyMacx86 long ago. But at that time it was more of a curiousity and I didn't really need to use a MAC. Every time I used a real one it felt like it wasn't working the way it should. Even internet browsing on one was a bit awkward. But I do have a friend who only uses Macs and another who uses one for Video Editing. So the fact that Intel based Macs are still in production gives Intel another reason to choose them over AMD if you wanted to build a Hackintosh.
I'm not aware of any other members here who are Mac users or they would have chimed in by now. But I think for the moment I might the only one closest to devote my time to try and see if it could happen. So as long as we can help each other out it might be possible.
As for your Hackintosh portion I think if you can create a thread titled "Schreiberstein XP Hackintosh Project" in the Windows XP/2000/Server 2003 Subforum to post your responses regarding it there.
It would be easier to find your messages. As for the ACPI assistance you can keep posting in this thread you are using now and keep guinea pig test till you hit the jackpot.
At one point I was going to build a Hackintosh based on Sandy Bridge and the HD Graphics 3000 back in 2011. Never got around to do it. Maybe half a year ago I almost bought a used Mac Mini for a possible Macintosh XP testing which I assumed would be much easier to do. I have quite a few Macs mainly OS 8-9 era. I think one of the newer ones is a G3 or G4 hand me down that I think has 10.1 or something on it. Never tried it. I'm not sure if it could run Snow Leopard.
Your experience with Hackintosh will be useful to determine if XP can coexist with Mac OS X on the Coffee Lake system. Some questions that need answering that may help determine this.
If you placed that Mojave OS Coffee Lake setup drive you have working now into your older Hackintosh H55 Gigabyte Motherboard and moved the GTX 780 Graphics card over to it does it work without any issues?
Does Mac OS Mojave allow installing onto a FAT32 partition? If not what's the last MAC OS X version to allow installation to a FAT32 partition?
Which earliest MAC OS version started supporting full read/write on NTFS partitions?
Is it possible to boot to different MAC OS X versions each on their own partition?
Does Apple include such a Multi OS bootloader when upgrading to a newer version so you can run your older version in case the new installation fails?
For example Windows allows Windows 2000, XP, and 2003 to coexist in the bootloader and can be chosen instead of stuck on the newest OS.
Does any MAC OS X version you know of allow installing from scratch with ACPI support completely disabled regardless if the BIOS is ACPI compliant?
As for the oldest MAC OS X version that can be installed on your Z390 i9-9900K system can you take some time to test verify if you can get Snow Leopard 10.6 installed on your i9-9900K setup using your current configuration? I have a genuine copy here in case it works you might be able to guide me enough to get it working. Then I might be able to do some sort of hybrid XP / Snow Leopard setup testing that could be a framework used for newer MAC OS testing for Mojave. I have quite a few network cards and USB cards that say they will work with 10.6 so they hopefully are forward compatible with Mojave. I also prefer the older MAC OS versions because they are usually smaller and more compact like XP.
I've collected a lot of hardware, sound cards, video cards, USB cards and I might be able to test both XP and MAC OS X to find the hardware that works natively works in both operating systems to simplify future Hackintosh XP hybrid projects.
Am I correct you are trying to create an XP / Mac OS X setup and not just a stand alone XP system?
What are you planning to use XP for?
Since you confirmed the GTX 780 seems to work natively in Mojave do you have a GT 710 or GTX 750 graphics card to test if these are also compatible? The GT 710 has VGA, DVI, and HDMI full size connectors so is very handy for multi monitor testing without video adapters. I use the VGA port for video output. You can use USB for Audio since it may have native drivers for MAC OS making it much easier to install.
Also what is the last 32-Bit MAC OS X version that can be made to work on a Hackintosh?
The best USB 3.0 PCIe card is still up for debate. I found there is a bug on NEC cards which after the driver is installed it will function but once rebooted it will not and only a driver reinstallation with fix it. So this seems to be the only issue with NEC cards on newer chipsets. VIA seems to work better in all my testing and is cheaper to purchase thanks to eBay.
I got Windows 98SE to work on my Z370 but I used a previous install from a P4 and just moved the SSD over and it was much easier to get working. I haven't tried a direct installation on the Z370 from scratch which may fail because too many changes that not even RLoew patches can solve. My guess is the patches might work only post install.
Universal USB 4.0 drivers could be a possibility in the future. It's unclear if there is sufficient interest and financial backing that I could reach out to a company to help develop them. But a better future solution is using USB 4.0 PCIe cards with proper financial backing to get the OS drivers done that way you could insert them into any motherboard to be used instantly. Even 98SE could get some love if driver support is included since USB 3.0 legacy driver support was entirely skipped all the way to XP. Without any kind of interest and financial backing most likely the USB 4.0 cards are going to only support Windows 7 as the oldest or just Windows 8.X/10 only. You have to remember Windows 7 support pretty much is ending in 2020 for most people. So the likelihood of USB 4.0 Windows 7 drivers for Intel or AMD ports is pretty low. Intel USB 3.0 was already out in 2012 well within XP's extended support time frame before 2014. Windows 7 is nearing its end of it so Intel will not bother that I'm 100% certain.

#2809

XPLives

⇗ @XPWELL64

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #2798

> @diderius6
> I bricked my mobo because I integrated your DSDT wrongly.

Oh you were XPLAKE8175? Did you delete the account because the notebook got bricked after flashing?
Is there some way to flash the notebook BIOS back to life using manufacturer BIOS?
Maybe someone here knows how to do this resurrection. I hate soldered BIOS chips so I don't mess with laptop flashing unless official release and required for some new feature or CPU support.
As for Desktop, you can choose Ivy Bridge for final XP version. Some Sandy Bridge have Asmedia USB 3.0 ports so could be better choice. If for XP only and not Vista OS, then you can try Haswell/Broadwell works even better. Maybe even X99 is the best chipset without modding anything in BIOS.
SkyLake+ prepare for headaches.
But for notebooks the best is Ivy Bridge and nothing newer or no XP Intel graphics driver for iGPU.

#2810

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2795

> @Doc.Brown
> To flash Bios is always a risk!
> I make also a Bios based on Version 57 for the ROG MAXIMUS XI GENE board.
> Flash it via Biosflashback on the gene XI board.
> The risk of broken Bios in compi is because of Biosflashback <1%.
> The chance, that it works for XP is about 70%, because this solved only BSOD A5 (0x10006)
> Dietmar
> ⇗ https://ufile.io/75zrsuuo

Thank you ⇗ @diderius6 :)
I'll try this friday and also another Xp iso build because by reading last messages here I think I make big error with ACPI and Storport integration,I simply renamed them with .SY_ not used makecab :( Is it a big mistake ?
Also I don't know what to do / how to use the DSDT that you share with M11g modded bios ...

#2811 | Mikedebian | This happens in Vbox, even fully emulated without extensions ⇗

#2812

diderius6

⇗ @Doc.Brown
Just put this Bios on Fat32 formatted USB stick,
connect this stick to Biosflashbackport
and flash Bios.
Nothing bad will happen,
Dietmar

#2813

Doc.Brown

⇗ @diderius6
Don't worry I will,I do extreme things with hardware for overclocking with LN2,dead hardware doesn't fear me since a long time now :D
Just tell me if it's necessary to use makecab cmd with files before integrate them in XP or rename them by changing extension work well to please ?
Thanks.

#2814 | diderius6 | ⇗ @Doc.Brown Better think before than after^^. About files: I think, you can even put them into i386 with full name, but I never tested this, Dietmar
#2815 | Doc.Brown | So true xD Anyway I will try to use this makecab function to be sure to do it right and hope it will work now :finger crossed: Thanks for your help :)
#2816 | Mikedebian | ⇗ @infuscomus I am sorry for to have bothered you. I needed to completely remove VBOX and all leftover files before reinstalling it, and now no blue screen.
#2817 | Andalu | ⇗ @daniel_k the registry key you have identified (ExtPropDescSemaphore) maybe can be the cause for the USB3 function not working on my asrock B75 Pro3-M. The same key related to the same external hard disk appears also in my other system where the USB3 does not work while it is not present where the usb3 works fine (asrock B250M Pro4). I don't think it can be just a coincidence but how to verify it? It's very difficult to prevent this registry key from being created every time the external hard drive is connected to computer.

#2818

tarsonis

> Zitat von ⇗ diderius6 im Beitrag ¶ #2767

> @tarsonis
> Modded acpi.sy_ has to be put in i386 folder as before.
> No iaStor.sys is needed.
> But you have to integrate the STORAHCI driver as txtmode driver via nlite or F6 method
> and add by hand storport.sy_ also in i386 folder
> Dietmar

Puh, I seem to make something wrong creating the nLite iso because I still get the 7B error. With and without selecting the ACPI Multiprocessor typ while setup is loading. Seems to not make a difference here.
Maybe there is mistake. Here are the steps I made.
nlite folder for XP files (untouched XP 32bit SP3)
options -> select driver and bootable iso
select single driver -> storahci.inf
select single driver -> amdhub30.inf
let nlite finalize the setup files
copy(overwrite) ACPI.SY_ I made with cabpck14 into i386 of the nlite working folder
copy(overwrite) storport.sy_ I made with cabpck14 into i386 of the nlite working folder
burn the CD in default settings
I took the storport.sys from the link package, compressed it with cabpack.exe default settings and renamed it afterwards. Is it correct or do the cabpack settings need to be changed?
tarsonis has attached images to this post ⇗ cabpack.JPG

#2819

schreiberstein

⇗ @Mov AX, 0xDEAD
My situation :
I do not have a working XP system to use your ACPI patcher ntldr replacement with.
I have a working DOS system that I would like to use to execute the patch program manually (a.exe),
then attempt to start the installation from the same drive by having the Windows XP i386 folder stored there and then executing the installer via winnt32.exe. I just want to see if the ACPI-related bluescreen goes away, not necessarily install from there.
However, after inspecting your sourcecode, I was unable tell for sure where to place the DSDT related files.
Where does a.exe look for them?
Or is there some other magic involved that stores this information in the RAM temporarily and a.exe reads them from there?
It would be convenient if I could just put them into the same directory as a.exe and execute it.
I am using TerraByte Unlimited's BootIt Bare Metal bootloader to switch between multiple primary partitions.
I could conveniently make it execute the a.exe DOS program and then proceed to load my real Windows OS, without having to change its boot environment.
By the way, it's a pretty terrific idea that you've come up with and how you bootstrap your application using ramdisks, 7zip, etc.
Very impressive.
Would be thankful for an advice.
Cheers,
schreiberstein
EDIT: I had another look at that massive C file. (Wow, where did you learn that?!) It seems that what I would like to achieve should already be possible, as long as the "acpi_pat.cfg" file is in the same directory as the executable file. I will try to compile an adapted version of this binary where the GRUB stuff is commented out and it exits back to the DOS prompt, without having to press shift.

#2820

diderius6

⇗ @tarsonis
Most easy is to use from commandline
makecab acpi.sys
this gives you acpi.sy_
This you put to i386 folder for nlite to make CD XP SP3.
The same for storport.sys.
Then you integrate Txtmode via nlite driver STORAHCI from ⇗ @skullteria .
No need to integrate USB files if you have a PS/2 connector
Dietmar

## Page 189

#2821 | Mikedebian | ⇗ @diderius6 ⇗ @infuscomus Is it important that the AMD GPIO driver works in device manager and is not yellow checkmarked?

#2822

infuscomus

> Zitat von ⇗ Mikedebian im Beitrag ¶ #2816

> @infuscomus I am sorry for to have bothered you. I needed to completely remove VBOX and all leftover files before reinstalling it, and now no blue screen.

no worries, glad to hear you got rid of the blue screen.
edit: I'm not sure what the GPIO is used for, so I can't say for sure.

#2823 | Mikedebian | Anyway I just want to thank you guys for making this possible! It really is unreal! I can only hope that one day win9x will be possible too!

#2824

infuscomus

⇗ @Mikedebian
It is already possible to get win9x working on newer systems - i have confirmed it works for AMD Ryzen.
RAM issues can be limited to 1GB or patched to 4GB.
AHCI can be disabled (if supported by BIOS), patched, or ignored (if you are willing to put up with slower MS-DOS compatibility mode)
USB 2.0 drivers for win9x exist.
ACPI is not as important for win9x as it does not support more than 1 CPU anyway.

#2825 | Mikedebian | Yes I've had it running as well, although no support for my PCI devices even if supported under win98. It is like the device manager is unable to locate, see and use any hardware. That's the issue I have with win98, it is with chipset.
#2826 | infuscomus | ⇗ @Mikedebian I had this issue, I had to disable ACPI during windows 98 setup to get hardware detecting properly. setup /p i disables ACPI if i recall correctly I think i used setup /im /is /p i
#2827 | Mikedebian | Will this carry on over on install? Because It was same issue after install
#2828 | infuscomus | ⇗ @Mikedebian yeah it should carry over, it did for me.
#2829 | Mikedebian | Cool. I shall have to try. I wish the windows XP Vesa driver was carried over too. On windows XP I get 1440p with Vesa driver , but windows 9x with vbe9x doesn't work for me on my Vega 56.

#2830

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #2745

> @daniel_k
> Look on right side E:\SanDisk (is ultrafast USB stick, about 400 MByte/s)
> and also in Device Manager, last entry "USB-Massenspeichergerät"
> Dietmar

Hi Dietmar,
the issue doesn't affect USB 3.0 devices.
My USB 3.0 portable hard disk works just fine, but keyboard/mouse and USB 2.0 stick don't.
When you have some time, please try one of those devices with the ASMedia ports.

#2831

diderius6

⇗ @daniel_k
Yeppp, you are right. All USB3 devices work, all USB2 devices work not. Mouse works not, brrr..
What a debakel again with drivers from Asmedia!
The 59 version xhci driver does not work for XP.
The 59 Hub driver, mixed with 55 vers xhci works
Dietmar

#2832

IntiMD

⇗ @diderius6
Just wondering about the storport.sys, wouldn't the problem with XP setup not copying it disappear had we added relevant lines in TXTSETUP.SIF and LAYOUT.INF? (not sure if it's obvious for you or if you had done that already)? For example we can do a quick edit and copypaste from the scsiport.sys line (example taken from homebrew XP Integral Edition ISO) :
(TXTSETUP.SIF)

    scsiport.sys = 100,,,,,,4_,4,0,0,,1,4

(LAYOUT.INF)

    scsiport.sys = 100,,96384,,,,4_,4,0,0,,1,4

and when we make a quick addition based on those lines above for x86 storport.sys from KB943545 hotfix (5.2.3790.4173)
(TXTSETUP.SIF)

    storport.sys = 100,,,,,,4_,4,0,0,,1,4

(LAYOUT.INF)

    storport.sys = 100,,108032,,,,4_,4,0,0,,1,4

Of course if this won't work you can tinker with the number codes according to the reference here: ⇗ https://msfn.org/board/topic/127677-txts...&comment=820892

#2833 | XPWELL64 | ⇗ @diderius6 I integrated your dsdt into my bios by UEFItool and now it cannot receive aml information. It BSODs. (Windows 10 BSoDs too)
#2834 | diderius6 | ⇗ @IntiMD See post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (190) Dietmar

#2835

diderius6

⇗ @XPWELL64
I do not understand your answer.
From post from 6 October 2019
"⇗ @diderius6
I benchmarked HL1 with anapa driver on my asus x555lb in windows xp and results are more terrible than windows 95 preinstalled pc.
I will mod this igxpmp32.sys with ida pro can you tell me how to do it? My DEVID is: DEV_1616"
your Asus notebook seems to work.
And if only some strange thing happen,
flash new with website Bios
Dietmar

## Page 190

#2836

daniel_k

⇗ @IntiMD
Just add this to TXTSETUP.SIF, under storprop.dll

    storport.sys = 1,,,,,,3_,4,0,0,,1,4

This must also be present in DOSNET.INF, in section [FloppyFiles.x] (where x can be 1, 2 or 3) and in section [Files].

    d1,storport.sys

No more files need to be edited.
Got this from Server 2003 and it definitively works.

#2837 | Mov AX, 0xDEAD | Another Update: - Kernel debug with WinDBG/KD over LAN/USB3.0 connection solved, (⇗ https://github.com/MovAX0xDEAD/KDNET) ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (12) Intel onboard usb3.0 H110 - OK VIA External pci-e usb3.0 card - No

#2838

Mov AX, 0xDEAD

⇗ @schreiberstein

> Zitat

> Where does a.exe look for them?
> Or is there some other magic involved that stores this information in the RAM temporarily and a.exe reads them from there?
> It would be convenient if I could just put them into the same directory as a.exe and execute it.
> EDIT: I had another look at that massive C file. (Wow, where did you learn that?!) It seems that what I would like to achieve should already be possible, as long as the "acpi_pat.cfg" file is in the same directory as the executable file.

Hi schreiberstein,
- a.exe reads all files from directory where a.exe started, you can place it in any place at directory tree
- a.exe uses preallocated "virtual floppy" from grub4dos to claim memory for storing acpi tables, to avoid grub4dos tricks need write own int15 e820 handler to exclude some ram from OS

#2839

diderius6

⇗ @Mov AX, 0xDEAD
This are nice news:))!!
I just desoldered my Bios chip from the Lenovo Flex 10 notebook,
flash it with new DSDT via Revelprog IS,
and solder it in again.
Flex 10 survives this operation^^.
What I changed in DSDT is via Iasl -r1 ,
now no 64 bit math is supported. Before I went like crazy with unfullfilled
dependencies (externals) in Iasl and its build *.dsl =>*.aml. Only when I use the original iasl.exe (iasl-win-20130117)
from which this DSDT was originally build, I succeed.
Now I test there debug over USB3
thanks a lot
Dietmar

#2840

schreiberstein

⇗ @Mov AX, 0xDEAD
Hello Mov AX, OxDEAD.
I have tried to adapt your application to my use case today. (I am not a system engineer or embedded developer though)
The grub menu creation as well as attempting to read root.txt part have been removed by me from the main.c, as well as the part that would try to execute GRUB again or waits for SHIFT-KEY.
I compiled the C file using the latest DJGPP environment on DOSBOX. (Was unable to run a 4.x version of GCC for some reason)
The patched DSDT.aml file, as provided by Dietmar, has been compiled manually by me using the respective isl compiler version. I named it "reload.bin".
The MAIN_LOG.txt says "table DSDT replaced, new size= 264991", but then the program complains about the missing GRUB4DOS int13 handler.
Can I load GRUB's interrupt handler, and then continue in a DOS prompt?
It might be a stupid question, but could you briefly explain what it is needed for?
I attached my directory that included my adapted C file, config, LOG and DSDT, in case you are interested.
Thank you.
Cheers,
schreiberstein
schreiberstein has attached files to this post

- ⇗ PATCH.zip

#2841

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2737

> @Mov AX, 0xDEAD
> On the Asrock fatal1ty z370 gaming k6,
> with the same files for USB debug,
> compi also reboots at once

forget about usb3 inside kdnet, this was my mistake )
check kdusb.dll from github, i hope you will find needed original kdusb.dll

#2842

schreiberstein

⇗ @Mov AX, 0xDEAD
Oops, your reply was faster than my new post. Sorry.
So, if I understand correctly, this construction exists for a very specific reason.
The operation system needs to be specifically told that it must use 2 MB of memory less, right?
And that means that there is nothing that can be modified in RAM that would allow another bootloader, oblivious of what has happened, to detect that change, correct?
If that is not possible, then I will think of something else or install XP using a different system, install your patcher and hook it up to my main Z390 system.
Cheers,
schreiberstein
EDIT: My main concern was about booting the installation media on my system to make sure device detection and configuration works out-of-the-box.

#2843

Doc.Brown

⇗ @diderius6
Some update after the test with 0057 modded bios,flash the board and she's still alive :D
Your bios is better than original one cause now there's no BSOD before HDD scan so no need to press F5 or F7 to go forward ! It allow to create partition (one little in FAT and the other in NTFS for XP ), file copy is ok and first reboot also.
After that problem comes in the middle of peripherals installation as you can see on this capture:
⇗
Result on this BSOD 0A :
⇗
After a reset to restart the board a new BSOD A5 comes :
⇗
Another ACPI lock at next level in bios ?
I tested with few XP iso,load fail safe default for IRQL not less or equal BSOD but it's always same errors
Thanks :)

#2844

diderius6

⇗ @Doc.Brown
Waaoh, that means I found exact the place for BSOD 0x10006 in DSDT and repair it there.
So much good news today!!! Now XP will run on ALL x390 boards, Apex XI and so on with this mod.
Last days I compare soso many DSDTs. And they are all the same. Manufacturers deleted important information in DSDT
and because of that XP crashes. XP works very strict in translating DSDT.
The problem with second acpi Bsod is,
that crazy XP just reinstalls its own original acpi.sys in windows\system32^^.
Just copy modded acpi.sys there again.
The other Bsod happens,
because XP does not like a device on the gene XI board.
Sometimes you can overcome this hitting F8 (Safe Mode).
Try to disable as much devices as you can in Bios. Later you can activate them again.
If this does not help,
use an XP install from another compi,
Dietmar
PS: With lan Debug from ⇗ @Mov AX, 0xDEAD we now can find the device, which crashes.

#2845

Mov AX, 0xDEAD

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2840

> @Mov AX, 0xDEAD
> The MAIN_LOG.txt says "table DSDT replaced, new size= 264991", but then the program complains about the missing GRUB4DOS int13 handler.
> Can I load GRUB's interrupt handler, and then continue in a DOS prompt?
> It might be a stupid question, but could you briefly explain what it is needed for?

int13 is place where patcher can find virtual floppy, it searched by magic pattern $INT13SFGRUB4DOS (just like firadisk did)
grub4dos before runing any os:
- allocate memory for empty floppy
- set own int13 handler
- set own int15 e820 handler
- unload self from memory, but floppys and handlers stayed resident
patcher:
- look for $INT13SFGRUB4DOS near to int13
- find where floppy allocated and uses this memory as new store for acpi tables (original store was prepared by bios)
after patcher done own work, int13 no need anymore, grub4dos's int15 still need to exclude memory from OS.
i dont know much about grub4dos.exe, maybe it has some like CLI mode to process menu.cfg & return to dos

#2846

Mov AX, 0xDEAD

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2842

> @Mov AX, 0xDEAD
> If that is not possible, then I will think of something else or install XP using a different system, install your patcher and hook it up to my main Z390 system.
> EDIT: My main concern was about booting the installation media on my system to make sure device detection and configuration works out-of-the-box.

Also possible integrate patcher to boot media (i've not tested), ntldr_patcher rename to SETUPLDR.BIN, original SETUPLDR.BIN to XPLDR
so chain will be almost same, grub4dos is loaded first, then dos, then 2nd grub4dos.exe to run original SETUPLDR.BIN as binary

#2847

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2844

> @Doc.Brown
> Waaoh, that means I found exact the place for BSOD 0x10006 in DSDT and repair it there.
> So much good news today!!! Now XP will run on ALL x390 boards, Apex XI and so on with this mod.
> Last days I compare soso many DSDTs. And they are all the same. Manufacturers deleted important information in DSDT
> and because of that XP crashes. XP works very strict in translating DSDT.
> The problem with second acpi Bsod is,
> that crazy XP just reinstalls its own original acpi.sys in windows\system32^^.
> Just copy modded acpi.sys there again.
> The other Bsod happens,
> because XP does not like a device on the gene XI board.
> Sometimes you can overcome this hitting F8 (Safe Mode).
> Try to disable as much devices as you can in Bios. Later you can activate them again.
> If this does not help,
> use an XP install from another compi,
> Dietmar
> PS: With lan Debug from @Mov AX, 0xDEAD we now can find the device, which crashes.

Yep it's a really good news being able to go forward in the installation process,you make it happen :)
I already tried F8 for Safe Mode and it also result in BSOD unfortunately
I try to copy ACPI.sys and a fresh install on X299 Rampage Apex(I already have a ghost of previous test) tomorrow ;)

#2848 | diderius6 | ⇗ @Mov AX, 0xDEAD I find small error in description: "On Target (must be Host) PC need Windows 8/10 to be installed with Microsoft drivers for USB3.0 controllers (Vendor's usb3.0 drivers not supported by WinDBG/KD)" Have a nice day Dietmar

#2849

daniel_k

⇗ @schreiberstein, this is my patched DSDT for your board.
This version should work with original XP files, not a single patch needed.
The following files are included:
Z390DESI_F7_original.raw -> original from BIOS
Z390DESI_F7_original.aml -> original compiled
Z390DESI_F7_original.dsl -> original decompiled
Z390DESI_F7_mod.aml -> modded compiled
Z390DESI_F7_mod.dsl -> modded decompiled
Just compare the originals, 99.99% the same as Gigabyte's.
RAW = Gigabyte
AML = Compiled
Just learned that there are code changes when using latest iasl.exe, so use it just to decompile the binary DSDT (aml) file.
Also, we must use -dl parameter when decompiling (emit legacy ASL code), otherwise final code won't match original's.
To compilte the code, use the same version used in the original BIOS (20160527), check the ReadMe.txt included for command line.
daniel_k has attached files to this post

- ⇗ Z390DESIG_F7.rar

#2850 | daniel_k | ⇗ @schreiberstein, don't worry about ACPI patches. I've managed to patch ACPI.SYS for Z390!!! It worked right away on the first try! Just give me some minutes and I'll upload an updated package for you to try.

## Page 191

#2851

diderius6

⇗ @daniel_k ⇗ @schreiberstein
With this nice mod in DSDT from Daniel I think you even dont need modded acpi.
So ⇗ @schreiberstein use DSDT from Daniel.
But we need to be careful with mod:
On newer Gene XI Bios, they treated the _dis method in DSDT other,
so it will come in conflict with our so we have to delete all old use of _dis there and rebuild with our
Dietmar

#2852 | diderius6 | ⇗ @daniel_k "I've managed to patch ACPI.SYS for Z390!!!" I am so curious, how you did this Dietmar
#2853 | daniel_k | ⇗ @diderius6, let me try it properly first. Just tried the patched ACPI.SYS with an already installed XP. Will install from scratch before sharing it.
#2854 | schreiberstein | ⇗ @daniel_k Ready to create a new iso. Wouldn't bother to test it. Sounds promising. :-)

#2855

daniel_k

⇗ @schreiberstein, ⇗ @diderius6
Installation completed successfully!
No errors at all, no ACPI errors in Event Viewer, IRQs assigned properly (*)
(*) Error is related to missing _DIS method in PNP0C0F (PCI Interrupt Link Device. A device that allocates an interrupt connected to a PCI interrupt pin.)
Sending you a PM with package link.

#2856 | schreiberstein | ⇗ @daniel_k Thank you! I am assembling an ISO file in a few minutes. Will get back to you soon. Thank you for your effort. schreiberstein

#2857

daniel_k

⇗ @diderius6
Firsly, I simulate the issue of Z390 boards by renaming the _DIS in ACPI.SYS to _DES, which doesn't exist in the DSDT table of my BIOS.
Jumped the KeBugCheckEx 0x10006 and got the same error as schreiberstein. Same behavior, test is valid!
Analyzing the code, I've realized that all it does is an additional check if device is PNP0C0F, otherwise, it ignores and proceed.
Just patched it so it treats PNP0C0F as an ordinary device and worked.

#2858 | daniel_k | Patched ACPI.SYS files now supporting Z390 boards.

#2859

Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #2817

> @daniel_k
> the registry key you have identified (ExtPropDescSemaphore) maybe can be the cause for the USB3 function not working on my asrock B75 Pro3-M. The same key related to the same external hard disk appears also in my other system where the USB3 does not work while it is not present where the usb3 works fine (asrock B250M Pro4). I don't think it can be just a coincidence but how to verify it? It's very difficult to prevent this registry key from being created every time the external hard drive is connected to computer.

Bad news from here. Even blocking the creation of the regitry key "ExtPropDescSemaphore=dword:00000001" the usb3 fails anyway. The enigma continues....
I renew my request already made at ¶ #2637 about a way to get XP32 supports more than 4GB memory with amd modded drivers. I'll use the ram over 4GB for ramdisk purpose. I already tried the 'chinese patch' and other methods found on the net with no success.
Is there a way to solve?

#2860 | diderius6 | ⇗ @daniel_k Waaoh, what great success:))!! Wish you nice day and good mood Dietmar

#2861

schreiberstein

⇗ @daniel_k
You bloody madman! You did it!
I created my own ISO from Xp Iso Builder, only enabled the A352 AHCI from Fernando and replaced the acpi.sys file.
The installer boots up. USB isnt working because I did not integrate it. Will boot again with PS2 attached and try to install. But I could hear the CD drive seeking after it said Starting Windows, so everything is fine and it found the AHCI stuff.
Wooooooowwww wooohoooo!
Will keep you posted. So amazing.
Thank you so much!
Cheers,
schreiberstein
schreiberstein has attached images to this post ⇗ F9327103-F8F0-47F8-AE97-B

#2862 | daniel_k | ⇗ @Andalu, sorry but I'm out of ideas. Maybe someone else can help you with those issues.

#2863

schreiberstein

⇗ @daniel_k
It is now in the second stage of the installation process.
PS/2 works.
And the boot process was super fast compared to non-acpi mode. Just as expected from a Core i9... just a few short seconds. :D
schreiberstein
schreiberstein has attached images to this post ⇗ AB348FF1-D962-49B9-9195-0

#2864 | daniel_k | ⇗ @schreiberstein, glad to know it worked! Sure you can do whatever you want, but I've sent you a PM with a ready to use pack including USB drivers. Would be nice if you could test it, as I'm working on a all-in-one ISO which I'll upload somewhere when finished, so everyone can enjoy a compatible and fully updated install of XP SP3.

#2865

schreiberstein

⇗ @daniel_k
I know.
I will try that as well. But your ISOs do not seem to work with the A352 AHCI controller for some reason. At least the first two attempts I tried. And I did not want to mix the two just now.
Maybe some drivers conflict with eachother?
I can choose the A352 in XP Iso Builder and did not have an issue.
I sure can test more ISOs, when it helps! :-)
Cheers,
schreiberstein

## Page 192

#2866 | daniel_k | ⇗ @schreiberstein, you must use my package as it is, with a clean ISO source. Otherwise you'll surely have issues.

#2867

schreiberstein

⇗ @daniel_k
Oh, I am getting a bluescreen after the first start now. A5
Was it not enough to put the acpi.sy_ into the i386 folder?
I suppose the original one got swapped in again.
Right?
Cheers,
schreiberstein
schreiberstein has attached images to this post ⇗ C4829A5B-322E-4565-ACA0-5

#2868 | daniel_k | ⇗ @diderius6, I've updated the files in the following post: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (149)
#2869 | daniel_k | ⇗ @schreiberstein, that's why I've sent you the package. ACPI.SYS must be replaced in SP3.CAB, otherwise Setup will restore the original version during last installation phase.

#2870

schreiberstein

⇗ @daniel_k
Oh, I am sorry.
I will create a new ISO from your package.
How can I be sure that the 8086:A352 will be loaded properly?
By the way, I suspect reboot might not work properly. During the installation when it attempted to restart, it would just hang the entire machine. Not even the reset button would work. Very strange.
Maybe this is just a side effect.
I will create a new ISO shortly.
Cheers,
schreiberstein

#2871 | Andalu | ⇗ @daniel_k no problem, I just have to say thank you ;) then there will be someone who will use the ram over 4GB for a ramdisk.

#2872

daniel_k

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2870

> How can I be sure that the 8086:A352 will be loaded properly?
> By the way, I suspect reboot might not work properly. During the installation when it attempted to restart, it would just hang the entire machine. Not even the reset button would work. Very strange.
> Maybe this is just a side effect

You'll see your HDD or SSD available as an installation drive.
Yes, it hangs sometimes, I believe that it is related to VGA driver, but only happens during Setup.
Just wait a few seconds and press the reset button, don't need to wait that long.
Here, with the driver for my GTX 980 installed, it has never happened.

#2873

schreiberstein

⇗ @daniel_k
Alright!
I had a look into the iaAHCI.inf file of your package and noticed that this is a different driver.
It does not have the list of device IDs (such as A352) in there and is newer (2017 vs 2012).
Maybe the new iaAHCI driver works if the ID is added somewhere.
Since this driver previously hasnt worked, I replaced it with the 2012 version.
I hope I have done it correctly. Simply overwritten the files.
I am burning the new ISO now from your package.
The AHCI driver I am using is Universal Intel RST Drivers+Software Set v11.2.0.1006mod+signed by Fernando .
It explicitly has the A352 as added by Fernando in the inf file.
Hope this will work.
Cheers and thank you,
schreiberstein

#2874 | daniel_k | ⇗ @schreiberstein, it doesn't have IDs, because it uses a PCI class code: CC_0106 = AHCI CC_0104 = RAID Which means all AHCI or RAID controllers from Intel (VEN_8086). Maybe my driver didn't work before because you were trying to install it in non-ACPI mode or legacy mode.
#2875 | schreiberstein | ⇗ @daniel_k Okay. I understand. :-) My attempt ended in a blank screen after it loaded the kernel. I am now burning an ISO that was created exclusively from your package. schreiberstein

#2876

schreiberstein

⇗ @daniel_k
Same result with the configuration from your package.
The screen goes black. The CDROM makes another noise.
NUM-led cannot be toggled.
No bluescreen, nothing.
Do you have any idea why this is happening?
Just out of curiosity, if I copied your SP3.CAB file into my Winfuture Iso Builder i386 folder, would the acpi.sys get replaced properly?
Or if I simply extracted the CAB, added the file and compressed it again?
I just want to see how much of the system will be usable and if all cores are detected, etc.
Maybe some other driver causes this during the installation.
I am happy to assist for troubleshooting and for improving your installation package. Don't worry. ;-)
Cheers,
schreiberstein :-)

#2877 | daniel_k | ⇗ @schreiberstein, strange, I have no idea. Maybe the USB drivers are causing issues? Anyway, yes, just copy my SP3.CAB and the install will surely proceed as that is where Setup gets the original file from.

#2878

diderius6

⇗ @schreiberstein
Try with a complete XP SP3 install from another compi
Dietmar
PS: For sure it is a device on your motherboard,
that does not like to work with XP. Disable everything in Bios, all what you dont need for install.
It is like training for XP^^.
EDIT: I noticed, that some devices arent any more in DSDT from XP friendly Bios of the nice EVGA dark z390 board.
In XP unfriendly Bios they stay in DSDT.

#2879

schreiberstein

⇗ @daniel_k
I managed to boot into my completed Windows XP installation after replacing the acpi.sys under system32/drivers manually using some psexec.exe magic on Windows 10.
Still black screen -> then I decided to boot with Enable VGA Mode and voila...
All 16 threads detected, only 904MB RAM, USB does not seem to work. No Standard VGA graphics card detected, etc.
Maybe the integrated headless Intel HD graphics confuses it. But I need it enabled for Mac OS X. It is used for rendering JPEGs and acceleration.
But I am so glad this acpi.sys patch did make such a dramatic difference.
Cheers,
schreiberstein
EDIT:
I was able to get the Intel I211 ethernet NIC (8086:1539) running with a driver I found here somewhere.
Connection established, ping works. Amazing. A bit of relief.
schreiberstein has attached images to this post ⇗ 3A830214-F4E5-4E18-A8E0-1 ⇗ 4AB76E2B-887C-460C-BEF7-D

#2880

diderius6

⇗ @Mov AX, 0xDEAD
I just installed Win8.1 32 bit on the Lenovo Flex 10 notebook. My modded Bios there likes now 32 bit a lot.
What crazy long time its need. I make a full XP SP3 install with all updates
and a lot of programs in 1/3 of this time^^.
On the Asrock fatal1ty z370 gaming k6 under Win10 64 bit I make a quick check for USB debug possibility.
There, nearly all ports can do debug via USB3.
On the Lenovo Flex 10 , at this short moment under win8.1, is one(!) port, that supports USB3 debug as viewusb from windbg 8.1 tells there.
But until now I do not succeed with windbg under XP SP3 on the Flex 10 as target, where the modified kdusb.dll stays in windows\system32.
Has the System on the Host (where the programm Windbg starts) also to be under win8.1 32 bit
Dietmar
EDIT: In next try, I look, if the Flex 10 can do USB3 debug at all. For this I try to enable normal USB3 debug with Win8.1 32 bit
on the Flex 10 as target.
EDIT2: In combination Win 8.0 32 bit (Target, compi Flex 10 that should be debugged) via
bcdedit /debug on
bcdedit /dbgsettings usb targetname:otto
and Host Win 10 64 bit (Compi, where Windbg runs) I get using usbview.exe the message "error: Enumeration failed" on both compis.
So I think, even usbview shows that USB Debug is possible on the Flex 10, it is just not true.
Now I update win8 -> win8.1 each 32 bit on the target Flex 10
and I put original English win8.1 32 bit on Host compi.
EDIT3: On the Flex 10 Notebook I have now Win8.1 32 bit german version (as target)
and on Asrock Win8.1 32 bit English original version (from which the new debug files are).
But Debug via USB3 seems not to work for the Flex 10 as target.
Here are the two files from usbview from Flex 10
and from usbview from Asrock board.
EDIT4: When I change Host <-> Target, USB debug works, see spoiler 3 here.

    [Port7] Enumerating

    Is Port User Connectable:         yes
    Is Port Debug Capable:            yes
    Companion Port Number:            1
    Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&1cecc9c3&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
    Protocols Supported:
     USB 1.1:                         no
     USB 2.0:                         no
     USB 3.0:                         yes

           ---===>Device Information<===---

    ConnectionStatus:                  Enumerating
    Current Config Value:              0x00  -> Device Bus Speed: Low
    Device Address:                    0x00
    Open Pipes:                           0
    *!*ERROR:  No open pipes!

              ===>Device Descriptor<===
    *!*ERROR:  bLength of 0 incorrect, should be 18
    bLength:                           0x00
    bDescriptorType:                   0x00
    bcdUSB:                          0x0000
    bDeviceClass:                      0x00  -> This is an Interface Class Defined Device
    bDeviceSubClass:                   0x00
    bDeviceProtocol:                   0x00
    bMaxPacketSize0:                   0x00 = (0) Bytes
    *!*ERROR:  Low Speed Devices require bMaxPacketSize0 = 8
    idVendor:                        0x0000idProduct:                       0x0000
    bcdDevice:                       0x0000
    iManufacturer:                     0x00
    iProduct:                          0x00
    iSerialNumber:                     0x00
    bNumConfigurations:                0x00
    *!*CAUTION:    Most host controllers will only work with one configuration per speed

    [Port19] Enumerating

    Is Port User Connectable:         yes
    Is Port Debug Capable:            yes
    Companion Port Number:            8
    Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&556f44c&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
    Protocols Supported:
     USB 1.1:                         no
     USB 2.0:                         no
     USB 3.0:                         yes

           ---===>Device Information<===---

    ConnectionStatus:                  Enumerating
    Current Config Value:              0x00  -> Device Bus Speed: Low
    Device Address:                    0x00
    Open Pipes:                           0
    *!*ERROR:  No open pipes!

              ===>Device Descriptor<===
    *!*ERROR:  bLength of 0 incorrect, should be 18
    bLength:                           0x00
    bDescriptorType:                   0x00
    bcdUSB:                          0x0000
    bDeviceClass:                      0x00  -> This is an Interface Class Defined Device
    bDeviceSubClass:                   0x00
    bDeviceProtocol:                   0x00
    bMaxPacketSize0:                   0x00 = (0) Bytes
    *!*ERROR:  Low Speed Devices require bMaxPacketSize0 = 8
    idVendor:                        0x0000idProduct:                       0x0000
    bcdDevice:                       0x0000
    iManufacturer:                     0x00
    iProduct:                          0x00
    iSerialNumber:                     0x00
    bNumConfigurations:                0x00
    *!*CAUTION:    Most host controllers will only work with one configuration per speed

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using USB for debugging
    Waiting to reconnect...
    USB: Write opened
    Connected to Windows 8 9600 x86 compatible target at (Fri Oct 11 18:31:49.092 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    *********************************************************************
    * Symbols can not be loaded because symbol path is not initialized. *
    *                                                                   *
    * The Symbol Path can be set by:                                    *
    *   using the _NT_SYMBOL_PATH environment variable.                 *
    *   using the -y <symbol_path> argument when starting the debugger. *
    *   using .sympath and .sympath+                                    *
    *********************************************************************
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
    Windows 8 Kernel Version 9600 MP (1 procs) Free x86 compatible
    Built by: 9600.17415.x86fre.winblue_r4.141028-1500
    Machine Name:
    Kernel base = 0x80e76000 PsLoadedModuleList = 0x81075418
    System Uptime: 0 days 0:00:00.804
    KDTARGET: Refreshing KD connection
    nvLDDMkm: Driver Registry Path = '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\nvlddmkm'
    nvAdapter:
     Device Registry Path =
    '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000'
    nvAdapter:
    nvAdapter:                    ***** CNvLAdapter* 8cfe9000 -> DriverModel is 0x1300 ******
    nvAdapter:
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run console kernel debugger) or,                       *
    *       CTRL+BREAK (if you run GUI kernel debugger),                          *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
    nt!DbgBreakPointWithStatus+0x4:
    80f73014 cc              int     3
    8: kd> lm
    start    end        module name
    77450000 775b9000   ntdll      (no symbols)
    803a4000 803b4000   kdcom      (deferred)
    80e1d000 80e76000   hal        (deferred)
    80e76000 8142a000   nt         (export symbols)       ntkrpamp.exe
    81800000 8180a000   Fs_Rec     (deferred)
    81830000 819d5000   Ntfs       (deferred)
    819d5000 819eb000   ksecdd     (deferred)
    819eb000 819f9000   pcw        (deferred)
    81c23000 81df3000   tcpip      (deferred)
    81e38000 81e80000   fwpkclnt   (deferred)
    81e80000 81e93000   wfplwfs    (deferred)
    81e93000 81f10000   fvevol     (deferred)
    81f10000 81f52000   volsnap    (deferred)
    81f52000 81f87000   rdyboost   (deferred)
    81f87000 81f98000   mup        (deferred)
    81f98000 81fa4000   intelpep   (deferred)
    81faf000 81fc6000   disk       (deferred)
    81fc6000 81ffd000   portcls    (deferred)
    82000000 8204a000   CLASSPNP   (deferred)
    8204a000 8205b000   crashdmp   (deferred)
    82092000 820b5000   cdrom      (deferred)
    820b5000 820bd000   Null       (deferred)
    820bd000 820c4000   Beep       (deferred)
    820c4000 820d0000   BasicRender   (deferred)
    820d0000 8210a000   netbt      (deferred)
    8210a000 82182000   afd        (deferred)
    82182000 821a5000   pacer      (deferred)
    821a5000 821b3000   netbios    (deferred)
    821b3000 821ed000   ks         (deferred)
    85229000 85290000   mcupdate_GenuineIntel   (deferred)
    85290000 8529c000   werkernel   (deferred)
    8529c000 852e6000   CLFS       (deferred)
    852e6000 85301000   tm         (deferred)
    85301000 85314000   PSHED      (deferred)
    85314000 8531d000   BOOTVID    (deferred)
    8531d000 85397000   CI         (deferred)
    85397000 853c8000   msrpc      (deferred)
    853c8000 853ff000   pci        (deferred)
    85425000 85481000   spaceport   (deferred)
    85481000 85492000   volmgr     (deferred)
    85492000 854df000   volmgrx    (deferred)
    854df000 854f5000   mountmgr   (deferred)
    854f5000 8550e000   storahci   (deferred)
    8550e000 8555d000   storport   (deferred)
    8555d000 85573000   EhStorClass   (deferred)
    85573000 855b9000   fltmgr     (deferred)
    855b9000 855cb000   fileinfo   (deferred)
    855cb000 855f0000   Wof        (deferred)
    85600000 85617000   pdc        (deferred)
    85623000 856b9000   Wdf01000   (deferred)
    856b9000 856c7000   WDFLDR     (deferred)
    856c7000 856d8000   acpiex     (deferred)
    856d8000 856e2000   WppRecorder   (deferred)
    856e2000 8574f000   ACPI       (deferred)
    8574f000 85758000   WMILIB     (deferred)
    85758000 857cf000   cng        (deferred)
    857d9000 857e1000   msisadrv   (deferred)
    857e1000 857ec000   vdrvroot   (deferred)
    857ec000 85800000   partmgr    (deferred)
    85831000 8586b000   WdFilter   (deferred)
    8586b000 85945000   ndis       (deferred)
    85945000 8599a000   NETIO      (deferred)
    8599a000 859c1000   ksecpkg    (deferred)
    8d600000 8d61a000   tdx        (deferred)
    8d61e000 8d768000   dxgkrnl    (deferred)
    8d768000 8d777000   watchdog   (deferred)
    8d777000 8d7c9000   dxgmms1    (deferred)
    8d7c9000 8d7d9000   BasicDisplay   (deferred)
    8d7d9000 8d7e9000   Npfs       (deferred)
    8d7e9000 8d7f4000   Msfs       (deferred)
    8d7f4000 8d800000   TDI        (deferred)
    8d800000 8d82c000   nvhda32v   (deferred)
    8d835000 8d88a000   rdbss      (deferred)
    8d88a000 8d8f9000   csc        (deferred)
    8d8f9000 8d905000   nsiproxy   (deferred)
    8d905000 8d910000   npsvctrig   (deferred)
    8d910000 8d91b000   mssmbios   (deferred)
    8d91b000 8d939000   dfsc       (deferred)
    8d948000 8d95c000   ahcache    (deferred)
    8d95c000 8d969000   CompositeBus   (deferred)
    8d969000 8d973000   kdnic      (deferred)
    8d973000 8d982000   umbus      (deferred)
    8d982000 8d9ef000   e1d6232    (deferred)
    8f800000 8f808000   NdisVirtualBus   (deferred)
    8f808000 8f809480   swenum     (deferred)
    8f80a000 8f814000   rdpbus     (deferred)
    8f814000 8f829000   drmk       (deferred)
    8f82b000 90671000   nvlddmkm   (deferred)
    90671000 90686000   HDAudBus   (deferred)
    90686000 906c9000   USBXHCI    (deferred)
    906c9000 906f4000   ucx01000   (deferred)
    906f4000 9071f000   TeeDriverW8   (deferred)
    9071f000 9077f000   e1i6332    (deferred)
    9077f000 90798000   i8042prt   (deferred)
    90798000 907a6000   kbdclass   (deferred)
    907a6000 907b2000   mouclass   (deferred)
    907b2000 907ca000   serial     (deferred)
    907ca000 907d4000   serenum    (deferred)
    907d4000 907dd000   wmiacpi    (deferred)
    907dd000 907f6000   intelppm   (deferred)
    907f6000 907fe000   acpipagr   (deferred)
    90a1a000 90a7b000   UsbHub3    (deferred)
    90a7b000 90a85000   USBD       (deferred)
    90a85000 90ad5000   HdAudio    (deferred)
    90ad5000 90adb980   HIDPARSE   (deferred)
    90adc000 90b20000   udfs       (deferred)
    90b20000 90b2b000   dump_diskdump   (deferred)
    90b2b000 90b44000   dump_storahci   (deferred)
    90b44000 90b57000   dump_dumpfve   (deferred)
    90b57000 90b62000   nvvadarm   (deferred)
    90b62000 90b6d000   monitor    (deferred)
    90b6d000 90b8a000   luafv      (deferred)
    90b8a000 90b9a000   lltdio     (deferred)
    90b9a000 90bae000   rspndr     (deferred)
    91e00000 9217b000   win32k     (deferred)
    921a5000 921ad000   TSDDD      (deferred)
    98e81000 98eb0000   cdd        (deferred)
    9de00000 9de19000   Ndu        (deferred)
    9de19000 9de2b000   mslldp     (deferred)
    9de34000 9deed000   HTTP       (deferred)
    9deed000 9df07000   bowser     (deferred)
    9df07000 9df18000   mpsdrv     (deferred)
    9df18000 9df6f000   mrxsmb     (deferred)
    9df6f000 9df9a000   mrxsmb20   (deferred)
    9dfb2000 9dfee000   mrxsmb10   (deferred)
    9f205000 9f2a6000   peauth     (deferred)
    9f2a6000 9f2b0000   secdrv     (deferred)
    9f2b0000 9f2e3000   srvnet     (deferred)
    9f2e3000 9f2f1000   tcpipreg   (deferred)
    9f2f1000 9f380000   srv2       (deferred)
    9f380000 9f3d6000   srv        (deferred)
    9f3d6000 9f3fb000   tunnel     (deferred)

    Unloaded modules:
    9df9a000 9dfb2000   WdNisDrv.sys
    9df9a000 9dfb2000   parport.sys
    8205b000 82066000   dump_storport.sys
    82066000 8207f000   dump_storahci.sys
    8207f000 82092000   dump_dumpfve.sys
    8d939000 8d948000   dam.sys
    857cf000 857d9000   WdBoot.sys
    81fa4000 81faf000   hwpolicy.sys

## Page 193

#2881 | daniel_k | ⇗ @schreiberstein, I see too many devices. Maybe more than XP can handle. Try to disable some (2 network controllers?!), for testing purposes. That's enough for today. Good night to everyone!
#2882 | diderius6 | ⇗ @schreiberstein I noticed in your Device Manager, that a lot of entries are just double. Disable the fake ones and most is done Dietmar

#2883

schreiberstein

⇗ @diderius6
Which devices do you mean?
I disabled all Other Devices I do not need (NVMe drives, wifi, bluetooth, etc)
Sometimes, USB works. I even got USB sound.
But after a reboot, USB is yellow again...
Is there something I can disable under System devices to free up ressources?
It is strange.
schreiberstein has attached images to this post ⇗ 181752D1-0E28-4F18-B413-7

#2884 | diderius6 | ⇗ @schreiberstein Some devices are double. Take a look at its Irqs in Device Manager (Ansicht->Resourcen nach Typ->Interruptanforderung) Dietmar

#2885

schreiberstein

⇗ @diderius6
Hmm...
It seems like all these devices are unique.
The bridges each have a different location
Number 10 cannot find enough free resources.
I think I have seen something similar in this thread.
Schreiberstein
schreiberstein has attached images to this post ⇗ 6CEDFA41-E15F-4AF5-AFB3-E

#2886

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2880

> My modded Bios there likes now 32 bit a lot.

Is this bios 32-bit UEFI? If so, I am very curious if WinXP 32-bit starts under UEFI with vista beta 6.0.5219.0 32-bit files.

#2887 | infuscomus | ⇗ @Andalu concerning more than 4GB RAM and XP, you can try this Get upto 128GB with PAE in Windows XP 32bit ⇗ https://www.betaarchive.com/forum/viewtopic.php?f=61&t=36597

#2888

Andalu

⇗ @infuscomus
Many thanks for your help ;)
I already knew that patch. I tried it one more time but I got blank screen as always on my B250M Pro4 board.
It will seem incredible but on the crazy B75Pro3M board the 'chinese patch' works fine with the amd modded driver (at least until the pc is not shutdowned and at the same time the power is not turned off for over one minute).
Instead, on my B250M Pro4 board the 'chinese patch' doesn't work when the amd modded drivers are installed. With the acpy.sys 5048 only and no amd modded drivers, the system correctly recognize more than 4GB and I have not the issues reported at ¶ #2637.
I have six motherboards but in no one I can get the USB3 fully functional with the possibility to use more than 4GB of ram without problems.
I'm still looking for the right combination before I go crazy.... :D

#2889

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #2848

> @Mov AX, 0xDEAD
> I find small error in description:

Fixed, thanks!

#2890 | infuscomus | ⇗ @Andalu just a suggestion, try doing a fresh install with the RAM patch? I have had better luck getting the RAM patch to work by nlite-ing it into an ISO and doing a fresh install than trying to patch an existing install.

#2891

schreiberstein

By the way, how does the limit of ~900MB come about? What is reserving so much memory?
I am considering creating a Server 2003 ISO to check if the behavior is similar to XP. Maybe 2003 works better. I always had a high opinion of it.
Is there any chance the acpi.sys is compatible with Windows 2000 SP4 (NT 5.0)?
Cheers,
schreiberstein

#2892

infuscomus

⇗ @schreiberstein
I may be wrong about this, but I believe Microsoft introduced an artificial limit to RAM in SP1 or SP2 because badly programmed device drivers did not handle 4GB of RAM properly.
I think XP SP0 has access to all 4GB of RAM.
Check the hal.dll and ntoskrnl.exe of Windows 2000 SP4 with dependency walker and see if patched acpi 5048 has any missing imported functions, if it's all green and no red then it should work.
edit:
ntoskrnl 2000 missing
InterlockedPopEntrySList
InterlockedPushEntrySList
HeadlessDispatch
ExfInterlockedCompareExchange64
so I doubt it's ever going to work

#2893

tarsonis

> Zitat von ⇗ diderius6 im Beitrag ¶ #2820

> @tarsonis
> Most easy is to use from commandline
> makecab acpi.sys
> this gives you acpi.sy_
> This you put to i386 folder for nlite to make CD XP SP3.
> The same for storport.sys.
> Then you integrate Txtmode via nlite driver STORAHCI from ⇗ @skullteria .
> No need to integrate USB files if you have a PS/2 connector
> Dietmar

So I did it wrong putting the *.sy_ after nlite finalize the setup files? The *.sy_ files need to be put in the XP folder before one selects it as source for nlite?
The storport.sys file that is included in the STORAHCI driver from ⇗ @skullteria is the correct one?
Do I need to select a processor type (F7) for the setup and is "ACPI Multiprocessor" correct for the Ryzen 1800x?
I have no PS/2 connector on the CH6 x370.

#2894

XPLives

> Zitat von ⇗ daniel_k im Beitrag ¶ #2858

> Patched ACPI.SYS files now supporting Z390 boards.

Daniel_K
I've been testing your Z390 ACPI mod for close to half a day.
You've finally fixed the biggest issue that you already fixed in your previous XP / 2003 64-Bit ACPI mod that I mentioned.
The Device Manager now shows the Video Card! Congrats!!! No BIOS Modding required.
First time ever in 32-Bit XP and 2003 it now shows the Video Card with ACPI on Coffee Lake.
Video drivers now install without any issues now that the video card is present. Huge success otherwise XP is handicapped.
From what I can tell your 64-Bit earlier ACPI.sys mod now matches in functionality on the new 32-Bit Z390 Mod.
I will add your MOD to the ACPI Drivers Depot so it is easier to locate for people from almost 3000 messages in this bloated thread.
⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
[Possible Last ACPI related issues left to fix]
But there still exists problems which only happen under both of your 32-Bit and 64-Bit mods which I cannot explain why.
I think so far ACPI functionality is about 80% fully working and almost 100% soon without any BIOS modding.
I do not know if you are a gamer or not but if you use MAME you can test to verify if it happens on your system.
Test any arcade game in MAME to see if it freezes once any audio begins to play.
So far this is the most consistent problem that hasn't been resolved.
Other problems found in other XP Games too. Crysis 1 Game Demo will freeze with audio stuttering loop so you must end the task in Task Manager.
I tried both PCI and USB Audio devices and this made no difference so it is not a USB related issue.
I also tested HDMI Audio out and the problem still exists in MAME.
Once this is done I think XP is 100% Alive in ACPI. You should be proud of what you accomplished with this recent Z390 Mod.
Maybe this BSOD Error on my Z370 may help solve other ACPI issues.
`0x000000A5 (0X00000011,0X00000008,0XF6F84218,0X20160422)`
Thank you!

#2895

daniel_k

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2891

> By the way, how does the limit of ~900MB come about? What is reserving so much memory?
> I am considering creating a Server 2003 ISO to check if the behavior is similar to XP. Maybe 2003 works better. I always had a high opinion of it.
> Is there any chance the acpi.sys is compatible with Windows 2000 SP4 (NT 5.0)?
> Cheers,
> schreiberstein

Being a premium motherboard, it has too many onboard devices, that explains the "no enough free resources" and just 900MB of available RAM on XP.
Remember that those modern systems are optimized for new OSes, which handle resources differently.
Try Server 2003 Enterprise or Datacenter, as the Standard doesn't support PAE without hacking it, may help with the RAM, but I highly doubt about it helping with the lack of resources.

## Page 194

#2896

diderius6

⇗ @XPLives
The BSOD A5 (0x11,..) can have a lot of different reasons.
This new acpi.sys (see post) solves 50% of them. This is the best acpi.sys for now, that we have for XP SP3 (any compi).
If you get after this acpi.sys BSOD A5 (0x2001,..) it is another serious problem, because then there is a major other reason, why this compi cant enable Acpi mode (and even not MPS Multiprocessor mode without any Acpi)
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#2897

XPLives

⇗ @infuscomus,⇗ @schreiberstein

> Zitat von ⇗ infuscomus im Beitrag ¶ #2892

> I may be wrong about this, but I believe Microsoft introduced an artificial limit to RAM in SP1 or SP2 because badly programmed device drivers did not handle 4GB of RAM properly.
> I think XP SP0 has access to all 4GB of RAM.
> so I doubt it's ever going to work

4.00GB of RAM for XP SP0/SP1
compared to
3.15GB of RAM on SP2/SP3.

> Zitat von ⇗ infuscomus im Beitrag ¶ #2892

> Check the hal.dll and ntoskrnl.exe of Windows 2000 SP4 with dependency walker and see if patched acpi 5048 has any missing imported functions, if it's all green and no red then it should work.
> edit:
> ntoskrnl 2000 missing
> InterlockedPopEntrySList
> InterlockedPushEntrySList
> HeadlessDispatch
> ExfInterlockedCompareExchange64

Maybe you can find a dependency substitution/workaround?
BlackWingCat team up?

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2891

> By the way, how does the limit of ~900MB come about? What is reserving so much memory?
> I am considering creating a Server 2003 ISO to check if the behavior is similar to XP. Maybe 2003 works better. I always had a high opinion of it.
> Is there any chance the acpi.sys is compatible with Windows 2000 SP4 (NT 5.0)?
> Cheers,
> schreiberstein

900MB free OS Base Memory? Most likely due to integrated Intel HD Graphics Shared Memory Setting hogging it. If it is set to Auto it will use up to 2.5GB in some cases.
Go to your BIOS and look for the option to adjust the Shared Video Memory to the lowest possible. On Ivy Bridge you can go down to 32MB. On Coffee Lake I think they increased it to like 128MB minimum so it hogs more but at least better than 1.5GB->2.5GB default. If I knew how to BIOS Mod and change the Shared Memory setting I would change it to 32MB minimum since there is no XP driver support so any more memory is stolen from XP is completely wasted. You cannot increase the OS base memory > 4.00GB. Only Server 2003 can allow better OS memory utilization. This is why I do not trust those XP memory hacks for 128GB. I do not know what side effects can happen or how they modified and if it is safe. One time I heard someone's USB hard drive got corrupted.
But since you plan on using GTX 780 for GPU for Hackintosh/XP then you should change the Shared Memory setting down to the lowest possible in BIOS to prevent XP from getting robbed of OS Base Memory to use.
Best memory I recorded was XP SP0/SP1 with PAE 4.00GB claimed.
I think even with Intel HD Graphics Shared Memory usage it doesn't affect it because XP can utilize up to 4.00GB so as long as it stays within that range it is not robbed. XP SP2/SP3 stopped that and made it worse. Otherwise even XP probably could use up to 2.0GB -> 4.0GB? max shared memory on Intel HD Graphics 4000 and have 4.00GB free on SP0/SP1 as long as you had 8GB installed then you'd have 4.00GB for OS base memory and 4.00GB for Intel HD Graphics 4000 Shared Memory. Would be the best integrated graphics usage for XP if BIOS Modded option to add up to 4.00GB Shared Memory.
That was one reason I was testing XP SP0 Slim for smaller footprint install size and most OS memory available. This can be as low as 21.25% extra memory which is about 1/5 bonus. (4.00GB vs 3.15GB->3.21GB) typically in SP0/1 vs SP2/SP3.
Only issue is less compatibility with some programs that want SP2/SP3. Otherwise the best option is to jump to Server 2003 instead and utilize all memory up to 64.0GB for 32-Bit. or > 64GB for 64-Bit.
It is unlikely Windows Vista Beta ACPI will work on Windows 2000. I tested before Windows XP SP0 ACPI on Windows 2000 SP4 and it BSOD. So missing dependencies for backward compatibility. Somehow Vista Beta ACPI is probably XP compatible and not changed enough to cause a problem. ACPI.sys is only forward compatible. XP ACPI.sys works on 2003. 2000 ACPI.sys also worked on both XP and 2003. That is why before I asked if anyone knew how to modify Windows 2000 ACPI then it will work for all three Operating systems with full ACPI due to forward compatibility.

#2898

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2896

> @XPLives
> The BSOD A5 (0x11,..) can have a lot of different reasons.
> This new acpi.sys (see post) solves 50% of them. This is the best acpi.sys for now, that we have for XP SP3 (any compi).
> If you get after this acpi.sys BSOD A5 (0x2001,..) it is another serious problem, because then there is a major other reason, why this compi cant enable Acpi mode (and even not MPS Multiprocessor mode without any Acpi)
> Dietmar

That BSOD A5 was using default 32-Bit 2003 ACPI.SYS UnModded on Z370 UnModded BIOS. I thought maybe useful to know if this was different BSOD A5 error than other Z370 or Z390 people tested to compare.
No BSOD so far with recent Daniel_K Z390 ACPI.SYS mod. Seems very stable.
So far Shutdown works normal. Restart always works in ACPI/NO ACPI.
I just now test Stand By Mode for 1 minute and try to wake.
Update:
Ooops... Okay I found out Stand By mode cannot wake up properly.
PS/2 Keyboard - No Effect.
USB Mouse - No Effect.
Power On Button - Turns on but Black Screen and no return to XP Desktop. So I guess this is a FAIL for ACPI feature. But I am glad Shutdown does work however.
Only main issues with Audio playing in MAME games and possibly some DirectX9 titles like Crysis 1 and others like it could happen.
That same issue existed on the earlier Daniel_K Z390 64-Bit (XP/2003) ACPI.SYS mod.
Now DK's recent 32-Bit version matches the 64-Bit version and now I can finally see the Video Card in Device Manager which could not before with earlier ACPI.SYS mods I tested from here.
So it is a huge breakthrough for XP/2003 32-Bit ACPI on 10-10-19.
I think it is very close to getting to 100% without BIOS mod. I say 80% but maybe I am too optimistic.
So far if the Audio problems can be fixed then I can test further any other strange anomalies/bugs to be found.
You should try the Daniel_K Z390 ACPI.SYS MOD with Standard Flashed UnModded Factory BIOS to see if this happens on your Z390 EVGA Dark?
Does EVGA Dark Z390 work fine without any BIOS MOD or ACPI.SYS Mod already from default?
Is your ACPI.SYS attachment different than Daniel_K version? Maybe you can merge both together if yours fixes Stand By and Audio problem?

#2899

skullteria

> Zitat von ⇗ daniel_k im Beitrag ¶ #2858

> Patched ACPI.SYS files now supporting Z390 boards.

Hey my friend, this version of ACPI already is patched to fix winload.exe load Windows XP? Can you test with x64 too?

#2900

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2883

> @diderius6
> Which devices do you mean?
> I disabled all Other Devices I do not need (NVMe drives, wifi, bluetooth, etc)
> Sometimes, USB works. I even got USB sound.
> But after a reboot, USB is yellow again...
> Is there something I can disable under System devices to free up ressources?
> It is strange.

Wow you should go into F8 Safe Mode and see if those are still present. Delete the duplicates and reboot back to normal desktop to see if they went away. That should clear them and you will have new pop ups asking for install the driver. You can hold down the ESC key to bypass all the windows and check the Device Manager again any change. Should remove any duplicates.
Hey anyone else see this device in their Device Manager on Z370 or Z390?
"PCI Data Acquisition and Signal Processing Controller"?
Schreiberstein can you go into Details and Get a Text Copy of all the Hardware IDs for each category of that device?
Device Instance ID:
Hardware IDs:
Compatible IDs:
Matching Device ID:
I am curious what this device is as it has never shown before on any Intel system I have.

#2901

tarsonis

Any advice on this?

> Zitat von ⇗ tarsonis im Beitrag ¶ #2893

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2820

> > @tarsonis
> > Most easy is to use from commandline
> > makecab acpi.sys
> > this gives you acpi.sy_
> > This you put to i386 folder for nlite to make CD XP SP3.
> > The same for storport.sys.
> > Then you integrate Txtmode via nlite driver STORAHCI from @skullteria .
> > No need to integrate USB files if you have a PS/2 connector
> > Dietmar

> So I did it wrong putting the *.sy_ after nlite finalize the setup files? The *.sy_ files need to be put in the XP folder before one selects it as source for nlite?
> The storport.sys file that is included in the STORAHCI driver from @skullteria is the correct one?
> Do I need to select a processor type (F7) for the setup and is "ACPI Multiprocessor" correct for the Ryzen 1800x?
> I have no PS/2 connector on the CH6 x370.

#2902

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2879

> EDIT:
> I was able to get the Intel I211 ethernet NIC (8086:1539) running with a driver I found here somewhere.
> Connection established, ping works. Amazing. A bit of relief.

Can you upload this Intel I211 ethernet NIC XP driver? I want to test it if you can ping that's amazing and sounds like it is working.

#2903 | diderius6 | ⇗ @skullteria I just make this in acpi.sys from post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (194) Dietmar

#2904

schreiberstein

⇗ @XPLives
I can sure do that. I am sure I got them from somewhere around here.
I will look for them later today.
Very interesting results regarding missing dependencies for 2000 SP4. Maybe this will be possible someday. I have no experience with Windows Kernel hacking.
Right now, I am creating a Server 2003 i386 Enterprise ISO file for my system, but I am at a loss how to create the SP2.cab file using makecab.exe . :-(
I cannot find an example anywhere on the internet, even though I suppose tools like nLite use them internally.
From what I read, there are certain headers in these files and perhaps the XP setup expects something specific.
It could be possible that 2003 works much better than XP on my system.
Once I am home, I will also install the GeForce 780 in there.
I will keep you all posted.
Cheers,
schreiberstein
EDIT: The driver I used (found somewhere in this thread):
f45t4093p64633n2_tjinwYpq.rar
---> Original link: ⇗ https://files.homepagemodules.de/b602300...n2_tjinwYpq.rar
Contains "i211lan"
The driver works 100%. Gigabit full-duplex negotiated, Internet Explorer 6 worked, ...

#2905

Doc.Brown

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #2847

> > Zitat von ⇗ diderius6 im Beitrag ¶ #2844

> > @Doc.Brown
> > Waaoh, that means I found exact the place for BSOD 0x10006 in DSDT and repair it there.
> > So much good news today!!! Now XP will run on ALL x390 boards, Apex XI and so on with this mod.
> > Last days I compare soso many DSDTs. And they are all the same. Manufacturers deleted important information in DSDT
> > and because of that XP crashes. XP works very strict in translating DSDT.
> > The problem with second acpi Bsod is,
> > that crazy XP just reinstalls its own original acpi.sys in windows\system32^^.
> > Just copy modded acpi.sys there again.
> > The other Bsod happens,
> > because XP does not like a device on the gene XI board.
> > Sometimes you can overcome this hitting F8 (Safe Mode).
> > Try to disable as much devices as you can in Bios. Later you can activate them again.
> > If this does not help,
> > use an XP install from another compi,
> > Dietmar
> > PS: With lan Debug from @Mov AX, 0xDEAD we now can find the device, which crashes.

> Yep it's a really good news being able to go forward in the installation process,you make it happen :)
> I already tried F8 for Safe Mode and it also result in BSOD unfortunately
> I try to copy ACPI.sys and a fresh install on X299 Rampage Apex(I already have a ghost of previous test) tomorrow ;)

⇗ @diderius6
New update from my investigation today:
I copy last Z390 ACPI.sys in System32/drivers after installation error from yesterday but installation restart always at this point(device installation) so bug comes again and again
After that I used a ghost made before on X299 with older acpi5048,changed for last Z390 ACPI.sys in windows directory and was able to boot (only) in Safe Mode,under XP some drivers like USB and AHCI A352 by Fernando pop-up for instal,in the end only one driver doesn't instal properly and it linked with ACPI as you can see on those capture:
⇗
⇗
Don't know if it could help
After that I tried a fresh instal on X299 with last Z390 acpi.sys but when I switch on Gene I've got 7B BSOD this time
⇗
Tried also lot of combination for build the iso but instal process always stop same as yesterday,I think there's something deeper again with this board cause I disabled all useless device in bios(audio,lan ...).
Thanks for your help :)

#2906

diderius6

⇗ @Doc.Brown
This can be solved, I have done.
But you need other compi and from there integrate the *.reg files
for the STORAHCI.sys driver into the registry of your new XP made X299.
Take also a look, if storport.sys is still in windows\system32\drivers
Dietmar
PS: You also can integrate the STORAHCI driver direct on X299 registry.
Copy STORAHCI.sys into windows\system32\drivers on running x299 compi,
storport.sys in windows\system32\drivers
and click just on the storahci.reg file from this post
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59)

#2907

daniel_k

⇗ @schreiberstein, to build SP2.cab
Unpack original to C:\SP2 and replace desired files.
Extract attached file to the same folder.
Open a command prompt, switch to C:\SP2 and type:

    makecab /f sp2.ddf

Cabinet will be created as C:\SP2\CAB\SP2.CAB
Makecab is available from Vista and later.

#2908

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2906

> @Doc.Brown
> This can be solved, I have done.
> But you need other compi and from there integrate the *.reg files
> for the STORAHCI.sys driver into the registry of your new XP made X299.
> Take also a look, if storport.sys is still in windows\system32
> Dietmar
> PS: You also can integrate the STORAHCI driver direct on X299 registry.
> Copy STORAHCI.sys into windows\system32\drivers on running x299 compi,
> storport.sys in windows\system32
> and click just on the storahci.reg file from this post
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59)

I already integrate these via Nlite during iso build process but ok I try it from my previous x299 ghost ;)
Thanks

#2909 | diderius6 | ⇗ @Doc.Brown Then I think, storport.sys isnt any more in windows\system32\drivers Dietmar

#2910

Mikedebian

I have a question about GPU. Now that I have XP running I also gave some legacy dos apps that require full screen and cannot be run in a window. If window, it renders fine. If full screen the screen is black. I suspect this might have to do with my GPU in XP having no driver installed (it just works TM). I heard that the latest that was fully supported in XP is the 980Ti. This would solve my desktop being accelerated, but would it also sole full screen legacy apps not working? I tried to replace the videoer.sys, but that just resulted in a blue screen one XP started up and tried to render the login window.
Thank you... I would very very much like help with this.

## Page 195

#2911 | XPWELL64 | I'll hack Windows XP and Windows Vista drivers.
#2912 | XPWELL64 | Other people are hacking Win7 drivers. We will hack Windows Vista Drivers.

#2913

schreiberstein

I wish there were a way to get the Radeon RX 580 working on Windows XP.
But I doubt that the Radeon HD 7xxx drivers can be patched to make it working.
Else, these Linux kernel folks wouldnt have had such a hard time implementing all the changes with every new GPU generation, especially concerning powersaving, firmware blobs, etc.
Maybe I will try a PCI ID transplant sometime.

#2914 | XPWELL64 | I will patch ivy bridge drivers to work Intel HD 5500 on Windows Vista. I will patch igdkmd64.sys to do this.
#2915 | XPWELL64 | I will learn how to use ida pro and I will patch drivers.

#2916

tarsonis

OK, I made a new XP setup iso and tested it again. This time I've overwritten the acpi.sy_ and storport.sy_ before I started the nlite processing..
selecting "Standard PC":
1.Try = "the file STORAHCI.sys" is corrupted."
2.Try= 7B error
selecting "MPS Multiprocessor"
1.Try = Freeze on setup is loading dialog
selecting "AHCI Multiprocessor"
1.Try= 7B error
I have found that one needs to replace those files also in the SP3.cab too is it right? I have no SP3.cab in the setup files. But a driver.cab. Should I replace the acpi.sys and storport.sys in the driver.cab too?

#2917

skullteria

> Zitat von ⇗ tarsonis im Beitrag ¶ #2916

> OK, I made a new XP setup iso and tested it again. This time I've overwritten the acpi.sy_ and storport.sy_ before I started the nlite processing..
> selecting "Standard PC":
> 1.Try = "the file STORAHCI.sys" is corrupted."
> 2.Try= 7B error
> selecting "MPS Multiprocessor"
> 1.Try = Freeze on setup is loading dialog
> selecting "AHCI Multiprocessor"
> 1.Try= 7B error
> I have found that one needs to replace those files also in the SP3.cab too is it right? I have no SP3.cab in the setup files. But a driver.cab. Should I replace the acpi.sys and storport.sys in the driver.cab too?

Its seem or really storachi is corrupted or storport is missing.

#2918

Doc.Brown

⇗ @diderius6
So I tried what you told me under the x299 for Storahci,storport and the reg file,first boot after switching under the Z390 I had to replace the acpi.sys cause I had BSOD for non ACPI compliant bios and after replaced it by the last acpi5048 I had like yesterday :
⇗
This is for normal boot,Safe Boot is OK but always the same Microsoft ACPI Compliant Controller wich Install Manager ask to install,perhaps it's because of the replacement of acpi.sys after installation process don't you think ? If I install XP under X299 with a patched SP3.cab with the good acpi.sys into perhaps I will not have to replace it after switching on Z390 ?
I tried many things again like mode diag,maxmem or pci lock for nothing but this time I saw desktop for 10 secondes before BSOD many times.
Another thing that seems strange is that after switching on z390 and boot in Safe Mode the device manager always have the Intel 7740X listed and not the 8700K ...

#2919 | diderius6 | ⇗ @Doc.Brown Disable in Bios nearly everything. Disable via F8 Safe Mode in Device Manager nearly everything. Then boot with F8 and chose there VGA Dietmar
#2920 | dencorso | ⇗ @schreiberstein: Since you're using a 16-thread processor, you should be running hal.dll v. 5.1.2600.5687... In case you're not, do install 1st ⇗ https://web.archive.org/web/201612291648...en-us/kb/951126 and then ⇗ https://web.archive.org/web/201004240853...t.com/kb/958244 or just the latter. I do have the ENU hotfixes but not the DEU ones, but I'm confident you can find them easily. If not, let me know, and I'll help you locate them.

#2921

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #2890

> @Andalu
> just a suggestion, try doing a fresh install with the RAM patch?
> I have had better luck getting the RAM patch to work by nlite-ing it into an ISO and doing a fresh install than trying to patch an existing install.

So did you apply the patch successfully? Which one did you use?
I didn't have the same luck even with a fresh XP install and the Dibya's patch slipstreamed with nLite. This time the XP boot is completed but as soon as the amd usb3 drivers are installed the mouse attached to usb2 port hangs and the usb3 ports don't recognize the devices. Even the shutdown no longer works.
I don't know what else to try...

#2922 | daniel_k | ⇗ @Doc.Brown, desktop boards usually have very similar DSDT tables. Are you still running diderius6's modded BIOS? I think you should try to flash a stock, original BIOS from ASUS. Sometimes diderius6's changes may conflict with my patched ACPI.SYS.
#2923 | infuscomus | ⇗ @Andalu there are USB drivers included in dibya's archive, try replacing them in c:\windows\system32\drivers with dibya's versions
#2924 | infuscomus | ⇗ @dencorso can i get a copy of that hotfix for hal.dll?

#2925

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #2923

> @Andalu
> there are USB drivers included in dibya's archive, try replacing them in c:\windows\system32\drivers with dibya's versions

I had already replaced those files, no results

## Page 196

#2926

IntiMD

> Zitat von ⇗ infuscomus im Beitrag ¶ #2924

> can i get a copy of that hotfix for hal.dll?

⇗ KB951126
⇗ KB958244

#2927

lsmlcx

I make a new amd modded driver for intel xhci for xp.
It looks like it works better.

lsmlcx has attached files to this post

- ⇗ AMD_XHCI_For_Intel_XP_x86_x64_20191012.zip

#2928 | infuscomus | ⇗ @lsmlcx what changes did you make to it?
#2929 | lsmlcx | ⇗ @infuscomus I saw the previous driver, you changed to Jump 7812, 7814, 7914 on the AMD's 1022 ID, and then no judgment. Total three places. I now jump directly to the 7812, 7814, 7914 where the 1022 detection is detected.

#2930

infuscomus

⇗ @Andalu
try this,
copy ntkr128g.exe and hal128g.dll to c:\windows\system32
make a backup of original boot.ini
replace boot.ini contents with paeboot.ini contents
hopefully this works
infuscomus has attached files to this post

- ⇗ Windows_XP_128GB_double_pae_addon_final_byDibya.7z.zip

#2931

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2919

> @Doc.Brown
> Disable in Bios nearly everything.
> Disable via F8 Safe Mode in Device Manager nearly everything.
> Then boot with F8 and chose there VGA
> Dietmar

Ok ⇗ @diderius6 I will try this,thanks for the tips ;)

> Zitat von ⇗ daniel_k im Beitrag ¶ #2922

> @Doc.Brown, desktop boards usually have very similar DSDT tables.
> Are you still running diderius6's modded BIOS? I think you should try to flash a stock, original BIOS from ASUS.
> Sometimes diderius6's changes may conflict with my patched ACPI.SYS.

⇗ @daniel_k yep I'm still using modded bios cause for now it's better than stock with your previous acpi5048(remove BSOD before disk scan for install) BUT I didn't try with your last ACPI patched for Z390,I have to test that also ^^
For now I'm trying to adapt your sp2.ddf file to change acpi.sys in my SP3.cab and make the cab,so I compare file names,remove those aren't in SP3.cab and add missing ones.

#2932

diderius6

⇗ @Doc.Brown
I succeed to simulate your BSOD.
About 10 seconds is XP there and then the BSOD with your number.
This I never had before.
It seems to happen, when the Fernando iastor.sys and the Skullteria STORAHCI.sys comes in conflict.
One starts the harddisk and then the other gets loaded also, which gives BSOD
Dietmar
⇗

#2933 | XPWELL64 | Today, I'm modding Intel HD Graphics for Windows XP. I found important string in igxpmp32.sys. I found some infos about Intel HD Graphics for Haswell .sys in IDA Pro.
#2934 | XPWELL64 | There is a "Haswell Mobile Graphics Controller" function in .sys

#2935

schreiberstein

I was busy tinkering with the system yesterday - here are my findings so far:
(I inserted a GeForce GTX 780 to act as a second GPU, selected it to be primary in BIOS. It works properly. The XP nVidia driver picks it up)
--> I created my own installation media for Windows Server 2003 R2 x86 Enterprise
-> Integrated acpi.sys into SP2.cab
-> Integrated AHCI, LAN, USB and USB HUB driver (split the package into two directories so Winfuture Iso Builder would not complain about the directory being 'included twice')
-> Installation went flawlessly
-> Server 2003 has PAE enabled and allows me to use ~31.1 GB (some odd number) of RAM
-> USB never worked once. Not even when I manually installed the INFs from the original package again. It only detects two Intel XHCI 3.1 controllers, not the long list of controllers.
-> Was unable to install nVidia Drivers due to .NetFramework bloat not being able to downloaded automatically by its stupid installer
-> Was able to extract it and installed the nv4_display.inf instead
-> Direct3D did not work, probably something Server 2003 related
-> NTVDM (16 Bit applications such as edit.com) works, also with nVidia drivers enabled
-> Reboot and shutdown always worked
I installed the unoffical SP4 for Windows XP as well to make sure some of this machine's issues is not caused by the lack of Windows updates
However, there are some pretty serious flaws right now:
-> The system just not feels right. Some things hang for a second.
-> NTVDM does not work for some reason - trying to execute edit.com does nothing - just if I had pressed ENTER in the prompt. The 1990s game installers I tried were unable to run because of that - Event viewer showed this:The application, C:\WINDOWS\system32\ntvdm.exe, generated an application error The error occurred on 10/11/2019 @ 17:20:09.312 The exception generated was c0000094 at address 0F01759D (ntvdm!RegisterWOWIdle)
- USB works on every third boot attempt on Windows XP
- No modern web browser works: Chromium 54, Firefox ESR, Palemoon open, I can type something and then the changes to the text will not be visible after a few keystrokes. Sometimes I can see a page, but the UI is broked. The application never crashes or shows an error. I can quit the application any time pressing X. No unresponsiveness. Chromium wrote nothing suspicious into its debug log (started it with special parameters). It seems like the window simply stops redrawing itself. Nothing suspicious in event viewer either.
- "Modern" XP DirectX 9 XP games seem to work, however it feels like the system has some minor micro stuttering, but this might be due to the game, I don't know.
- In case USB was not detected properly, shutdown and reboot will not work. The system simply HALTS there.
- My Athlon 64 939 system from 2005 feels more responsive and "BOOM" for some reason, despite having a quadruple times less "BOOM" when it comes to clock and bus speeds.
- Deactivating devices in Device Manager does not seem to make a difference - I suspect this one, exclamation-marked yellow PCI bridge with "Not enough resources" is to blame.
- Executing AIDA32 system profiler hangs the entire system when it says "Reading MSR" or something like that.
---> I am looking for a tool like HWINFO that allows me to export all the device information so I can share them here
Btw. It seems like only Windows 10 works flawlessly on this machine. (yet)
I installed the modified Intel Z390 USB drivers on my Windows 7 x64 test system and they worked.
The graphics "hang" with the ATI card when it is a bit busy. Like stuttering, Aero effects hanging. And then the mouse (PS/2 and USB) will not be very responsive, like on a system in VESA mode when too many interrupts are fired.
Source: ⇗ [Solution] Win7 drivers for USB 3.0/3.1 Controllers of new Intel chipset systems
At least USB worked on every boot in Windows 7.
Overall, I am very disappointed at Intel/the industry for not caring about backwards compatibility. Not even for Windows 7.
It is bizzare that Apple Mac OS X works better and faster on this system than any version of Microsoft Windows.
Cheers,
schreiberstein

#2936 | diderius6 | ⇗ @Doc.Brown May be, it is the fault of the iastor.sys driver version 11.2.0.1006 for Intel. Ask ⇗ @daniel_k which driver is best for Intel AHCI now Dietmar

#2937

IntiMD

⇗ @Doc.Brown
FYI here are the Intel RSTe driver backports for XP by daniel_k
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (110) - RSTe 4.6.0.1085 x86
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (118) - RSTe 4.6.0.1085 x64
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (115) - RSTe 4.7.0.1098 x86
For x86 NT5.2 systems, you might want to comment out the following entries just like this:

    [SourceDisksFiles.x86]
    iaStorA.sys = 1,,,
    iaStorF.sys = 1,,,
    ; storport.sys = 1,,,
    ;

and

    [iaStorA_inst.ntx86]
    CopyFiles=@iaStorA.sys
    CopyFiles=@iaStorF.sys
    ; CopyFiles=@storport.sys
    ;

PS. forgot to mention, they don't contain the TXTSETUP.OEM file, so you can't slipstream it in first stage text setup.

#2938

diderius6

⇗ @Doc.Brown
I set up a Windbg session for this BSOD.
The BSOD goes to acpi.sys.
A device, which is loaded late in bootprocess is not ACPI compatible.
And because of this, during first install, you get the 10 sec with full ACPI XP,
because this device is not yet installed from XP SP3 from other compi.
When it goes installed, you get this BSOD.
And this device does not start in Safe Mode (F8),
and because of this you do not get BSOD there
Dietmar
PS: It is not iastor.sys, it is not STORAHCI,
just another device, which I do not found until now,
even I disabled in Bios and via Device Manager really ALL.
Here is the debug printout, with its help we will find the reason:))

    nt!IoInvalidateDeviceRelations+9
    80a2b5e1 8b86b0000000 mov eax,dword ptr [esi+0B0h]

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Sat Oct 12 17:10:30.031 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
    Built by: 2600.xpsp.080413-2133
    Machine Name:
    Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
    System Uptime: not available
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Sat
     Oct 12 17:10:32.296 2019 (UTC + 2:00): MM: Loader/HAL memory block
    indicates large pages cannot be used for 80A02000->80D8DFFF
    Sat Oct 12 17:10:32.296 2019 (UTC + 2:00):
    Sat
     Oct 12 17:10:32.312 2019 (UTC + 2:00): MM: Loader/HAL memory block
    indicates large pages cannot be used for 80100000->8012777F
    Sat Oct 12 17:10:32.312 2019 (UTC + 2:00):
    Sat
     Oct 12 17:10:32.328 2019 (UTC + 2:00): MM: Loader/HAL memory block
    indicates large pages cannot be used for 81D43000->82A93FFF
    Sat Oct 12 17:10:32.328 2019 (UTC + 2:00):
    Sat Oct 12 17:10:32.343 2019 (UTC + 2:00): MM: Disabling large pages for all ranges due to overlap
    Sat Oct 12 17:10:37.656 2019 (UTC + 2:00):

    Intel Storage Driver Ver: 11.2.0.1006

    Sat Oct 12 17:10:48.078 2019 (UTC + 2:00): MM:***PAGE FAULT AT IRQL > 1  Va 000000B0, IRQL 2
    Sat Oct 12 17:10:48.078 2019 (UTC + 2:00):
    Sat Oct 12 17:10:48.109 2019 (UTC + 2:00): MM:***EIP 80A2B5E1, EFL 00010246
    Sat Oct 12 17:10:48.109 2019 (UTC + 2:00):
    Sat Oct 12 17:10:48.125 2019 (UTC + 2:00): MM:***EAX 2000010A, ECX 00806400 EDX 00806400
    Sat Oct 12 17:10:48.125 2019 (UTC + 2:00):
    Sat Oct 12 17:10:48.140 2019 (UTC + 2:00): MM:***EBX F7592840, ESI 00000000 EDI 00000400
    Sat Oct 12 17:10:48.140 2019 (UTC + 2:00):
    Sat Oct 12 17:10:48.171 2019 (UTC + 2:00):
    *** Fatal System Error: 0x0000000a
                                                 (0x000000B0,0x00000002,0x00000000,0x80A2B5E1)

    Sat Oct 12 17:10:48.203 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows XP 2600 x86 compatible target at (Sat Oct 12 17:10:48.328 2019 (UTC + 2:00)), ptr64 FALSE
    Loading Kernel Symbols
    .........................................
    Loading User Symbols

    Loading unloaded module list
    ..
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck A, {b0, 2, 0, 80a2b5e1}

    *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
    Probably caused by : ACPI.sys ( ACPI+1142e )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    80ab9138 cc              int     3
    2: kd> lm
    start    end        module name
    80100000 80127780   hal        (deferred)
    80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
    b57d9000 b5836f00   update     (deferred)
    b6922000 b6944700   ks         (deferred)
    b6c89000 b6cb8e80   rdpdr      (deferred)
    b6cb9000 b6ce1000   HDAudBus   (deferred)
    b6ce1000 b6cf4f00   VIDEOPRT   (deferred)
    b6cf5000 b7956bc0   nv4_mini   (deferred)
    b7bff000 b7c02c80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
    b83c3000 b83dce80   Mup        (deferred)
    b83dd000 b8409980   NDIS       (deferred)
    b840a000 b8496d00   Ntfs       (deferred)
    b8497000 b84a9f00   WudfPf     (deferred)
    b84aa000 b84c0b80   KSecDD     (deferred)
    b84c1000 b84d2f00   sr         (deferred)
    b84d3000 b84f2b00   fltMgr     (deferred)
    b84f3000 b8533000   storport   (deferred)
    b8533000 b854a880   SCSIPORT   (deferred)
    b854b000 b8800000   iaStor     (deferred)
    f7472000 f7497a00   dmio       (deferred)
    f7498000 f74b6d80   ftdisk     (deferred)
    f74f7000 f7500f00   termdd     (deferred)
    f7507000 f7510e00   intelppm   (deferred)
    f7517000 f7523f00   i8042prt   (deferred)
    f7557000 f7567a80   pci        (deferred)
    f7568000 f75a8000   ACPI       (no symbols)
    f75a8000 f75d6000   amdxhc     (deferred)
    f75f7000 f7600300   isapnp     (deferred)
    f7607000 f7611580   MountMgr   (deferred)
    f7617000 f7624200   VolSnap    (deferred)
    f7647000 f764fe00   disk       (deferred)
    f7657000 f7663180   CLASSPNP   (deferred)
    f7707000 f770d780   USBSTOR    (deferred)
    f770f000 f7713d00   PartMgr    (deferred)
    f77af000 f77b5280   kbdclass   (deferred)
    f77b7000 f77bcc00   mouclass   (deferred)
    f7897000 f789a000   BOOTVID    (deferred)
    f7987000 f7988b80   kdcom      (deferred)
    f7989000 f798a500   USBD       (deferred)
    f798b000 f798c100   WMILIB     (deferred)
    f798d000 f798e700   dmload     (deferred)
    f79bd000 f79be100   swenum     (deferred)

    Unloaded modules:
    f7637000 f7644000   storahci.sys
    f7627000 f7637000   asahci32.sys
    2: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    IRQL_NOT_LESS_OR_EQUAL (a)
    An attempt was made to access a pageable (or completely invalid) address at an
    interrupt request level (IRQL) that is too high.  This is usually
    caused by drivers using improper addresses.
    If a kernel debugger is available get the stack backtrace.
    Arguments:
    Arg1: 000000b0, memory referenced
    Arg2: 00000002, IRQL
    Arg3: 00000000, bitfield :
    	bit 0 : value 0 = read operation, 1 = write operation
    	bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
    Arg4: 80a2b5e1, address which referenced memory

    Debugging Details:
    ------------------

    READ_ADDRESS:  000000b0

    CURRENT_IRQL:  2

    FAULTING_IP:
    nt!IoInvalidateDeviceRelations+9
    80a2b5e1 8b86b0000000    mov     eax,dword ptr [esi+0B0h]

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xA

    PROCESS_NAME:  System

    TRAP_FRAME:  f78baeb8 -- (.trap 0xfffffffff78baeb8)
    ErrCode = 00000000
    eax=2000010a ebx=f7592840 ecx=00806400 edx=00806400 esi=00000000 edi=00000400
    eip=80a2b5e1 esp=f78baf2c ebp=f78baf30 iopl=0         nv up ei pl zr na pe nc
    cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
    nt!IoInvalidateDeviceRelations+0x9:
    80a2b5e1 8b86b0000000    mov     eax,dword ptr [esi+0B0h] ds:0023:000000b0=????????
    Resetting default scope

    LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

    STACK_TEXT:
    f78baa6c 80a30d41 00000003 f78badc8 00000000 nt!RtlpBreakWithStatusInstruction
    f78baab8 80a319ac 00000003 000000b0 80a2b5e1 nt!KiBugCheckDebugBreak+0x19
    f78bae98 80ad7b50 0000000a 000000b0 00000002 nt!KeBugCheck2+0x574
    f78bae98 80a2b5e1 0000000a 000000b0 00000002 nt!KiTrap0E+0x244
    f78baf30 f757942e 00000000 00000000 00000400 nt!IoInvalidateDeviceRelations+0x9
    WARNING: Stack unwind information not available. Following frames may be wrong.
    f78baf60 f7579541 8aa52d68 8a9fd268 f771f000 ACPI+0x1142e
    f78baf7c f756ed55 8aa52d68 8a994000 00000000 ACPI+0x11541
    f78baf9c f756f134 8a9fd268 f7592800 f78bafe0 ACPI+0x6d55
    f78bafb0 f756f4c2 f78bafc0 f771f9c0 8a9fd268 ACPI+0x7134
    f78bafc8 80ad9899 f75927a0 00000000 00000000 ACPI+0x74c2
    f78baff4 80ad937b f791ac54 00000000 00000000 nt!KiRetireDpcList+0x7e
    f78baff8 f791ac54 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2b
    80ad937b 00000000 00000009 0081850f bb830000 0xf791ac54

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ACPI+1142e
    f757942e eb06            jmp     ACPI+0x11436 (f7579436)

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  ACPI+1142e

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ACPI

    IMAGE_NAME:  ACPI.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  424d8208

    FAILURE_BUCKET_ID:  0xA_ACPI+1142e

    BUCKET_ID:  0xA_ACPI+1142e

    Followup: MachineOwner
    ---------

#2939

daniel_k

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2935

> -> USB never worked once. Not even when I manually installed the INFs from the original package again. It only detects two Intel XHCI 3.1 controllers, not the long list of controllers.

What are the device IDs?

> Zitat

> -> Was unable to install nVidia Drivers due to .NetFramework bloat not being able to downloaded automatically by its stupid installer

But you can do a custom install, without GeForce Experience, skipping .NET install.

> Zitat

> -> Direct3D did not work, probably something Server 2003 related

For stability purposes, D3D and Dsound acceleration are disabled by default in all Server editions.
Just run Dxdiag and enable these features.

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2935

> I installed the unoffical SP4 for Windows XP as well to make sure some of this machine's issues is not caused by the lack of Windows updates
> However, there are some pretty serious flaws right now:
> -> The system just not feels right. Some things hang for a second.

You seem to be suffering from the ACPI timer issue.
⇗ @diderius6, please help him.

#2940 | daniel_k | ⇗ @lsmlcx, there is nothing wrong with the driver. And the most important patch has nothing to do with device IDs checks.

## Page 197

#2941 | daniel_k | ⇗ @diderius6, AHCI drivers are only an issue if installing from USB: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (178) From CD/DVD, no issues with any driver: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (179)

#2942

diderius6

⇗ @daniel_k ⇗ @schreiberstein
The question is, what Schreiberstein (Alex?)
really wants. To get a working XP or Server 2003 or ..
Only step by step this can be done
Dietmar
PS: Here are the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem.
diderius6 has attached files to this post

- ⇗ halplusintelppmXPSP3.rar

#2943 | diderius6 | ⇗ @daniel_k Yes, I see this. This is a brandnew, acpi.sys related error for a special, until now unknown device, BSOD 0x0000000a (0x000000B0,0x00000002,0x00000000, xxx) Dietmar

#2944

diderius6

Because in Safe Mode (F8) this BSOD does not happen,
it must be one of the excluded, following devices, because this are the ones, not loaded in Safe Mode.

    Sat Oct 12 17:35:41.812 2019 (UTC + 2:00): SAFEBOOT: skipping device = Cdrom.SYS(SCSI CDROM Class)
    Sat Oct 12 17:35:43.187 2019 (UTC + 2:00): SAFEBOOT: skipping device = mnmdd.SYS(Video Save)
    Sat Oct 12 17:35:43.187 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.203 2019 (UTC + 2:00): SAFEBOOT: skipping device = RDPCDD.SYS(Video Save)
    Sat Oct 12 17:35:43.578 2019 (UTC + 2:00): SAFEBOOT: skipping device = RasAcd.SYS(Streams Drivers)
    Sat Oct 12 17:35:43.578 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.609 2019 (UTC + 2:00): SAFEBOOT: skipping device = IPSec.SYS(PNP_TDI)
    Sat Oct 12 17:35:43.609 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.625 2019 (UTC + 2:00): SAFEBOOT: skipping device = Tcpip.SYS(PNP_TDI)
    Sat Oct 12 17:35:43.625 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.640 2019 (UTC + 2:00): SAFEBOOT: skipping device = NetBT.SYS(PNP_TDI)
    Sat Oct 12 17:35:43.640 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.656 2019 (UTC + 2:00): SAFEBOOT: skipping device = AFD.SYS(TDI)
    Sat Oct 12 17:35:43.656 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.687 2019 (UTC + 2:00): SAFEBOOT: skipping device = NetBIOS.SYS(NetBIOSGroup)
    Sat Oct 12 17:35:43.687 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.703 2019 (UTC + 2:00): SAFEBOOT: skipping device = Serial.SYS(Extended base)
    Sat Oct 12 17:35:43.703 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.718 2019 (UTC + 2:00): SAFEBOOT: skipping device = intelppm.SYS(Extended Base)
    Sat Oct 12 17:35:43.718 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.750 2019 (UTC + 2:00): SAFEBOOT: skipping device = WmiAcpi.SYS(Extended Base)
    Sat Oct 12 17:35:43.750 2019 (UTC + 2:00):
    Sat Oct 12 17:35:43.796 2019 (UTC + 2:00): SAFEBOOT: skipping device = WS2IFSL.SYS(Group)
    Sat Oct 12 17:35:44.296 2019 (UTC + 2:00): SAFEBOOT: skipping device = Rdbss.SYS(Network)
    Sat Oct 12 17:35:44.296 2019 (UTC + 2:00):
    Sat Oct 12 17:35:44.312 2019 (UTC + 2:00): SAFEBOOT: skipping device = MRxSmb.SYS(Network)
    Sat Oct 12 17:35:44.812 2019 (UTC + 2:00): SAFEBOOT: skipping device = Fips.SYS(Group)
    Sat Oct 12 17:35:44.812 2019 (UTC + 2:00):
    Sat Oct 12 17:35:44.828 2019 (UTC + 2:00): SAFEBOOT: skipping device = ElbyCDIO.SYS(Group)
    Sat Oct 12 17:35:50.046 2019 (UTC + 2:00): MiSessionWideReserveImageAddress: NO Code Sharing
     on \SystemRoot\System32\drivers\dxg.sys, Address 0xbd000000

Dietmar

#2945

schreiberstein

⇗ @daniel_k
⇗ @diderius6
I primarily wanted to try out Windows Server 2003 to check if it works better than Windows XP on this system, and what to expect from PAE mode.
I was able to get USB3 working using the modified AMD drivers.
The problem was... the INF files has NTx86.5.1.1 written all over them... I searched-and-replaced it to NTx86.5 (as Server 2003 is 5.2) and then it picked up all USB controllers properly. USB works more stable than on Windows XP. My mouse and keyboard always worked throughout several reboots, but my USB Audio DAC seems to have issues. Detecting, installing, deactivating, reinstalling itself, etc.
Also, it seems that the USB driver is responsible for killing NTVDM (16 Bit) support. After I installed the driver, edit.com stopped working.
My goal would be to have a working Windows XP system with more than ~900 MB RAM, stable USB and stable applications.
I do not need 2003.
I will try the modded HAL on my XP system shortly.
Direct3D works just fine on Windows Server 2003. I just had to enable it, I found out... and then somebody mentioned it here shortly before I composed this answer.
Thank you all.
Cheers,
Alexander (schreiberstein)

#2946

schreiberstein

⇗ @diderius6
Thank you so much!
I have just installed this patched HAL.dll and intelppm on my XP system and voila...
Guess which system I am using Google Chrome v54 on to post this...
This magically fixed all web browsers and some obscure game demos from 2005 that I attempted to run.
I am using the Geforce GTX 780 to drive my two 2560x1600 displays and it looks gorgeous - extended XP bliss desktop.
Now the main remaining issues for XP are USB, NTVDM crashing and the lack of RAM.
Could I use the aforementioned 128GB RAM patch, or will this cause issues with the (potentially) newer HAL.DLL ?
I will create a new XP installation media and do another clean install soon.
Cheers,
schreiberstein

#2947

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #2932

> @Doc.Brown
> I succeed to simulate your BSOD.
> About 10 seconds is XP there and then the BSOD with your number.
> This I never had before.
> It seems to happen, when the Fernando iastor.sys and the Skullteria STORAHCI.sys comes in conflict.
> One starts the harddisk and then the other gets loaded also, which gives BSOD
> Dietmar
> ⇗

This one(10 second desktop) comes only with XP previously installed with the X299 R6A and I build the iso with Fernando's latest drivers,the Storahci,AMDXHCI and Nvme one but the BSOD also come during device installation process in XP installation from the Z390 Gene.

> Zitat von ⇗ diderius6 im Beitrag ¶ #2936

> @Doc.Brown
> May be, it is the fault of the iastor.sys driver version 11.2.0.1006
> for Intel. Ask @daniel_k which driver is best for Intel AHCI now
> Dietmar

I already tried to build the iso wth only one driver by one and if I remembering well the "worse" case is with only the STORAHCItxtsetup,with it BSOD A5 is coming back

> Zitat von ⇗ diderius6 im Beitrag ¶ #2938

> @Doc.Brown
> I set up a Windbg session for this BSOD.
> The BSOD goes to acpi.sys.
> A device, which is loaded late in bootprocess is not ACPI compatible.
> And because of this, during first install, you get the 10 sec with full ACPI XP,
> because this device is not yet installed from XP SP3 from other compi.
> When it goes installed, you get this BSOD.
> And this device does not start in Safe Mode (F8),
> and because of this you do not get BSOD there
> Dietmar
> PS: It is not iastor.sys, it is not STORAHCI,
> just another device, which I do not found until now,
> even I disabled in Bios and via Device Manager really ALL.
> Here is the debug printout, with its help we will find the reason:))

>     nt!IoInvalidateDeviceRelations+9
>     80a2b5e1 8b86b0000000 mov eax,dword ptr [esi+0B0h]

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 12 17:10:30.031 2019 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Sat
>      Oct 12 17:10:32.296 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80A02000->80D8DFFF
>     Sat Oct 12 17:10:32.296 2019 (UTC + 2:00):
>     Sat
>      Oct 12 17:10:32.312 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80100000->8012777F
>     Sat Oct 12 17:10:32.312 2019 (UTC + 2:00):
>     Sat
>      Oct 12 17:10:32.328 2019 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 81D43000->82A93FFF
>     Sat Oct 12 17:10:32.328 2019 (UTC + 2:00):
>     Sat Oct 12 17:10:32.343 2019 (UTC + 2:00): MM: Disabling large pages for all ranges due to overlap
>     Sat Oct 12 17:10:37.656 2019 (UTC + 2:00):

>     Intel Storage Driver Ver: 11.2.0.1006

>     Sat Oct 12 17:10:48.078 2019 (UTC + 2:00): MM:***PAGE FAULT AT IRQL > 1  Va 000000B0, IRQL 2
>     Sat Oct 12 17:10:48.078 2019 (UTC + 2:00):
>     Sat Oct 12 17:10:48.109 2019 (UTC + 2:00): MM:***EIP 80A2B5E1, EFL 00010246
>     Sat Oct 12 17:10:48.109 2019 (UTC + 2:00):
>     Sat Oct 12 17:10:48.125 2019 (UTC + 2:00): MM:***EAX 2000010A, ECX 00806400 EDX 00806400
>     Sat Oct 12 17:10:48.125 2019 (UTC + 2:00):
>     Sat Oct 12 17:10:48.140 2019 (UTC + 2:00): MM:***EBX F7592840, ESI 00000000 EDI 00000400
>     Sat Oct 12 17:10:48.140 2019 (UTC + 2:00):
>     Sat Oct 12 17:10:48.171 2019 (UTC + 2:00):
>     *** Fatal System Error: 0x0000000a
>                                                  (0x000000B0,0x00000002,0x00000000,0x80A2B5E1)

>     Sat Oct 12 17:10:48.203 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 12 17:10:48.328 2019 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .........................................
>     Loading User Symbols

>     Loading unloaded module list
>     ..
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck A, {b0, 2, 0, 80a2b5e1}

>     *** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
>     Probably caused by : ACPI.sys ( ACPI+1142e )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ab9138 cc              int     3
>     2: kd> lm
>     start    end        module name
>     80100000 80127780   hal        (deferred)
>     80a02000 80d8e000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
>     b57d9000 b5836f00   update     (deferred)
>     b6922000 b6944700   ks         (deferred)
>     b6c89000 b6cb8e80   rdpdr      (deferred)
>     b6cb9000 b6ce1000   HDAudBus   (deferred)
>     b6ce1000 b6cf4f00   VIDEOPRT   (deferred)
>     b6cf5000 b7956bc0   nv4_mini   (deferred)
>     b7bff000 b7c02c80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
>     b83c3000 b83dce80   Mup        (deferred)
>     b83dd000 b8409980   NDIS       (deferred)
>     b840a000 b8496d00   Ntfs       (deferred)
>     b8497000 b84a9f00   WudfPf     (deferred)
>     b84aa000 b84c0b80   KSecDD     (deferred)
>     b84c1000 b84d2f00   sr         (deferred)
>     b84d3000 b84f2b00   fltMgr     (deferred)
>     b84f3000 b8533000   storport   (deferred)
>     b8533000 b854a880   SCSIPORT   (deferred)
>     b854b000 b8800000   iaStor     (deferred)
>     f7472000 f7497a00   dmio       (deferred)
>     f7498000 f74b6d80   ftdisk     (deferred)
>     f74f7000 f7500f00   termdd     (deferred)
>     f7507000 f7510e00   intelppm   (deferred)
>     f7517000 f7523f00   i8042prt   (deferred)
>     f7557000 f7567a80   pci        (deferred)
>     f7568000 f75a8000   ACPI       (no symbols)
>     f75a8000 f75d6000   amdxhc     (deferred)
>     f75f7000 f7600300   isapnp     (deferred)
>     f7607000 f7611580   MountMgr   (deferred)
>     f7617000 f7624200   VolSnap    (deferred)
>     f7647000 f764fe00   disk       (deferred)
>     f7657000 f7663180   CLASSPNP   (deferred)
>     f7707000 f770d780   USBSTOR    (deferred)
>     f770f000 f7713d00   PartMgr    (deferred)
>     f77af000 f77b5280   kbdclass   (deferred)
>     f77b7000 f77bcc00   mouclass   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a500   USBD       (deferred)
>     f798b000 f798c100   WMILIB     (deferred)
>     f798d000 f798e700   dmload     (deferred)
>     f79bd000 f79be100   swenum     (deferred)

>     Unloaded modules:
>     f7637000 f7644000   storahci.sys
>     f7627000 f7637000   asahci32.sys
>     2: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     IRQL_NOT_LESS_OR_EQUAL (a)
>     An attempt was made to access a pageable (or completely invalid) address at an
>     interrupt request level (IRQL) that is too high.  This is usually
>     caused by drivers using improper addresses.
>     If a kernel debugger is available get the stack backtrace.
>     Arguments:
>     Arg1: 000000b0, memory referenced
>     Arg2: 00000002, IRQL
>     Arg3: 00000000, bitfield :
>     	bit 0 : value 0 = read operation, 1 = write operation
>     	bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
>     Arg4: 80a2b5e1, address which referenced memory

>     Debugging Details:
>     ------------------

>     READ_ADDRESS:  000000b0

>     CURRENT_IRQL:  2

>     FAULTING_IP:
>     nt!IoInvalidateDeviceRelations+9
>     80a2b5e1 8b86b0000000    mov     eax,dword ptr [esi+0B0h]

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xA

>     PROCESS_NAME:  System

>     TRAP_FRAME:  f78baeb8 -- (.trap 0xfffffffff78baeb8)
>     ErrCode = 00000000
>     eax=2000010a ebx=f7592840 ecx=00806400 edx=00806400 esi=00000000 edi=00000400
>     eip=80a2b5e1 esp=f78baf2c ebp=f78baf30 iopl=0         nv up ei pl zr na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
>     nt!IoInvalidateDeviceRelations+0x9:
>     80a2b5e1 8b86b0000000    mov     eax,dword ptr [esi+0B0h] ds:0023:000000b0=????????
>     Resetting default scope

>     LAST_CONTROL_TRANSFER:  from 80a30d41 to 80ab9138

>     STACK_TEXT:
>     f78baa6c 80a30d41 00000003 f78badc8 00000000 nt!RtlpBreakWithStatusInstruction
>     f78baab8 80a319ac 00000003 000000b0 80a2b5e1 nt!KiBugCheckDebugBreak+0x19
>     f78bae98 80ad7b50 0000000a 000000b0 00000002 nt!KeBugCheck2+0x574
>     f78bae98 80a2b5e1 0000000a 000000b0 00000002 nt!KiTrap0E+0x244
>     f78baf30 f757942e 00000000 00000000 00000400 nt!IoInvalidateDeviceRelations+0x9
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     f78baf60 f7579541 8aa52d68 8a9fd268 f771f000 ACPI+0x1142e
>     f78baf7c f756ed55 8aa52d68 8a994000 00000000 ACPI+0x11541
>     f78baf9c f756f134 8a9fd268 f7592800 f78bafe0 ACPI+0x6d55
>     f78bafb0 f756f4c2 f78bafc0 f771f9c0 8a9fd268 ACPI+0x7134
>     f78bafc8 80ad9899 f75927a0 00000000 00000000 ACPI+0x74c2
>     f78baff4 80ad937b f791ac54 00000000 00000000 nt!KiRetireDpcList+0x7e
>     f78baff8 f791ac54 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2b
>     80ad937b 00000000 00000009 0081850f bb830000 0xf791ac54

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     ACPI+1142e
>     f757942e eb06            jmp     ACPI+0x11436 (f7579436)

>     SYMBOL_STACK_INDEX:  5

>     SYMBOL_NAME:  ACPI+1142e

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: ACPI

>     IMAGE_NAME:  ACPI.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  424d8208

>     FAILURE_BUCKET_ID:  0xA_ACPI+1142e

>     BUCKET_ID:  0xA_ACPI+1142e

>     Followup: MachineOwner
>     ---------

I don't understand all this debug with my limited knowledge but what I can tell is that in Safe Mode the only device who ask to be installed again and again that I never saw before on any compi(I tested a lot since I started overclocking in 2008) it's this "Microsoft ACPI Compliant Embedded Controller",in the other hand device manager also doesn't update the CPU wich is installed cause even under Z390 it keep 7740X instead of 8700K and CPUZ show the good CPU(8700k) ...

#2948

Doc.Brown

> Zitat von ⇗ IntiMD im Beitrag ¶ #2937

> @Doc.Brown
> FYI here are the Intel RSTe driver backports for XP by daniel_k
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (110) - RSTe 4.6.0.1085 x86
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (118) - RSTe 4.6.0.1085 x64
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (115) - RSTe 4.7.0.1098 x86
> For x86 NT5.2 systems, you might want to comment out the following entries just like this:

>     [SourceDisksFiles.x86]
>     iaStorA.sys = 1,,,
>     iaStorF.sys = 1,,,
>     ; storport.sys = 1,,,
>     ;

> and

>     [iaStorA_inst.ntx86]
>     CopyFiles=@iaStorA.sys
>     CopyFiles=@iaStorF.sys
>     ; CopyFiles=@storport.sys
>     ;

> PS. forgot to mention, they don't contain the TXTSETUP.OEM file, so you can't slipstream it in first stage text setup.

Do you mean that I could use this RSTe instead of Fernando's drivers ? by nlite integration ?
Sorry but my knowledge in coding is very bad and I don't understand how to/where to use those code lines,could you explain more please ?
Thank you :)

#2949

diderius6

⇗ @Doc.Brown
With the Fernando iaStore.sys driver 1006 and renaming
dxg.sys ->dxOrig.sys, boot and then back dxOrig.sys ->dxg.sys I succeed to boot normal to full Acpi XP SP3
on the simulating testboard. I use for this the debug version of hal.dll,
debug ntkrnlmp.exe and debug acpi.sys (hacked for Ryzen support).
But I still do not know, which driver causes this BSOD. I think, it has to do with the grafik driver (integrated GPU?)
and with memory above 4 Gbyte. So put in only 4 Gbyte ram, disable the CPU internal GPU and install graphikcard,
I use gtx 980
Dietmar

#2950 | Mikedebian | ⇗ @diderius6 Are you able to have legacy dos graphical applications open in fullscreen? Say, a game that is easy to get, commander keen 4 (shareware) or does it go to black screen? I am asking since you have a Gtx 980.

#2951

IntiMD

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #2948

> > Zitat von ⇗ IntiMD im Beitrag ¶ #2937

> > @Doc.Brown
> > FYI here are the Intel RSTe driver backports for XP by daniel_k
> > ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (110) - RSTe 4.6.0.1085 x86
> > ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (118) - RSTe 4.6.0.1085 x64
> > ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (115) - RSTe 4.7.0.1098 x86
> > For x86 NT5.2 systems, you might want to comment out the following entries just like this:

> >     [SourceDisksFiles.x86]
> >     iaStorA.sys = 1,,,
> >     iaStorF.sys = 1,,,
> >     ; storport.sys = 1,,,
> >     ;

> > and

> >     [iaStorA_inst.ntx86]
> >     CopyFiles=@iaStorA.sys
> >     CopyFiles=@iaStorF.sys
> >     ; CopyFiles=@storport.sys
> >     ;

> > PS. forgot to mention, they don't contain the TXTSETUP.OEM file, so you can't slipstream it in first stage text setup.

> Do you mean that I could use this RSTe instead of Fernando's drivers ? by nlite integration ?
> Sorry but my knowledge in coding is very bad and I don't understand how to/where to use those code lines,could you explain more please ?
> Thank you :)

Like I said, slipstreaming it in first stage setup is impossible due to lack of TXTSETUP.OEM file, Unless somebody creates an appropriate one for the drivers.
You do not need knowledge in coding, since there isn't anything related to coding at all, just a quick INF mod. :D

#2952

IntiMD

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #2947

> I don't understand all this debug with my limited knowledge but what I can tell is that in Safe Mode the only device who ask to be installed again and again that I never saw before on any compi(I tested a lot since I started overclocking in 2008) it's this "Microsoft ACPI Compliant Embedded Controller",in the other hand device manager also doesn't update the CPU wich is installed cause even under Z390 it keep 7740X instead of 8700K and CPUZ show the good CPU(8700k) ...

Maybe this modified LH5048 ACPI INF file courtesy of ⇗ @PPeti66x will handle this problem with that embedded controller? ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (166)

#2953

diderius6

⇗ @Doc.Brown
I noticed a resource conflict.
On Acpi XP SP3 I have no onboard sound (code 10).
On MPS XP SP3 I have sound.
So, it is a design error on the board,
another device shares IRQ and line with the Realtek soundchip
Dietmar
PS: Only this acpi.sys works for me (see post).
It is the DEBUG version of acpi 5512, original for XP SP3 but modded by me for Ryzen support.
On the acpi.sys 5048 (no matter which version), I got BSOD 0x7B, very strange, the new acpi.sys does not
like to work with iastor.sys 1006 on this board.
diderius6 has attached files to this post

- ⇗ acpi.rar

#2954

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2953

> I noticed a resource conflict.
> On Acpi XP SP3 I have no onboard sound (code 10).
> On MPS XP SP3 I have sound.
> So, it is a design error on the board,
> another device shares IRQ and line with the Realtek soundchip

What does the problem say on the Resources tab? Place the screenshot. Does it look exactly like this?
⇗

#2955

Doc.Brown

⇗ @diderius6
iGPU is always disabled,like lan and sound controlers cause it's useless for overclocking perhaps I need to enable sound if ressource is shared with another device as you say.I have a GT 730 and tried with a GTX770 also.I didn't try with less ram just tried to boot with a /maxmem in boot.ini yesterday,we have to limit Bdie RAM capacity on other OS cause 16gb is to much(even with x64 OS) and result on BSOD with tight timings like C12-11 for 4000+ mhz,I have old Edie 4gb stick so I'll test it too ^^
My XP build is a 5512 perhaps this ACPI will be more compatible
I've finished the file to re-build the SP3.cab and it works so I'll try all of this tomorrow I think
Thanks for your great help ;)
⇗ @IntiMD
I already tried this acpi.inf yesterday but doesn't change anything unfortunately
Ok now I understand for RST drivers :)

## Page 198

#2956 | diderius6 | ⇗ @Gelip No, it just tells unknow device ROOT\UNKNOWN\0000 Dietmar

#2957

diderius6

⇗ @Doc.Brown
Because I have had the nearly 100% identic BSOD as you,
now I think about device conflict:
1.) acpi.sys problem (only the for Ryzen Debug modded acpi.sys works for me)
2.) Iastor 1006 problem (with acpi.sys 5048 newest BSOD 0x7B, strange))
3.) Realtek sound (unknown, design error on board, low Irq, same PCI line, brrr).
1.) 2.) I solved, 3.) not
Dietmar

#2958

diderius6

Now I have the nearly perfect clone of my netbook Lenovo Flex 10.
It is the motherboard version Q1900m from Asrock.
Same CPU, same GPU, same chipset, same problems^^ under XP and Win 7 32 bit(!).
But on this board I can do Debug under XP via COM1, Lan, USB, I tested.
By the way, I found out, why USB debug on the Lenovo Flex 10 not works:
Crazy manufacturer cut simple some cables to the USB port. I found this in a report to Microsoft yesterday
for the Celeron series (me is N2806). Other notebook manufacturers do the same.
"This issue occurs because Intel® Atom Processor Z373x and CHT-CR platforms do not provide xHCI debugging support because of pin reduction."
And I found, what I do not want to hear: On those Bay Trail cpus happens a degrade at the USB ports:
Means, after about 20 months you get errors and errors and errors on the USB port, because the Silizium therefore is gone,..
Dietmar
⇗ https://forums.servethehome.com/index.ph...ign-flaw.19402/
EDIT: The DSDT for the Q1900m board does not change from version 1.30, 1.40,...1.90.
So, the problem with sound under Acpi XP SP3 stays forever^^.

#2959

diderius6

⇗ @daniel_k
Do you have an idea, where the Realtek soundcard can be found in this DSDT
from the Q1900m Asrock board? May be an easy hack can bring her back to life:))
Dietmar
diderius6 has attached files to this post

- ⇗ Q1900mdsdt.rar

#2960

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #2930

> @Andalu
> try this,
> copy ntkr128g.exe and hal128g.dll to c:\windows\system32
> make a backup of original boot.ini
> replace boot.ini contents with paeboot.ini contents
> hopefully this works

Thank you for your time and for your help. Unfortunately I could not solve. After applying the patch (I copied all the files into the related directories and I modified the boot.ini file too) and restarting the computer, I can finally get all the amount of the ram correctly recognized and the USB3 that works properly, but only until the computer is turned off. After restarting, the issue reappears: the usb2 ports are not powered (the usb mouse is off) and the devices attached to usb3 ports are not recognized. The same behavior also when I applied the 'chinese patch'.
The USB3 and the patches seem unable to coexist, or it works one or the other but not simultaneously.
Since this board also seems to be crazy as the other two, I start thinking that it may depend on the fact that they are all from Asrock....

#2961 | daniel_k | ⇗ @Mikedebian, with a GTX 980, I'm able to run EDIT.COM in full screen mode.
#2962 | daniel_k | ⇗ @diderius6, I believe it is HDEF. On Haswell and later, it is HDAS.
#2963 | Mikedebian | Hello ⇗ @daniel_k The issue I am having is not with text mode legacy applications, but those that require graphics like EGA, VGA, etc.
#2964 | daniel_k | ⇗ @Mikedebian, give me an example of what to run.
#2965 | Mikedebian | ⇗ @daniel_k Any shareware game would work. Commander Keen 4, Doom, Wolfenstein 3D, etc.

#2966

daniel_k

⇗ @schreiberstein, with a Server 2003 converted to XP, managed to get everything running.
- Intel USB3
- ASMedia USB3
- VIA USB3
- PAE with 15.9GB
- DOS apps working
daniel_k has attached images to this post ⇗ XP2003PAE.JPG

#2967

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #2966

> @schreiberstein, with a Server 2003 converted to XP, managed to get everything running.
> - Intel USB3
> - ASMedia USB3
> - VIA USB3
> - PAE with 15.9GB
> - DOS apps working

how can i have it too?

#2968

schreiberstein

⇗ @daniel_k
Oh, very nice!
Congratulations.
Converted in what sense? I see it says Windows XP.
I usually use this thing: ⇗ http://www.kood.org/win-2003-optimize-tool/
I think I will continue to use Windows XP because of this super cool HAL.dll.
I will see if I can debug ntvdm.exe with some tools and see why it crashes.
It crashes regardless of GPU drivers, I think. It has to do with USB.
Cheers,
schreiberstein

#2969 | daniel_k | ⇗ @Mikedebian, tried Wolf3D shareware. Opens automatically in full screen and hangs Windows.

#2970

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #2967

> how can i have it too?

This one is a private project, unfinished yet.
Try to install Server 2003 Enterprise and Datacenter, which have PAE.
If it works, you can get XP to work with the PAE hack.
I'm just showing a proof that the drivers do support PAE.

## Page 199

#2971 | daniel_k | ⇗ @schreiberstein, from Setup to working Desktop. Installs like XP x64 with no OOBE (asking for user names, activation and so on), default user is Administrator. Only hack is to enable PAE, which is only supported in Server 2003 Enterprise and Datacenter.

#2972

diderius6

ACPI XP SP3 install on Baytrail CPU
I just make a brandnew XP SP3 installations CD for the Asrock Q1900M board (BayTrail).
There I integrate the acpi.sys Debug version 5.1.2600.5512 original from XP SP3 with Hack for Ryzen support.
And I use the STORAHCI driver from ⇗ @skullteria together with new storport.sys,
because I noticed, that all the Iastor driver make problems on Baytrail chipset.
Ok, I just burned CD and now it installs on the Q1900m Asrock miniboard
with Bay Trail chipset and Valley View GPU.
Strange, that for a motherboard from 2014 you need a hacked acpi,
Dietmar
EDIT1: After txtsetup I got BSOD 0x7B.
Ok, storport.sys was gone as usual. But after that I get again BSOD 0x7B.
The registry entries for the STORAHCI I have to do by hand, I have never seen before.
Now install goes on. This is really funny: The model is good: At once I understand, why I never could
install direct to the netbook Lenovo Flex 10 XP SP3 with setup CD.
With this experience I see, that it will be very very difficult to build a generic Install CD for XP SP3,
that workes on all compis.
On next reboot I got again BSOD 0x7B and I have again to put the entries for STORAHCI by hand into registry.
Now I get the same BSOD as ⇗ @Doc.Brown . But not, when I chose save boot.
Crazy, I think nobody succeeds to install full Acpi XP SP3 until now on Baytrail chipset.
Yesssa, with disabling everything in Device Manager I come to the normal desktop with full Acpi XP SP3 on Baytrail chipset.
I think, it is really the very first time that this has been done. For example see this blog
⇗ https://ryanvm.net/forum/viewtopic.php?t=10596
⇗

#2973

schreiberstein

I added the Creative Audigy 2 ZS to my system via a PCI-E to PCI adapter and it works flawlessly.
I removed the AMD/ATI card from the system. Only the GeForce GTX 780 is now in there (aside from the Intel IGPU)
The HAL patch made my system a lot more responsive. Very happy about it.
USB works quite reliably as well. Mouse and Keyboard seem to work after every reboot.
I added "/PAE" to boot.ini, but I don't get more than 904MB RAM (64MB MIN ; 256MB MAX shared RAM for Intel IGPU in BIOS)
⇗ @diderius6
I wonder if there is a way to get more than 4GB (like on Server 2003) with your "halplusintelppmXPSP3.rar" hack bundle?
Like the file "Windows_XP_128GB_double_pae_addon_final_byDibya.7z.zip" from ⇗ @infuscomus suggests - but it has its own patched HAL.
Seems like this is the only way I could access more than 904MB RAM.
I could live with 4GB, but 904MB is quite small. I can feel it swapping when using 4 chrome tabs.
⇗ @XPLives
PCI Data Acquisition and Signal Processing Controller <-- I have only ONE of these devices
PCI bus 0, device 18, function 0
The drivers for this device are not installed. (Code 28)
Device Instance ID: PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10\3&11583659&0&90
Hardware IDs:
PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10
PCI\VEN_8086&DEV_A379&SUBSYS_88881458
PCI\VEN_8086&DEV_A379&CC_118000
PCI\VEN_8086&DEV_A379&CC_1180
Compatible IDs:
PCI\VEN_8086&DEV_A379&REV_10
PCI\VEN_8086&DEV_A379
PCI\VEN_8086&CC_118000
PCI\VEN_8086&CC_1180
PCI\VEN_8086
PCI\CC_118000
PCI\CC_1180
Matching Device ID:
[EMPTY]
I have also started to look into the NTVDM.EXE problem - attached is my output from WinDbg.
It seems that there is something wrong internally that is causing that.
For now, I am surprised at how stable Windows XP is. I once counted more than 5 hours of uptime, benchmarking with several 3DMark versions, playing music on XMPlay
Using the driver from daniel_k.
All important hardware works on Apple Mac OS X 10.14 Mojave, Windows 10, 7, XP and 2003.
The Creative Audigy even works after sleep/standby on Mac OS X using a patched kx Project audio driver kext.
My goal is it to NEVER have to do any preparations before dual booting another OS.
I don't want to plug my devices into different ports, change BIOS settings, etc.
As of now, this has been accomplished. I only have to press F12 at my bootscreen to bring up the boot menu and I am all set.
Now I only need to find a way to place the PCI card in the hard drive bay (right) of my case. All these riser card cables (including the bizarre USB3 type one) are so stiff.
I could put another PCI card into the riser card. It has two slots. #SoManyPossibilities
Cheers,
schreiberstein
schreiberstein has attached files to this post

- ⇗ ntvdm_windbg.txt

schreiberstein has attached images to this post ⇗ FD2C10DB-E523-4DE5-9446-E

#2974 | daniel_k | ⇗ @diderius6, what was the ACPI error on the Asrock Q1900M? I'm curious. A quick look at it and the only strange thing I've found was there are some Methods inside a Method. Never seen this before.

#2975

diderius6

⇗ @daniel_k
This is a really crazy Bios. It is Intel Insyde, brrr.. No tool works extracting Bios or parts of it etc.
The Bsod was before A5 (0x11,..) with original XP acpi.sys.
Later I went through a cascade of BSODs.
I get the same BSOD as ⇗ @Doc.Brown,
get BSOD 0x7E(c0000005,..)
Bsod 0x7B often (unclear reason with last acpi.sys 5048) but the most evel was BSOD A5 (0x2001,..).
This means, that the compi cannot enable Acpi mode for 1 cpu.
This remembers me a lot at the crazy way to the acpi.sys for Ryzen.
And because of this I come to the idea to use that Debug acpi.sys, hacked for Ryzen
and this works
Dietmar
PS: Do edit this DSDT will be hard work, but also fun:))!
EDIT: The work with the debug acpi.sys has one big disadvantage: Always, when it reaches a Breakpoint,
it gives BSOD 0x7E (0x80000003,..) which tells, please connect windbg and hit "i".
But on the Lenovo Flex 10 is no debug possible, so I have to change this acpi.sys back to the last one based on 5048.

#2976

daniel_k

⇗ @schreiberstein, please try this.
Replace both files at the same time, otherwise corruption may occur.
This Hal.dll includes ACPI timer patch from ⇗ @diderius6, plus PAE patch.
Source of original files:
⇗ http://vm1.duckdns.org/Public/Windows_XP...e_PAE_Limit.htm
Didn't try it yet, don't know if you need to set the /PAE command in Boot.ini

#2977 | daniel_k | ⇗ @diderius6, if you had the complete A5 error parameters, that would give us some clue about where it happens, you know, for example, _INI in hex ... But, like I've said before, really strange to have a Method inside another Method.
#2978 | schreiberstein | ⇗ @daniel_k Thank you. I will test that in a minute. By the way, the provided ntoskrnl.exe version is significantly older than the one I use right now: 5.1.2600.6748 vs. 5.1.2600.5512 // This matches the hal.dll version though.
#2979 | daniel_k | ⇗ @schreiberstein, the patched the original SP3, release. If you compare with the original, maybe is easy to patch the new one. Can you do it yourself? If so, remember to fix the PE checksum.

#2980

schreiberstein

⇗ @daniel_k
I replaced both files using another system (the existing one kept reverting the file after each replacement).
However, with or without /PAE there was no change of available memory whatsoever.
And I checked that the correct version was stored in system32.
I am now experimenting with the 128g patch. Just want to see if any of that stuff works for my system.
Cheers
schreiberstein

#2981

schreiberstein

Update:
I used "Windows_XP_128GB_double_pae_addon_final_byDibya.7z.zip" from ⇗ @infuscomus
Put ntkr128g.exe (version 5.1.2600.7146) and hal128g.dll (5.1.2600.5687) into system32,
and added a custom entry to boot.ini.
Now I have 31.8 GB of RAM with PAE enabled.
However, there are obvious problems due to the missing ACPI timer patch.
The patched USB files from the same package do not seem to be needed here. USB works as usual.
schreiberstein

#2982 | daniel_k | Here is the patched version. About the USB drivers, they are NOT needed as you don't have USB2.0 controllers, which are the one affected.

#2983

schreiberstein

⇗ @daniel_k
Yup! This worked! That was quick. Thank you!
31.8 GB - and Chrome works!
USB did not work on the first boot. NTVDM works right now. I can execute edit.com (I suppose that is always the case when USB does not work)
I was also able to finally launch the RAGE Expendable / Millennium Soldier installer (1999 video game)
I will replace the USB related DLLs in system32 with the ones from the 128gb patch shortly.
Cheers,
schreiberstein

#2984 | daniel_k | About the USB drivers, they are NOT needed as you don't have USB2.0 controllers, which are the one affected.
#2985 | schreiberstein | ⇗ @daniel_k Understood! Thank you!

## Page 200

#2986

schreiberstein

⇗ @daniel_k
This PAE 128gb constellation is causing a lot of issues.
USB never works (USB controller devices are not identified) and applications behave strangely.
It seems to mess with file IO. Some games crashed complaining they cannot check if the CD is present or fail to read a certain file. Chrome crashes quite regularly (pages die).
Explorer behaves slowly. There is a noticeable delay when navigating through folders.
So, I guess I will have to stay with Server 2003 if I want to use more than 904MB stably.
Could you try to apply the hal.dll patch to Server 2003 SP2 RTM hal.dll ? Then I could test the system further on 2003.
I really do not know how I could do that myself.
Is it a simple patch via hex editor and I could check via binary diff?
Cheers,
schreiberstein
schreiberstein has attached files to this post

- ⇗ 2003_sp2_i386_hal.rar

#2987

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #2953

> @Doc.Brown
> I noticed a resource conflict.
> On Acpi XP SP3 I have no onboard sound (code 10).
> On MPS XP SP3 I have sound.
> So, it is a design error on the board,
> another device shares IRQ and line with the Realtek soundchip

What exactly computer type did you choose during installation - MPS Multiprocessor PC or MPS Uniprocessor PC ???
⇗

#2988 | daniel_k | ⇗ @schreiberstein Here it is, should be correct.
#2989 | diderius6 | ⇗ @Gelip I choose "MPS Multiprocessor PC". "MPS Uniprocessor PC" is without sense, in this case it would be better to choose "Standard PC" Dietmar

#2990

diderius6

⇗ @daniel_k
Hi,
do you have an idea about this DSDT?
It is from the Insyde Bios of the Lenovo Flex 10 notebook (Baytrail). No chance to make windbg work on it. This DSDT stays at other place in Bios, different from all other modern UEFI BIOS.
For any acpi.sys version until now, it gives first BSOD A5 (0x11,..). I think, this is the major problem to solve:
Acpi mode cant be enabled.
When you jump this, at once you come to BSOD A5 (0x2001,..) exact as this has been for the Ryzen cpu.
When you jump this 2001 BSOD, you get famous 0x7E (0xc0000005,..).
The problem in this is, that this netbook Flex 10 cant be debugged
Dietmar
PS: Win 7 32 bit also shows BSOD A5 (0x11,..) on this netbook, crazy.
diderius6 has attached files to this post

- ⇗ DSDTFlex10.rar

#2991

Doc.Brown

Hello all :)
I'm triyng another things like debug ACPI for ryzen (bsod 7e),changing RAM quantity,ahci injection one after other and test,for now I just put RSTe and storahci but nothing works again,i'll will test with USBXhci and Fernando's after
It's seems with New Z390 acpi5048 i don't need modded bios anymore
I'm looking all .log in Windows directory now,do you me to keep some of them for debug like "setupapi" or other else ?

#2992

IntiMD

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2973

> @XPLives

>     PCI Data Acquisition and Signal Processing Controller <-- I have only ONE of these devices

>     PCI bus 0, device 18, function 0
>     The drivers for this device are not installed. (Code 28)

>     Device Instance ID: PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10\3&11583659&0&90

>     Hardware IDs:
>     PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10
>     PCI\VEN_8086&DEV_A379&SUBSYS_88881458
>     PCI\VEN_8086&DEV_A379&CC_118000
>     PCI\VEN_8086&DEV_A379&CC_1180

>     Compatible IDs:
>     PCI\VEN_8086&DEV_A379&REV_10
>     PCI\VEN_8086&DEV_A379
>     PCI\VEN_8086&CC_118000
>     PCI\VEN_8086&CC_1180
>     PCI\VEN_8086
>     PCI\CC_118000
>     PCI\CC_1180

>     Matching Device ID:
>     [EMPTY]

According to pci.ids, the device is called: "Intel Cannon Lake PCH Thermal Controller". You can use Fernando's Intel chipset devices INF AiO package ⇗ {II. Latest "pure" Intel Chipset Device *.INF files for all Intel systems from 6-Series up (for manual installation):}. When updating the device, make sure the path that you direct is "UNPACKED_PACKAGE_ROOT\CannonLake-H\CannonLake-HSystemThermal.inf"

#2993

Gelip

I follow this thread from the very beginning. I see there are problems with ACPI, AHCI and USB because on the motherboards you are testing there is no official support for WinXP. For WinXP, computers from 2010-2013 with UEFI bios are modern hardware. These devices have official WinXP support, i.e. drivers for all devices even for USB 3.0 (e.g. ASmedia). There are no any problems with ACPI or AHCI.
⇗ Windows XP: new Z68/Z77 rig in 2017
⇗ ASRock Z68 Extreme3 Gen3
⇗
I have such hardware on which WinXP 32-bit or 64-bit works very stable and fast - ThinkPad X220 laptop. I tested on it all Windows systems such as WinXP, Vista, 7, 8, 8.1, 10 and what is important - there are drivers for each system for all devices !!!
Linux and even Mac OS also work - ⇗ ThinkPad X220 macOS High Sierra 10.13 Installation Guide
Well, good luck in running WinXP on new hardware
P.S. I also have several computers from 1998-2003 and work very well to this day.
I do not understand why buy modern hardware as we want to use WinXP ???

#2994 | diderius6 | ⇗ @Gelip For fun^^ and XP SP3 is stable, very easy to handle and fast. It runs on 486 processor (i386 I have not tested) and via Qemu on Arm. Take a look at the "search" function at any othe OS. At once you would choose XP Dietmar

#2995

diderius6

⇗ @daniel_k
About the DSDT in Bios (Insyde) from Lenovo Flex 10 netbook.
Can it be, that the manufacturer extra put the DSDT away from its normal place in UEFI Bios GUID
C118F50D-391D-45F4-B3D3-11BC931AA56D
so that XP and Win7 cant find it?
They want to promote Win8.
I always think, that DSDT is an interpreted table, just as a stripe of paper, where acpi.sys runs over.
That OS XP, Vista, Win7 all show the same BSOD A5 (0x11,..)
makes me think, that I might be right.
But if it is so, can its own original DSDT just been copied in Bios itself to place in GUID C118F50D-391D-45F4-B3D3-11BC931AA56D
Dietmar
PS: The GUID C118F50D-391D-45F4-B3D3-11BC931AA56D
is not in this Bios from Insyde.
EDIT: I just upload via asl.exe its own DSDT to the registry of the Lenovo Flex 10 notebook.
So, the DSDT is there for sure. But the BSOD A5 (0x2001,..) stays as before.
So, it is really the fault in its DSDT. Strange, why also Win7 gives BSOD A5 (0x2001,..).
EDIT2: Now comes the most strange thing ever: With the original DSDT from the Lenovo Flex 10 netbook I can start to full Acpi mode on the Asrock Q1900m board. So, the real problem is not in this DSDT but somewhere in the Bios of the Flex 10.

#2996 | XPWELL64 | ⇗ @diderius6 I want to hibernate my PC, with acpi.sys it cannot hibernate. Can you make a DSDT table for me and integrate to my bios? Here is my bios link: ⇗ https://dlcdnets.asus.com/pub/ASUS/nb/X555LB/X555LBAS603.zip
#2997 | diderius6 | ⇗ @XPWELL64 Until now I am not good enough for to enable hibernate in DSDT. But just now I give the asl.exe tool a new chance for to overwrite DSDT Dietmar

#2998

XPLives

> Zitat von ⇗ diderius6 im Beitrag ¶ #2972

> ACPI XP SP3 install on Baytrail CPU
> I just make a brandnew XP SP3 installations CD for the Asrock Q1900M board (BayTrail).
> There I integrate the acpi.sys Debug version 5.1.2600.5512 original from XP SP3 with Hack for Ryzen support.
> And I use the STORAHCI driver from @skullteria together with new storport.sys,
> because I noticed, that all the Iastor driver make problems on Baytrail chipset.
> Ok, I just burned CD and now it installs on the Q1900m Asrock miniboard
> with Bay Trail chipset and Valley View GPU.
> Strange, that for a motherboard from 2014 you need a hacked acpi,
> Dietmar
> EDIT1: After txtsetup I got BSOD 0x7B.
> Ok, storport.sys was gone as usual. But after that I get again BSOD 0x7B.
> The registry entries for the STORAHCI I have to do by hand, I have never seen before.
> Now install goes on. This is really funny: The model is good: At once I understand, why I never could
> install direct to the netbook Lenovo Flex 10 XP SP3 with setup CD.
> With this experience I see, that it will be very very difficult to build a generic Install CD for XP SP3,
> that workes on all compis.
> On next reboot I got again BSOD 0x7B and I have again to put the entries for STORAHCI by hand into registry.
> Now I get the same BSOD as @Doc.Brown . But not, when I chose save boot.
> Crazy, I think nobody succeeds to install full Acpi XP SP3 until now on Baytrail chipset.
> Yesssa, with disabling everything in Device Manager I come to the normal desktop with full Acpi XP SP3 on Baytrail chipset.
> I think, it is really the very first time that this has been done. For example see this blog
> ⇗ https://ryanvm.net/forum/viewtopic.php?t=10596
> ⇗

⇗ @diderius6
Try my Intel Universal SATA driver on XP Pro 64 and test on that Baytrail desktop motherboard Asrock Q1900m.
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
Use a clean XP Pro 64-Bit and do not integrate any other drivers or STORAHCI. Do not even add any USB 3.0 modded drivers. Just keep it clean as possible.
The USB 2.0 ports should work on Baytrail with XP.
Only use my storage driver and DK's acpi.sys for first test and let us know the result.
Just integrate my 64-Bit SATA driver only. And add for acpi.sys use Daniel's recent Z390 acpi. Don't add anything else.
If DK's acpi does not work try yours after.
Also if can you test to see if any Ivy Bridge or Haswell XP Intel iGPU drivers works on that? Try standard one and the embedded one.
XPLives

#2999

diderius6

⇗ @Doc.Brown
I just proved, that the reason in your BSOD 0x0000000a (0x000000B0,0x00000002,0x00000000, xxx)
is only the Iastor driver version 1006
Dietmar
PS: So you have to work with the STORAHCI driver and storport.sys from @skullteria.
This is a hard job.

#3000 | Doc.Brown | I also tried it without Fernando's driver this morning but BSOD first because of the lack of storport and after copy it in system32/drivers the same "IRQL not less or equal" come again ⇗ @diderius6 I try other RSTe linked before,chipset drivers and also nv drivers by nlite but always the same

## Page 201

#3001 | diderius6 | ⇗ @Doc.Brown Nono, you give up too quickly. Build an XP SP3 on another, XP friendly compi ONLY with the STORAHCI driver and storport.sys from ⇗ @skullteria . This XP will start on Gene XI Dietmar

#3002

Gelip

⇗ @Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #2378

> Again i've played with IOTR resource conflict, i think source of problem is how vga i/o ports is decoding.

Can you patch acpi.sys 5.2.3790.3959 from WinXP x64 please ?
Gelip has attached files to this post

- ⇗ acpi_xp_x64.zip

#3003

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3001

> @Doc.Brown
> Nono, you give up too quickly. Build an XP SP3 on another, XP friendly compi ONLY with the STORAHCI driver and storport.sys from @skullteria .
> This XP will start on Gene XI
> Dietmar

I don't give up my friend,I'm already at it :p

#3004 | infuscomus | ⇗ @Doc.Brown I have a modified XP ISO with all the patches integrated if you want to try it

#3005

Doc.Brown

> Zitat von ⇗ infuscomus im Beitrag ¶ #3004

> @Doc.Brown
> I have a modified XP ISO with all the patches integrated if you want to try it

Yes I could make a try,thanks ;)
Edit : always the same BSOD at the same moment with only storahci on z390

#3006 | infuscomus | ⇗ @Doc.Brown I sent you a PM
#3007 | Doc.Brown | Thank you :)
#3008 | XPWELL64 | ⇗ @diderius6 I want you to mod my bios. I integrated dsdt.aml with UEFItool but after flashing mod bios, Windows 7 gave a BSoD too. The detailed error codes are: 0xA5 0x11 0x08 (in Windows XP).

#3009

diderius6

⇗ @XPWELL64
This is the "normal" acpi.sys BSOD.
Try the last acpi.sys version from ⇗ @daniel_k
Dietmar
PS: Notebooks are different from normal compis, I just learned:)).
So try different acpi.sys.

#3010 | Doc.Brown | ⇗ @infuscomus Exactly the same BSOD with your XP during devices installation,the truth is deeper with this motherboard it seems
#3011 | XPWELL64 | I found some infos about Intel HD 5500 and UHD 620 graphics on Windows 10 igdkmd64.sys but functions are totally different. (I used IDA Pro.)
#3012 | diderius6 | ⇗ @Doc.Brown It is one device: Iastor.sys vers 1006 Dietmar

#3013

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3012

> @Doc.Brown
> It is one device: Iastor.sys vers 1006
> Dietmar

Is there something to do against that ⇗ @diderius6 ?
Thanks
Edit: i've got an old adaptec SATA2 pcie card,i try

#3014

diderius6

⇗ @Doc.Brown
Start working XP SP3 on the Gene XI board in Safe Mode (F8).
Copy from the link here storport.sys into windows\system32\drivers.
Copy the extracted folder to your XP c:\.
Via Device Manager go to IDE ATA/ATAPI-Controller
and search for new driver. Direct to the i386 folder of the STORAHCI package
from ⇗ @skullteria and install the driver.
When you restart it will work at once or you have to test different acpi.sys
Dietmar
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59)

#3015

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #2660

> @Mov AX, 0xDEAD, nice job with KDNET and thanks for sharing it publicly!
> Any plans to work on an x64 version?

> Zitat von ⇗ Gelip im Beitrag ¶ #3002

> @Mov AX, 0xDEAD
> Can you patch acpi.sys 5.2.3790.3959 from WinXP x64 please ?

Sorry, guys, WinXP/2003 x64 is out of my hobbies

## Page 202

#3016

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #2995

> @daniel_k
> About the DSDT in Bios (Insyde) from Lenovo Flex 10 netbook.
> Can it be, that the manufacturer extra put the DSDT away from its normal place in UEFI Bios GUID
> C118F50D-391D-45F4-B3D3-11BC931AA56D

The GUID probably has nothing to do with it, seems that it isn't a standard GUID after all, as I couldn't find any reference to it in any UEFI docs.

> Zitat

> EDIT2: Now comes the most strange thing ever: With the original DSDT from the Lenovo Flex 10 netbook I can start to full Acpi mode on the Asrock Q1900m board. So, the real problem is not in this DSDT but somewhere in the Bios of the Flex 10.

Yeah, that one is really strange.

    Scope (\_SB)
                Device (LPCB)
                           {
                    Name (_ADR, 0x001F0000)  // _ADR: Address
                    Scope (\_SB) -> This seems to be wrong, inside a Device and inside it's own scope?!
                                   {
                        OperationRegion (ILBR, SystemMemory, IBAS, 0x8C)
                        Field (ILBR, AnyAcc, NoLock, Preserve)
                                           {
                            Offset (0x08),
                            PARC,   8,
                            PBRC,   8,
                            PCRC,   8,
                            PDRC,   8,
                            PERC,   8,
                            PFRC,   8,
                            PGRC,   8,
                            PHRC,   8,
                            Offset (0x88),
                                ,   3,
                            UI3E,   1,
                            UI4E,   1
                                           }

                        Device (LNKA) -> LNKx are critical devices, if the above is wrong, this should be as well
                                           {
                            Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                            Name (_UID, One)  // _UID: Unique ID
                            Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                                                   {
                                Or (PARC, 0x80, PARC)
                                                   }

                            Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
                                                   {
                                Return (PRSA)
                                                   }
    ...

No wonder Insyde BIOS is the worst!
The way the DSDT is written is terrible to read!
I'm sure even the person who wrote can't read it easily.

#3017

diderius6

Hi,
here is a new acpi.sys just from outer space )!
It is based on the original acpi.sys from XP SP3. The advantage against the 5048 version is,
that you get Symbols from the Microsoft Server for debug for it.
By the way I noticed, that even between the original english acpi.sys versions 5512,
there are differences. So we need to give the SHA-1 number each time,
when we speak about a special version
Dietmar
PS: This acpi.sys has SHA-1 number 4115882444A63465079E5D1C27987CD500E8FB9A
diderius6 has attached files to this post

- ⇗ acpi.rar

#3018

daniel_k

Did some load and restart stability tests with XP SP3 x86 fully patched, clean install. All drivers were installed.
1) Disabled automatic restart on system error
2) Created a shortcut in Startup folder of Start Menu, so system restarts continuosly, with the following command line:

    shutdown.exe -t 0 -r

3) Ran the shortcut.
Results:
- Original ACPI.SYS (with patched DSDT):
No issues for 1 hour. Really rare, but I've seen the system hang during shutdown or restart when it was about to power off or reset the display. I don't consider this to be critical.
- Modded ACPI.SYS:
Crashes when loading XP after a dozen restart loops, with a stop error A3 - ACPI_DRIVER_INTERNAL. This is a critical error.
- Original or Modded ACPI.SYS with PAE hack:
Crashes ramdonly during XP loading, with a stop error 0A - IRQL_NOT_LESS_OR_EQUAL.
WDF drivers like VIA USB3 don't work, the XHCI controller shows a yellow bang in Device Manager with error code 10. Seriously, this hack sucks, badly written, one can see that there are many differences between XP's hal and 2003's.
Disabling WDF drivers (including framework), decrease the amount of crashes, but don't stop them.

#3019 | XPWELL64 | ⇗ @diderius6 I believe I can hack Intel HD for Windows XP driver. I found some IDA function strings about Windows 10 UHD Graphics. If I find corresponding function, I can mod it.
#3020 | daniel_k | ⇗ @diderius6, I'd recommend that you do the XP loading/restarting test as I did above.
#3021 | XPWELL64 | Just graph view the string that you addressed me and at the bottom of the graph I saw a haswell included function.
#3022 | Doc.Brown | Bsod A5 with your last acpi.sys even in safe mode ⇗ @diderius6 ;) Nothing works for me,i've tested all the acpi,only boot in safe mode but now with my last ISO the Microsoft ACPI Compliant embedded controler is well installed

#3023

diderius6

⇗ @daniel_k
I want to test, but with which XP version?
The compis themselves are different.
On my compi for daily use with Intel X58 from 2009(!) with i920 cpu
I do not have a single BSOD under XP SP3 in 2 years
Dietmar

#3024 | XPWELL64 | ⇗ @diderius6 Can I use dsdt from Haswell Laptop? Daniel_k used DSDT from Insyde and used in AMI. Which laptop's (or AiO's) dsdt is best for Asus X555LB?
#3025 | diderius6 | ⇗ @Doc.Brown Please, can you write the exact BSOD number A5 for test with acpi.sys from outer space? Dietmar

#3026

diderius6

⇗ @XPWELL64
This was for me the only second time, that a DSDT from another compi works.
In this crazy case also vice versa change DSDT is possible, with better Acpi compatibility than before(!)
Dietmar
PS: The compis, between you can share DSDT needs to be nearly identic.
But an exact criterium, what makes it possible to share successfull DSDT between them, I dont have.
This brings me back to my old idea, to make a very short, generic DSDT for all compis,
which use XP SP3.

#3027 | Doc.Brown | ⇗ @diderius6 of course it's A5 (0x00000003,0x8AA6A6E0,0xC0140008,0x494E495F) ;)
#3028 | XPWELL64 | ⇗ @diderius6 I integrated N56VJ dsdt into x555lb bios.

#3029

Gelip

⇗ @skullteria

> Zitat von ⇗ skullteria im Beitrag ¶ #2425

> Hey, to disable Signature check, need patch ImgpValidateImageHash function inside winload.exe. For me, work these lines:
> Original: 8B C8 85 C9 89 4D 08 7D
> Replace: C7 45 08 00 00 00 00 EB
> x64(maybe)
> Original: 45 33 db 41 3b c3 8b d8
> Replace: C7 45 08 00 00 00 00 EB
> Tested on Vista SP2 winload

I try disable sig check in winload.exe from 64-bit Vista beta 5384.4. HEX 45 33 db 41 3b c3 8b d8 is in the file but after change and rebuild PE checksum loader not work even after added DisableIntegrityChecks in BCD
Fortunately, I was able to turn off signature checking in 64-bit files winload.efi and winload.exe from beta longhorn server 16497 - ⇗ How to switch XP over to winload bootloader?
I need help to disable sig check in 64-bit files winload.efi and winload.exe from Vista beta 5384.4
Gelip has attached files to this post

- ⇗ org_winload_5384.zip

#3030

schreiberstein

⇗ @daniel_k
Thank you for your HAL.DLL patch for Server 2003 x86.
I can report that it is working fine.
The only downside to running Server 2003 seems to be the version incompatibility with user applications which deny you the installation progress based on some version string.
I would like to fake the version string to Windows XP SP3 but I am not quite sure how to do that.
I attempted to change some strings in HKLM\Software\Microsoft\Windows NT\Current Version
ProductName to Windows XP
CSD Version to Service Pack 3.
But nothing changed in the "System Properties" screen, neither were I able to install the nVidia drivers for Windows XP.
Even XP compatibility mode failed.
It either says "GeForce experience requires Windows XP SP3" or (with compatibility mode) complains that nView, GeForce Experience and the driver could not be installed. And I need the whole driver package so mutli-monitor mode can be properly configured.
I am not sure if it is even possible to completely fake "XPness" to user applications.
Both XP and 2003 USB fails every few reboots. Some devices (One AMD USB 2.0 Hub and AMD USB 3.0) have an error code 10.
Cheers,
schreiberstein

## Page 203

#3031

XPLives

> Zitat von ⇗ Gelip im Beitrag ¶ #2993

> I follow this thread from the very beginning.
> I do not understand why buy modern hardware as we want to use WinXP ???

Because it works. Use the K.I.S.S. method.

#3032

Mov AX, 0xDEAD

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3030

> I would like to fake the version string to Windows XP SP3 but I am not quite sure how to do that.
> I attempted to change some strings in HKLM\Software\Microsoft\Windows NT\Current Version
> ProductName to Windows XP
> CSD Version to Service Pack 3.
> But nothing changed in the "System Properties" screen, neither were I able to install the nVidia drivers for Windows XP.
> Even XP compatibility mode failed.
> It either says "GeForce experience requires Windows XP SP3" or (with compatibility mode) complains that nView, GeForce Experience and the driver could not be installed.

you need fake kernel32.dll/GetVersionEx too, it return current OS like numbers, 5.1 / 5.2 / xx

#3033

dencorso

⇗ @daniel_k: Does the hal5687_timer_patch.rar you posted some posts agop just have the timer patch, or does it include the > 4 GiB patch, too?

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3030

> The only downside to running Server 2003 seems to be the version incompatibility with user applications which deny you the installation progress based on some version string.
> I would like to fake the version string to Windows XP SP3 but I am not quite sure how to do that.

Try using fcwin2k.exe for it. I think you can learn how to use it by trial and error, but if you want to read more about it, try this thread at msfn:
⇗ https://msfn.org/board/topic/120936-kdw-fcwin2k/
dencorso has attached files to this post

- ⇗ fcwin2k.rar

#3034

XPLives

> Zitat von ⇗ diderius6 im Beitrag ¶ #2972

> ACPI XP SP3 install on Baytrail CPU
> I just make a brandnew XP SP3 installations CD for the Asrock Q1900M board (BayTrail).
> There I integrate the acpi.sys Debug version 5.1.2600.5512 original from XP SP3 with Hack for Ryzen support.
> And I use the STORAHCI driver from @skullteria together with new storport.sys,
> because I noticed, that all the Iastor driver make problems on Baytrail chipset.
> Ok, I just burned CD and now it installs on the Q1900m Asrock miniboard
> with Bay Trail chipset and Valley View GPU.
> Strange, that for a motherboard from 2014 you need a hacked acpi,
> Dietmar
> EDIT1: After txtsetup I got BSOD 0x7B.
> Ok, storport.sys was gone as usual. But after that I get again BSOD 0x7B.
> The registry entries for the STORAHCI I have to do by hand, I have never seen before.
> Now install goes on. This is really funny: The model is good: At once I understand, why I never could
> install direct to the netbook Lenovo Flex 10 XP SP3 with setup CD.
> With this experience I see, that it will be very very difficult to build a generic Install CD for XP SP3,
> that workes on all compis.
> On next reboot I got again BSOD 0x7B and I have again to put the entries for STORAHCI by hand into registry.
> Now I get the same BSOD as @Doc.Brown . But not, when I chose save boot.
> Crazy, I think nobody succeeds to install full Acpi XP SP3 until now on Baytrail chipset.
> Yesssa, with disabling everything in Device Manager I come to the normal desktop with full Acpi XP SP3 on Baytrail chipset.
> I think, it is really the very first time that this has been done. For example see this blog
> ⇗ https://ryanvm.net/forum/viewtopic.php?t=10596
> ⇗

> Zitat von ⇗ diderius6 im Beitrag ¶ #2972

> ACPI XP SP3 install on Baytrail CPU
> I just make a brandnew XP SP3 installations CD for the Asrock Q1900M board (BayTrail).
> Yesssa, with disabling everything in Device Manager I come to the normal desktop with full Acpi XP SP3 on Baytrail chipset.
> I think, it is really the very first time that this has been done.

I didn't have enough time to add earlier. I remember this motherboard from a few years ago. I think I was using a Z68 but fan cooled at the time.
I saw this BayTrail one and was interested because it was fanless and a very low wattage model.
But one thing bugged me was no XP drivers from the website stated. That and only 1 Dimm slot maxed at 8GB.
So every now and then this motherboard comes up in discussion on forums. So I may have to buy one to test out. It seems to be closest to Sandy Bridge era so curiously I always wondered maybe it was XP compatible but at the time I didn't want to waste a lot of money on it.
You see I found out it uses a special CPU soldered to the motherboard. Then I said #$*!. I wanted to swap the CPU out and test in my socket 1155. So not compatible and you can't swap the CPU for another. Later Haswell Xeon is your best friend and even more lower wattage.
One day... I will test...the Asrock Q1900M for fun.
I found a Baytrail laptop that is fanless from searching a week ago. It is peaking my interest as I think I can get XP working on it for a real cheap security web cam that won't die from fan death from 24/7 operation. And if Intel integrated graphics driver can work than the best XP fanless laptop.

#3035 | dencorso | ⇗ @schreiberstein: I guess you may find this guide useful, too! ⇗ https://web.archive.org/web/200702120345...in2k3.ziras.de/

#3036

XPLives

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2973

> I added the Creative Audigy 2 ZS to my system via a PCI-E to PCI adapter and it works flawlessly.
> I removed the AMD/ATI card from the system. Only the GeForce GTX 780 is now in there (aside from the Intel IGPU)
> The HAL patch made my system a lot more responsive. Very happy about it.
> USB works quite reliably as well. Mouse and Keyboard seem to work after every reboot.
> I added "/PAE" to boot.ini, but I don't get more than 904MB RAM (64MB MIN ; 256MB MAX shared RAM for Intel IGPU in BIOS)
> @diderius6
> I wonder if there is a way to get more than 4GB (like on Server 2003) with your "halplusintelppmXPSP3.rar" hack bundle?
> Like the file "Windows_XP_128GB_double_pae_addon_final_byDibya.7z.zip" from @infuscomus suggests - but it has its own patched HAL.
> Seems like this is the only way I could access more than 904MB RAM.
> I could live with 4GB, but 904MB is quite small. I can feel it swapping when using 4 chrome tabs.
> @XPLives
> PCI Data Acquisition and Signal Processing Controller <-- I have only ONE of these devices
> PCI bus 0, device 18, function 0
> The drivers for this device are not installed. (Code 28)
> Device Instance ID: PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10\3&11583659&0&90
> Hardware IDs:
> PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10
> PCI\VEN_8086&DEV_A379&SUBSYS_88881458
> PCI\VEN_8086&DEV_A379&CC_118000
> PCI\VEN_8086&DEV_A379&CC_1180
> Compatible IDs:
> PCI\VEN_8086&DEV_A379&REV_10
> PCI\VEN_8086&DEV_A379
> PCI\VEN_8086&CC_118000
> PCI\VEN_8086&CC_1180
> PCI\VEN_8086
> PCI\CC_118000
> PCI\CC_1180
> Matching Device ID:
> [EMPTY]
> I have also started to look into the NTVDM.EXE problem - attached is my output from WinDbg.
> It seems that there is something wrong internally that is causing that.
> For now, I am surprised at how stable Windows XP is. I once counted more than 5 hours of uptime, benchmarking with several 3DMark versions, playing music on XMPlay
> Using the driver from daniel_k.
> All important hardware works on Apple Mac OS X 10.14 Mojave, Windows 10, 7, XP and 2003.
> The Creative Audigy even works after sleep/standby on Mac OS X using a patched kx Project audio driver kext.
> My goal is it to NEVER have to do any preparations before dual booting another OS.
> I don't want to plug my devices into different ports, change BIOS settings, etc.
> As of now, this has been accomplished. I only have to press F12 at my bootscreen to bring up the boot menu and I am all set.
> Now I only need to find a way to place the PCI card in the hard drive bay (right) of my case. All these riser card cables (including the bizarre USB3 type one) are so stiff.
> I could put another PCI card into the riser card. It has two slots. #SoManyPossibilities
> Cheers,
> schreiberstein

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2973

> I added "/PAE" to boot.ini, but I don't get more than 904MB RAM (64MB MIN ; 256MB MAX shared RAM for Intel IGPU in BIOS)
> PCI Data Acquisition and Signal Processing Controller

What are the Min and Max settings for the Intel Shared Ram. It can't be 64MB MIN and 256MB MAX.
Make sure you are dynamically sharing the video memory. You should be able to set it to a fixed value.
Usually Minimum I've seen should be 128MB and Max either 1.5GB to 2.5GB range.
Also I would try to disable the iGPU but for testing purposes here's what I recommend you do.
Remove the graphics card and make sure the BIOS default video output for iGPU.
Then test minimum shared video memory and boot into XP and see what the value is for Total Memory.
Then reboot go to BIOS and set to MAX value 1.5GB+ and boot into XP again and see what the value is for Total Memory.
If it changes or not let me know. If not most likely you there is some other option not set correctly.
Also are you planning to completely disable the iGPU when using MAC OS and XP? I would recommend you disable it and force PCIe as primary video card and disable any shared MultiDisplay output options you see.

#3037

schreiberstein

⇗ @dencorso
Oh my goodness!
I have not seen this guide in 10 years! Thank you! So much nostalgia.
Back in 2006, I used this guide to convert my Server 2003 system into a desktop. So much nostalgia.
The "Win2003v146.exe" Win2003 Optimize Tool from kood.org and Winfuture XP Iso Builder get the job done more efficiently, from my experience.
I know the fcwin2k.exe tool from blackwingcat, but thought that it would only work for Win2000 systems.
(I spent a good amount of time in ~2015-2016 with this Windows 2000 modding stuff, hehe)
Thanks for the hint! I will definitely check it out again!
Cheers,
schreiberstein

#3038

schreiberstein

⇗ @XPLives
Thank you.
I will experiment with Intel HD settings as well.
It actually is 64MB MIN and 256MB MAX
I have nearly the exact same BIOS settings as found in this thread:
⇗ https://www.tonymacx86.com/threads/succe...-rx-580.267551/
> Internal Graphics → Enabled
> DVMT Pre-Alloc → 64M (May not be present in BIOS F6 and later.)
> DVMT Total Gfx Mem → 256M (May not be present in BIOS F6 and later.)
--> Except that I have CSM mode activated for obvious reasons.
The Intel iGPU has very significant benefits on Mac OS X. It will be used as rendering accelerator and is required for compatibility on certain emulated machine types (otherwise JPEGs won't be rendered at all)
I have read somewhere that this has to do with some kind of memory hole for "reserved devices".
Given that I can access the entire amount of RAM just fine on Windows Server 2003, there should probably be a way to achieve that on XP as well. Or maybe simply get 2003 to pretend it is XP, hehe.
Cheers,
schreiberstein

#3039

diderius6

Does this Windbg print means, that my for XP SP3 hacked driver igxpmp32.sys is loaded and started?
Dietmar

>     Dumping IopRootDeviceNode (= 0x8a1b3ee8)
>     DevNode 0x8a1b3ee8 for PDO 0x8a1b3020
>       Parent 0000000000   Sibling 0000000000   Child 0x8a1b3a88
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       StateHistory[04] = DeviceNodeEnumerateCompletion (0x30d)
>       StateHistory[03] = DeviceNodeStarted (0x308)
>       StateHistory[02] = DeviceNodeEnumerateCompletion (0x30d)
>       StateHistory[01] = DeviceNodeStarted (0x308)
>       StateHistory[00] = DeviceNodeUninitialized (0x301)
>       StateHistory[19] = Unknown State (0x0)
>       StateHistory[18] = Unknown State (0x0)
>       StateHistory[17] = Unknown State (0x0)
>       StateHistory[16] = Unknown State (0x0)
>       StateHistory[15] = Unknown State (0x0)
>       StateHistory[14] = Unknown State (0x0)
>       StateHistory[13] = Unknown State (0x0)
>       StateHistory[12] = Unknown State (0x0)
>       StateHistory[11] = Unknown State (0x0)
>       StateHistory[10] = Unknown State (0x0)
>       StateHistory[09] = Unknown State (0x0)
>       StateHistory[08] = Unknown State (0x0)
>       StateHistory[07] = Unknown State (0x0)
>       StateHistory[06] = Unknown State (0x0)
>       StateHistory[05] = Unknown State (0x0)
>       Flags (0x00000131)  DNF_MADEUP, DNF_ENUMERATED,
>                           DNF_IDS_QUERIED, DNF_NO_RESOURCE_REQUIRED
>       DisableableDepends = 3 (from children)
>     1: kd> !lmi igxpmp32
>     Loaded Module Info: [igxpmp32]
>              Module: igxpmp32
>        Base Address: b92c5000
>          Image Name: igxpmp32.sys
>        Machine Type: 332 (I386)
>          Time Stamp: 52eae6bc Fri Jan 31 00:56:44 2014
>                Size: 277c00
>            CheckSum: 27acd4
>     Characteristics: 210e
>     Debug Data Dirs: Type  Size     VA  Pointer
>                  CODEVIEW    84, 20be60,  20be60 RSDS - GUID: {F23FF9B8-E2C4-44E8-8D55-1CBFFD969526}

>                    Age: 1, Pdb:
>     d:\ccViews\autobuild1_BR-1401-003D_14.56_Snapshot\gfx_Development\dump32\igfx\xp\gtune\AIM3Lib\igxpmp32.pdb
>          Image Type: MEMORY   - Image read successfully from loaded memory.
>         Symbol Type: NONE     - PDB not found from symbol server.
>         Load Report: no symbols loaded
>     1: kd> .reload igxpmp32.sys
>     1: kd> !devnode 0 1 igxpmp32
>     Dumping IopRootDeviceNode (= 0x8a1b3ee8)

>     Dumping IopRootDeviceNode (= 0x8a1b3ee8)
>     DevNode 0x8a1b3ee8 for PDO 0x8a1b3020
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)

#3040

XPLives

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3038

> @XPLives
> Thank you.
> I will experiment with Intel HD settings as well.
> It actually is 64MB MIN and 256MB MAX
> I have nearly the exact same BIOS settings as found in this thread:
> ⇗ https://www.tonymacx86.com/threads/succe...-rx-580.267551/
> > Internal Graphics → Enabled
> > DVMT Pre-Alloc → 64M (May not be present in BIOS F6 and later.)
> > DVMT Total Gfx Mem → 256M (May not be present in BIOS F6 and later.)
> --> Except that I have CSM mode activated for obvious reasons.
> The Intel iGPU has very significant benefits on Mac OS X. It will be used as rendering accelerator and is required for compatibility on certain emulated machine types (otherwise JPEGs won't be rendered at all)
> I have read somewhere that this has to do with some kind of memory hole for "reserved devices".
> Given that I can access the entire amount of RAM just fine on Windows Server 2003, there should probably be a way to achieve that on XP as well. Or maybe simply get 2003 to pretend it is XP, hehe.
> Cheers,
> schreiberstein

⇗ @schreiberstein
Okay I had my integrated Intel HD Graphics disabled in the BIOS.
Now that I re-enabled them.
Under [Chipset]
Internal Graphics → Enabled
DVMT Pre-Alloc
64MB Default, (Range 32MB-1024MB)
DVMT Total Gfx Mem
256MB Default, (Range 128MB, 256MB, MAX)
The MAX may be some unknown value definitely greater than 256MB. Since my BIOS does not show what the MAX is it must be based on how much installed memory detected and the BIOS probably has a set value I'm guessing. In SkyLake I think it was was 1.5GB. So it's possible the MAX on Coffee Lake increased higher than 1.5GB and possibly 2.0GB to 2.5GB. Since most people will not be installing this on XP they figured most people will be have installed 32GB or 64GB of RAM for most users so I would guess the MAX could be 2.5GB or 3.0GB? Maybe someone here like Lost_N_BIOS could figure out what this value for MAX is for your motherboard?
That is why we are running these tests.
I understand you need the iGPU for MAC. But doesn't the GTX 780 already do a better job of that? Or am I missing something why would an underpowered integrated IGPU be more powerful than your GTX 780? Why wouldn't the GTX 780 be taking over these tasks?
What exactly are you referring to by "emulated machine types"?
Also in another post you said "constellation" what did you mean by this?
You might want to hit ENTER on the DVMT Pre-Alloc and a new Menu list should appear with more values to choose from.
You can probably choose 32MB here which is the lowest on mine.
DVMT Total Mem could be set to 128MB which is the lowest on mine.
You can ask others here who have 300 Series MotherBoard what their settings/ranges are to compare.
[Test #1]
So basically try
32MB - Pre
128MB - Total
Boot into XP check System Properties, General -- Do A Snapshot
Check Task Manager, Performance -- Do A Snapshot
Then Reboot Enter BIOS
[Test #2]
Try again
1024MB - Pre
MAX - Total -- I'm guessing this should use 1024MB or whatever the limit could be given the installed RAM.
Boot into XP check System Properties, General -- Do A Snapshot
Check Task Manager, Performance -- Do A Snapshot
Hopefully these two tests alter the Total Memory shown/reported.
Let's see what happens and of course final comparison test.
[Test #3]
Disable Internal Graphics in BIOS, Power Off
Install GTX 980, Power On
Boot into XP check System Properties, General -- Do A Snapshot
Check Task Manager, Performance -- Do A Snapshot
If you can upload all Snapshots and label each.
Test 1A
Test 1B
Test 2A
Test 2B
Test 3A
Test 3B
You could Test #4 and Enable the Integrated Graphics using Test #2 Settings and with GTX 980 installed.
Test 4A
Test 4B
BTW, I got a MiniMAC coming so maybe this XP Hackintosh Project of yours could be simplified.
Hopefully you got some time to answer some of those previous MAC related questions I sent you prior. The ones you don't know or can't test yet let me know.

#3041

schreiberstein

⇗ @XPLives
I have just attempted booting with the iGPU completely disabled...
Now I had 984MB vs 904MB of RAM.
So no, the iGPU does not take away THAT much RAM.
nVidia cards are not optimized for Apple Mac OS X. That is why Apple uses ATI/AMD exclusively these days.
"emulated machine types" - on a hackintosh, you can choose a Mac hardware model. (such as iMac, MacMini, etc. and you specify their model identifier)
Mac OS X behaves differently on different platform definitions (concerning power management, utilization of dedicated GPUs, even down to the number of available USB ports)
Certain models expect the iGPU to be present as they offload certain tasks onto the iGPU. The iGPU is actually very efficient for something like JPEG rendering and other kinds of acceleration, as far as I have read.
You may find more information on that in the aforementioned tonymacx86 thread concerning the Gigabyte Z390 Designare motherboard.
Especially professional applications like FinalCut Pro X rely on the iGPU.
It would be a waste not to utilize it. Do I need it? I actually tried to disable it and then my system was unable to display JPEGs and to perform other kinds of OS X specific magic like "quick look" previews of movies and images.
And since the problem seems to lie somewhere else, I am not going to hate on the Intel HD graphics component of my system.
It certainly is not using 3GB of RAM, otherwise I would notice that on Server 2003 as well. But there I had 31+GB available.
It seems like Windows XP is unable to cope with something else, some small reserved portion of RAM. And instead of addressing the remaining RAM, it just quits at 904MB and calls it a day. But I have no clue how Windows XP memory mangement and detection works.
With "constellation" I was referring to the 128GB ntoskrnl.exe and hal.dll hack: It had very obvious side effects on the system. Issues with I/O, stuttering, noticeable lag when navigating through explorer.exe, etc. All things that were not present on XP on 904MB and Server 2003 with 32GB PAE.
Once I got either XP or Server 2003 running a bit more reliably, I will write a guide for my motherboard - since it bridges so many gaps. Windows XP support, 7 support, 10 support, Mac OS X support, ...
It is also the last architecture that will be able to run Mac OS X 10.14 Mojave without incompatibilities - hence the last version that runs 32-Bit Mac apps from the mid 2000s natively.
I hope this answers your questions, gentleman. :-)
Cheers,
schreiberstein
EDIT: I will do the testing procedures that you specified. Perhaps the amount of available RAM might still change. Will keep you posted.

#3042

diderius6

I do not find the exact place in igxpmp32.sys (see attached file) where this BSOD happens
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Mon Oct 14 00:57:16.890 2019 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp.080413-2111
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
    System Uptime: not available
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Mon
     Oct 14 00:57:19.218 2019 (UTC + 2:00): MM: Loader/HAL memory block
    indicates large pages cannot be used for 80D86000->821DEFFF
    Mon Oct 14 00:57:19.218 2019 (UTC + 2:00):
    Mon Oct 14 00:57:19.218 2019 (UTC + 2:00): MM: Disabling large pages for all ranges due to overlap
    Mon Oct 14 00:57:22.906 2019 (UTC + 2:00): AhciHwFindAdapter finishing
    Mon Oct 14 00:57:33.765 2019 (UTC + 2:00):
    *** Fatal System Error: 0x00000050
                                                 (0xB92602C0,0x00000000,0xB92F6548,0x00000000)

    Mon Oct 14 00:57:33.796 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows XP 2600 x86 compatible target at (Mon Oct 14 00:57:34.031 2019 (UTC + 2:00)), ptr64 FALSE
    Loading Kernel Symbols
    ...................................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 50, {b92602c0, 0, b92f6548, 0}

    *** ERROR: Module load completed but symbols could not be loaded for igxpmp32.sys
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    Probably caused by : igxpmp32.sys ( igxpmp32+31548 )

    Followup: MachineOwner
    ---------

    nt!RtlpBreakWithStatusInstruction:
    8052b5dc cc              int     3
    1: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)
    Invalid system memory was referenced.  This cannot be protected by try-except,
    it must be protected by a Probe.  Typically the address is just plain bad or it
    is pointing at freed memory.
    Arguments:
    Arg1: b92602c0, memory referenced.
    Arg2: 00000000, value 0 = read operation, 1 = write operation.
    Arg3: b92f6548, If non-zero, the instruction address which referenced the bad memory
    	address.
    Arg4: 00000000, (reserved)

    Debugging Details:
    ------------------

    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0
    *** No owner thread found for resource 8055b4e0

    READ_ADDRESS:  b92602c0

    FAULTING_IP:
    igxpmp32+31548
    b92f6548 8b88c0821000                         mov     ecx,dword ptr [eax+1082C0h]

    MM_INTERNAL_CODE:  0

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  System

    TRAP_FRAME:  b9d13428 -- (.trap 0xffffffffb9d13428)
    ErrCode = 00000000
    eax=b9158000 ebx=e1394b70 ecx=00000001 edx=bb000000 esi=89ce30f0 edi=b9d1367c
    eip=b92f6548 esp=b9d1349c ebp=b9d13530 iopl=0         nv up ei ng nz na pe nc
    cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
    igxpmp32+0x31548:
    b92f6548 8b88c0821000    mov     ecx,dword ptr [eax+1082C0h] ds:0023:b92602c0=????????
    Resetting default scope

    LOCK_ADDRESS:  8055b560 -- (!locks 8055b560)
    NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
    NTSDEXTS: Please check your symbols

    PNP_TRIAGE:
    	Lock address  : 0x8055b560
    	Thread Count  : 1
    	Thread address: 0x8a18f3c8
    	Thread wait   : 0x26b

    LAST_CONTROL_TRANSFER:  from 804f8df9 to 8052b5dc

    STACK_TEXT:
    b9d12f5c 804f8df9 00000003 b92602c0 00000000 nt!RtlpBreakWithStatusInstruction
    b9d12fa8 804f99e4 00000003 00000000 c05c9300 nt!KiBugCheckDebugBreak+0x19
    b9d13388 804f9f33 00000050 b92602c0 00000000 nt!KeBugCheck2+0x574
    b9d133a8 8052036a 00000050 b92602c0 00000000 nt!KeBugCheckEx+0x1b
    b9d13410 80544578 00000000 b92602c0 00000000 nt!MmAccessFault+0x9a8
    b9d13410 b92f6548 00000000 b92602c0 00000000 nt!KiTrap0E+0xd0
    WARNING: Stack unwind information not available. Following frames may be wrong.
    b9d13530 b92f2c6e 89ce3350 e14783b8 290a8000 igxpmp32+0x31548
    b9d13548 b952ce39 89ce3350 8a06dde0 000000dc igxpmp32+0x2dc6e
    b9d1367c b92c89cd 89ce3350 00000000 00000000 igxpmp32+0x267e39
    b9d1369c b92c0318 89ce3350 00000000 00000000 igxpmp32+0x39cd
    b9d138a0 b92c0c9a 89e82a20 89f2bc00 89f2bc08 VIDEOPRT!VideoPortFindAdapter2+0x3ec
    b9d138cc b92bac41 89e82a20 89f2bc00 89f2bc08 VIDEOPRT!VideoPortFindAdapter+0x7c
    b9d13a38 804ef18f 89ce3038 8a0559f0 b9d13ab4 VIDEOPRT!pVideoPortPnpDispatch+0x6ad
    b9d13a48 80592b63 b9d13ab4 8a16f3d8 00000000 nt!IopfCallDriver+0x31
    b9d13a74 80592be1 89ce3038 b9d13a90 00000000 nt!IopSynchronousCall+0xb7
    b9d13ab8 804f61ea 8a16f3d8 89f54960 00000001 nt!IopStartDevice+0x4d
    b9d13ad4 8059229b 8a16f3d8 89f54901 00000000 nt!PipProcessStartPhase1+0x4e
    b9d13d2c 8059276e 8a1b3ee8 00000001 00000000 nt!PipProcessDevNodeTree+0x1db
    b9d13d54 804f6996 00000003 8055b5c0 8056485c nt!PiProcessStartSystemDevices+0x3a
    b9d13d7c 8053876d 00000000 00000000 8a18f3c8 nt!PipDeviceActionWorker+0x170
    b9d13dac 805cff64 00000000 00000000 00000000 nt!ExpWorkerThread+0xef
    b9d13ddc 805460de 8053867e 00000001 00000000 nt!PspSystemThreadStartup+0x34
    00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    igxpmp32+31548
    b92f6548 8b88c0821000    mov     ecx,dword ptr [eax+1082C0h]

    SYMBOL_STACK_INDEX:  6

    SYMBOL_NAME:  igxpmp32+31548

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: igxpmp32

    IMAGE_NAME:  igxpmp32.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  52eae6bc

    FAILURE_BUCKET_ID:  0x50_igxpmp32+31548

    BUCKET_ID:  0x50_igxpmp32+31548

    Followup: MachineOwner
    ---------

    1: kd> lm
    start    end        module name
    804d7000 806e5000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
    806e5000 80705d00   hal        (deferred)
    b91d8000 b9235f00   update     (deferred)
    b9236000 b9258700   ks         (deferred)
    b9281000 b92b0e80   rdpdr      (deferred)
    b92b1000 b92c4f00   VIDEOPRT   (pdb symbols)          c:\symbols\videoprt.pdb\66CB8EA979A742EABCB14A11545D6EBE1\videoprt.pdb
    b92c5000 b953cc00   igxpmp32   (no symbols)
    b9585000 b959eb80   Mup        (deferred)
    b959f000 b95cb980   NDIS       (deferred)
    b95cc000 b9658600   Ntfs       (deferred)
    b9659000 b966f880   KSecDD     (deferred)
    b9670000 b9681f00   sr         (deferred)
    b9682000 b96a1b00   fltMgr     (deferred)
    b96a2000 b96e2000   storport   (deferred)
    b96e2000 b9707a00   dmio       (deferred)
    b9708000 b9726d80   ftdisk     (deferred)
    b9727000 b9737a80   pci        (deferred)
    b9738000 b97a6480   ACPI       (deferred)
    b98a8000 b98b1300   isapnp     (deferred)
    b98b8000 b98c2580   MountMgr   (deferred)
    b98c8000 b98d5200   VolSnap    (deferred)
    b98d8000 b98e5000   storahci   (deferred)
    b98e8000 b98f0e00   disk       (deferred)
    b98f8000 b9904180   CLASSPNP   (deferred)
    b9948000 b9954f00   i8042prt   (deferred)
    b9958000 b9961e00   intelppm   (deferred)
    b9968000 b9971f00   termdd     (deferred)
    b9b28000 b9b2cd00   PartMgr    (deferred)
    b9b58000 b9b5e280   kbdclass   (deferred)
    b9b60000 b9b65c00   mouclass   (deferred)
    b9cb8000 b9cbb000   BOOTVID    (deferred)
    b9d60000 b9d63c80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
    b9da8000 b9da9b80   kdcom      (deferred)
    b9daa000 b9dab100   WMILIB     (deferred)
    b9dac000 b9dad700   dmload     (deferred)
    b9db4000 b9db5100   swenum     (deferred)

diderius6 has attached files to this post

- ⇗ igxpmp32.rar

#3043

XPLives

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3041

> @XPLives
> I have just attempted booting with the iGPU completely disabled...
> Now I had 984MB vs 904MB of RAM.
> So no, the iGPU does not take away THAT much RAM.
> nVidia cards are not optimized for Apple Mac OS X. That is why Apple uses ATI/AMD exclusively these days.
> "emulated machine types" - on a hackintosh, you can choose a Mac hardware model. (such as iMac, MacMini, etc. and you specify their model identifier)
> Mac OS X behaves differently on different platform definitions (concerning power management, utilization of dedicated GPUs, even down to the number of available USB ports)
> Certain models expect the iGPU to be present as they offload certain tasks onto the iGPU. The iGPU is actually very efficient for something like JPEG rendering and other kinds of acceleration, as far as I have read.
> You may find more information on that in the aforementioned tonymacx86 thread concerning the Gigabyte Z390 Designare motherboard.
> Especially professional applications like FinalCut Pro X rely on the iGPU.
> It would be a waste not to utilize it. Do I need it? I actually tried to disable it and then my system was unable to display JPEGs and to perform other kinds of OS X specific magic like "quick look" previews of movies and images.
> And since the problem seems to lie somewhere else, I am not going to hate on the Intel HD graphics component of my system.
> It certainly is not using 3GB of RAM, otherwise I would notice that on Server 2003 as well. But there I had 31+GB available.
> It seems like Windows XP is unable to cope with something else, some small reserved portion of RAM. And instead of addressing the remaining RAM, it just quits at 904MB and calls it a day. But I have no clue how Windows XP memory mangement and detection works.
> With "constellation" I was referring to the 128GB ntoskrnl.exe and hal.dll hack: It had very obvious side effects on the system. Issues with I/O, stuttering, noticeable lag when navigating through explorer.exe, etc. All things that were not present on XP on 904MB and Server 2003 with 32GB PAE.
> Once I got either XP or Server 2003 running a bit more reliably, I will write a guide for my motherboard - since it bridges so many gaps. Windows XP support, 7 support, 10 support, Mac OS X support, ...
> It is also the last architecture that will be able to run Mac OS X 10.14 Mojave without incompatibilities - hence the last version that runs 32-Bit Mac apps from the mid 2000s natively.
> I hope this answers your questions, gentleman. :-)
> Cheers,
> schreiberstein
> EDIT: I will do the testing procedures that you specified. Perhaps the amount of available RAM might still change. Will keep you posted.

⇗ @schreiberstein
I hope you can try those BIOS settings not just DISABLED only.
You should check if your BIOS shows the Shared Video Memory Size RANGE as mine does. Did you try hitting ENTER on that option to see if it provides a window of memory sizes?
I did more testing and I found some interesting results which I had hoped you had done by now.
The most memory I could get using Server 2003 /NOPAE which simulates disabling PAE also reflects a similar enough memory cut off that XP SP2/SP3 does.
Using both my 1GB and 2GB PCIe video cards results in the same maximum OS memory free
3.21GB - I see this on my Ivy Bridge as well so this is consistent. Although my current Ivy Bridge is showing 3.44GB max memory in XP because it is using only 32MB.
[3.16GB] - Intel HD Graphics only - no PCIe card
DVMT Pre
32MB
DVMT Total
128MB
[2.91GB] - Intel HD Graphics only with PCIE card
DVMT Pre
32MB
DVMT Total
128MB
The PCIe card when installed uses up 0.25GB of memory.
[1.94GB] - Intel HD Graphics with PCIE card
DVMT Pre
1024MB
DVMT Total
MAX MB
As you can see 0.97 GB of memory was used setting it to 1024MB on mine.
1.94GB vs your 0.9GB? looks very similar about 1GB difference showing signals to me they might have increased your MAX VIDEO RAM setting to 2048MB which is why you are getting 904MB which looks exactly close to 1.0GB added.
Hopefully you can provide all 8 snapshots for me to compare. You shouldn't give up and skip to the end after disabling the Integrated Graphics. Even on Ivy Bridge the Intel HD Graphics does not disable with just one option I found. Some other options keep it enabled. And in certain causes if you want to use just the video card installed and no iGPU, you have to set the Memory Shared to AUTO and force PCIe slot as Primary video output.
Although I have a theory is either your BIOS is buggy or there is another setting you forgot to disable. Some BIOS have a MultiDisplay setting and without being in front of your computer to examine all the BIOS options it's hard for me to locate this. Also disabling the Intel iGPU you still have to set Primary Video output to a PCIe card remove any MultiDisplay sharing sometimes uses a different name on other motherboards.
Now I know this isn't going be favorable to you to even disable it but since you do require it for the MAC OS graphics emulation. But you never confirmed if it popped up further Memory Size range settings for your integrated graphics like it does on mine. If your BIOS doesn't show you a range from 32MB to 1024MB or 2048MB possibly in your BIOS (my guess). Then you have no other option and should choose to use Server 2003 modded to appear as XP, stick with XP but using a large Ramdrive with your pagefile stored on it, go back to XP SP0/SP1 if your programs work fine on the older versions, trying to flash back to the earliest BIOS version for your motherboard (maybe it uses less max memory or has more options that got removed), contacting your MB manufacturer and filing a bug/complaint case so it can be fixed. Since your is a Z390 it's still the latest and more likely to get support from them to fix it now properly. Or you can try a Z370 motherboard to see if the same thing occurs if you want to stay on the octacore which I assume you paid a lot like me and unlikely to return or sell used for a loss. Maybe the Z390 MB lineup is buggy? I know Intel rushed it to get the i9-9900K out so only you can report the problem to get it fixed by Gigabyte before they close their support window. This memory issue will not be fixed by ACPI modding as it is not related.
Worst but most compatible solution is go back to Sandy Bridge / Ivy Bridge if you want the easiest Hackintosh XP setup. At least everything works for XP and Hackintosh pretty much out of the box it seems. Even Gelip claims he used a laptop with Intel HD Graphics 3000 - Sandy Bridge era and the integrated graphics shared memory can be set to 32MB which is the best I've seen on a desktop. I'm not sure if the Laptop BIOS has this kind of refinement or dynamically allocated shared video memory. I do have a Sandy Bridge laptop somewhere here I might check. But most laptops I've seen have less options than desktops and are usually a fixed setting or dynamically allocated making it harder to gain more OS memory in XP when using integrated graphics. One possible fix I had thought about was modding the BIOS so the memory it used was above the 4.00GB region so XP gets the max memory possible which probably is 3.47->3.50GB on SP2/SP3.
Broadwell Z97 might also be another option but I'm uncertain if the iGPU compatibility for Hackintosh is fully supported. This you probably know or read about and can comment.
The next step up I'd probably suggest for still maintaining ACPI XP Compatibility is the X99 but since you made the comment that your iGPU is required for rendering despite using an internal graphics card and X99 I've just checked and all CPUs do not have any iGPU which in my opinion is a benefit since I usually will go with an internal PCIe card if I can since anything past Ivy Bridge the XP driver support stopped. So this leaves you skipping to SkyLake/Coffee Lake as a possible solution if your Z390 BIOS cannot be patched by Gigabyte or by someone here if you wanted to use the Intel HD 530 Graphics for your Hackintosh which I believe on my SkyLake the Max Video could be set to 1.5GB shared video memory and isn't buggy.
I fell asleep yesterday as I was testing my own Z370 the OS memory reported for my settings and had time to read you gave up your testing after disabling the integrated graphics so I could not compare the actual testing to mine as I wanted to see which would confirm if your BIOS is defective. If you can finish those tests it would be helpful.
Also is there another graphics card from nVidia or AMD that is the most compatible with Mojave or any earlier MAC OS X? I seem to recall some earlier Macs used GeForce 9 series graphics cards wouldn't those work better than the Intel IGPU for rendering?
Don't Give Up.
Chuse.

#3044

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #3042

> I do not find the exact place in igxpmp32.sys (see attached file) where this BSOD happens
> Probably caused by : igxpmp32.sys ( igxpmp32+31548 )
> ...
> FAULTING_IP:
> igxpmp32+31548
> b92f6548 8b88c0821000 mov ecx,dword ptr [eax+1082C0h]
> ....
> b92c5000 b953cc00 igxpmp32 (no symbols)

igxpmp32 PE image maped to b92c5000, fault opcode at b92f6548 => offset 31548
in Disassembler add this offset to image base (take from header) and you get fault adress

#3045

Mov AX, 0xDEAD

    1) If ((M64L == Zero)) / If (LEqual (M64L, Zero)) in _CRS of PCI0
    M64L is declared as external and stored in one of SSDTs as 64-bit field:

        Field (SANV, AnyAcc, Lock, Preserve)
           {
           ...
        M64L,   64,
           ...
           }

v5048 set first argument M64L as Buffer(wtf?) and this is wrong, it has ACPI 1.0 LEqual implementation and can compare only "Integer vs Integer"
2) NMAS = (NHLA + (NHLL - One)) / Add (NHLA, Subtract (NHLL, One), NMAS) in _INI of HDA Audio
Tricky expression, in one operation SUB + ADD on tree args, NHLL = 32b field, NHLA = 64b field, One - 64bit internal Integer
again, v5048 set first arg NHLA as Buffer and then try to sub/add integers, very dumb :)
In both cases we have 64bit field-as-argument and probably acpi.sys has bug with understand this thing

## Page 204

#3046

diderius6

⇗ @Mov AX, 0xDEAD
I found this place via Ida Pro at

    .text:10031548                 mov     ecx, [eax+1082C0h]

But what happens there, is not clear for me.
Windbg tells, that at this adress is

    mov ecx,dword ptr [eax+1082C0h]

this is not the same???
Dietmar
EDIT: May be, that Ida "dword ptr" just cancels. But even then I do not understand, wherin the error is.
What should be moved here to ecx ?
The adress, which is build is `eax+1082C0h = b92602c0`.
This is below the adress, from where the the driver starts. Is this the reason?

#3047 | kukonosau | ⇗ @diderius6 How to install XPx64 with modify acpi.sys? BSOD. XP started with any moments.
#3048 | diderius6 | ⇗ @kukonosau On Ryzen to install XP 64 is hard work and XP 64 is unstable on Ryzen platform Dietmar
#3049 | kukonosau | ⇗ @diderius6 Yes, it is unstable!!! BSOD everywhere: in our starting or in our working! But what is motherboard resources in Windows XP on Ryzen? Hal.dll and so on needed change in modify files?
#3050 | diderius6 | ⇗ @kukonosau Which XP you mean: XP SP3 32bit, or XP 64? Dietmar PS: On Ryzen board, no need to change hal.dll, the timer error happens only on newer Intel boards.
#3051 | kukonosau | ⇗ @diderius6 Motherboard resources in all system Windows XP. BSOD in Windows XP SP2 x64. It is unstable working.

#3052

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #2970

> > Zitat von ⇗ Andalu im Beitrag ¶ #2967

> > how can i have it too?

> This one is a private project, unfinished yet.
> Try to install Server 2003 Enterprise and Datacenter, which have PAE.
> If it works, you can get XP to work with the PAE hack.
> I'm just showing a proof that the drivers do support PAE.

Amount of ram correctly recognized in win2003. What is the next step?
Edit: I was wrong, damned hurry. As soon as the amd modded drivers are installed the mouse hangs immediately, the usb2 ports are power off and the usb3 ports don't recognize the devices. Same behavior as in XP.

#3053

daniel_k

> Zitat von ⇗ dencorso im Beitrag ¶ #3033

> @daniel_k: Does the hal5687_timer_patch.rar you posted some posts agop just have the timer patch, or does it include the > 4 GiB patch, too?

Yes, it includes the PAE patch, based on the one from Dibya.
PAE has serious compatibility issues, specially with modern platforms.
To make things worse, that patch is badly coded, there is a missing check, although it doesn't seem to help with anything.

#3054

daniel_k

Did some tests today, with Server 2003 and found something interesting, which I'll call it Fake PAE
The most interesting thing is that is can be applied to XP with the same results!
Did some preliminar tests and it seems to work just fine.
You can't have more than 4Gb of RAM, but the available RAM is increased dramatically.
Now I have 3.7Gb available, before there was only 2.97 Gb.
The best part of it: no compatibility issues!
daniel_k has attached images to this post ⇗ RAM.JPG

#3055 | infuscomus | ⇗ @daniel_k can dibyas RAM patch be fixed?
#3056 | XPWELL64 | I'm busy but on friday I'll mod igpu drivers.
#3057 | XPWELL64 | XP64: I turned on my asus k555lb with XP64. This PC booted into windows at 11th startup.

#3058

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3046

> The adress, which is build is eax+1082C0h = b92602c0.
> This is below the adress, from where the the driver starts. Is this the reason?

> Zitat

> PAGE_FAULT_IN_NONPAGED_AREA (50)
> Invalid system memory was referenced.

addresses may be in any place in memory because drivers allocate many-many dynamic random memory chunks
in you case problem with eax, i think eax must be pointed to begin of some big buffer (more than 1082C0h bytes) but pointed to wrong memory

#3059

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3054

> You can't have more than 4Gb of RAM

limitation of badly HalInitSystem or MmInitSystem ?

#3060

dencorso

⇗ @Mov AX, 0xDEAD: I think you'll enjoy reading the pages below:
⇗ http://www.geoffchappell.com/notes/windo...ense/memory.htm
⇗ https://www.remkoweijnen.nl/blog/2009/06...y/#comment-1688
⇗ https://www.remkoweijnen.nl/blog/2008/11...rnals/#more-140
⇗ https://web.archive.org/web/201310041608...al-perspective/

## Page 205

#3061

diderius6

Hi,
has anyone tested the asl.exe Version 5 tool,
if it works under XP?
And if not, can this be changed?
This would be nice for to load DSDT tables to registry.
By the way I noticed, that for to upload a DSDT with asl.exe,
you have to change the revisionsnumber of the DSDT to a higher value, than DSDT in your Bios has.
This can be done with a simple hack in the dsdt.aml it is one Byte at place 08 , there 02 -> 03 (version 2 to version 3 of the DSDT table).
And you have to update your checksum of this dsdt.aml (-1).
This asl.exe version 5 does not crash with newer ACPI
Dietmar
PS: I cant install the WDK 8.1. Can somebody sent me the asl.exe Vers. 5 from there?
It should be in path of the WDK Tools\x86\ACPIVerify
also in WDK 10.
EDIT: Jessa, I got it:))!
I integrate its own DSDT (with versionsnumber of DSDT 2->3) with asl.exe Version 5 on the Q1900m board.
Works.
C:\>asl /loadtable dsdt.aml
Microsoft ACPI Source Language Assembler Version 4.0.0NT [Aug 1 2014, 18:35:18]
Copyright (c) 1996,2009 Microsoft Corporation
Compliant with the ACPI 5.0 Specification
Table overloading succeeded. This will only be active when testsigning is enable
d.
C:\>
I there any testsigning on XP? Or does it work in any case?
EDIT2: The asl.exe version 5 works on XP SP3 for to upload DSDT table.
diderius6 has attached files to this post

- ⇗ asl5.rar

#3062

Mov AX, 0xDEAD

del

Found today bug in PatchPAE3, when it patch hal.dll, it allocate dma-buffers with limit of memory = MAX
in worst case it got memory above 4GB and then try to use it to dma transfers with 32b-only devices.
WinXP's HAL with last SPx doesnt support dma-64, so patch to hal.dll is unnecessary and may crash windows
patch to ntoskrml.exe seem OK, just remove two limitations of phys memory

#3063 | Andalu | I tried again to install Windows 2003 Server R2 SP2 Enterprise and finally I see for the first time in my B250M-Pro4 board both the total amount of ram correctly recognized and the USB3 working fine even after a shutdown. I would like to get the same on XP using the ram that exceeds 4GB as a ramdrive but before buying the memory I need, what can I try?

#3064

dencorso

⇗ @Andalu: the Gavotte Ramdisk is the way to go. the correct version to use (the latest) is attached to my post at reboot.pro which link is below.
⇗ http://reboot.pro/topic/4064-gavottes-rramdisk/?p=52696
⇗ https://msfn.org/board/topic/176356-simp...comment=1147522
However for maximum stability, you should also set HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive = 1, see:
⇗ https://msfn.org/board/topic/177110-wind...comment=1145279

#3065

Andalu

⇗ @dencorso
Thanks for the links ;) I used Gavotte until two years ago. I need to use more ramdisks than one only. Currently, on my haswell system with 32GB of ram, I'm using 4 or more ramdisks of which three load at boot. My intention is to use 64GB on XP. Moreover, the software license is for two systems, at the moment I'm using only half of it :)
P.S.: the value in the registry is already set to 1 ;)

#3066

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3062

> Found today bug in PatchPAE3, when it patch hal.dll, it allocate dma-buffers with limit of memory = MAX
> in worst case it got memory above 4GB and then try to use it to dma transfers with 32b-only devices.
> WinXP's HAL with last SPx doesnt support dma-64, so patch to hal.dll is unnecessary and may crash windows
> patch to ntoskrml.exe seem OK, just remove two limitations of phys memory

Yeah, I noticed that.
Patching hal.dll does result in random crashes.

#3067 | schreiberstein | ⇗ @daniel_k Any chance youre gonna share some of your FakePAE magic for others to test, or is it too experimental for now? It would be interesting to see if it could make a difference my system, at least in my opinion, haha. Cheers schreiberstein :)

#3068

daniel_k

Let me explain what I've found.
Windows 2003 has many licensing presets (which affects PAE and limits RAM available).
One of them does something interesting: enables PAE, but limits RAM to 4Gb.
The result? RAM is mapped in a more effective way so that more RAM is available.
At the same time, as it is limited to 4Gb, there are absolutely no issues with drivers or specific hardware, which is great for most of us.
I've wrote a small utility to patch all kernel files, should support all languages and all kernel versions 5512 (SP3) and later:
ntkrnlmp.exe - Multiprocessor Kernel
ntoskrnl.exe - Uniprocessor Kernel
ntkrpamp.exe - Multiprocessor PAE Kernel
ntkrnlpa.exe - Uniprocessor PAE Kernel
To use it, copy all kernel files (found in SP3.CAB) and this utility to the same folder.
Usage: winxppae [/4GB | /ALL]
/4GB Enables PAE limiting RAM to 4Gb to avoid stability issues.
/ALL Enables PAE with unlimited RAM, may have stability issues.
You may test the files on a running system by replacing the files from another OS (otherwise File Protection will restore the files).
In this case, pay attention to the filenames, on multiprocessor systems, rename ntkrnlmp.exe to ntoskrnl.exe and ntkrpamp.exe to ntkrnlpa.exe.
Or integrate them on the CD (rebuilding SP3.CAB and repacking ntkrnlmp.ex_ and ntoskrnl.ex_).
No need to include a /PAE switch in boot.ini, as this works just like on Server 2003.
As I've patched the files properly, ntoskrnl.exe automatically chainloads the PAE kernel, ntkrnlpa.exe.
PS: Only supports Windows XP SP3. Another version supporting Server 2003 will be released later.
PS: Updated 1.1 version /4GB and /ALL logic was reversed. Fixed.

daniel_k has attached files to this post

- ⇗ WinXPPAE.rar

#3069

infuscomus

⇗ @daniel_k
thanks!
do we load winxppae in autoexec.bat? or how do we use it?
edit: nevermind, figured it out
edit2: testing in VMWare VM with 8GB RAM assigned to it - applying the /4GB option changes available RAM from 3GB to 8GB - is this expected behavior?
can you add in an option to remove the patch?

#3070 | infuscomus | ⇗ @Andalu are you still having USB trouble with XP?

#3071

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3066

> Yeah, I noticed that.
> Patching hal.dll does result in random crashes.

I was wrong about bug/dma64 in hal.dll patch, allocating still in <4Gb range, so this place is OK
Another place inside HAL is not match win2003:
winxp sp2+ logic:

     if ScatterGather=1 {
               no_need()
     }

win2003 sp2 logic:

     if ScatterGather=1 {
       if (PhysicalMemoryMayAppearAbove4GB=1 & Dma64BitAddresses=0)
               we_need_mapregisters()
         else
               no_need()
     }

winxp sp2 + "patch" logic:

     we_need_mapregisters() in any case

as I understand forcing mapregisters means dma double-buffering.
MS told this is not problem, just slowdown because additional memory tranfers.

#3072

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3069

> edit2: testing in VMWare VM with 8GB RAM assigned to it - applying the /4GB option changes available RAM from 3GB to 8GB - is this expected behavior?
> can you add in an option to remove the patch?

Oops, sorry.
Settings /4GB and ALL were reversed. Fixed.
Please try it again.
Maybe I can add that option, but backing up the files is easier and faster.

#3073 | infuscomus | ⇗ @daniel_k awesome! works correctly now I think it would be a good idea to have the program automatically make backups of the files it modifies, you can't always assume the user has made a backup.
#3074 | daniel_k | Didn't try it before on VirtualBox. Glad it works! From 3.32Gb to 3.83Gb! Let's hope it helps ⇗ @schreiberstein too! daniel_k has attached images to this post ⇗ NOPAE.JPG ⇗ 4GBPAE.JPG

#3075

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3054

> Now I have 3.7Gb available, before there was only 2.97 Gb.
> The best part of it: no compatibility issues!

I think you still have usual "PAE+PhysMem_above_4Gb", check e820 table, recovered 1Gb accessable only at HIGH phys adresses (>4Gb), so if some badly driver alloc this memory and uses for communicating with hardware you'l get same compatibility issues

## Page 206

#3076 | diderius6 | ⇗ @daniel_k Just put only 4 Gbyte ram in, and show again about free ram Dietmar

#3077

diderius6

On the Q1900m board, the Celeron CPU J1900 (soldered on socket all in one chip SoC),
I can install MPS Multiprocessor which shows also (as on acpi) 4 cpu cores, because this chip has 4 cores
and no Hyperthreading. On this Bios is an extra MPS table, on the Lenovo Flex 10 is no MPS table as RW-everything tells.
In MPS the sound works. Interesting, from where the devices get their information on MPS,
because no acpi.sys there, which looks at DSDT table. But the DSDT table is still needed,
compi does not start, when you delete DSDT or give fake empty DSDT.
I will make a speed comparisation ACPI against MPS (all Multiprocessor).
With full ACPI, strange things happen on this board:
Windbg via COM1 runs only correct in Safe Mode (F8) and no sound.
A yellow questionmark is at partmgr in Device Manager. This I do not understand at all,
because without loaded partmgr.sys the compi does not start but it starts
Dietmar
PS: In MPS there are 2 yellow marks at pci-to-Pci bridge, reclaiming not enough free resources
even the IRQs from MPS go up to 128 and noone is double.
This may be a hint, what is really going on in the SoC, may be something is shared there.
All boards with such a SoC cpu have absolut identic devices, because they are all integrated in this SoC chip.
This is very nice, when you compare compis with the same SoC cpu.
I do not like, that I can not change the cpu. But I think, that there is no cheaper and better board today on the market.
It is to 100% silent, passiv cooling and SSD, power consumption around 10 Watt.
Now I just get 155 updates from Posready^^.
EDIT: Now I have also sound on full ACPI Multiprocessor XP SP3 on the Q1900m board. For this I have to disable "Microsoft UAA-Bustreiber für High Definition Audio"
in Device Manager and after this to enable "Microsoft UAA-Bustreiber für High Definition Audio" again, crazy. It has to do with not enough resources. USB2, 3, Lan, sound works now there. The only device is the integrated GPU, which does not work
under XP SP3 even I make hack. Windbg works now also normal, after I deactivated the 2 pci-to-Pci bridges, reclaiming not enough free resources. Now I benchmark full ACPI Multiprocessor against MPS Multiprocessor.
I use for this Nvidia GT 730. The bottleneck is here the CPU J1900.
3DMark2001 Acpi: 17347 Cinebench 11.529: 1.37
3DMark2001 MPS: 15739 Cinebench 11.529: 1.33
So, Acpi is faster than MPS, even I do not know why. 1440 HD Video runs normal.
Commander Keen 4 runs in full screen modus^^. Prime95 and other Benchmarks all together show: XP SP3 runs absolut stable on the Q1900m board in full ACPI Multiprocessor mode.
Hihi:
"Intel ® Bay Trail platform does not support:
Win XP Pro 32bit
Windows Embedded Standard 2009 (XPe SP3) 32bit "
And just for fun: I do pur USB boot on the Q1900m board via USB3 port and the nice driver from ⇗ @daniel_k , so
no more problems with iastor or storahci^^
⇗

#3078

Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3071

> winxp sp2 + "patch" logic:

>      we_need_mapregisters() in any case

> as I understand forcing mapregisters means dma double-buffering.
> MS told this is not problem, just slowdown because additional memory tranfers.

Edit: VIA USB3 drivers/WDF can't live with forced mapregisters, so WinXP's HAL need exact w2003 logic

#3079

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #3070

> @Andalu
> are you still having USB trouble with XP?

No good news, everything as before. The USB3 function works fine exclusively on my Skylake board but only with no PAE patch installed. Applying any of the them, all the usb ports do not work (both 2.0 and 3.0). Only on win2003 the total amount of ram and the USB3 'coexist peacefully'.

#3080

Mov AX, 0xDEAD

Fixed PAE patch to windows xp halmacpi.dll sp3 (v 5.1.2600.5512 eng)

    Optional:
    1DD03: 6a 10 68 00 00 00 01 53 c7 05 c4 32 02 80 40 00 00 00 be 00 00 01 00 =>
           6a 30 68 FF FF FF FF 53 c7 05 c4 32 02 80 00 40 00 00 be 00 00 03 00

    Optional if you use ISA Devices like onboard Floppy controller :):
    1DD03: 6a 10 68 00 00 00 01 53 c7 05 c4 32 02 80 40 00 00 00 be 00 00 01 00 =>
           6a 30 68 00 00 00 01 53 c7 05 c4 32 02 80 00 40 00 00 be 00 00 03 00

    Critical:
    17815: 80 3D B8 32 02 80 00 75 0A =>
           38 4F 0B 75 12 90 90 90 90

    205B4: 17 38 => 00 00

    + checksum fix

#3081

Andalu

⇗ @daniel_k
I tried your patch on my B250M-Pro4. I did it in the following way:
I extracted the files from SP3.cab (ver. 5.1.2600.5512) of the XP SP3 32bit installation CD, italian version:
ntkrnlmp.exe (SHA1:9A7CD76FAEE28CE009DBE7A367A1CCA6C1532B2E)
ntkrnlpa.exe (SHA1:D35591D175190FDAC795BC0ADDBF3A0D0EB6EDBE)
ntkrpamp.exe (SHA1:437844ED5993F411C32A207781BE463D83122ADE)
ntoskrnl.exe (SHA1:6580C7DDDF31E5E12FBD7EFE87C5FCA36EE68736)
I copied them in the "test" folder with the 'WinXPPAE' exe file ver. 1.1
Then I renamed the files:
from ntkrnlmp.exe to ntoskrnl.exe
from ntkrpamp.exe to ntkrnlpa.exe
But, in my case, that was not necessary because the same versions (with identical SHA1) of the renamed files are already present in the system32 folder:
ntkrnlpa.exe (SHA1:437844ED5993F411C32A207781BE463D83122ADE)
ntoskrnl.exe (SHA1:9A7CD76FAEE28CE009DBE7A367A1CCA6C1532B2E)
The "WinXPPAE.exe /4GB" command launched in a dos window:
⇗
nothing changed on reboot, only 2.44GB recognized as before:
⇗
Even with a fresh XP installation with the renamed and repacked files into sp3.cab, driver.cab and i386 folder the patch doesn't work.
Where did I go wrong?

#3082

infuscomus

⇗ @Andalu
there is a driver package made by ⇗ @lsmlcx -
⇗ [TOOL] Sysceo MassStorage and USB Drivers Installer (with universally usable XP/2003 drivers)
in it there is an intel USB 3.0 driver for XP
in
CeoMSX_20190910\USB\WinXPx86\Intel\SysCeoUsb3.x
try it out, hopefully it works for you

#3083

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3075

> @daniel_k
> I think you still have usual "PAE+PhysMem_above_4Gb", check e820 table, recovered 1Gb accessable only at HIGH phys adresses (>4Gb), so if some badly driver alloc this memory and uses for communicating with hardware you'l get same compatibility issues

Huh, I see.
For now it works just fine.
Will see how far it goes like that.
There was a "conflict" between VGA.SYS and AMDXHC.SYS (Intel modded driver) in PAE mode.
If AMDXHC was loaded, the VGA driver wouldn't work, there was no display in the GUI Setup phase.
If I remove AMDXHC during Setup, installation completes succesfully. Then I install GeForce driver, all OK.
As soon as I install the AMDXHC driver, legacy DOS apps still work, but can't switch to full screen mode, as it gives me an error in NTVDM. Because of the driver "conflict", Windows cannot switch to VGA mode.

#3084 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks for sharing the patch with us. Will test later. Can this be used in a generic ISO? Does this patch may cause issues on a system which does not need PAE (4Gb or less)?

#3085

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3082

> @Andalu
> there is a driver package made by @lsmlcx -
> ⇗ [TOOL] Sysceo MassStorage and USB Drivers Installer (with universally usable XP/2003 drivers)
> in it there is an intel USB 3.0 driver for XP
> in
> CeoMSX_20190910\USB\WinXPx86\Intel\SysCeoUsb3.x
> try it out, hopefully it works for you

Won't help because that is the same driver modded by me.
The guy just changed the resource files, changed the hub device IDs to look like Intel's and signed the files.
Just love those kind of people.

#3086 | infuscomus | ⇗ @daniel_k woah! seriously?! I wasn't aware of this, good to know.
#3087 | infuscomus | ⇗ @Andalu did you put the patched ntoskrnl/ntkrnlpa.exe files into c:\windows\system32 ?

#3088

daniel_k

⇗ @Andalu, just downloaded the Italian XP SP3 ISO, extracted the files and patched them. Absolutely no issues.
ORIGINAL

    ntkrnlmp.exe = 9a7cd76faee28ce009dbe7a367a1cca6c1532b2e
    ntkrnlpa.exe = d35591d175190fdac795bc0addbf3a0d0eb6edbe
    ntkrpamp.exe = 437844ed5993f411c32a207781be463d83122ade
    ntoskrnl.exe = 6580c7dddf31e5e12fbd7efe87c5fca36ee68736

PATCHED

    ntkrnlmp.exe = 742fcf126111532187d4a2861c8b45f882757850
    ntkrnlpa.exe = 7f1865311cb5fac8ee37973d13a0a562d5902164
    ntkrpamp.exe = 39ca749c1988e469ea2b6c46eafd6537734fdcce
    ntoskrnl.exe = 08b39d98400282412979840f0f91eb813ea95ddf

- Create two folders: ORIGINAL and PATCHED
- Extract all kernel files from SP3.CAB to both folders.
- Copy WinXPPAE.exe to the PATCHED folder and run WinXPPAE /4GB
- Compare files from both folders or calculate their hashes.
On a live system, in order to replace protected system files, you need to:
- rename \WINDOWS\Driver Cache\i386\sp3.cab
- delete kernel files from \WINDOWS\system32\DllCache (see list above)
- backup original files \WINDOWS\system32\ntoskrnl.exe and \WINDOWS\system32\ntkrnlpa.exe
- copy patched files, overwriting the originals.
- Windows File Protection will ask you for the XP Disc to restore the files. If you don't receive this message, you did something wrong.
If you don't follow these steps, File Protection will restore the files silently. An event can be found in Event Viewer, though,
You can also replace the files if you have a dual boot setup. For instance, boot Windows 7 and copy the files to the Windows\System32 folder.

#3089 | lsmlcx | ⇗ @daniel_k I got the same problem. But not in PAE mode.

#3090

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3085

> Won't help because that is the same driver modded by me.

Are you the same daniel_k from Creative driver mod fame? If so, good to see you here and thanks for all your good work in that arena.
Trying to get Win XP going on an 8th generation Asus B360M so I'll be reading through this thread for hints then posting some questions.

## Page 207

#3091

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3046

>     .text:10031548                 mov     ecx, [eax+1082C0h]

> But what happens there, is not clear for me.
> Windbg tells, that at this adress is

>     mov ecx,dword ptr [eax+1082C0h]

> this is not the same???

@diderius6....I am a bit rusty but as I recall, the [...] brackets represent a pointer. It tells you to load the value at address [eax+1082COh] to ecx. The windbg version is redundant but wdbg has strange ways of representing pointers because it uses the MASM as well as the C++ addressing modes. Gives me a headache.

> Zitat von ⇗ diderius6 im Beitrag ¶ #3046

> What should be moved here to ecx ? The adress, which is build is eax+1082C0h = b92602c0.
> This is below the adress, from where the the driver starts. Is this the reason?

I think the value B92602C0 should be moved to ecx. If that is an address it's a system address and is likely the address of a system module or an address within a system module.
ps. if it's an address, you can tell by following the code a bit to see if a call is made to that address.

#3092 | petter1392 | I'm also getting ⇗ Err_Cache_Miss error after the windows update.

#3093

Pill Monster

PAE is always enabled, however it has no effect by itself after SP2 because MS included a boot time certificate check which disables PAE on "Client Edition".
Unless you pay them lots of money, you don 't see heaven's gate.
M$ & Intel didn't like it when A64 was released and suddenly hello AMD owners could install 8GB of RAM on their NForce3 939 boards with XP installed and use it all.
P.S. ⇗ @daniel_k
Thanks for all the work, I'm still rocking an X-Fi Fatal1ty with your last driver package. :)

#3094

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #3087

> @Andalu
> did you put the patched ntoskrnl/ntkrnlpa.exe files into c:\windows\system32 ?

Your guess is right. I still can't realize how I didn't understand that it was necessary to copy the two kernel files after applying the patch.
Evidently my age is going too fast....
The USB3 AMDXHCI_FINAL by daniel_k drivers work fine even if only on my skylake board. Installing the AMD_XHCI_For_Intel_XP_x86_x64_20191012 by lsmlcx nothing changed but the shutdown stops working, so no good for me.
Now the problem is about the 'coexistence' of usb3 and the recognition of the entire ram. I do not lose hope, probably ⇗ @daniel_k does a magic and pulls a rabbit out of the hat. I believe it ;)

#3095 | Andalu | ⇗ @daniel_k Sorry for my oversight. Once again I have to thank you for your kindness and for the time you have dedicated to my problem. As I reported in my previous post, it was my mistake, your patch installs without problems. Thanks again for your great work ;)
#3096 | diderius6 | ⇗ @Doc.Brown Before you transfer XP SP3 from another working compi to the Gene XI board, disable all USB there Dietmar

#3097

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3084

> @Mov AX, 0xDEAD, thanks for sharing the patch with us. Will test later.
> Can this be used in a generic ISO?
> Does this patch may cause issues on a system which does not need PAE (4Gb or less)?

this patch need only for systems were 4GB or more RAM + ntoskrnl's pae_licensing_patch was activated. If there is less memory or pae_licensing is original, patch still works, but not optimal, it always think that PC has more 4GB phys adresses and make special actions for dma32-only devices.
for generic iso patch need additional check to match w2003 logic, but there is no space, so need more complex inject like JMP FAR PATCH/..Patch logic../ JMP FAR BACK

#3098

Mov AX, 0xDEAD

I've played with HAL logging of DMA Request on Skylake H110 and IvyBridge notebook (both has 4GB RAM, pae_license_patch activated):
Skylake:
Intel iastor.sys 11.2.0.1006 - only 32bit DMA allowed
VIA USB3.0 xhcdrv.sys 6.1.7600.4402 - 64bit DMA, many requests
AMD USB3.0 hacked amdxhc.sys 1.1.0.145 - 64bit DMA
IvyBridge:
Intel iastor.sys 11.2.0.1006 - only 32bit DMA allowed
MS USB2.0 usbport.sys 5.1.2600.6437 - only 32bit DMA allowed
after installing hal_pae_patch on IvyBridge, it fix "USB 2 Root Hub has no enough power bla-bla" problem

#3099

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #3090

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3085

> > Won't help because that is the same driver modded by me.

> Are you the same daniel_k from Creative driver mod fame? If so, good to see you here and thanks for all your good work in that arena.
> Trying to get Win XP going on an 8th generation Asus B360M so I'll be reading through this thread for hints then posting some questions.

Yep, that's me! Glad to help!
At this point, we've solved most issues.
Should be easy to get it working, many people contributing here!

#3100

daniel_k

⇗ @Pill Monster
Your nick seems familiar. Which forum are you more active in?
You seem to be everywhere.
Glad to know my packs are still helping you!
Back to the subject, from the compatibility issues we've seen, Microsoft was right to some degree.
Some drivers are poorly written, which may lead to data corruption, something I consider unacceptable.

#3101 | daniel_k | ⇗ @Andalu, don't worry, it happens. But did help you somehow? How many RAM was available before and after the patch?
#3102 | skullteria | Well, my edited kernel of Windows XP has support until 128 GB. Please test in virtual Machine before: ⇗ https://github.com/Skulltrail192/One-Cor...er%20Standalone

#3103

daniel_k

⇗ @Mov AX, 0xDEAD
I see that you've changed this:

    .80027815: 803DB832028000                 cmp          b,[0800232B8],0
    .8002781C: 750A                           jnz         .080027828

into this:

    .80027815: 384F0B                         cmp          [edi][00B],cl
    .80027818: 7512                           jnz         .08002782C

Would it be a generic patch (for system with less/more than 4GB and PAE enabled in kernel) if I manage to include both original and your checks together?
Something like:

    cmp          b,[0800232B8],0
    jnz         .080027828
    cmp          [edi][00B],cl
    jnz         .08002782C

What are you thoughts on this? Would this order of checks be correct or the other way around?

#3104

daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3083

> There was a "conflict" between VGA.SYS and AMDXHC.SYS (Intel modded driver) in PAE mode.
> If AMDXHC was loaded, the VGA driver wouldn't work, there was no display in the GUI Setup phase.
> If I remove AMDXHC during Setup, installation completes succesfully. Then I install GeForce driver, all OK.
> As soon as I install the AMDXHC driver, legacy DOS apps still work, but can't switch to full screen mode, as it gives me an error in NTVDM. Because of the driver "conflict", Windows cannot switch to VGA mode.

What are you thoughts on this?
As the VGA driver works when the AMDXHC is not installed, would you say the issue is with the later?
If so, any possibilities of fixing the driver?
What did you use to do the HAL logging of DMA Requests? Debugger?

#3105

daniel_k

⇗ @Mov AX, 0xDEAD
The actual code that limits RAM is in the kernel.

    .005D1840: 6A07                push         7
    .005D1842: 8BF0                mov          esi,eax
    .005D1844: 895DFC              mov          [ebp][-4],ebx
    .005D1847: 897DF8              mov          [ebp][-8],edi
    .005D184A: E833FEE8FF          call         ExVerifySuite
    .005D184F: 3C01                cmp          al,1
    .005D1851: 7500                jnz         .0005D1853
    .005D1853: 397E64              cmp          [esi][064],edi
    .005D1856: 7509                jnz         .0005D1861
    .005D1858: C745FC00000001      mov          d,[ebp][-4],001000000 -> Number of 4kb pages
    .005D185F: EB44                jmps        .0005D18A5

0x1000000 x 4 = 0x4000000 = 64Gb
By fine tuning it, managed to get 4.78Gb of RAM with everything working.
Anything above this, DOS apps can't enter full screen (VGA.SYS).
At 5Gb, AMDXHC driver stops working (actually USB devices are recognized as Unknown Devices with zeroed device ids).
Above 5.5Gb, AMDXHC driver works again, but DOS apps can't enter full screen (VGA.SYS) remain, up to 15.9Gb.
Thoughts?
PS: Sorry for so many questions, but you're the only one more technically skilled here.

daniel_k has attached images to this post ⇗ 478GB.JPG

## Page 208

#3106 | daniel_k | ⇗ @schreiberstein Did you manage to try my 4Gb patch? Any improvement?

#3107

schreiberstein

⇗ @daniel_k
Not yet, unfortunately.
I hope I will have some time tonight.
I will let you know the results.
By the way, I think the AMD XHCI driver causes issues on my system as well.
On both XP and 2003. It randomly stops working after reboots.
And then the IDs are also zeroed, as mentioned before.
Is there a way to use a different patched driver for the Z390 platform (like VIA), or is AMD the only option? Whenever the drivers are loaded correctly, the NTVDM does not work at all. No 16 Bit. Not even windowed. No Win16 applications.
I will also conduct the Intel GPU memory adjustment tests to see if it changes my available amount of RAM from 904 to something higher.
Cheers,
schreiberstein

#3108 | daniel_k | ⇗ @schreiberstein Unfortunately, AMD is really the only option. XP with no PAE also has issues? If so, things are more complicated for you.

#3109

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3101

> @Andalu, don't worry, it happens.
> But did help you somehow? How many RAM was available before and after the patch?

Your /4GB patch works fine. The system recognizes correctly 4GB of ram, before it was 2.2GB.
Applying the /ALL option, the total amount of ram is correctly recognized but I got the identical issues happened with the chinese and the Dibya's patches: on reboot the usb2 and usb3 ports don't recognize anything. Also the usb mouse becomes an unknow device. In details, the usb2 ports don't seem to be powered anymore while the usb3 ports seem to have an altered power as the external hard disk's led is always on. Also the shutdown no longer works.

#3110

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3105

> @Mov AX, 0xDEAD
> The actual code that limits RAM is in the kernel.

Yes, this is PAE_Licensing check, it trim physical memory adresses to some value, so adresses above limit will be erased even on 4GB RAM, because bios remap ram to two parts - one to 0<->~2.5-3.5Gb and second to 4.0<->4.x, so second part is lost

           //
        // If properly licensed for PAE (ie: DataCenter) and booted without the
        // 3gb switch, then use all available physical memory.
           //

        if (ExVerifySuite(DataCenter) == TRUE) {

                   //
            // Note MmVirtualBias has not yet been initialized at the time of the
            // first call to this routine, so use the LoaderBlock directly.
                   //

            if (LoaderBlock->u.I386.VirtualBias == 0) {   // /3GB stuff

                           //
                // Limit the maximum physical memory to the amount we have
                // actually physically seen in a machine inhouse.
                           //

MaxPage = 8 * 1024 * 1024; // in 2000's max 32GB :)

> Zitat von ⇗ daniel_k im Beitrag ¶ #3105

> Anything above this, DOS apps can't enter full screen (VGA.SYS).
> At 5Gb, AMDXHC driver stops working (actually USB devices are recognized as Unknown Devices with zeroed device ids).
> Above 5.5Gb, AMDXHC driver works again, but DOS apps can't enter full screen (VGA.SYS) remain, up to 15.9Gb.

if you have time, try to force usb3.0 device to be only 32-bit dma in amdxhc.sys, maybe this helps:

    000323E7:
    push    ebx             ; int
    and     dl, 1
    movzx   eax, dl
    push    eax             ; Dma64,  SET IT TO ZERO
    push    esi             ; int
    push    dword ptr [esi+20h] ; PhysicalDeviceObject
    call    sub_3299C
    mov     [ebp+var_1C], eax
    test    eax, eax
    jge     short loc_3240E

#3111

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3103

> @Mov AX, 0xDEAD
> Would it be a generic patch (for system with less/more than 4GB and PAE enabled in kernel) if I manage to include both original and your checks together?
> Something like:

>     cmp          b,[0800232B8],0
>     jnz         .080027828
>     cmp          [edi][00B],cl
>     jnz         .08002782C

> What are you thoughts on this? Would this order of checks be correct or the other way around?

generic patch like w2003 logic:

    // cmp          b,[0800232B8],0  ; original opcodes

    if _HalpPhysicalMemoryMayAppearAbove4GB==0 go original    //  if <4gb , skip new checks      ; need reloc or PIC tricks
    if  [edi+0B]==0 go loc_8002782C                  // if DeviceDescription.Dma64BitAddresses=0 go to calculating mapbuffers

    original:
    cmp          b,[0800232B8],0                     // obsolete, check low-end system with 16Mb memory only
    check for BUSTYPE=2 or 5
    // now all is OK, we dont need mapbuffers, so set ebx=0 & go next

    loc_8002782C: // calculating mapbuffers
    ..
    next:
    ...

#3112

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3104

> As the VGA driver works when the AMDXHC is not installed, would you say the issue is with the later?
> If so, any possibilities of fixing the driver?
> What did you use to do the HAL logging of DMA Requests? Debugger?

I dont know why usb3 conflict with vga, they dont use same resources (like IOTR bug), but problem with amd because vga driver is simple & well tested. i use amdxhci without any problem with geforce, if i delete nvidia driver, standart video works well, full-screen too, but i have only 4GB ram.
I use remote debugging with windbg, breakpoints to hal is enough for me, with simple lan cables debugging is funny as never before )

#3113 | daniel_k | ⇗ @Andalu To obtain the real amount of RAM available, you need to check Task Manager. Like this: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (205) Please take a screenshot and attach it here, so we can see the numbers.

#3114

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3110

> if you have time, try to force usb3.0 device to be only 32-bit dma in amdxhc.sys, maybe this helps:
> ...

That did it!
Thank you very much!
I had no idea one could force a driver to use 32-bit DMA! Learning new things everyday!
Does this have any side effects? If not, I'll release it as a "new" final version.
⇗ @schreiberstein, ⇗ @Mov AX, 0xDEAD fixed the issue with AMDXHC!

#3115

Andalu

⇗ @daniel_k
here the screenshots (onboard vga):
⇗ ⇗ ⇗
1.No PAE
2.PAE /4GB
3.PAE /ALL

#3116

daniel_k

⇗ @Andalu
Nice improvement!
Can you try Mov AX, 0xDEAD's fix for AMDXHC.SYS?
Patch kernel files with /ALL command line.
Make sure you replace all files at the same time.
ntkrpamp.exe renamed to ntkrnlpa.exe in \Windows\system32
hal.dll in \Windows\system32 (see attachment)
amdxhc.sys in \Windows\system32\drivers (see attachment)

#3117

Pill Monster

> Zitat von ⇗ daniel_k im Beitrag ¶ #3100

> @Pill Monster
> Your nick seems familiar. Which forum are you more active in?
> You seem to be everywhere.

Haha - once upon a time maybe. :D These days I keep a lower profile - just Win-Raid & another forum you never heard of called GeekZone (mostly NZ IT industry workers).
You would know me from Guru3D, I was active there for ~8yrs.

> Zitat von ⇗ daniel_k im Beitrag ¶ #3100

> Glad to know my packs are still helping you!

I'm sure they're helping many others too.

> Zitat von ⇗ daniel_k im Beitrag ¶ #3100

> Back to the subject, from the compatibility issues we've seen, Microsoft was right to some degree.
> Some drivers are poorly written, which may lead to data corruption, something I consider unacceptable.

I recall a few problems with Nvidia cards running at 8x AGP on nForce2. I can't even remember if that was driver related or not, but selecting 4x AGP n BIOS seem to fix it.
I've not read through this thread so admittedly I don't know the details of any problems users may be having. However I'm going to be honest & say I don't believe Russonivich's claims regarding driver incompatibility.
If there was any incompatibility at I suspect it arose from adding /PAE switch on machines with IA-32/IA-32e CPU's. PAE in the OS context is an acronym for Page Address Extension, not Physical Address Extension.
Physical Address Extension is Intels nomenclature referring to any CPU with more than 32 external bits. IA-32 being 32/32 (registers) doesn't support paging, IA-32e (36/32) does support paging but not remapping.
One can see how that might become a problem when drivers want high addresses.
To the best of my knowledge AMD64 users never had issues - I didn't. The boards supported remapping & address translation I think would be transparent to most drivers, not that it should matter anyway.
⇗ @daniel_k:
When I find the link I'll point you to an article written by developer Geoff Chappell a few years ago on XP/Vista memory limitations & his views of Microsoft.
f

#3118

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3116

> @Andalu
> Nice improvement!
> Can you try Mov AX, 0xDEAD's fix for AMDXHC.SYS?
> Patch kernel files with /ALL command line.
> Make sure you replace all files at the same time.
> ntkrpamp.exe renamed to ntkrnlpa.exe in \Windows\system32
> hal.dll in \Windows\system32 (see attachment)
> amdxhc.sys in \Windows\system32\drivers (see attachment)

It woooorkssss!! Great!! No issues related to USB ports. The shutdown works as usual.
Also the ramdisk software see the entire ram installed and I can use the memory over 4GB. I already tried to load a ramdrive on boot and it works.
Thanks so much ⇗ @daniel_k and ⇗ @Mov AX, 0xDEAD
⇗

#3119

daniel_k

⇗ @Pill Monster
Yeah, remember you from Guru3D, for sure!
There are some specific drivers that defitively don't support 64-bit addressing.
Some hardware, such as soundcards (Live!, Audigy) also have issues, which were popular by 2008, when XP SP3 was released.
Geoff's article I've already read, thanks.

#3120 | daniel_k | ⇗ @Andalu Glad to know it works! Things just keep getting better!

## Page 209

#3121

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3114

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3110

> > if you have time, try to force usb3.0 device to be only 32-bit dma in amdxhc.sys, maybe this helps:
> > ...

> That did it!

1) single amdxhc.sys patch or combination with hal.dll patch ?
2) on w2003 did you have problem with amdxhc.sys ?
i think it just beta patch because we dont know where problem, in hal or 3rd driver....

#3122 | Andalu | ⇗ @daniel_k You are right ;) and never to lose the hope. Until two month ago I never imagined being able to install XP on a skylake board and to have the usb3 fully functional. Many thanks to this great forum and its skilled members.

#3123

schreiberstein

⇗ @daniel_k
Hey! I am currently applying your fixed to my system.
Could you adapt the hal_pae_fix.rar to include the ACPI timer fix? Chrome crashes again.
Will let you know my results soon.
Just applied the kernel patch. Rebooting.
Really cool stuff!
Cheers,
schreiberstein

#3124

Ep.Cygni

Hello all and thanks for your effort on enhancing Windows XP.
⇗ @daniel_k
Attached are my results of testing the PAE patch from ¶ post #3068 on a live system. I followed the instructions in ¶ post #3088 but renamed patched kernel files before replacing (as mentioned in #3068 but omitted in #3088).
The PC has a Creative Audigy card installed, and I did a simple driver compatibility check: tried playing midi files on the card's hardware synth.
With /4GB option, some notes were missing and others ended abruptly. However, this issue could be fixed by reloading the soundfont a few times (alternating with other soundfonts seemed to work best).
With /ALL option, the same issues happened but I could not find a way to return the synth to normal operation.
I made several reboots with both patch versions to make sure these results are repeatable.
Also, the Audigy Sw Synth went completely silent with patched kernels and worked again only with the original one.
Thus, it looks like the "fake PAE" approach cannot prevent all possible compatibility issues. It is still more stable than some other PAE-enabling patches I tried before - for example, with "fix128v48" the system would freeze and/or reboot when attempting to play a midi file.
Hope this info will be helpful to people reading the thread.
Ep.Cygni has attached images to this post ⇗ 0 - unpatched.png ⇗ 1 - patched with 4GB opti ⇗ 2 - patched with ALL opti

#3125

daniel_k

⇗ @Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3121

> 1) single amdxhc.sys patch or combination with hal.dll patch ?
> 2) on w2003 did you have problem with amdxhc.sys ?
> i think it just beta patch because we dont know where problem, in hal or 3rd driver....

1) Combination of both. As you can see some posts above, ⇗ @Andalu reported success as well.
2) Yes.

#3126

schreiberstein

⇗ @daniel_k
I patched "ntkrnlpa.exe" with /4GB and it worked. (See screenshot, running prime95 in the background)
I booted with /pae .
USB did work. I also replaced the "amdxhc.sys" file and hal.dll.
As of now, I cannot judge application stability since the hal.dll causes Chrome and other things to misbehave, due to the lacking ACPI timing patch.
Cheers,
schreiberstein
schreiberstein has attached images to this post ⇗ post_patch.PNG

#3127 | daniel_k | ⇗ @schreiberstein Please use /ALL command line. Here is the patched hal.dll with timer fix. Don't know which one you have, so packed both 5512 and 5687.
#3128 | daniel_k | ⇗ @Ep.Cygni Unfortunately, for XP 32-bit with PAE and XP x64 (which is PAE by design), Audigy cards are a lost cause. Creative didn't bother to fix the driver. Only X-Fi cards (may) work with PAE. PS: Thanks for your reports!

#3129

schreiberstein

⇗ @daniel_k
On /4GB I noticed that it takes longer for explorer.exe to navigate through folders. A noticeable delay.
Same instabilities as with that 128gb patch set occur with /ALL :
RAM gets detected properly, but Chrome pages crash.
Also, boot took much longer than usual.
I have installed the 5687 version of hal.dll .
Cheers,
schreiberstein
schreiberstein has attached images to this post ⇗ patch_all.png

#3130 | daniel_k | ⇗ @schreiberstein Does DOS apps work at all? If so, is possible to change them to full screen? (ALT+Enter) With the modified AMDXHI, just tried Server 2003 and it works just fine. Might worth a try when you have time.

#3131

schreiberstein

⇗ @daniel_k
No. Not at all. Instant crash, as if nothing had been executed.
I will try on 2003 tomorrow.
Thank you for all your work.
Cheers,
schreiberstein

#3132 | infuscomus | ⇗ @daniel_k ⇗ @diderius6 I was experimenting to see if I could install XP onto a KVM VM and I encountered a different A5 BSOD when in KVM. ⇗ bsod A5 14 - I haven't seen this one before. this is with patched ACPI 5048 not urgent to have this fixed, just something of note.

#3133

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3096

> @Doc.Brown
> Before you transfer XP SP3 from another working compi to the Gene XI board,
> disable all USB there
> Dietmar

⇗ @diderius6 ok I'll try it this afternoon
Do you think USB is in fault for my BSOD problem ?

#3134

roytam1

> Zitat von ⇗ Ep.Cygni im Beitrag ¶ #3124

> The PC has a Creative Audigy card installed, and I did a simple driver compatibility check: tried playing midi files on the card's hardware synth.
> With /4GB option, some notes were missing and others ended abruptly. However, this issue could be fixed by reloading the soundfont a few times (alternating with other soundfonts seemed to work best).
> With /ALL option, the same issues happened but I could not find a way to return the synth to normal operation.

I wonder if kX driver helps? as Creative creates badly written drivers, 3rd party driver seems to be better.

#3135

roytam1

> Zitat von ⇗ daniel_k im Beitrag ¶ #3068

> Let me explain what I've found.
> Windows 2003 has many licensing presets (which affects PAE and limits RAM available).
> One of them does something interesting: enables PAE, but limits RAM to 4Gb.
> The result? RAM is mapped in a more effective way so that more RAM is available.
> At the same time, as it is limited to 4Gb, there are absolutely no issues with drivers or specific hardware, which is great for most of us.
> I've wrote a small utility to patch all kernel files, should support all languages and all kernel versions 5512 (SP3) and later:
> ntkrnlmp.exe - Multiprocessor Kernel
> ntoskrnl.exe - Uniprocessor Kernel
> ntkrpamp.exe - Multiprocessor PAE Kernel
> ntkrnlpa.exe - Uniprocessor PAE Kernel
> To use it, copy all kernel files (found in SP3.CAB) and this utility to the same folder.
> Usage: winxppae [/4GB | /ALL]
> /4GB Enables PAE limiting RAM to 4Gb to avoid stability issues.
> /ALL Enables PAE with unlimited RAM, may have stability issues.
> You may test the files on a running system by replacing the files from another OS (otherwise File Protection will restore the files).
> In this case, pay attention to the filenames, on multiprocessor systems, rename ntkrnlmp.exe to ntoskrnl.exe and ntkrpamp.exe to ntkrnlpa.exe.
> Or integrate them on the CD (rebuilding SP3.CAB and repacking ntkrnlmp.ex_ and ntoskrnl.ex_).
> No need to include a /PAE switch in boot.ini, as this works just like on Server 2003.
> As I've patched the files properly, ntoskrnl.exe automatically chainloads the PAE kernel, ntkrnlpa.exe.
> PS: Only supports Windows XP SP3. Another version supporting Server 2003 will be released later.
> PS: Updated 1.1 version /4GB and /ALL logic was reversed. Fixed.

I wonder if patch can work with latest(last) ntkrnlmp.exe (5.1.2600.7649 from KB4486463) / ntkrnlpa.exe,ntkrpamp.exe,ntoskrnl.exe (5.1.2600.7581 from KB4463103)?

## Page 210

#3136

Ep.Cygni

> Zitat von ⇗ roytam1 im Beitrag ¶ #3134

> I wonder if kX driver helps? as Creative creates badly written drivers, 3rd party driver seems to be better.

Yes, the kX driver is fully compatible with PAE (no issues with any patch).
Also, Creative drivers for early PCI cards based on Ensoniq chip (ES137x) are compatible too; one can install such card to get back the software synth with .ecw sound banks (identical to Live!/Audigy Sw Synth which stops working if PAE is enabled).

#3137

Doc.Brown

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #3133

> > Zitat von ⇗ diderius6 im Beitrag ¶ #3096

> > @Doc.Brown
> > Before you transfer XP SP3 from another working compi to the Gene XI board,
> > disable all USB there
> > Dietmar

> @diderius6 ok I'll try it this afternoon
> Do you think USB is in fault for my BSOD problem ?

Doesn't change anything,I think something is already wrong with acpi.sys

#3138

Mov AX, 0xDEAD

I've maked two experimental hal.dll to test bugs with dma64/dma32 drivers
1) hal_force_high_addr
if driver declare support dma64 and request memory for dma (AllocateCommonBuffer), hal forced to allocate memory only from HIGH adressses. This mean hardware will survive only with adresses >4Gb
Tested:
VIA USB3.0 driver - requests dma64, works fine
AMD USB3.0 hacked driver - requests dma64, not works, dev_0000 if inserted something or nothing happens
Realtek LAN - requests dma32, works fine
NVidia 660GTX - don't use hal, has own dma implementation(?), works fine
Intel integrated VGA on IvyBridge 6.14.10.5437, don't use hal, works fine
Creative X-fi 2.30.0011- requests dma32, not works, hangs or loop somewhere in ring0 space
Creative X-fi 2.30.0011- forced dma64 (hidden option in *.inf), instant reboot
2) hal_force_dma32
any dma64 request forced to dma32, same behavior as patchpae3, but patchpae3 miss limiting allocation <4Gb
VIA USB3.0 driver - driver can't start, Error 10
AMD USB3.0 hacked driver - works fine
Creative X-fi 2.30.0011- not works

#3139

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #3132

> bsod A5 14 - I haven't seen this one before. this is with patched ACPI 5048
> not urgent to have this fixed, just something of note.

¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (21)
BSOD A5(14,...) was discovered in Qemu q35-pcmodel before

#3140

diderius6

⇗ @Doc.Brown
This is acpi.sys from outer space ),
with try to hack against BSOD A5 (0x00000003,xxx,0xC0140008,yyy)
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#3141 | daniel_k | ⇗ @infuscomus, thanks for reporting the issue. For now, I'm done with ACPI hacking, but saved the info in my notes.
#3142 | daniel_k | ⇗ @roytam1 Yes, personally tested with original SP3 and latest version.

#3143

daniel_k

⇗ @Mov AX, 0xDEAD
Unfortunately forcing 32-bit DMA has issues, at least on my system.
At first, everything works just fine.
But after copying files and specially running disk benchmark on AIDA64, the driver "hangs" the USB drive, even restarting doesn't fix it, need to remove it and plug it again for the drive to be recognized.
As soon as this happens, the issue with NTVDM appears, trying to switch to full screen gives me an error.
When only the XHCI controller is enabled, no problem.
When AMD Hub is enabled, the issue occurs.
Is there anything that can help with this? Memory dumps of before/after issue?

#3144

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3138

> Today i've maked experimental hal.dll to test bugs with dma-64 drivers, if driver declare support dma64, and request memory for dma (AllocateCommonBuffer), hal forced to allocate memory only from HIGH adressses. This mean hardware will survive only with adresses >4Gb.

What about drivers that support only 32-bit DMA?
How does HAL allocate memory?
Can we hack HAL to change its behavior?

#3145

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #17

> yes, dsdt binary table stored in uefi...

@Mov AX, 0xDEAD....or anyone interested...
hi...just getting up to speed on this thread reading each post from the beginning. I am curious about what you are saying about ACPI. Here's my problem....
This may be premature, I still have a lot of reading to do in this thread. Right now I am addressing an 0x000000A5 error but I am also mentioning an 0x000000F7 error. Maybe that has been answered later.
I have XP SP3 mounted on a SATA drive. It was working on SATA on an Intel DQ35JOE mobo so I presumed it had at least primitive SATA drivers.
When I plug it into the SATA 4 port on the mobo and try to boot, I get an immediate boot-ini error, claiming it is trying to boot from C:\Windows. I have no such directory, but I am using a small C: partition that held W98 at one time. The boot.ini and XP loaders are on C: but XP is on partition 2. That is indicated in the boot.ini file.
It is shown in a partition manager running in W7 as disk 3. I will address that problem in a later post and focus on the ACPI issue for now.
If I insert the XP install disk, slipstreamed with SP3, I eventually reach a BSOD screen with an 0x000000A5 error...the APCI in BIOS is claimed to be not fully compliant. Is this what you are talking about and does the BIOS have to be modded to get around that?
I got past the BSOD by hitting F7 as directed on the BSOD screen. However, their explanation does not work for me, I must hit F7 immediately when the F6 message appears, to hit F6 if I need to load storage drivers. Then the install disk will proceed to the end. However, when it reached the stage where it is starting Windows, I get an 0x000000F7 error, which is related to the boot.ini error. F7 means it cannot find a bootable OS.
Recently, I read about the unofficial SP4 update for XP. So, I went through the laborious process of slipstreaming the SP4 onto my XP SP3 disk. Lo and behold, with that SP4 disk, the install found my XP OS install and let me select it from a list of partitions.
It appears to me there may be other BIOS issues if the SP4 install can find my XP install but the stock XP SP3 disk can't.

#3146

infuscomus

⇗ @gordo999
I have a modified XP ISO that might potentially solves your BSODs, would you like to try it out?
Bug Check 0xF7: DRIVER_OVERRAN_STACK_BUFFER
are you sure that is the BSOD you get?
Bug Check 0x7B: INACCESSIBLE_BOOT_DEVICE
would seem more likely
can you send screenshots all of the BSODs you get? including the A5 BSOD, F7 BSOD etc... a screenshot of the errors would give more information about them.

#3147

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3146

> I have a modified XP ISO that might potentially solves your BSODs, would you like to try it out?
> ....Bug Check 0x7B: INACCESSIBLE_BOOT_DEVICE would seem more likely
> can you send screenshots all of the BSODs you get? including the A5 BSOD, F7 BSOD etc... a screenshot of the errors would give more information about them.

@infuscomus...yeah, thanks, the ISO might be helpful to get me going.
I'll follow this reply with an exact description of my problem.
You are right it is error 0x7B. I am getting a bit foggy-minded with all the reading and research I've been doing.
I would be happy to send a screenshot if I could take one. They occur during the boot stage and I have no idea how to take a screenshot then. I could write it out from the screen.

#3148 | infuscomus | ⇗ @gordo999 I PMed you the modded ISO, let me know if it works.

#3149

gordo999

@infuscomus...here's more detail on my problem.
I have XP SP3 installed on it own SATA hard drive. It was working fine on an older Intel DQ35JOE mobo, so I am plugging it into a SATA #4 port on the 8th gen Asus B360M mobo. I think in the past I may have changed the active partition and the primary partition flags so the system would not accidentally boot XP. I have since restored the flags making partition 1 both primary and active and partition 2, with XP, just primary.
BTW...I used the F6 floppy method to install SATA drivers from win-raid. The install went fine. I also have a set of win-raid SATA drivers on the unofficial SP4 update disk. Both recognize the A352 hardware SATA ID on my ASUS mobo.
Partition 1 = (C:) used to be Win98 but I have removed the OS and use the small partition for storage. It was too much of a hassle to convert the partition back to make the XP partition as the boot partition.
Please note that the directory on C: still exists for win98 but it is named WIN98 and not Windows. When I try to boot normally from the drive, I get an error message claiming boot.ini is corrupt and that the system is trying to boot from C:\Windows. No such directory on C: and there are no other drives plugged in while I am booting this drive.
Here is my boot.ini file and please note that it was modified by an attempted repair install with the XP installation disk. I am currently in the middle of that install but when the install tries to reboot, I get stopped by the corrupt boot.ini and another error claiming ''load needed DLLs for kernel". It won't go past that point so I cannot complete the repair install.
[boot loader]
timeout=1 //note...don't know why it's set so low.
default=multi(0)disk(0)rdisk(0)partition(2)/WINXP.2
[operating system]
multi(0)disk(0)rdisk(0)partition(2)/WINXP.2="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect /noexecute=optout
multi(0)disk(0)rdisk(0)partition(2)/WINXP.2="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect /noexecute=optout
Please note the following:
-the install program changed the default OS from /WINXP to /WINXP.2. In the XP directory on partition 2, it has also added two new directory, WINXP.0 and WINXP.1, on beside the original WINXP directory.
-you can see they have added another [OS] entry on top of the original, with the /WINXP.2.
-also, they have added a /noexecute=optout to counteract the earlier /noexecute=optin.
Even though the XP is clearly referred to as being in rdisk(0)partition(2) it is looking for the OS in C:\windows. I am wondering if that is somehow wired into the BIOS.
When I look at the setup from a partition manager in W7, the XP drive is referred to as disk 3. Win10 is on disk 1 and W7 is on disk 2. I thought maybe the rdisk value should be changed to reflect that but changing the rdisk value does nothing. I have changed it to 2 but not to 1.
Here's the kicker. I have upgraded my XP SP3 install disk to the unofficial SP4 update. Using that install disk, the install suddenly sees all the partitions on the disk and I am able to select the XP install on partition 2. That means the SP4 install bypasses the 0x7b bsod.

#3150 | gordo999 | @infuscomus....just downloading it now...thank you kindly.

## Page 211

#3151

gordo999

@infuscomus....good news, no 0xA5 or 0X7B BSODS..
Now for the bad news. :-)
When I run an install using the disk, I get no USB at the point where windows is starting. With the unofficial SP4 updated install disk, I do get the USB keyboard. Fortunately I have an OS/2 keyboard plugged in.
I wanted to get to the repair prompt, which I did. I tried diskpart but it must be the XP version and I find it to be useless. I tried bootcfg /scan from inside the WINXP director on partition 2 and it found no operating systems!!!!
Diskpart lists partition 1 as drive C: but it lists partition 2 as drive H???? Go figure.
I would be interested in the mods you used if they are easy to describe for you and not a lot of trouble.

#3152

infuscomus

⇗ @gordo999
The mods are
patched ACPI driver (thanks to daniel_k, diderius6)
generic AHCI driver (thanks to skullteria)
generic USB 3.0 driver (thanks to daniel_k)
I was hoping to have USB 3.0 working for XP setup - shame it did not work, at least you had a PS/2 keyboard.
are you prepared to wipe your hard drive and start from scratch?

#3153

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3140

> @Doc.Brown
> This is acpi.sys from outer space ),
> with try to hack against BSOD A5 (0x00000003,xxx,0xC0140008,yyy)
> Dietmar

Thanks I don't have this A5 BSOD anymore but I'll try this one today to see if it's resolve mine ;)
I'm always stuck with this one during devices installation in XP set-up or at boot when I instal on another motherboard and put it on the Z390 Gene after :
⇗

#3154

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3152

> Are you prepared to wipe your hard drive and start from scratch?

@infuscomus...thanks for info re patching OS.
I may have to do a clean install eventually but I don't want to lose the apps I have on the XP partition. I still have some options, like a backup image of both partition 1 and 2. Part of my problem may be that I have more partitions on the disk besides the XP partition and the drive C:\ partition. They are secondary partitions and can be moved elsewhere, so I could load the saved C: and D: partitions on a separate disk to see how that affects the loading.
I booted the W10 repair disk and it can see the XP partition. It just won't repair anything on it. I might try the W7 repair disk.

#3155

gordo999

Can anyone confirm the flag settings on a system with nothing on drive C: (partition 1) and XP on drive D: (partition). I have them both set as primary and only partition 1 set as active.
Drive C: used to be W98 but the OS is no longer working. I had the boot.ini file on C: along with the bootloader for XP. It worked for many years just fine.
I'm sure this has something to do with the newer 8th gen mobo because I had no issues with it on the DQ35JOE mobo which is ICH9 or newer.

#3156

infuscomus

⇗ @gordo999
edit: can you set partition 2 as active? that might work
my guess is the old system used IDE mode which windows98 supports and the new system uses AHCI mode.
windows98 does not support AHCI by default and cannot boot from it without a driver (a driver exists, but it's not free)
so if the windows98 partition is first up to boot, but is in AHCI mode, so it fails.
I think it would be best to backup the drive and start over.
in my setup I have a drive for each OS - I even got windows98 working on AMD Ryzen (with the paid for driver)

#3157 | XPWELL64 | Ahci isn't good for HDD but very good for SSD. FEWER OS SUPPORT and same performance.
#3158 | XPWELL64 | I saw that every site serves the drivers as free.

#3159

diderius6

Hi,
this morning I make the ultimative ACPI test for the EVGA dark z390 board.
First, I make with REVELPROG IS Epromer an update of its whole Bios chip 25Q127CSIG.
3 times I read XP friendly Bios vers. 092 out and compare. Ok, all copies are identic.
Then I flash the brandnew BIOS 107 (September 2019), which is not XP friendly to this z390 board.
Ok, first XP SP3 install gives A5 error and in a strange way also 7B.
After testing and testing I succeed to install full ACPI XP on this board. I do not mod anything in Bios 107.
Everything works: Lan, graphik, all USB.. under XP.
The DSDT table of this Bios 107 is similar to the Bios of the Gene XI board
or the Apex XI board or the z390 boards from Gigabyte.
I have to add the registry entries for the STORAHCI driver by hand (see *.reg here in folder)
Dietmar
EDIT: USB boot of XP SP3 works on all(!) USB ports, nice:)).
EDIT2: I put this XP SP3 on nvme boot device. This is now most fast OS ever seen.
⇗
diderius6 has attached files to this post

- ⇗ XPacpistorportSTORAHCI.rar

#3160 | infuscomus | ⇗ @XPWELL64 AHCI has some improvements for HDDs, NCQ extends the life of a HDD the paid for driver ⇗ http://www.geocities.ws/rloew/catalog2.htm

#3161

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3156

> so if the windows98 partition is first up to boot, but is in AHCI mode, so it fails

@infuscomus....good point....worth checking out.
I might be able to backup the XP partition, or use my image backup, and install it back to partition 1. I would have to remove both partitions and make one partition.
Would have to figure out a way to make it bootable. Actually, C: currently has the MBR and is bootable. Maybe I could remove partition, expand C:, and recover the XP image to C:.
Too tired to think right now but thanks for ideas. Appreciate it.
BTW...I was using attrib in the cmd window of W7 to look at the C: partition on my XP disk. It still has hidden files going back to the DOS days like drvspace.bin, command.com, and all that good stuff. Better to clean it all out and start with fresh partition.
ps.will set partition 2 active but I think I may have already tried that. No harm in trying.

#3162

IntiMD

> Zitat von ⇗ infuscomus im Beitrag ¶ #3156

> windows98 does not support AHCI by default and cannot boot from it without a driver (a driver exists, but it's not free)

Well, the driver has been released for free due to the author's demise and his son allowing people to freely redistribute it for purposes of continuing his legacy.
For those who don't know what am I talking about, it's about one of Rudolph "rloew" Loew's patches (the AHCI one). ⇗ His driver collection which is user-contributed can be found in the Internet Archive.

#3163

diderius6

⇗ @Doc.Brown
This BSOD comes from the Iastor.sys driver. I have had the same problem.
When you use the STORAHCI driver from my last post,
this BSOD is gone. You have to notice: Everytime when XP wants
to install the Iastor 1006 driver from Fernando, you need to stop this
and set in this place the Standard SATA AHCI Controller (see photo) from ⇗ @skullteria
Dietmar

#3164 | infuscomus | ⇗ @IntiMD Oh dear! I didn't know he had died. Rest in Peace, Rloew.

#3165

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3144

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3138

> > Today i've maked experimental hal.dll to test bugs with dma-64 drivers, if driver declare support dma64, and request memory for dma (AllocateCommonBuffer), hal forced to allocate memory only from HIGH adressses. This mean hardware will survive only with adresses >4Gb.

> What about drivers that support only 32-bit DMA?
> How does HAL allocate memory?
> Can we hack HAL to change its behavior?

If driver declare only dma32, hal work as w2003 - 1) always allocate mapregisters if we have >4Gb phys adressing) limit allocating buffer memory <4GB.
Hal allocate shared cpu<->dma<->pci memory in HalAllocateCommonBuffer, but not all layers in windows uses hal directly, LAN drivers uses NDIS.sys, Sound drivers use portcls.sys, Video may use videoprt.sys
You can patch to force dma32 for all drivers:
- mov byte ptr [edi+0b], 0 in HalGetAdapter ; Dma64Adressing=0
- HalpGetAdapterMaximumPhysicalAddress return max allowed adress for device in EDX:EAX, for dma32 device is 0:FFFFFFFF, for dma64 device is FFFFFFFF:FFFFFFFF, need to force 0:xxxxx
p.s. i updated post to include new info ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (210)

## Page 212

#3166

daniel_k

⇗ @Mov AX, 0xDEAD
Thanks for the detailed info on how HAL works and several driver testing reports.
Interesting that as I have 16Gb, the hacked AMDXHC driver works just fine, pity it breaks NTVDM.
When forcing DMA32 in AMDXHC, no issues with NTVDM/VGA, but it hangs the flash drive as I've said before.
In your opinion there isn't anything else that can be done with this driver?
I'm trying to hack another driver, but is proving to be difficult.
If a error code 10 is shown, it's reported by the driver, right? Is there a reference list with "error codes" that a driver must report to Windows?
I thought it would be something like 0xC000000A (A would be 10), but can't find those in the driver.

#3167 | daniel_k | ⇗ @Mov AX, 0xDEAD Did you evert try Vista 32-bit by any chance? Going to try it later today, seems to have issues with timer on Haswell and later, user mode services usually fail to load after hanging for a long time. Even with SP2, it happens.

#3168

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3159

> Hi,
> this morning I make the ultimative ACPI test for the EVGA dark z390 board.
> First, I make with REVELPROG IS Epromer an update of its whole Bios chip 25Q127CSIG.
> 3 times I read XP friendly Bios vers. 092 out and compare. Ok, all copies are identic.
> Then I flash the brandnew BIOS 107 (September 2019), which is not XP friendly to this z390 board.
> Ok, first XP SP3 install gives A5 error and in a strange way also 7B.
> After testing and testing I succeed to install full ACPI XP on this board. I do not mod anything in Bios 107.
> Everything works: Lan, graphik, all USB.. under XP.
> The DSDT table of this Bios 107 is similar to the Bios of the Gene XI board
> or the Apex XI board or the z390 boards from Gigabyte.
> I have to add the registry entries for the STORAHCI driver by hand (see *.reg here in folder)
> Dietmar
> EDIT: USB boot of XP SP3 works on all(!) USB ports, nice:)).
> ⇗

⇗ @diderius6
Do you replace original files in STORAHCItxtSetup by yours in this attached file or use them standalone with Nlite integration please ?
Thanks

#3169

diderius6

⇗ @Doc.Brown
I use nlite for STORAHCI driver via txtsetup.oem.
I use only files from this folder package from attached file in
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (211)
I copy by hand storport.sy_ and this acpi.sy_
in i386 folder.
When you do all correct,
on next reboot you get BSOD 7B.
This happens, because some values are missed in registry for the STORAHCI driver.
This you have to do by hand with the *.reg file
Dietmar

#3170

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3169

> @Doc.Brown
> I use nlite for STORAHCI driver via txtsetup.oem.
> I use only files from this folder package from attached file in
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (211)
> I copy by hand storport.sy_ and this acpi.sy_
> in i386 folder.
> When you do all correct,
> on next reboot you get BSOD 7B.
> This happens, because some values are missed in registry for the STORAHCI driver.
> This you have to do by hand with the *.reg file
> Dietmar

Ok thanks,but I don't understand how you could do this step if you can't boot with BSOD 7B ? Could you tell me more please

#3171

diderius6

⇗ @Doc.Brown
Yes, this procedure is unknown for most. It even works for Win2000, Win2003, Vista, Win7, win8, win10, (win12^^, all 32 and 64 bit) via XP(!) SP3. There is a tool from Microsoft, that overcomes any restriction for registry in any OS via XP. (There is a reason, why the US army uses only XP SP3 everywhere and also the german Bundestag.) Here we dont need this.
I make a try to describe:
Take the harddisk with BSOD 7B XP (PC1) out of the compi.
Put it in an USB case, connected to a XP compi (PC2).
On PC2 you type regedit in commandline.
Then you go on HKLM in this machine.
Left above on top click on "Load structure".
Then you look in windows\system32\config\ for the hive system (on the USB drive with XP from PC1)
Click open.
A window opens, for a name of the structure. Name it
otto
Click ok.
In PC2 registry you see under HKLM a new structure with name otto.
This is the open registry from PC1.
I prepare for you a storahciotto.reg just now.
On this storahciotto.reg you double click.
Then a message comes, if you want to add this to registry, click yes and then ok. Then the information is put to registry (of PC1).
Click on structure otto
so that it is just blue.
Then go above left "delete structure". (Dont click import or export!!!).
With otto marked blue click on it and then yes.
The new registry has been written to PC1 harddisk,
close registry on PC2, thats all. It works for any win version.
Dietmar
EDIT: Note that newer versions of Windows don't allow users to delete these registry keys. It may be necessary to run redgedit.exe from another software tool that grants elevated access to the registry. For example, users can run the following command from the command line to run regedit using the System account:
psexec -i -d -s c:\windows\regedit.exe
PsExec is a part of PSTools available from Microsoft at:
⇗ http://technet.microsoft.com/en-us/sysin...s/bb897553.aspx
diderius6 has attached files to this post

- ⇗ storahciotto.rar

#3172 | Doc.Brown | ⇗ @diderius6 Wow impressive ! Fresh iso is ready with only acpi and storahci(will add USB later if it works),I try to do this ^^ Thank you :) Edit: that's right I wasn't able do delete it(and to execute the file too,I had to add Total Control by clicking on Permissions) so I just unloaded the hyve but at next boot(XP) I had an error message that tell me system file in system32 is missing or damaged,I try with Psexec
#3173 | diderius6 | ⇗ @Doc.Brown Can you install XP in txtmode on the Gene XI board with 57 Bios? Dietmar
#3174 | Doc.Brown | ⇗ @diderius6 Don't know what is txtmode install It won't work even with Psexec under Win8.1,I can't erase otto, -s argument in commandline for Psexec return an error and without I'm not able to delete otto ...

#3175

diderius6

⇗ @Doc.Brown
Life is much easier when you use XP on PC2
Dietmar
PS: Txtmode in XP setup is the first phase of XP install, that you can chose harddisk and drivers gets installed before reboot.
The tool works also under win 8.1, I tested.
For to delete otto:
Just close regedit one time on PC2 and open it again.
Then you can delete otto there.

#3176 | Doc.Brown | ⇗ @diderius6 Yep I will set-up an old school motherboard to put easy XP ghost on it but on my 8.1(surely too much modded for benchmarking) that doesn't work unfortunately I guess Txtmode should work cause I can press F2/F6/F7 or F5 in the beginning of install
#3177 | diderius6 | ⇗ @Doc.Brown When you build correct XP SP3 setup CD, no need to press F5 during setup Dietmar

#3178

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3166

> @Mov AX, 0xDEAD
> In your opinion there isn't anything else that can be done with this driver?
> If a error code 10 is shown, it's reported by the driver, right? Is there a reference list with "error codes" that a driver must report to Windows?
> I thought it would be something like 0xC000000A (A would be 10), but can't find those in the driver.

- i dont know what is wrong with driver, no ideas
- no, error 10 is "human" error of device manager, driver return another error like Cxxxxxx when windows call one of it functions (usualy IRP request). in case of VIA we have wdf and error can be inside of it

#3179

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3167

> @Mov AX, 0xDEAD
> Did you evert try Vista 32-bit by any chance?

I plan to install Win7 with unlocked_pae and recheck all what i already found. Win7's hal DMA functions is similar to win2003.
Win8/10 hal is different beast

#3180

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3177

> @Doc.Brown
> When you build correct XP SP3 setup CD,
> no need to press F5 during setup
> Dietmar

Yup I know,it was just an example to tell you txtmode is doable with my iso ^^
If you want to test it I can upload it ;)
Edit: also try to add register on my H24 Win10,Psexec works well but unable to delete the entry again,only option is to unload the hyve but some files stays in XP system32\config directory and when I restart the install already says that System is missing or damaged ... don't know what i'm doing wrong but i do xD

## Page 213

#3181 | diderius6 | ⇗ @Doc.Brown And what happens after txtmode? Dietmar

#3182

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3181

> @Doc.Brown
> And what happens after txtmode?
> Dietmar

Nothing wrong just the BSOD after first reboot as you said that's why I'm trying to inject the reg file to pass the bsod ;)

#3183 | diderius6 | ⇗ @Doc.Brown You can upload your hive "system" from Bsod 7B XP SP3 and I add the registry entries for you Dietmar PS: And dont forget to look, if modded acpi.sys and storport.sys are at their place:)).

#3184

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3183

> @Doc.Brown
> You can upload your hive "system" from Bsod 7B XP SP3
> and I add the registry entries for you
> Dietmar
> PS: And dont forget to look, if modded acpi.sys and storport.sys are at their place:)).

My mistake it was the storport,I'm a noobish xD
But always the same IRQL not less or equal after during devices set-up after first reboot :(
I try to put the reg file,you can find the system hive uploaded here : ⇗ System hive
Thanks

#3185

diderius6

⇗ @Doc.Brown
And here it is
Dietmar
PS: I noticed, that you also have drive D, E.
I deleted those entries in registry, because via this way XP does not know where to continue.
diderius6 has attached files to this post

- ⇗ system.rar

#3186

daniel_k

⇗ @Mov AX, 0xDEAD, I've found a pattern!
Drivers that use Mm64BitPhysicalAddress don't work properly. They seem to be badly coded.
ASMedia, TI and AMDxhc31 all share same code, which don't have any references to Mm64BitPhysicalAddress and always work.
Performing both 32-bit and 64-bit DMA:
⇗ https://community.osr.com/discussion/192085
Problem is, MCCI's drivers are really, really hard to hack, seems like there are sanity checks everywhere, not just some simple Device ID checks.
This code is from amdxhc31.sys v1.0.2.0 disassembled in IDA:

    		mov	[ebp+DeviceDescription.ScatterGather], dl
    		mov	dl, [eax+2]
    		mov	[ebp+DeviceDescription.Dma32BitAddresses], dl
    		mov	dl, [eax+0Ch]
    		mov	[ebp+DeviceDescription.IgnoreCount], dl
    		mov	dl, [eax+3]
    		mov	[ebp+DeviceDescription.Dma64BitAddresses], dl
    		mov	edx, [eax+8]
    		mov	[ebp+DeviceDescription.InterfaceType], edx
    		mov	edx, [eax+4]
    		mov	[ebp+DeviceDescription.Master],	cl
    		mov	[ebp+DeviceDescription.MaximumLength], edx
    		test	cl, cl
    		jnz	short loc_2BE1F
    		mov	cl, [eax+18h]
    		mov	[ebp+DeviceDescription.DemandMode], cl
    		mov	cl, [eax+19h]
    		mov	[ebp+DeviceDescription.AutoInitialize],	cl
    		mov	ecx, [eax+14h]
    		mov	[ebp+DeviceDescription.DmaChannel], ecx
    		mov	ecx, [eax+1Ch]
    		mov	eax, [eax+20h]
    		mov	[ebp+DeviceDescription.DmaWidth], ecx
    		mov	[ebp+DeviceDescription.DmaSpeed], eax

    loc_2BE1F:				; CODE XREF: sub_2BD82+7D j
    		mov	edi, ds:IoGetDmaAdapter
    		lea	eax, [esi+14h]
    		push	eax		; NumberOfMapRegisters
    		lea	eax, [ebp+DeviceDescription]
    		push	eax		; DeviceDescription
    		push	dword ptr [ebx+10h] ; PhysicalDeviceObject
    		mov	[ebp+DeviceDescription.Version], 2
    		call	edi ; IoGetDmaAdapter
    		test	eax, eax
    		jnz	short loc_2BE57
    		lea	eax, [esi+14h]
    		push	eax		; NumberOfMapRegisters
    		lea	eax, [ebp+DeviceDescription]
    		push	eax		; DeviceDescription
    		push	dword ptr [ebx+10h] ; PhysicalDeviceObject
    		mov	[ebp+DeviceDescription.Version], 1
    		call	edi ; IoGetDmaAdapter
    		mov	byte ptr [esi+20h], 0
    		jmp	short loc_2BE5B
    ; ---------------------------------------------------------------------------

    loc_2BE57:				; CODE XREF: sub_2BD82+B9 j
    		mov	byte ptr [esi+20h], 1

    loc_2BE5B:				; CODE XREF: sub_2BD82+D3 j
    		pop	ebx
    		test	eax, eax
    		jnz	short loc_2BE69
    		mov	[ebp+var_4], 0C000009Ah
    		jmp	short loc_2BECE

#3187

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3185

> @Doc.Brown
> And here it is
> Dietmar
> PS: I noticed, that you also have drive D, E.
> I deleted those entries in registry, because via this way XP does not know where to continue.

⇗ @diderius6
Same BSOD at the same time again :(
Perhaps it's my XP I will try another iso less lighter

#3188 | diderius6 | ⇗ @Doc.Brown Does this Bsod happen during install of XP and which exact number has this BSOD Dietmar

#3189

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3188

> @Doc.Brown
> Does this Bsod happen during install of XP
> and which exact number has this BSOD
> Dietmar

Yes always the same since the beginning in fact,occuring at the middle of device installation with those code :
⇗
I tried everything in bios,modded bios or stock from Asus,Fernando's AHCI or not,USBXHCI or not,each acpi files since weeks,install from X299 ... nothing help

#3190

diderius6

⇗ @Doc.Brown
Change your acpi.sys on the harddisk, where XP install already starts, against this one
Dietmar
PS: I have had exact the same symptoms. But via my install methode I overcome this. It is one single device,
which makes this happen.
diderius6 has attached files to this post

- ⇗ acpi.rar

#3191

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3190

> @Doc.Brown
> Change your acpi.sys on the harddisk, where XP install already starts, against this one
> Dietmar
> PS: I have had exact the same symptoms. But via my install methode I overcome this. It is one single device,
> which makes this happen.

New BSOD 7E with this one :
⇗

#3192

diderius6

⇗ @Doc.Brown
Yes, this is the Bsod, when acpi.sys cries for debugger.
Here is last acpi.sys,
change it again.
After this, I am out of ideas
Dietmar
PS: Can you hit F8 and choose "Safe Mode" at the beginning,
just before Setup restarts?
diderius6 has attached files to this post

- ⇗ acpi.rar

#3193

diderius6

⇗ @Doc.Brown
One idea I have:
Copy just my hive "system" into your folder windows\system32\config
Dietmar
diderius6 has attached files to this post

- ⇗ system.rar

#3194 | Doc.Brown | ⇗ @diderius6 Ok but with wich acpi.sys do you want I test your system hive ? This XP compatibility is starting to make feel like a fool :D Edit: yes I can choose F8 at set-up start
#3195 | diderius6 | ⇗ @Doc.Brown In this row, as you tested acpi.sys just now Dietmar PS: IF F8 really works, this means new chance.

## Page 214

#3196

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3195

> @Doc.Brown
> In this row, as you tested acpi.sys just now
> Dietmar
> PS: IF F8 really works, this means new chance.

Yes F8 works,I didn't try to boot in safe mode yet but I have the menu
So with your system file and the acpi before the last one you've uploaded 7E BSOD again but the 2 last codes changed :
⇗

#3197 | diderius6 | ⇗ @Doc.Brown This means nothing, because it is debug acpi.sys, try other too Dietmar
#3198 | Doc.Brown | This one is with your last acpi : ⇗ With the stock 0057 bios not the modded one I try with modded bios and the acpi from your EVGA compatibility STORAHCI rar

#3199

diderius6

This is interesting,
because I remember this was only one change something like 74 => EB
in acpi.sys
Dietmar
PS: This BSOD is gone with my Bios mod for 57, yes.
No, dont change this acpi.sys. Just flash Bios with 57 mod.

#3200 | Doc.Brown | BSOD 7B 0xB84C3524,0xC0000034 with acpi from z390 Dark Bios is flashing...

#3201

diderius6

⇗ @Doc.Brown
This means only, that the registry entries in "system" need to be renewed for STORAHCI driver.
Why this happen, I have no idea. But again put entries by hand into registry helps.
This was the way for me too
Dietmar
EDIT: May be, crazy Setup from XP tries to integrate "better" driver than the STORAHCI to registry "system".
In this case, at once would be clear, what happens.
But this can be tricked out: Just copy ntoskrnl.exe and hal.dll for "Standard PC" into
windows\system32. After setup, just change them back.

#3202 | Doc.Brown | Biggest improvement ever,set-up finished !!! With your last acpi.sys,modded bios and the system file patched ... but BSOD 0A IRQL not less or equal again after last reboot this time :/ I boot in safe mod and this time i've got the Standard driver for AHCI/SATA instead of Intel and the Microsoft ACPI exclamation mark so i will add the acpi.inf file to see if it will be gone,hope BSOD will be gone too but I doubt

#3203

diderius6

⇗ @Doc.Brown
Cool, this is exact what I thought, that the XP Setup tries to change the STORAHCI entry in "system".
This is exact, what happens to me. And Now I remember that I do after this the same steps.
Only install Standard driver for AHCI/SATA (is STORAHCI) via Safe Boot f8 and thats all
Dietmar
EDIT: acpi.sys needs no *.inf at all!

#3204

gordo999

> Zitat von ⇗ IntiMD im Beitrag ¶ #3162

> For those who don't know what am I talking about, it's about one of Rudolph "rloew" Loew's patches (the AHCI one)

@IntiMDI.... remember the guy. Just looking through the URL you supplied, he seemed to be well in advance of his time.
There were two versions of Win98....Win98 and Win98SE. I started with 98 on my C: drive and later added XP as a dual boot. Win98SE ran on FAT32 and my C: drive is still FAT32. That may be contributing to my problem.
Furthermore, back in those days it was not advisable to use an entire drive as an OS. So, I partitioned much smaller drives than we have today into 40 Gb partitions. An 80 Gb drive was the standard back then so I partioned my drives with 4Gb for W98 on C:, and 40 Gb for XP on D:. I added a third 40Gb logical partition for data.
Later, when 250 Gb and 500 Gb drives became available, if I transferred my C: and D: drives to the larger drive I still had the mentality of using smaller partitions. So, I'm stuck for the time being with many confusing drive letters due to numerous smaller partitions.
The idea was to use extended partitions for data only but 40Gb became too small for XP and I began installing apps on the extended partitions. I need to step back and do some housecleaning, moving apps and files to increase partition sizes and cut back on drive letters.
Remember Partition Magic? It had a need utility for allowing the user to move an app and have PM take care of all the new partition references in the registry. Wonder if it still works?

#3205 | gordo999 | @Fernando...don't know how the previous post re Win98 got into this thread. I replied to IntiMD using quotes on another thread and it showed up here. Update...sorry, I figured it out, it's the same thread. The post to which I replied is several pages back but I was lead to it from a PM so it appeared to be at the end of the thread.
#3206 | diderius6 | ⇗ @gordo999 AOMEI is from the same people which makes Partition Magic. Even the background and the name is the same Dietmar

#3207

Doc.Brown

⇗ @diderius6
That's ok now it seems,I installed STORAHCI and the reg in safe mode but windows replace ACPI(I will change it in SP3.cab for next iso) so I also put the system file mod and set-up restart another time :D but it seems ok in normal boot now and I understand what I have to do to(I hope)
Do you know if the system file is in the SP3.cab also or somewhere else to integrate it direct in the iso build ?
Is there a way to have a silent install for STORAHCI and his .reg file during set-up ?
Anyway you're the man my friend,you're skills and knowledge are huge,this succeed is yours,so much thanks :)
Now I have to add USB and NVMe support ans see if Asus TurboV works fine

#3208

diderius6

⇗ @Doc.Brown
I am happy, that in the end it works also for you on the Gene XI board.
When you read the end of my description from
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (199)
you see, there the same steps work. But today also a new acpi.sys is "born",
the acpi.sys from outer space ) now also with 10006 BSOD mod
Dietmar
EDIT: Dont forget to copy the modded hal.dll and intelppm.sys against the timer error into
windows\system32 and windows\system32\drivers.

#3209

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3206

> AOMEI is from the same people which makes Partition Magic.
> Even the background and the name is the same Dietmar

@diderius6...interesting. I know Symantec bought PM out then dumped it. AOMEI must have resurrected it, which is good. PM was a very good partition manager in its day, far better than anything Symantec had to offer. Glad to hear it is still around, albeit in another form.
I have AOMEI on a new Hirens disk (v.1.01), I'll look closer to see if they kept the other files from PM for moving a partition.

#3210

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3208

> @Doc.Brown
> I am happy, that in the end it works also for you on the Gene XI board.
> When you read the end of my description from
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (199)
> you see, there the same steps work. But today also a new acpi.sys is "born",
> the acpi.sys from outer space ) now also with 10006 BSOD mod
> Dietmar
> EDIT: Dont forget to copy the modded hal.dll and intelppm.sys against the timer error into
> windows\system32 and windows\system32\drivers.

What is this timer error ?
Could you provide me those files please I don't have them,should I put them in my SP3.cab modded ?
Thanks

## Page 215

#3211 | diderius6 | ⇗ @Doc.Brown It is here in the forum, some posts ago ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) halplusintelppm.rar Dietmar PS: You can integrate them. But I was to lazy, put them always later into harddisk:))

#3212

diderius6

Here is brandnew acpi.sys from outer space )
now also with mod against BSOD 10006 and C0140008
Dietmar
EDIT: I just test this nice acpi.sys from outer space ):
It works on EVGA dark z390 board with stock Bios 107.
Now we have 2 lines of working acpi.sys,
one based on 5512 (XP SP3)
and one based on 5048 (Longhorn).
diderius6 has attached files to this post

- ⇗ acpi.rar

#3213

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3211

> @Doc.Brown
> It is here in the forum, some posts ago ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)
> halplusintelppm.rar
> Dietmar
> PS: You can integrate them. But I was to lazy, put them always later into harddisk:))

thank you,i didn't see them cause it's for PAE problems i was only focus on the damn ACPI problem until now :D

#3214 | infuscomus | ⇗ @diderius6 does this ACPI 5512 work for AMD Ryzen too?

#3215

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3212

> Here is brandnew acpi.sys from outer space )
> now also with mod against BSOD 10006 and C0140008
> Dietmar
> EDIT: I just test this nice acpi.sys from outer space ):
> It works on EVGA dark z390 board with stock Bios 107.
> Now we have 2 lines of working acpi.sys,
> one based on 5512 (XP SP3)
> and one based on 5048 (Longhorn).

⇗ @diderius6
No need of modded bios with this one instead of the last one before so this one is better ^^
Everything seems fine :
⇗
Only little thing to solve is that I have an error Code 39 during USB driver installation :
⇗
I used modded amdxhx,hal and intelppm modded for timer and there's no USBD.sys in system32\drivers,copy manually but error is still here
Tried Renesas PCIE card but doesn't work too,I think I don't have the good drivers

#3216

infuscomus

⇗ @Doc.Brown
try reinstalling the driver now that you have usbd.sys copied across.
⇗ @diderius6
I have made a txtsetup.sif that successfully copies storport.sys and usbd.sys to c:\windows\system32\drivers every time
although i am not sure which modification i made actually does the copying across
infuscomus has attached files to this post

- ⇗ TXTSETUP.SIF.TXT

#3217

diderius6

⇗ @Doc.Brown
There may be a problem with the acpi.sys from outer space ) and USB,
because it can only handle 32 bit integer.
Lenovo solved this problem, just using during compile of their DSDT the -r1
switch in Iasl on all their notebooks.
In few min I send you a new 57 mod Bios for USB
Dietmar

#3218 | Doc.Brown | ⇗ @diderius6 USB works now,I used Z390 Dark tips and tools and after put Intel 3.1 USB driver to have it working ^^ Thanks

#3219

diderius6

⇗ @infuscomus
I just update the acpi.sys from outer space )
for to work also with Ryzen,
I think it is a major step,
please test
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#3220 | diderius6 | ⇗ @infuscomus About Txtsetup.sif and storport take a look at ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (190) Dietmar
#3221 | Gelip | ⇗ @diderius6 I make new tests with WinXP x64 on UEFI. The system can also be booted from a GPT partition in pure UEFI mode with Secure Boot enabled I have also added more detailed logs from WinDbg: ⇗ Boot WinXP 32-bit/64-bit on UEFI 32-bit/64-bit
#3222 | infuscomus | ⇗ @diderius6 your outerspace acpi.sys worked! nice! question: do you have to change the version numbers after modifying files? i thought that was unnecessary
#3223 | diderius6 | ⇗ @infuscomus Dont forget that this acpi.sys is from outer space ). I am happy, that it works, because this type of hack for Ryzen makes boot possible on a lot of crazy Intel boards too Dietmar

#3224

diderius6

⇗ @Gelip
Please write a new Tutorial,
with all what you reach about UEFI boot for XP.
For example disable signature check, GPT partition boot, which kind of partitions are necessary for UEFI.
Bios with EFI files for ntfs, GPT and Fat32.
May be we find a way, to integrate vga with INT 10 as *.efi file
to Bios. And the question about 32bit XP SP3
Dietmar
PS: In next days I get 3 old notebooks x220 from Lenovo. They are MUCH better than the new Lenovo Flex 10, brrr..
EDIT: There a crazy ideas possible with UEFI boot of XP.
For example, until now it is not possible to boot XP via nvme, when there is no legacy support for.
I tested this a lot, may be chance would also be in an updated nvme.sys which uses scsiport.sys instead of storport.sys.
But via EFI boot of XP, at once you can use ANY uefi driver for nvme boot of XP.
EDIT2: Please add all needed files.

#3225 | infuscomus | ⇗ @diderius6 does changing the version number need to be done? or was it just for fun?

## Page 216

#3226 | diderius6 | ⇗ @infuscomus You need to ask outer space ) Dietmar
#3227 | diderius6 | The STORAHCI driver from ⇗ @skullteria works also with ASM106 controller. This is the only generic AHCI driver for XP Dietmar
#3228 | infuscomus | ⇗ @daniel_k doing some testing - i tried to load your generic amdxhci usb 3 driver in XP textmode setup and got a D0 BSOD - Bug Check 0xD0: DRIVER_CORRUPTED_MMPOOL on an AMD AB350 motherboard.
#3229 | daniel_k | ⇗ @infuscomus, that driver is only for Intel systems. For Ryzen, ask @diderius6. My last AMD rig was a socket 939 Athlon 64 3200+.

#3230

diderius6

I found an interesting Embedded compi,
which supports XP on Bay Trail cpu
EmNANO-i2300
EmQ-i2301
NAO-660E
ARES-5300
LYNC-708-3845G2
ASLAN-W810/812C-2930G2
It has an UEFI Insyde Bios,
with interesting switch in Bios menu
APCI Selection Select boot to Acpi 3.0/Acpi 1.0B
Options are Acpi 1.0B/Acpi 3.0/Acpi 4.0/Acpi 5.0
There you could compare as much as possible,
but I dont know, how to get any of this Bios, no downloads on Website for Bios
Dietmar

#3231

daniel_k

⇗ @Mov AX, 0xDEAD
Can you help me, please?
In a PE file with .rdata section with strings and reference pointers, how can I find the code which loads those?
IDA just shows strings -> reference pointers, but doesn't tell me where the code actually does something with them.
Is there a way to find out where a function is called from when it isn't called in a conventional way?
The code I'm analyzing is being called from something like this:

    8B861C010000             mov          eax,[esi][00000011C]
    85C0                     test         eax,eax
    741E                     jz          .000011627
    8B480C                   mov          ecx,[eax][00C] -> huh?
    85C9                     test         ecx,ecx
    7405                     jz          .000011615
    FF7004                   push         d,[eax][4]
    FFD1                     call         ecx

And this one? There is nothing at that offset, all zeroed? Is it filled at runtime?

    FF15C4100300                   call         d,[0000310C4]

#3232

Doc.Brown

During comparing and modding my TXTSETUP.SIF I see there's an HIVE.INF file for adding registry key but the format is different than a .reg file.My goal is to add the STORAHCI.reg keys into this HIVE.INF and have the most easy XP installation as it could.
Is someone is able to help me to translate it with the good format please ?
The STORAHCI.reg text :

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "ErrorControl"=dword:00000003
    "ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
       72,00,69,00,76,00,65,00,72,00,73,00,5c,00,73,00,74,00,6f,00,72,00,61,00,68,\
       00,63,00,69,00,2e,00,73,00,79,00,73,00,00,00
    "Group"="SCSI Miniport"
    "DisplayName"="@mshdc.inf,%storahci_ServiceDescription%;Microsoft Standard SATA AHCI Driver"
    "DriverName"="mshdc.inf"

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters]
    "BusType"=dword:0000000b
    "IoTimeoutValue"=dword:0000000a

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters\Device]
    "ResetInInit"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,\
       00,45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,\
       2a,00,00,00,00,00
    "SingleIO"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,30,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,31,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,32,\
       00,30,00,00,00,00,00
    "IgnoreHotPlug"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NeverNonQueuedErrorRecovery"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,\
       32,00,26,00,44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,\
       00,56,00,5f,00,2a,00,00,00,00,00
    "EnableCLOReset"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,39,00,31,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NoFUACommand"=hex(7):48,00,54,00,45,00,2a,00,00,00,48,00,69,00,74,00,61,00,63,\
       00,68,00,69,00,2a,00,00,00,48,00,54,00,53,00,2a,00,00,00,48,00,44,00,53,00,\
       2a,00,00,00,48,00,44,00,54,00,2a,00,00,00,00,00
    "NeedSetTransferModeCommand"=hex(7):4d,00,43,00,42,00,51,00,45,00,36,00,34,00,\
       47,00,42,00,4d,00,50,00,50,00,2a,00,00,00,00,00
    "NoLPM"=hex(7):57,00,44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,\
       00,30,00,4e,00,4c,00,52,00,31,00,2a,00,00,00,57,00,44,00,43,00,20,00,57,00,\
       44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,00,30,00,4e,00,4c,\
       00,52,00,31,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,36,00,\
       56,00,3f,00,3f,00,3f,00,45,00,30,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,\
       00,72,00,20,00,36,00,56,00,3f,00,3f,00,3f,00,46,00,30,00,2a,00,00,00,4d,00,\
       61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,3f,00,3f,00,45,00,30,\
       00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,\
       3f,00,3f,00,46,00,30,00,2a,00,00,00,00,00

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters\PnpInterface]
    "5"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\PCI#CC_010601]
    "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
    "Service"="storahci"

and the HIVE.inf exemple of content :

    HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","NtfsDisable8dot3NameCreation",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win31FileSystem",0x00010001,0
    HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win95TruncatedExtensions",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers",,0x00000012
    HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI","Timeout",0x00010003,7
    HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\UseNewKey",,0x00000012
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Base",0x00030003,\
    0e,00,00,00,0e,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,\
    00,00,00,06,00,00,00,07,00,00,00,08,00,00,00,09,00,00,00,0a,00,00,00,0b,00,\
    00,00,0c,00,00,00,0d,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Boot Bus Extender",0x00030001,\
    05,00,00,00,\
    01,00,00,00,\
    02,00,00,00,\
    03,00,00,00,\
    04,00,00,00,\
    05,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Extended Base",0x00030001,\
    03,00,00,00,01,00,00,00,02,00,00,00,04,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Keyboard Class",0x00030003,\
    01,00,00,00,01,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Keyboard Port",0x00030001,\
    03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Ndis",0x00030003,\
    09,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,00,00,00,06,\
    00,00,00,07,00,00,00,08,00,00,00,09,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Network",0x00030003,\
    03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Parallel arbitrator",0x00030003,\
    01,00,00,00,01,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","PNP_TDI",0x00030003,\
    02,00,00,00,01,00,00,00,02,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Pointer Class",0x00030003,\
    01,00,00,00,01,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Pointer Port",0x00030003,\
    03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Primary Disk",0x00030001,\
    05,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI CDROM Class",0x00030001,\
    02,00,00,00,01,00,00,00,02,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI Class",0x00030001,\
    03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
    HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI Miniport",0x00030001,\
    3f,00,00,00,\
    00,01,00,00,\
    01,01,00,00,\
    19,00,00,00,\
    01,00,00,00,\
    02,00,00,00,\
    03,00,00,00,\
    04,00,00,00,\
    05,00,00,00,\
    06,00,00,00,\

I don't know how to name DWORD,HEX... keys in this format,I think it's the values like 0x00030001 and 0x00030003 in the lines but don't understand what is really is ...
Thanks

#3233

diderius6

⇗ @Doc.Brown
For a first try you can use nlite.
Compare txtsetup.sif before integrating STORAHCI
with txtsetup.sif after STORAHCI integrated.
I remember, that it was 1 line (even only a word)
that XP Setup changed in registry,
which gives the BSOD 7B after reboot on XP install,
something like "just another name for STORAHCI"
Dietmar

#3234

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3231

> In a PE file with .rdata section with strings and reference pointers, how can I find the code which loads those?
> IDA just shows strings -> reference pointers, but doesn't tell me where the code actually does something with them.
> Is there a way to find out where a function is called from when it isn't called in a conventional way?

there no way to determinate when and where will be used some of target address, you are found a part of some struct or enum.
ida is not perfect, sometime offset to string stored in other structure, so hex-search for offset too. in worst case code uses multi level relative access: mov esi, base; mov edi, [esi+43h]; mov eax, [edi+86h] - all offsets calculated at runtime

> Zitat von ⇗ daniel_k im Beitrag ¶ #3231

> And this one? There is nothing at that offset, all zeroed? Is it filled at runtime?
> FF15C4100300 call d,[0000310C4]

will be filled at runtime by loader (if it is import) or code itself before, [0000310C4] is just pointer to function

#3235 | daniel_k | ⇗ @Mov AX, 0xDEAD, thanks! Without using a debugger this is proving to be impossible.

#3236

Mov AX, 0xDEAD

> Zitat von ⇗ Doc.Brown im Beitrag ¶ #3232

> and the HIVE.inf exemple of content :

>     HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","NtfsDisable8dot3NameCreation",0x00010003,0
>     HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win31FileSystem",0x00010001,0
>     HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win95TruncatedExtensions",0x00010001,1
>     HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers",,0x00000012
>     HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI","Timeout",0x00010003,7
>     HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\UseNewKey",,0x00000012
>     HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Base",0x00030003,\
>     0e,00,00,00,0e,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,\
>     00,00,00,06,00,00,00,07,00,00,00,08,00,00,00,09,00,00,00,0a,00,00,00,0b,00,\
>     00,00,0c,00,00,00,0d,00,00,00

> I don't know how to name DWORD,HEX... keys in this format,I think it's the values like 0x00030001 and 0x00030003 in the lines but don't understand what is really is ...

0x00000000 Default (only for key/leaf)
0x00000002 String
0x00010000 Multi String
0x00010001 Dword
0x00010003 Dword don't overwrite an exsting entry
0x00020002 Expandable String
0x00030003 Binary (sequence of bytes)
0x00000012 new key/leaf
⇗ https://msdn.microsoft.com/en-us/windows/desktop/ff546320

#3237

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3233

> @Doc.Brown
> For a first try you can use nlite.
> Compare txtsetup.sif before integrating STORAHCI
> with txtsetup.sif after STORAHCI integrated.
> I remember, that it was 1 line (even only a word)
> that XP Setup changed in registry,
> which gives the BSOD 7B after reboot on XP install,
> something like "just another name for STORAHCI"
> Dietmar

Ok thanks for the tip,I will look for it perhaps it will indicate me how to intregate reg keys in this file ;)

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3236

> 0x00000000 Default (only for key/leaf)
> 0x00000002 String
> 0x00010000 Multi String
> 0x00010001 Dword
> 0x00010003 Dword don't overwrite an exsting entry
> 0x00020002 Expandable String
> 0x00030003 Binary (sequence of bytes)
> 0x00000012 new key/leaf
> ⇗ https://msdn.microsoft.com/en-us/windows/desktop/ff546320

Thank you it will help me to understand(or try to) so for an hex value I have to use the Binary value isn't it ? like for this for exemple :

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters\Device]
    "ResetInInit"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,\
       00,45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,\
       2a,00,00,00,00,00
    "SingleIO"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,30,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,31,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,32,\
       00,30,00,00,00,00,00
    "IgnoreHotPlug"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NeverNonQueuedErrorRecovery"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,\
       32,00,26,00,44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,\
       00,56,00,5f,00,2a,00,00,00,00,00
    "EnableCLOReset"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,39,00,31,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NoFUACommand"=hex(7):48,00,54,00,45,00,2a,00,00,00,48,00,69,00,74,00,61,00,63,\
       00,68,00,69,00,2a,00,00,00,48,00,54,00,53,00,2a,00,00,00,48,00,44,00,53,00,\
       2a,00,00,00,48,00,44,00,54,00,2a,00,00,00,00,00
    "NeedSetTransferModeCommand"=hex(7):4d,00,43,00,42,00,51,00,45,00,36,00,34,00,\
       47,00,42,00,4d,00,50,00,50,00,2a,00,00,00,00,00
    "NoLPM"=hex(7):57,00,44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,\
       00,30,00,4e,00,4c,00,52,00,31,00,2a,00,00,00,57,00,44,00,43,00,20,00,57,00,\
       44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,00,30,00,4e,00,4c,\
       00,52,00,31,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,36,00,\
       56,00,3f,00,3f,00,3f,00,45,00,30,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,\
       00,72,00,20,00,36,00,56,00,3f,00,3f,00,3f,00,46,00,30,00,2a,00,00,00,4d,00,\
       61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,3f,00,3f,00,45,00,30,\
       00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,\
       3f,00,3f,00,46,00,30,00,2a,00,00,00,00,00

and String value for entry like this :

> Zitat

> "Group"="SCSI Miniport"
> "DisplayName"="@mshdc.inf,%storahci_ServiceDescription%;Microsoft Standard SATA AHCI Driver"
> "DriverName"="mshdc.inf"

Am I right ?
Thanks

#3238

diderius6

⇗ @Doc.Brown
From my original registry by hand entries I make a new STORAHCI.inf
using the nice tool reg2inf.
Now the way is easy: Integrate with nlite this driver
and BSOD 7B should be gone,
Dietmar
PS: When you want to know what happens for STORAHCI in Txtsetup.sif:
Just compare Txtsetup.sif before and after nlite. Also look at the post from ⇗ @daniel_k for the storport.sys integration.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (190)
EDIT: This one automatically integrates also storport.sy_ in i386 folder.
But there are a lot of more changes, not only in txtsetup.sif.
diderius6 has attached files to this post

- ⇗ storahci.rar

#3239 | dencorso | ⇗ @diderius6: you should give Erwan Labalec's excellent OffLineReg a try! With it one can connect a drive to another machine via USB/SATA converter and then just point to the remote registry and edit it and save (or commit) the edits. It's much easier than the traditional "Otto" method you just reminded me of sof posts ago! Here are the links: ⇗ http://reboot.pro/files/file/313-offlinereg/ (the program - it does have a nice GUI version included) and ⇗ http://mistyprojects.co.uk/documents/off.../offlinereg.htm (a manual for the command line version). Enjoy!

#3240

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3238

> @Doc.Brown
> From my original registry by hand entries I make a new STORAHCI.inf
> using the nice tool reg2inf.
> Now the way is easy: Integrate with nlite this driver
> and BSOD 7B should be gone,
> Dietmar
> PS: When you want to know what happens for STORAHCI in Txtsetup.sif:
> Just compare Txtsetup.sif before and after nlite. Also look at the post from @daniel_k for the storport.sys integration.
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (190)
> EDIT: This one automatically integrates also storport.sy_ in i386 folder.
> But there are a lot of more changes, not only in txtsetup.sif.

Wow awesome,so much thanks :)
I searched this afternoon for a tool or online converter without any success !
I compared my Txtsetup.sif with the one linked by Infuscomus member few post ago,added his entry for storport,usbd,usbxhc and usbhub30 in mine,not tested yet I'll give a try by the week but with this Storahci I don't need to test it anymore I think or only for usbd perhaps.

## Page 217

#3241

diderius6

XP SP3 Setup seems not to like the STORAHCI driver.
I make a direct CD install for the EVGA dark z390 motherboard with XP unfriendly 107 Bios,
with last acpi.sys from outer space )
and with all modifikations as above described.
All went ok.
But on the very last reboot I got again BSOD 7B.
The parameters in service for Storahci suddently are empty
and the most evil is new one, after I compare with working XP I found this key is missed in
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_8086&DEV_A352
"Service"="storahci"
Dietmar
PS: So, as before I add by hand the registry entries. Again Bsod 7B.
Then I add by hand also the missing "Service"="storahci"
and this time XP starts with full ACPI, strange..

#3242

XPLives

> Zitat von ⇗ daniel_k im Beitrag ¶ #3099

> > Zitat von ⇗ gordo999 im Beitrag ¶ #3090

> > > Zitat von ⇗ daniel_k im Beitrag ¶ #3085

> > > Won't help because that is the same driver modded by me.

> > Are you the same daniel_k from Creative driver mod fame? If so, good to see you here and thanks for all your good work in that arena.
> > Trying to get Win XP going on an 8th generation Asus B360M so I'll be reading through this thread for hints then posting some questions.

> Yep, that's me! Glad to help!
> At this point, we've solved most issues.
> Should be easy to get it working, many people contributing here!

⇗ @daniel_k
I had meant to post this on October the 13th. I wasn't sure at first where I've seen your name before over the years. But it is strange and out of the blue that you appeared and started modding things on this board. At first I had thought your name looked familiar but with the _K it could have been anyone that just happened to use the same name and I didn't know you were from Brazil.
Now it finally clicked although I've never used any of your sound drivers yet (but might for Vista/Windows 7 retro gaming sometime in the future) and it now makes sense why you've been doing this modding for USB and other drivers naturally with your Assembly skills. Now at first it threw me since you are from Brazil and did a little digging and found you are Daniel Kawakami and also Asian. The curiosity is I am actually located right by the Creative Labs original office which later became your future nemesis in a way.
So I have to wonder what originally drew you to this Win-RAID board? Or were you already here under another name?
What exactly is your goal here?
Are you a Windows 2000 / XP / 2003 OS fan?
Were you originally looking for some help with something specific?
Can you explain if there was a website link or a post on some other site somewhere that drew you to this board to make an account here?
I haven't written too many topics on Sound Cards here yet but were you a heavy Sound Blaster user from the early ISA days or did your interest begin during the PCI era of sounds cards like Ensoniq, Live, Audigy+ and then you switched to Vista OS which led you to start modding the drivers to get back the XP audio features that were missing?
It's a shame Creative Labs tried to crack down on you for that work as they couldn't see you were helping them and Microsoft Vista. I'm glad you are still around and have now focused on XP/2003 driver modding.
Thanks for your recent contributions.
You can respond to me privately if you wish if any of these questions are too personal to post answers here but I think many here would be curious.

#3243

infuscomus

⇗ @daniel_k
oh ok, I thought that because it was originally an AMD driver modded to work for intel I assumed it was generic would still work for AMD Ryzen.
do you still have all your modded usb3 driver attempts? - I'd assume they're still attached in this thread somewhere? it's hard to navigate this enormous thread.
I would like to test them all to see if any of them can be made to work in XP textmode setup.

#3244

Mov AX, 0xDEAD

I repeated previous tests on Windows 7 x32 Pro "N" with pae_license_unlocked:
1) original hal:
VIA USB3.0 driver - requests dma64, works fine
AMD USB3.0 hacked driver - requests dma64, works fine
Creative X-fi 2.30.0011- requests dma32, works fine
MS SATA ataport.sys/pciidex.sys - requests dma64, works fine
2) hal_force_high_addr
if driver declare support dma64 and request memory for dma (AllocateCommonBuffer), hal forced to allocate memory only from HIGH adressses. This mean hardware will survive only with adresses >4Gb
VIA USB3.0 driver - requests dma64, works fine
AMD USB3.0 hacked driver - requests dma64, works fine
Creative X-fi 2.30.0011 - requests dma32, works fine
MS SATA ataports/pciidex - requests dma64, works fine
3) hal_force_dma32
any dma64 request forced to dma32, same behavior as patchpae3, but patchpae3 miss limiting allocation <4Gb
VIA USB3.0 driver - dma64->dma32, not start, Error 10
AMD USB3.0 hacked driver - dma64->dma32, not work with Flash drives
Creative X-fi 2.30.0011 - dma32->dma32, works fine
MS SATA ataports/pciidex - dma64->dma32, works fine
Difference to WinXP:
- Creative X-fi x32 works on Win7 with any config
- AMD USB3.0 hacked driver works on Win7 with 64dma without problems
- Win7 allocate memory from HIGH range from top to low adresses (1:3E xx xx xx) vs WinXP low to top (1:00 5B xx xx). PC maximal physical address = 1:3F000000

#3245 | coldwove | Trying to get XP SP3 cooperating with Threadripper and it's not having any of it, keep on bsoding on A5. Any suggestions / advice? Did my best to follow the stuff that's been posted in the past regarding ryzen.
#3246 | skullteria | Well, i have a idea, however, i'm not good with it. We can find on last Nvidia driver with support for XP if can be hacked to support 3d on Geforce serie 1000 (like Geforce GTX 1060).

#3247

diderius6

⇗ @coldwove
Oh nice, Threadripper with 32 cores.
First we need to look, where the problem with XP SP3 is in this.
Have you tried an install with hitting F5 during setup?
Via this you can choose "Standard PC" and if this works,
I dont know a reason, why full XP install should not work.
Please write the exact number of your A5 BSOD
Dietmar

#3248

daniel_k

⇗ @Mov AX, 0xDEAD
Really interesting the differences between XP and Win7 memory allocation.
Can we hack the logic of XP's HAL to work like Win7?
As I've said before, drivers written by MCCI works perfectly. They managed to overcome those XP addressing issues.
Please take a look at these drivers I've attached:
- all standard drivers (no WDF)
- amdxhc, nusb3xhc and rusb3xhc corrupt NTVDM/VGA with PAE enabled.
- asmtxhci.sys and tixhci.sys work in all scenarios (my board has an ASM2142 controller). Attached first public versions of these drivers, and the IoGetDmaAdapter has always been the same in later versions.
- Fortunately, XP x64 has no issues with any of the USB drivers.
I thought about applying the MCCI's method of IoGetDmaAdapter in asmtxhci and tixhci. What do you think?

#3249

Doc.Brown

> Zitat von ⇗ diderius6 im Beitrag ¶ #3241

> XP SP3 Setup seems not to like the STORAHCI driver.
> I make a direct CD install for the EVGA dark z390 motherboard with XP unfriendly 107 Bios,
> with last acpi.sys from outer space )
> and with all modifikations as above described.
> All went ok.
> But on the very last reboot I got again BSOD 7B.
> The parameters in service for Storahci suddently are empty
> and the most evil is new one, after I compare with working XP I found this key is missed in
> [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_8086&DEV_A352
> "Service"="storahci"
> Dietmar
> PS: So, as before I add by hand the registry entries. Again Bsod 7B.
> Then I add by hand also the missing "Service"="storahci"
> and this time XP starts with full ACPI, strange..

Thanks for your feed back :)
Do you know what it could be the cause ?
There's a part for Delete keys after install in the HIVESYS perhaps that deserve to take a look if there's nothing for storahci

#3250

daniel_k

> Zitat von ⇗ XPLives im Beitrag ¶ #3242

> So I have to wonder what originally drew you to this Win-RAID board? Or were you already here under another name?
> ...
> Were you originally looking for some help with something specific?
> ...
> Can you explain if there was a website link or a post on some other site somewhere that drew you to this board to make an account here?

Getting UEFI BIOS modules up to date. Thanks to this forum and its contributors, now I'm very experienced to it and have my own techniques and hacks.
Had a long time experience with AMI and Award BIOS.

> Zitat

> What exactly is your goal here?

To fix what is broken or intentionally broken.

> Zitat

> Are you a Windows 2000 / XP / 2003 OS fan?

Kind of. It's fun to get legacy OSes running on modern hardware.
Pre-Vista OSes are non-bloated and have some unique features, such as Hardware Directsound. Compatible games run in all their glory.

> Zitat

> I haven't written too many topics on Sound Cards here yet but were you a heavy Sound Blaster user from the early ISA days or did your interest begin during the PCI era of sounds cards like Ensoniq, Live, Audigy+ and then you switched to Vista OS which led you to start modding the drivers to get back the XP audio features that were missing?

My first soundcard was an ISA SB32 PnP that came with a Multimedia kit. I've had SB Live! (4.1), SB Live! 5.1, SB Audigy, SB Audigy 2 ZS, SB X-Fi XtremeGamer PCI, SB X-Fi Titanium PCIe and SB Z.
Regarding Vista+, I was really pissed because Creative intentionally disabled some features if OS version is Vista or later.
Let's get back to the topic, please.

#3251

diderius6

⇗ @Doc.Brown
May be the problem is,
that nlite and XP nothing know about storahci driver.
If this is true, a look in the setupfiles from Win8 ) may help,
where storahci together with storport is at home
Dietmar

#3252

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #3251

> If this is true, a look in the setupfiles from Win7 may help,
> where storahci together with storport is at home

storahci is win8+ feature, not win7

#3253 | diderius6 | ⇗ @Mov AX, 0xDEAD I just look at Vista and there was no STORAHCI at all:)) Dietmar

#3254

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3248

> Can we hack the logic of XP's HAL to work like Win7?

i'm working on it, don't expect much, just test to see what will happen

> Zitat von ⇗ daniel_k im Beitrag ¶ #3248

> Please take a look at these drivers I've attached:

sorry, i dont want to dig deeper with usb3 drivers, maybe later when i'l have enough time

#3255

XPLives

> Zitat von ⇗ daniel_k im Beitrag ¶ #3248

> ⇗ @Mov AX, 0xDEAD
> Really interesting the differences between XP and Win7 memory allocation.
> Can we hack the logic of XP's HAL to work like Win7?
> As I've said before, drivers written by MCCI works perfectly. They managed to overcome those XP addressing issues.
> Please take a look at these drivers I've attached:
> - all standard drivers (no WDF)
> - amdxhc, nusb3xhc and rusb3xhc corrupt NTVDM/VGA with PAE enabled.
> - asmtxhci.sys and tixhci.sys work in all scenarios (my board has an ASM2142 controller). Attached first public versions of these drivers, and the IoGetDmaAdapter has always been the same in later versions.
> - Fortunately, XP x64 has no issues with any of the USB drivers.
> I thought about applying the MCCI's method of IoGetDmaAdapter in asmtxhci and tixhci. What do you think?

⇗ @daniel_k , ⇗ @Mov AX, 0xDEAD
VIA USB3.0 driver - dma64->dma32, not start, Error 10
AMD USB3.0 hacked driver - dma64->dma32, not work with Flash drives
These are disturbing. So it is possible to convert these drivers to dma32?
These bugs may not limited to just flash drives. I found USB Webcams may hang or not work properly. You can try to access the Webcam in My Computer.
Another issue is using USB Audio combined with a USB hard drive and playing a video off the USB hard drive. Audio or Video may stutter during playback.
I did much testing with the USB 3.0 PCIe cards. Although the fastest model was the NEC on my benchmarks, I found the TI model had the best seek times. So if you were to skip to any point on a HD Video it had the lowest latency.
If you want the best driver to modify for universal USB 3.0 modding it's the TI model if all features transfer over.

## Page 218

#3256

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3230

> I found an interesting Embedded compi,
> which supports XP on Bay Trail cpu

Maybe Pineview Gateway LT23 Netbook - this have only 32-bit drivers (WinXP and Win7) and UEFI bios:
⇗
Probably the bios is UEFI 32-bit because if I extract some driver in UEFITool - Extract body... as an .exe file and open it in CFF Explorer, it says that the file type is Portable Executable 32:
⇗ Gateway -> Netbook -> LT Series -> LT23
⇗
⇗
P.S. Gateway is equivalent Packard Bell e.g. Packard Bell ENME69BMP = Gateway LT41P04u
It's probably similar with other models.

#3257 | Gelip | ⇗ @diderius6 Gateway LT23 is same as Packard Bell DOT SPT: ⇗ Packard Bell -> Netbook -> dot -> dot spt Exactly same bioses: ⇗

#3258

diderius6

⇗ @Gelip
Yes, thanks, I just extract its DSDT.
No ACPI2.0 word "tointeger" can be found there.
It is an Insyde Bios
and it can be used like the Rosetta Stone
for other Insyde Bios
Dietmar
diderius6 has attached files to this post

- ⇗ dsdtA.rar

#3259 | Gelip | PE Deconstructor also display architecture 32-bit (i686) of Dxemain.bin file extracted from UEFI Tool: ⇗ I think LT23 (DOT SPT) is a good model that can work with WinXP 32-bit in UEFI because have drivers for WinXP.

#3260

diderius6

⇗ @Doc.Brown
I make a new test with the same CD for XP SP3 using STORAHCI driver.
Again I get BSOD 7B on last reboot.
But now I add ONLY this value to registry and this is enough for full ACPI start
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_8086&DEV_A352
"Service"="storahci"
Dietmar
PS: This means, there is a conflict with entry in Services for STORAHCI and this ENUM above.
Services for STORAHCI is now empty.

#3261

daniel_k

⇗ @diderius6
You are having a hard time with driver integration because you are not doing it correctly.
I'm sharing my pre-tested integrated drivers, apply to a CLEAN XP SP3 English (ENU) extracted ISO.
\iaStor = legacy RST 11.2.0.1006
\iaStorA = RSTe 4.7.0.1098 (modded by me)
\storahci = StorAHCI from skullteria
Pick one of them and copy and overwrite the files in the \i386 folder of the extracted ISO.
Included USB drivers:
- Intel USB3 modded (amdxhc)
- ASMedia USB3 1.16.58.1
- VIA USB3 6.1.7600.5601
EDIT: Updated files, including original files from CD. To apply on localized ISOs, just compare modified and original and apply the changes.

#3262

daniel_k

> Zitat von ⇗ XPLives im Beitrag ¶ #3255

> VIA USB3.0 driver - dma64->dma32, not start, Error 10
> AMD USB3.0 hacked driver - dma64->dma32, not work with Flash drives
> These are disturbing. So it is possible to convert these drivers to dma32?
> These bugs may not limited to just flash drives. I found USB Webcams may hang or not work properly. You can try to access the Webcam in My Computer.
> Another issue is using USB Audio combined with a USB hard drive and playing a video off the USB hard drive. Audio or Video may stutter during playback.
> I did much testing with the USB 3.0 PCIe cards. Although the fastest model was the NEC on my benchmarks, I found the TI model had the best seek times. So if you were to skip to any point on a HD Video it had the lowest latency.
> If you want the best driver to modify for universal USB 3.0 modding it's the TI model if all features transfer over.

Those issues are related to PAE, otherwise they work as intended.
Are you trying PAE?
TI and ASMedia drivers are a nightmare to mod, very well "protected" against hacking, not a simple device ID check like the ones from Renesas, VIA and AMD.

#3263

XPLives

> Zitat von ⇗ daniel_k im Beitrag ¶ #3250

> > Zitat von ⇗ XPLives im Beitrag ¶ #3242

> > So I have to wonder what originally drew you to this Win-RAID board? Or were you already here under another name?
> > ...
> > Were you originally looking for some help with something specific?
> > ...
> > Can you explain if there was a website link or a post on some other site somewhere that drew you to this board to make an account here?

> Getting UEFI BIOS modules up to date. Thanks to this forum and its contributors, now I'm very experienced to it and have my own techniques and hacks.
> Had a long time experience with AMI and Award BIOS.

> > Zitat

> > What exactly is your goal here?

> To fix what is broken or intentionally broken.

> > Zitat

> > Are you a Windows 2000 / XP / 2003 OS fan?

> Kind of. It's fun to get legacy OSes running on modern hardware.
> Pre-Vista OSes are non-bloated and have some unique features, such as Hardware Directsound. Compatible games run in all their glory.

> > Zitat

> > I haven't written too many topics on Sound Cards here yet but were you a heavy Sound Blaster user from the early ISA days or did your interest begin during the PCI era of sounds cards like Ensoniq, Live, Audigy+ and then you switched to Vista OS which led you to start modding the drivers to get back the XP audio features that were missing?

> My first soundcard was an ISA SB32 PnP that came with a Multimedia kit. I've had SB Live! (4.1), SB Live! 5.1, SB Audigy, SB Audigy 2 ZS, SB X-Fi XtremeGamer PCI, SB X-Fi Titanium PCIe and SB Z.
> Regarding Vista+, I was really pissed because Creative intentionally disabled some features if OS version is Vista or later.
> Let's get back to the topic, please.

⇗ @daniel_k
Interesting... intentionally broken? I think the most important "broken" thing now would be the ACPI and really the only final obstacle. Been that way since SkyLake. Once this is completely fixed I would say that would bring compatibility back.
Makes sense now... :) What was your previous motherboard before you got the Coffee Lake?
True Pre-Vista OSes are non-bloated but can also be installed multiple times with their own drive letter on different partitions. Ever notice in Vista+ when you boot into your system the drive is always assigned C: rather than in 2K/XP/2K3 it actually uses the correct partition drive letter?
I'll leave the other comments to your PM.

#3264 | diderius6 | ⇗ @daniel_k Thanks a lot, this is really nice work:))! How do you know how to treat STORAHCI? Because USB and Iastor work for me with nlite, Dietmar
#3265 | daniel_k | ⇗ @diderius6 Maybe some typo in INF file, don't know. Maybe nlite doesn't like something. I don't use 3rd party software, do everything manually. Got used to do it. Please try it.

#3266

diderius6

⇗ @daniel_k
I make a compare between your and my TXTSETUP.SIF, SETUPREG.HIV, HIVESYS.INF, HIVESFT.INF, DOSNET.INF
they are nearly identic, nearly..
Now I test yours
Dietmar
EDIT: I find the important difference: nlite does not copy storahci.inf into folder i386 for me.
I thought, this was not necessary because of Txtsetup.oem. But now I see, what for all the drivers before
works is not ok, *.inf also in i386 is better.
EDIT2: Setup cries about some *.dll are missed. Yes, I found, that you have a Multilanguage Setup CD,
while mine is only german. So, MUILanguages entries are missed in my HIVESYS.INF and no *.dll for this, no problem.
Until now, all is ok, I am still installing:)).. No USB during install.
EDIT3: Happens on last reboot the same BSOD 7B as for me for STORAHCI, so the reason is still unknown.
In Services the storahci entry is also empty. The path to the driver storahci.sys is not there.
And exact as for me this entry is missed too
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_8086&DEV_A352
"Service"="storahci"
EDIT4: And the cure is also exact as for me: To add "Service"="storahci" there.

#3267

coldwove

⇗ @diderius6 Thanks for your reply, no 32 core, just a 1950x i'd like to bench. F5 got a bit further but crashed on 7B Here are the full codes for both modes:
7B
F78D2524
C0000034
0
0
A5
2
8A5C5450
1
8A590008
I guess some more system info: X399M Taichi and i'm running off of the chipset sata ports, this board has no extra controller.

#3268 | diderius6 | ⇗ @coldwove BSOD A5 (0x02,..) should not happen with acpi.sys from ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (215) Dietmar
#3269 | coldwove | ⇗ @diderius6 Sadly it seems not, same set of BSOD's. Could you outline what i should be doing with these files just in case i'm doing it wrong? Currently integrating them into DRIVER.CAB. Thanks.

#3270

daniel_k

⇗ @diderius6
Sorry, TXTSETUP.SIF in the \storahci folder was an older version.
Tested right now in VirtualBox, USB3 driver is installed just fine. You should see 2 warnings of unsigned drivers: one for STORAHCI and the other one for Intel USB3.
As this is an English language forum, I usually use an English ISO by default when sharing modifications.
I've updated the package and included original files, so just compare them and apply to your German ISO.

## Page 219

#3271

coldwove

⇗ @diderius6
Using a fresh iso + acpi.sys i'm getting a different A5 bsod:
A5
11
8
0xF75E7200
0x20120913

#3272 | diderius6 | ⇗ @daniel_k USB works now during installation with STORAHCI but BSOD 7B at last reboot stays the same Dietmar

#3273

infuscomus

⇗ @diderius6
in txtsetup.sif try these
storahci.inf = 100,,,,,,,20,0,0
storahci.reg = 1984,,,,,,,1984,0,0
storahci.sys = 100,,,,,,,4,0,0
storport.sys = 100,,,,,,,4,0,0
also in storahci.inf i changed
[SourceDisksFiles]
storahci.sys = 1
to
[SourceDisksFiles]
storahci.sys = 12
because it should already be in c:\windows\system32\drivers if it copied correctly.

#3274 | infuscomus | ⇗ @coldwove did you want to try my modded XP ISO?
#3275 | coldwove | ⇗ @infuscomus Yeah i'd love to, been trying for most of today and only failed so far.
#3276 | Adi681 | Hello ! I have a PC from 2017 with G4400 (skylake) and an MSI H110 Gaming Mobo. I would like to install XP on this machine but sadly I don't know wich drivers are required for integration into my original ISO (ripped from original DVD).
#3277 | infuscomus | ⇗ @coldwove i sent you a PM with my modded ISO.

#3278

coldwove

⇗ @infuscomus
Sadly that didn't work either:
A5
2
0x8D1BF828
1
0x8D1C4778

#3279 | infuscomus | ⇗ @coldwove my modded ISO already has the most recent patched ACPI 5048 driver so this means it's more complicated to fix. hopefully ⇗ @diderius6 might have some ideas for a fix for this.
#3280 | daniel_k | ⇗ @diderius6 Are you trying the ISO with which board? If it's Intel based, please try my modded iaStorA, this I'm sure it works. If it installs just fine on VM, then may be a driver related issue.

#3281

daniel_k

⇗ @Mov AX, 0xDEAD
Managed to add missing imports as ordinary functions (as if it was part of the driver code).
However, when an import is called many times, patching every single call is ugly and boring.
The call type is Near, absolute, indirect (FF).
What would you suggest?

#3282

diderius6

⇗ @infuscomus ⇗ @daniel_k
I try STORAHCI on the EVGA dark z390 board with XP unfriendly Bios 107.
The reason for this is, because I noticed, that only the STORAHCI driver works
on any board with AHCI. So, for a generic XP SP3 install CD only STORAHCI will work.
For a driver it is enough, when there is an entry for it in Services.
For critical drivers also in criticaldevicedatabase. This is on first view ok
for STORAHCI. So, really mysterium. Next I make try without any Acpi,
Dietmar

#3283

daniel_k

⇗ @diderius6
Just tried a clean install of XP SP3 using "my" files from storahci and ACPI.SYS 5048 (my BIOS is XP friendly, though).
No issues at all, no BSODs here, must be something on your end.
Definitively my package works, on VirtualBox and on real machine (Z370).
What about you flash the XP friendly BIOS and trying a ISO built with the files of my package?
Maybe something is related to the hacked ACPI.

#3284

daniel_k

⇗ @Mov AX, 0xDEAD
I'm porting storport.sys from Windows 7 to XP/2003.
Am I seeing something stupid here or am I the one who doesn't understand it properly?
StorPortExtendedFunction 11h

    .text:0001BF82                 mov     edi, edi
    .text:0001BF84                 push    ebp
    .text:0001BF85                 mov     ebp, esp
    .text:0001BF87                 cmp     [ebp+arg_4], 0
    .text:0001BF8B                 jnz     short loc_1BF94
    .text:0001BF8D                 mov     eax, 0C1000006h
    .text:0001BF92                 jmp     short loc_1BF9F
    .text:0001BF94
    .text:0001BF94 loc_1BF94:                              ; CODE XREF: sub
    .text:0001BF94                 push    [ebp+arg_4]
    .text:0001BF97                 call    ds:KeGetCurrentProcessorNumberEx
    .text:0001BF9D                 xor     eax, eax --> What ?!
    .text:0001BF9F
    .text:0001BF9F loc_1BF9F:                              ; CODE XREF: sub
    .text:0001BF9F                 pop     ebp
    .text:0001BFA0                 retn    8

Result from KeGetCurrentProcessorNumberEx is forced to zero?! So it is useless as EAX returned is always ZERO?
Now KeGetCurrentProcessorNumberEx from NTOSKRNL

    .text:0042F383                 mov     edi, edi
    .text:0042F385                 push    ebp
    .text:0042F386                 mov     ebp, esp
    .text:0042F388                 mov     ecx, [ebp+arg_0]
    .text:0042F38B                 mov     eax, large fs:20h
    .text:0042F391                 test    ecx, ecx
    .text:0042F393                 jz      short loc_42F3AC
    .text:0042F395                 mov     dx, [eax+3C6h]
    .text:0042F39C                 mov     [ecx], dx
    .text:0042F39F                 mov     dl, [eax+3C5h]
    .text:0042F3A5                 mov     [ecx+2], dl
    .text:0042F3A8                 mov     byte ptr [ecx+3], 0
    .text:0042F3AC
    .text:0042F3AC loc_42F3AC:                             ;
    .text:0042F3AC                 mov     eax, [eax+3CCh]
    .text:0042F3B2                 pop     ebp
    .text:0042F3B3                 retn    4

Is it really that simple?
I find this strange: mov eax, large fs:20h
Does it access a kernel variable location? Does it mean can only be run inside NTOSKRNL?

#3285

diderius6

⇗ @daniel_k
I just notice, that the same as to STORAHCI happens in registry to amdxhc,
but not to asmtxhci
Dietmar
EDIT: It is not related to acpi.sys. When I hit F5 (Standard PC) I get the same BSOD 7B on last reboot of XP install
and the same as above is true for amdxhc, but not to asmtxhci.
These devices are just not recogniced during XP Setup.
EDIT2: Also on the XP friendly Bios 092 happens exact the same. This means, this strange behavior
goes to STORAHCI in combination with storport. But with nvme boot together with storport this does not
happen, so it goes to STORAHCI.
This means, at the moment we dont have a generic AHCI driver, which works in any situation.
On a XP friendly Bios and on Intel board, all versions of Iastor work for XP Setup.

## Page 220

#3286 | infuscomus | ⇗ @diderius6 did you try my suggestion?
#3287 | infuscomus | ⇗ @daniel_k your modded USB 3.0 drivers from earlier, were any of them generic?

#3288

gordo999

@ infuscomus...tried your suggestion re changing W98 partition. I removed it completely and moved the XP partition 2 to partition 1. Edited boot.ini, added ntldr and ntdetect and it tried to boot. Got a bsod but it rebooted before I could read the bsod number.
Used my unofficial XP SP4 integrated disk based on my valid original XP install disk which was integrated with SP3. Tried a repair install and this time the installation carried on after the first reboot and got to the product key page.
I entered a valid product key and it claims the key is not valid!!! ARRRRRGGGGGHHH!!!! The key worked fine when I tried a repair install with the integrated XP SP3 disk.
I am encouraged that the USB keyboard is working during the install on an 8th gen mobo.

#3289 | infuscomus | ⇗ @gordo999 i'm guessing you either used a volume license key on a retail ISO or a retail key on a volume license ISO was your original XP install a retail or volume license?

#3290

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3289

> was your original XP install a retail or volume license?

@infuscomus...it was actually an upgrade from W98, I presume it is retail since I purchased both. There is no OEM designation but the last three Pids digits in the setupp.ini file are 000 whereas retail is 335 and VL is 270. OEm is just OEM.
The product key did work on a repair install using the same XP disk slipstreamed with SP3.
I have discovered a possible solution, I used ntlite to slipstream the unofficial SP4 with my SP3 slipstreamed disk. Apparently some versions of ntlite can cause that problem if not used on an XP machine. I can always load XP on a VM and do the slipstream there.
I have d/l'd the most recent version of ntlite for XP SP3 and W7. I will try running the slipstream again, paying more attention to the unattend function and perhaps entering my product ID into the slipstream process.
Anyway, it's encouraging to see the repair install running so well complete with USB keyboard.
Thanks again for tip re W98 partition.

#3291

Mov AX, 0xDEAD

⇗ @daniel_k,
I finished modding halmacpi.dll v5687 to replace dma related procs from Win7 (xrefs also modded):

    HalpGrowMapBuffers
    HalpAllocateAdapterEx
    HalpAllocateAdapterCallback
    HalBuildMdlFromScatterGatherList
    HalBuildScatterGatherList
    HalCalculateScatterGatherListSize
    HalPutScatterGatherList
    HalGetAdapter

Results: nothing has changed, amdxhci stll not work with HIGH adresses, Creative X-Fi hangs with any dma

#3292

Mov AX, 0xDEAD

⇗ @daniel_k,

> Zitat von ⇗ daniel_k im Beitrag ¶ #3284

> Am I seeing something stupid here or am I the one who doesn't understand it properly?
> `.text:0001BF97 call ds:KeGetCurrentProcessorNumberEx
> .text:0001BF9D xor eax, eax` --> What ?!
> Result from KeGetCurrentProcessorNumberEx is forced to zero?! So it is useless as EAX returned is always ZERO?

this mean this proc has no return value, so it even may no touch eax

> Zitat von ⇗ daniel_k im Beitrag ¶ #3284

> Now KeGetCurrentProcessorNumberEx from NTOSKRNL
> `.text:0042F38B mov eax, large fs:20h`
> I find this strange: `mov eax, large fs:20h`
> Does it access a kernel variable location? Does it mean can only be run inside NTOSKRNL?

⇗ https://en.wikipedia.org/wiki/Win32_Thread_Information_Block
In ring0 i think fs point to other struct, but similar to TIB, data from begin of segment fs is thread stuff and can be used in any sys/dll/exe

#3293

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3292

> In ring0 i think fs point to other struct, but similar to TIB, data from begin of segment fs is thread stuff and can be used in any sys/dll/exe

@ Mov AX, 0xDEAD
Curious as to how you are reaching ring0 code using windbg. I often traced through ring0 using softice. On one occasion, with a directx app written for full screen I had to trap a mouse message and trace it through ring0 to the DX code. I don't think that's possible with windbg, is it?
You can easily reach the beginning of directx code tracing from the OEP to where DX is initialized. However, the code running what you see on the screen of a DX app cannot be reached so easily from the OEP. That's why I came in the back door via trapped mouse messages.
I am a newbie on windbg and as yet have not seen a way to trace into ring0 code with it. Any time I reach the entry into ring0, windbg seems to do the work secretly and return a value. It does not seem to allow stepping into ring0 code. With softice I could step into it and trace through any ring0 code.
While tracing code into the NTFS mft structure (Microsoft calls everything a file) I did trace into HAL with softice but I cannot imagine how that could be done with windbg.
I have traced through k32, u32, etc., with windbg but that's not ring0.
Also curious about how you can mod hal without modding other kernel dlls and ntoskrnl. Are they not a set? With softice, every time a new kernel was produced, softice was issued a new set of patches with the new ordinals required for each kernel module to talk to each other.
Of course, the ordinals did not all change but if an ordinal changed in say ntoskrnl, certain calls between it and hal would crash the system.

#3294

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3284

> @daniel_k

>     .text:0001BF8D                 mov     eax, 0C1000006h
>     .text:0001BF92                 jmp     short loc_1BF9F
>     .text:0001BF94
>     .text:0001BF94 loc_1BF94:                              ; CODE XREF: sub
>     .text:0001BF94                 push    [ebp+arg_4]
>     .text:0001BF97                 call    ds:KeGetCurrentProcessorNumberEx
>     .text:0001BF9D                 xor     eax, eax --> What ?!

> Result from KeGetCurrentProcessorNumberEx is forced to zero?! So it is useless as EAX returned is always ZERO?

I think the xor eax, eax is just initializing the eax register following the call. It may be done on purpose to negate the function return value, for whatever reason.
In a more sinister view, you might suspect that Microsoft does not want XP running in certain multi-processor environments.
Here's info on call...
⇗ https://docs.microsoft.com/en-us/windows...ocessornumberex
"The KeGetCurrentProcessorNumberEx routine gets the processor number of the logical processor that the caller is running on".
XP might not be expected to run on more than one processor hence they have cancelled any return value with an xor eax,eax.
Question arises as to what would happen if you NOPed that statement? Is there code following that could use the return value?

#3295

Mov AX, 0xDEAD

⇗ @gordo999
Hi,
- windbg has 2 mode - ring0 and ring3, in ring3 it can debug usual exe apps, ring0 mode is "Kernel Debugger", you can't switch between modes
- in ring3 you can not step to ring0 so you are right, it is impossible
- in ring0 windbg switch target kernel to special debug mode (kernel is "host", windbg is "client")
- ring0 can be used only with remote PC (vs softice), there exist also "local kernel debug", but it is useless
- they aren't set, newer hal.dll still compatible with older kernels. this is MS decision, MS do not change API between Hal and other parts
- for test debugging in ring0 i prefer using VMWare/QEMU because they have integrated GDB server + IDA as gdb client, windbg need for real hardware or when you need symbols on all loaded .SYS

#3296

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #3294

>     .text:0001BF97                 call    ds:KeGetCurrentProcessorNumberEx
>     .text:0001BF9D                 xor     eax, eax --> What ?!

> I think the xor eax, eax is just initializing the eax register following the call. It may be done on purpose to negate the function return value, for whatever reason.

    int KeGetCurrentProcessorNumberEx(int *Ptr)
    {
         *Ptr=very_important_value;
        return 0;
    }

    - push [ebp+arg_4] - func fill result  to memory at *[ebp+arg_4]
    - call KeGetCurrentProcessorNumberEx
    - use eax for other purpose

#3297

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3295

> - in ring0 windbg switch target kernel to special debug mode (kernel is "host", windbg is "client")
> - ring0 can be used only with remote PC (vs softice), there exist also "local kernel debug", but it is useless

⇗ @Mov AX, 0xDEAD
Thanks for information. I have wdbg setup via remote connection using serial ports. I use a laptop running w7 as host and I have used both W7 and W10 as clients on a desktop with an Asus B360M 8th gen mobo.
As I said, I am a newbie with wdbg and I have not yet managed to trace code right into ring0. The closest I came was hitting an Enter command using kernel mode. I mean the Enter command you reach when the system switches from ring3 to ring 0.
I hoped to trace right into the system but when I did a single step it kicked me right past the Enter command to the ret statement at the end of that code section.
I found it interesting in k-mode that I could freeze the desktop right at the beginning of the Windows boot stage and follow the loading process. It's pretty tedious, however, and I have not pursued that aspect of kernel debugging.

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3295

> - they aren't set, newer hal.dll still compatible with older kernels. this is MS decision, MS do not change API between Hal and other parts

That's good to know.

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3295

> - for test debugging in ring0 i prefer using VMWare/QEMU because they have integrated GDB server + IDA as gdb client, windbg need for real hardware or when you need symbols on all loaded .SYS

Interesting. So far, I have used only VMWare's free Workstation Player but it will run 32 bit XP and I can play with softice in the VM. Works pretty good for 32 bit apps.
I have tried to run a remote k-mode session using a VM but I prefer the serial connection. It was very hard to setup but I got it going using W10 and once the connection was established, it worked on W7 as well.

#3298

daniel_k

⇗ @Mov AX, 0xDEAD
It's a shame that patching those memory allocation related functions didn't help. Thanks for trying, though.
Do you have any suggestions for this?

> Zitat von ⇗ daniel_k im Beitrag ¶ #3281

> Managed to add missing imports as ordinary functions (as if it was part of the driver code).
> However, when an import is called many times, patching every single call is ugly and boring.
> The call type is Near, absolute, indirect (FF).

Managed to add storport functions 11h to 19h (except 17h), which are used by Openfabrics' NVME driver.
Jump table is correct, functions are called properly, relocations added for jump table and 3 new import calls.
Unfortunately it gives me the following BSOD:

    DRIVER_IRQL_NOT_LESS_OR_EQUAL

    0X000000D1 (0X00000001,0X0000000A,0X00000008,0x00000001)

Don't see anything wrong, can you please take a quick look at it? It's attached.

#3299

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3298

> The call type is Near, absolute, indirect (FF).

- import is mess, i dont know how this import may work, in second record of ntoskrnl.exe pointer to INT TABLE is zero (0x00051028), IAT is normal
- offset to MmAllocateContiguousMemorySpecifyCache is not aligned to word (00051077)
- if need avoid "FF 15" create little stub and call it as IP-relative, add nop to fill 6 bytes

    my_memset:
        jmp ds:__imp__memset ;  need 1 reloc !
    endp
    .....
    call my_memset ; E8 xx xx xx xx 5 Bytes
    nop

- .newit probably need to be nonpageable, it contain IAT adresses
- this bsod is useless in static analyze, no any adresses

#3300

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3299

> - import is mess, i dont know how this import may work, in second record of ntoskrnl.exe pointer to INT TABLE is zero (0x00051028), IAT is normal
> - offset to MmAllocateContiguousMemorySpecifyCache is not aligned to word (00051077)
> - if need avoid "FF 15" create little stub and call it as IP-relative, add nop to fill 6 bytes
> ...
> - .newit probably need to be nonpageable, it contain IAT adresses
> - this bsod is useless in static analyze, no any adresses

Didn't think about imports. Thanks for checking it out.
Thought CFF Explorer was reliable, was wrong.
Added the imports with LordPE, seems correct now.
Still didn't work, so much work for nothing. Sad.

> Zitat

>     my_memset:
>         jmp ds:__imp__memset ;  need 1 reloc !
>     endp
>     .....
>     call my_memset ; E8 xx xx xx xx 5 Bytes
>     nop

Thanks, this is for iaStorA.sys.
About the AMDXHC USB3 driver, before I waste my time and effort...
I understand that DMA memory allocation is done by IoGetDmaAdapter, right?
Will try to implement the same allocation procedure in ASMedia and TI drivers.

## Page 221

#3301

daniel_k

⇗ @Mov AX, 0xDEAD
Had an idea about IoConnectInterruptEx and IoDisconnectInterruptEx.
From Microsoft: Drivers that must also work on Windows 2000, Windows XP, or Windows Server 2003 can instead link to Iointex.lib to use the routine.
These functions are used on most storage drivers.
On Vista, msahci.sys only calls functions inside pciidex.sys, which is only missing IoConnectInterruptEx and IoDisconnectInterruptEx functions.
Porting the code from Vista+ is complicated as it is quite long and use many Vista+ only APIs.
What if we compile a code linking to Iointex.lib (calling IoConnectInterruptEx and IoDisconnectInterruptEx) and "isolate" the code so we can port the functions?
Thoughts?

#3302 | Tima177 | hello. can you make me usb 3.0-3.1 for windows xp sp3 pro? ASMedia® USB 3.1 Gen 2 controller : PCI\VEN_1B21&DEV_1242&SUBSYS_86751043
#3303 | diderius6 | ⇗ @Tima177 You can use the driver from Asmedia. Copy also usbd.sys to windows\system32\drivers thats all Dietmar
#3304 | Tima177 | The driver is not suitable, the minimum version of windows 7
#3305 | daniel_k | ⇗ @Tima177 That's what they say officially, don't worry. It works with XP.
#3306 | Tima177 | ⇗ @diderius6 (replying to post #3159): can you give a driver or an iso image? Also trying to install windows xp but on ryzen EDIT by Fernando: Fully quoted post replaced by directly addressing (to save space)

#3307

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3300

> About the AMDXHC USB3 driver, before I waste my time and effort...
> I understand that DMA memory allocation is done by IoGetDmaAdapter, right?
> Will try to implement the same allocation procedure in ASMedia and TI drivers.

No, IoGetDmaAdapter need to build abstract "adapter" and return struct with many pointers to functions:

    typedef struct _DMA_OPERATIONS {
      ULONG  Size;
      PPUT_DMA_ADAPTER  PutDmaAdapter;
      PALLOCATE_COMMON_BUFFER  AllocateCommonBuffer;
      PFREE_COMMON_BUFFER  FreeCommonBuffer;
      PALLOCATE_ADAPTER_CHANNEL  AllocateAdapterChannel;
      PFLUSH_ADAPTER_BUFFERS  FlushAdapterBuffers;
      PFREE_ADAPTER_CHANNEL  FreeAdapterChannel;
      PFREE_MAP_REGISTERS  FreeMapRegisters;
      PMAP_TRANSFER  MapTransfer;
      PGET_DMA_ALIGNMENT  GetDmaAlignment;
      PREAD_DMA_COUNTER  ReadDmaCounter;
      PGET_SCATTER_GATHER_LIST  GetScatterGatherList;
      PPUT_SCATTER_GATHER_LIST  PutScatterGatherList;

     // version 2 operations
      PCALCULATE_SCATTER_GATHER_LIST_SIZE  CalculateScatterGatherList;
      PBUILD_SCATTER_GATHER_LIST  BuildScatterGatherList;
      PBUILD_MDL_FROM_SCATTER_GATHER_LIST  BuildMdlFromScatterGatherList;
    }
     DMA_OPERATIONS, *PDMA_OPERATIONS ;

also IoGetDmaAdapter allocate some amount of MapRegisters in some cases (GatterScatter=1 & dma64=0 is our case)
real allocation is done in AllocateCommonBuffer, driver then get phys adress of this buffer and write to pci device registers
for example in intel usb3 controller one of this adresses stored at offset BAR+0xB0-0xB4 (Device Context Base Address Array Pointer)
Under Win7 x64 this adress is 1:3CA58000
in win32 this high adress will be maped to some LOW ring-0 adress
EDIT by Fernando: Quoting corrected and Code content put into a "spoiler" (to save space)

#3308 | Tima177 | I tried loading windows xp through sata ahci asm1061 pcie 1.0, although the drivers for usb through the pcie 1.0 usb controller do not work, it freezes when I boot without usb 3.0 and get the desktop without a single usb driver.

#3309

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3301

> @Mov AX, 0xDEAD
> From Microsoft: Drivers that must also work on Windows 2000, Windows XP, or Windows Server 2003 can instead link to Iointex.lib to use the routine.
> What if we compile a code linking to Iointex.lib (calling IoConnectInterruptEx and IoDisconnectInterruptEx) and "isolate" the code so we can port the functions?

Iointex.lib has simple emulation of *Ex over IoConnectInterrupt/IoDisconnectInterrupt, just copy&paste to your existing code and call it without modification of original code. Intel usb3.0 driver for win7 also has simple emulation *Ex over IoConnectInterrupt/IoDisconnectInterrupt, about 80 bytes

#3310 | daniel_k | ⇗ @Mov AX, 0xDEAD Thanks for the thorough explanation! To be honest, didn't see what's inside Iointex.lib. I did know it was emulating Ex using non-Ex functions, but never thought of using it without compiling some code. Hopefully this is easier and more prone to success than storport!

#3311

Tima177

I downloaded one assembly, deployed the acronis trueImage image to hdd, added OSDTOOL from another assembly, integrated the driver for sata ASM1061 and loaded windows xp into amd ryzen x370 in standard PC mode without ACPI via the pci-e sata controller, the keyboard and mouse do not work without USB drivers, if I integrate drivers for via usb pcie controller then it hangs at boot, without driver on usb windows xp controller it starts
can you help with the drivers?

#3312

Mov AX, 0xDEAD

> Zitat von ⇗ Tima177 im Beitrag ¶ #3311

> the keyboard and mouse do not work without USB drivers, if I integrate drivers for via usb pcie controller then it hangs at boot, without driver on usb windows xp controller it starts

Хай, Тима
- via usb3 drivers hard to integrate because they require coinstaller (WDF)
- if it possible enable port 64 emulation in bios, your mouse&keyboard will work as PS/2 Devices and you can install normal usb3 drivers after windows is loaded to desktop, then disable emulation

#3313 | Tima177 | No ps/2, can you give adapted amd usb 3.0 drivers for windows xp?

#3314

diderius6

⇗ @Tima177
It is also possible to do a silent installation of XP.
Then you do not type anything during XP install
Dietmar
PS: Or use a cheap USB card, where are drivers for XP without coinstaller,
for example nec (Renesas).

#3315 | Tima177 | With drivers on usb Windows does not start, hangs at the beginning of loading of a strip

## Page 222

#3316 | infuscomus | ⇗ @daniel_k i have an old program that can write extra functions onto the end of PE files did you want to try it out? maybe you can achieve something with it? here is an example of a file the program spits out ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (165)

#3317

diderius6

Hi, I just wrote my very first program
for a Quantum Computer and it works :)) !!
The program does the following:
First the start state is fixed, here a 0. (The coin shows head.)
Then the Hadamard operator is applied to it, here called H.
H creates a true overlay of the head (0) and coin of the number(1) (just like Schrödinger's cat).
Then comes the measurement, here the symbol with the arrow.
The Quantum Computer ran my program 1024 times.
And as you can see, almost 50% head and 50% number.
The huge difference to ALL other computer programs is,
here actually the computer throws really "dices" and shows me the result
Dietmar
⇗

#3318 | cedar | I always knew Schrödinger's cat can run XP32 and XP64 simultaneously. :-)

#3319

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3317

> H creates a true overlay of the head (0) and coin of the number(1) (just like Schrödinger's cat).

@diderius6...actually, Schrodinger's Cat was about Schrodinger poking fun at the more far out quantum theory claims started by Bohr et al. Schroddy decided to retire rather than get involved with what he saw as stupidity in quantum theory.
When Schroddy claimed the cat could be both dead and alive, he was poking fun at the notion of entanglement theory where a particle like an electron is inferred to be in two places at once.
I agree with Schroddy, it is nonsense.

#3320 | infuscomus | ⇗ @diderius6 do you have any solutions for XP ACPI on threadripper?
#3321 | Tima177 | Can you give a modified driver AMD USB 3.0-3.1 or for ASMedia® USB 3.1 Gen 2 controller? My chipset AMD x370
#3322 | Fernando | @recent posters: Did you all refer to the specific topic "PAE Bugs" or has the thread title been changed?
#3323 | infuscomus | ⇗ @Fernando for some reason replies are titled PAE bugs I have had to change it manually for this post
#3324 | infuscomus | ⇗ @Tima177 for ASMedia USB 3 try looking in the USB driver thread.
#3325 | Fernando | ⇗ @infuscomus: Thanks for your quick reaction. Each reply gets automaticly the title of the post, where the user had clicked onto the "Reply" button. To avoid a wrong/not matching title, just click onto the "Reply" button under a post with the correct thread title (e.g. the start post).

#3326

Tima177

> Zitat von ⇗ infuscomus im Beitrag ¶ #3324

> @Tima177
> for ASMedia USB 3 try looking in the USB driver thread.

What do you mean by driver stream?

#3327 | infuscomus | ⇗ @Tima177 ⇗ USB 3.0/3.1 Drivers (original and modded)

#3328

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3287

> your modded USB 3.0 drivers from earlier, were any of them generic?

Sorry, I overlooked your message.
Yes, when canonkong was asking me to mod some drivers for AMD controllers.
Don't have any files here, just kept the ones that work on Intel.

#3329 | infuscomus | ⇗ @daniel_k I was testing your modded amdxhci driver that works for intel, annoyingly it doesn't work for every AMD USB 3.0 controller (the controllers with 43 in the deviceID give a D0 BSOD)

#3330

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3299

>     my_memset:
>         jmp ds:__imp__memset ;  need 1 reloc !
>     endp
>     .....
>     call my_memset ; E8 xx xx xx xx 5 Bytes
>     nop

Can I use this for indirect calls?
Such as:

    8B35BC700700                   mov          esi,[0000770BC]
    FFD6                           call         esi

Just by replacing with this?

    FFE6                           jmp          esi

## Page 223

#3331

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3330

> @daniel_k
> I was testing your modded amdxhci driver that works for intel, annoyingly it doesn't work for every AMD USB 3.0 controller (the controllers with 43 in the deviceID give a D0 BSOD)

This is a known issue.
Try Etron or VIA drivers, if I'm not mistaken.

#3332

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3309

> Iointex.lib has simple emulation of *Ex over IoConnectInterrupt/IoDisconnectInterrupt, just copy&paste to your existing code and call it without modification of original code. Intel usb3.0 driver for win7 also has simple emulation *Ex over IoConnectInterrupt/IoDisconnectInterrupt, about 80 bytes

Managed to patch pciidex.sys, but msahci.sys still doesnt work as it needs Vista's ataport.sys and atapi.sys. Too much hassle.
Those in-box drivers are a headache, Microsof does some funky things.
Here is my x64 wrapper for memcpy_s to memcpy:

    mov          [rsp][020],r9
    mov          [rsp][018],r8
    mov          [rsp][010],rdx
    mov          [rsp][8],rcx
    sub          rsp,028
    mov          r8,[rsp][048]
    mov          rdx,[rsp][040]
    mov          rcx,[rsp][030]
    call         memcpy
    xor          eax,eax
    add          rsp,028
    retn

As I still don't know everything about assembly, managed to compile the code above with the DDK and took the code from the compiled driver.
It works!
Any comments? The only catch is that I had to disable optimizations, otherwise "my function" is compiled inline. Is there a way to force the compile to not do this?

#3333

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3331

> Can I use this for indirect calls?
> Such as:

>     FFD6                           call         esi

> Just by replacing with this?

>     FFE6                           jmp          esi

Hi Daniel,
- call -> jmp is not possible, you'l lost return adress
- i dont understand what is point ? avoid relocs?

#3334

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3333

> Here is my x64 wrapper for memcpy_s to memcpy:

>     mov          [rsp][020],r9
>     mov          [rsp][018],r8
>     ...
>     sub          rsp,028

esp+xx mean "shadow space", be carefull with this code, callee must reserve at least 4*8 (or 5*8 ?) bytes at stack before calling this. Unusual vs x32 calling conventions.

> Zitat von ⇗ daniel_k im Beitrag ¶ #3333

> The only catch is that I had to disable optimizations, otherwise "my function" is compiled inline. Is there a way to force the compile to not do this?

⇗ https://stackoverflow.com/questions/3366...er-optimization

#3335

daniel_k

⇗ @Mov AX, 0xDEAD
Thanks for info and link.
I'm patching iaStorA.sys (RSTe).
For x86, there 2 types of CALLs:

    FF15xxxxxxxx      CALL memcpy_s

This uses your previous suggestion.

    BE00580600                     mov          esi,000065800
    FFD6                           call         esi

For this one, can I just change the address to point to my new function?
My memcpy_s to memcpy:

    mov     edi, edi
    push    ebp
    mov     ebp, esp
    push    [ebp+arg_C]
    push    [ebp+arg_8]
    push    [ebp+arg_0]
    call    memcpy
    add     esp, 0Ch
    xor     eax, eax
    pop     ebp
    retn    10h

----------------
For x64, now with optimized compiler, forced non-inline:

    4883EC28                       sub          rsp,028
    498BD0                         mov          rdx,r8
    4D89C8                         mov          r8,r9
    E810500000                     call         memcpy
    33C0                           xor          eax,eax
    4883C428                       add          rsp,028
    C3                             retn

Now this seems correct, right? RCX is the first argument on both functions, so don't touch it.
Does it matter for the parameters if I change the call type from E8 to FF15?

#3336 | skullteria | What the problema now? I can't understand..well, if problem reside on storahci, i can update fode, because i used a beta versioj, maybe It ia unstable

#3337

diderius6

⇗ @coldwove
Please try this acpi.sys
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#3338

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3336

>     BE00580600                     mov          esi,000065800
>     FFD6                           call         esi

> For this one, can I just change the address to point to my new function?

yes, you can change to what you prefer, mov esi, offset new_func or relative call (e8 xx xx), but not to "FF 15"

> Zitat von ⇗ daniel_k im Beitrag ¶ #3336

> Now this seems correct, right? RCX is the first argument on both functions, so don't touch it.
> Does it matter for the parameters if I change the call type from E8 to FF15?

- i dont remember what is args of memcpy_s need to drop, 2nd i guess, so seems ok x32 and x64
- no matter what of "call" was used, they do with stack same things
- sub rsp, 28 - i dont know how compiler choose size of shadow space, so can't confirm

#3339

daniel_k

> Zitat von ⇗ skullteria im Beitrag ¶ #3337

> What the problema now? I can't understand..well, if problem reside on storahci, i can update fode, because i used a beta versioj, maybe It ia unstable

I didn't experience any issues, on VirtualBox and real PC.
⇗ @diderius6, please explain your issue with storahci. BSOD 7B on last stage of Setup?

#3340 | daniel_k | ⇗ @Mov AX, 0xDEAD Thanks, much appreciated!

#3341

diderius6

⇗ @skullteria
"⇗ @diderius6, please explain your issue with storahci. BSOD 7B on last stage of Setup?"
Yes, not all values from the *.reg file are stored in registry during Setup of XP.
The path to windows\system32\drivers\storahci.sys is gone and the same is true for the modded AMD USB driver for Intel boards.

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "Group"="SCSI miniport"
    "ErrorControl"=dword:00000001

This is a strange error, because everything in txtsetup.oem or txtsetup.sif for STORAHCI together with storport.sys is correct.
When you add the entries by hand to registry or install STORAHCI on a running XP via storahci.inf
all is ok. The nice thing in STORAHCI for XP SP3 is, that it runs on really every motherboard
Dietmar

#3342 | coldwove | ⇗ @diderius6 putting that acpi.sys into driver.cab yielded the same A5 bsod as before sadly.
#3343 | diderius6 | ⇗ @coldwove Did you put this acpi.sys also in i386 folder from your Installationsmedium Dietmar
#3344 | coldwove | ⇗ @diderius6 i386 folder only holds an acpi.sy_ file, how would i convert the .sys file to .sy_?
#3345 | diderius6 | ⇗ @coldwove You can just delete the file acpi.sy_ there in i386 folder and put new acpi.sys at its place Dietmar

## Page 224

#3346

coldwove

⇗ @diderius6 nope still doing the same thing sadly :c
0x000000A5
0x00000002
0x8D1BF828
0x00000001
0x8D1C4778

#3347 | infuscomus | ⇗ @diderius6 have you tried this to fix storahci not working? ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (219)

#3348

dencorso

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3334

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3331

> > Can I use this for indirect calls?
> > Such as:

> >     FFD6                           call         esi

> > Just by replacing with this?

> >     FFE6                           jmp          esi

> Hi Daniel,
> - call -> jmp is not possible, you'l lost return adress
> - i dont understand what is point ? avoid relocs?

⇗ @Mov AX, 0xDEAD:
Then again he could do as in the old times and...
push eip
jmp esi
... for the RET to work right, cannot he?

#3349

Mov AX, 0xDEAD

> Zitat von ⇗ dencorso im Beitrag ¶ #3348

> push eip

this opcode just not exist

#3350

infuscomus

⇗ @daniel_k
do you think it would be possible to fix or remove missing imports for acpi.sys vista beta 5365 to work for XP?
ntoskrnl
EmClientRuleEvaluate
_strtoui64
PoSetSystemWake
EmProviderRegister
IoSetDevicePropertyData
KeStartDynamicProcessor
RtlIoEncodeMemIoResource
EtwRegister
EtwWrite
EtwEventEnabled
RtlCmDecodeMemIoResource
RtlIoDecodeMemIoResource
EmClientQueryRuleState
RtlInvertRangeListEx
IoConnectInterruptEx
hal
HalGetInterruptTargetInformation
HalConvertDeviceIdtToIrql
HalGetMessageRoutingInfo
infuscomus has attached files to this post

- ⇗ acpi 5365.zip

#3351

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3316

> @daniel_k
> i have an old program that can write extra functions onto the end of PE files
> did you want to try it out? maybe you can achieve something with it?
> here is an example of a file the program spits out
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (165)

Thanks, will try later if need it.

> Zitat von ⇗ infuscomus im Beitrag ¶ #3350

> do you think it would be possible to fix or remove missing imports for acpi.sys vista beta 5365 to work for XP?

Maybe... but there are many missing imports.
Before trying to fix those imports, to know if that build does work on current systems.

#3352

daniel_k

⇗ @Mov AX, 0xDEAD
Patched and tested x64 iaStorA.sys, work just fine.
Working on x86.
Asked the wrong question, really sorry.
I have 93 calls with relocation like this:
FF15BC700700 call memcpy
Is there a way to keep the relocs and avoid to remove all of them?
I know that FF15 = CALL DWORD PTR, so I tried the following:
FF15B9100100 call d,[0000110B9]
...
110B9: B0640700 - pointer to actual memcpy_s to memcpy function, with relocation
...
764B0: 8BFF mov edi,edi - memcpy_s to memcpy function
764B2: 55 push ebp
764B3: 8BEC mov ebp,esp
764B5: FF7514 push d,[ebp][014]
764B8: FF7510 push d,[ebp][010]
764BB: FF7508 push d,[ebp][8]
764BE: FF15BC700700 call memcpy
764C4: 83C40C add esp,00C
764C7: 33C0 xor eax,eax
764C9: 5D pop ebp
764CA: C21000 retn 00010
Didn't work, need to read more about it.
PS: CODE tag is broken?! Will edit later...

#3353 | daniel_k | ⇗ @diderius6 Please pack and send me the following files of your ISO with storahci.sys that you've tried and didn't work. DOSNET.INF, HIVESFT.INF, HIVESYS.INF, SETUPREG.HIV and TXTSETUP.SIF.

#3354

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3353

> I have 93 calls with relocation like this:
> FF15BC700700 call memcpy
> Is there a way to keep the relocs and avoid to remove all of them?
> I know that FF15 = CALL DWORD PTR, so I tried the following:
> FF15B9100100 call d,[0000110B9]
> ...
> 110B9: B0640700 - pointer to actual memcpy_s to memcpy function, with relocation
> ...
> 764B0: 8BFF mov edi,edi - memcpy_s to memcpy function

All seems OK, to keep orig relocs need things you are already did

#3355

diderius6

⇗ @daniel_k
Here are the wished files from my XP SP3 setup CD,
which give BSOD via STORAHCI on last reboot
Dietmar
diderius6 has attached files to this post

- ⇗ STORAHCIFILES.rar

#3356

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3355

> All seems OK, to keep orig relocs need things you are already did

Thanks.
That'so odd, it crashes.
Will double check, maybe I missed something.

#3357 | daniel_k | ⇗ @diderius6 Files are 100% identical. Did you get the AHCI driver signature warning during Setup?
#3358 | diderius6 | ⇗ @daniel_k No error message at all about signature during Setup Dietmar

#3359

infuscomus

⇗ @daniel_k ⇗ @diderius6
try my solution in txtsetup.sif
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (219)
does it work for you?
⇗ @diderius6
you have several [SourceDisksFiles] in your txtsetup.sif - mine does not
maybe yours is malformed? start from scratch?

#3360

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #3359

> @daniel_k
> No error message at all about signature during Setup
> Dietmar

Hmm
You must get 2 driver signature warnings during Setup (AHCI and XHCI), otherwise the drivers are NOT installed and you'll get 0x7B when finished.
Did you use an untouched ISO and replaced the files with the ones of my package?

## Page 225

#3361 | diderius6 | ⇗ @daniel_k I integrated Servicepack SP3 into it. All other is original XP SP1 CD Dietmar

#3362

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3360

> @diderius6
> you have several [SourceDisksFiles] in your txtsetup.sif - mine does not
> maybe yours is malformed? start from scratch?

The original TXTSETUP.SIF is just like that.
If you use nLite, it consolidates all sections into a single one.

#3363

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #3362

> @daniel_k
> I integrated Servicepack SP3 into it.
> All other is original XP SP1 CD
> Dietmar

Don't do this.
That is why you are having issues.
Get the original ISOs with SP3 already integrated.
Need help to find ENU or DEU?

#3364 | diderius6 | ⇗ @infuscomus I just burn a new CD with all your changes and in this moment I do Setup of XP SP3 with it, with the identical installation of the EVGA dark board Dietmar
#3365 | infuscomus | ⇗ @diderius6 i also agree with daniel_k, use an ISO with SP3 already integrated, it would save a lot of hassle like what you have already been experiencing.
#3366 | diderius6 | ⇗ @infuscomus After I choose the harddisk for install, XP Setup tells me: Error 1984 in SIF file, setup has been canceled, hit F3 Dietmar
#3367 | infuscomus | ⇗ @diderius6 strange, these entries worked for me. i suggest starting over with a clean SP3 ISO.

#3368

diderius6

⇗ @infuscomus ⇗ @daniel_k
I look through my hundreds of XP install CDs.
And I notice, that I have really all
but no CD with original XP SP3 in it.
Always I used XP CD and install Servicepack SP3 with nlite
Dietmar
EDIT: I just found a original XP SP3 Setup CD from HP. But even on this, it is a CD with new integrated SP3 package.

#3369

infuscomus

⇗ @diderius6
the file you should look for is de_windows_xp_professional_with_service_pack_3_x86_cd_x14-80444.iso
I'll let you know if i find it
edit:
here
⇗ https://keybase.pub/gottz/var/iso/de_win...d_x14-80444.iso

#3370 | diderius6 | ⇗ @infuscomus Thanks a lot Dietmar

#3371

daniel_k

⇗ @Mov AX, 0xDEAD
Was having issues, but finally succeeded.

    BE00580600                     mov          esi,000065800
    FFD6                           call         esi

This actually also acts like a call dword ptr.
My memcpy_s to memcpy:

    ...
    retn    10h

Should be just retn, as the caller is responsible for stack cleanup.
Interestingly, retn 10h works with call <register>, but doesn't work for call <dword ptr>.
Will post the updated drivers later.
Now will see what can I do with the AMDXHC driver.

#3372

diderius6

Yesssaa:)) ,
this time I can install XP SP3 on the EVGA dark board at once via STORAHCI driver.
I also see, where the difference between the original XP SP3 CD and the one updated with Servicepack SP3 is:
The CD with servicepack SP3 use as standard settings the "NO" option, when a driver without valid signatur is choosen.
Here now I see for the very first time the question during device install "Do you want xhci.sys" with option settings to "NO"
but I can change this to yes, and few seconds later the same question for STORAHCI.sys , 2 times.
I think, this question never appears on XP SP1 and so crazy SP3 package just ignore this driver via its path in registry.
The same is true for the xhc driver, now it has path in registry also
Dietmar
PS: This means, we have with this STORAHCI a generic driver for XP SP3 for all boards with AHCI.

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "Group"="SCSI miniport"
    "ErrorControl"=dword:00000003
    "DisplayName"="AHCI SATA Driver"
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
       52,00,49,00,56,00,45,00,52,00,53,00,5c,00,73,00,74,00,6f,00,72,00,61,00,68,\
       00,63,00,69,00,2e,00,73,00,79,00,73,00,00,00
    "Tag"=dword:00000021

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci\Parameters]
    "BusType"=dword:0000000b

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\storahci\Parameters\PnpInterface]
    "5"=dword:00000001

#3373

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3350

> > Zitat von ⇗ dencorso im Beitrag ¶ #3349

> > push eip

> this opcode just not exist

⇗ @Mov AX, 0xDEAD
Just curious.
When you write push eax, you are pushing the value in eax. There are opcodes for that.
What if you wrote push [eip]? Would the assembler accept that as an immediate push as in push 15000 and push the current address stored at eip?
The push immediate operands are 6A for a single byte, and 68 for a word and double word. Does the push instruction know how to read an immediate value via a pointer?

#3374

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3373

> I also see, where the difference between the original XP SP3 CD and the one updated with Servicepack SP3 is:

@diderius6...good work on your storage driver.
Don't know if you are aware of this or whether it has been covered elsewhere on win-raid.
There are apparently other issues between the original XP SP1 CD, the XP SP2 setup file, and XP SP3 setup file. Apparently Microsoft has admitted their service packs can sometimes produce a conflict with the setupapi file on the service pack installer and that can lead to errors in the slipstreamed version.
For example, when upgrading SP1 to SP2 on an x86 machine, Microsoft suggested decompressing the SP2 file to a directory, renaming the setupapi file on the SP2 service pack installation, then applying the extract command from the SP2 installation:
On the extracted service pack file directory in a cmd window:
cd i386\update
ren setupapi.dll setupapi.old
update.exe /integrate:c:\bin
Where c:\bin is the directory of the existing OS to be updated.
I don't know if they have fixed this in SP3 but I am having a serious problem in which I am stuck in the middle of a repair install where the installer won't accept a valid product ID from the label on the case of the original XP installer.
Microsoft has admitted in the past that such a problem is related to installing a service pack on a different OS than the target OS. I am referring to slipstreaming a target disk for XP using win 7 or higher.
I did use nlite but even they insist that slipstreams should be done on an OS that is the same as the target OS.

#3375

infuscomus

> Zitat von ⇗ daniel_k im Beitrag ¶ #3351

> aybe... but there are many missing imports.
> Before trying to fix those imports, to know if that build does work on current systems.

⇗ @daniel_k
vista beta 5365 works on my AB350 gaming K4 Ryzen motherboard - no A5 BSOD
do you think you can remove those missing imports without breaking it?

## Page 226

#3376

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #3373

> What if you wrote push [eip]

you'l get compiler error, ip is hidden register on x32 asm language, only x64 allow use it as base offset

#3377

icinemagr

I give up i try anything and everything i could read in forum.
Can someone tell me if is possible to install XP on the follow Specs.
motherboard
Gigabyte Z270 k3 gaming
Northbridge Intel Kaby Lake rev. 05
Southbridge Intel Z270 rev. 00
memory
Memory Type DDR4
Memory Size 16 GBytes
Channels Single
Memory Frequency 1199.8 MHz (1:18)
Graphics
Name NVIDIA GeForce GTX 1060 6GB
Board Manufacturer ASUSTeK Computer Inc.
hard disk
Name Samsung SSD 960 EVO 500GB
cpu
Intel Core i7 7700k

#3378 | Fernando | ⇗ @icinemagr: Since you need support from an expert about how to get Windows XP installed onto an Intel 200-Series Chipset system, I have moved your request into this already existing 100% matching thread. Good luck!

#3379

diderius6

⇗ @icinemagr
All will work under XP SP3.
When you want 3D graphik,
you need to change your videocard against
for examle GTX 980
Dietmar

#3380 | diderius6 | Hihi, I succeed to crash the Quanten Compi:)) Dietmar ⇗

#3381

gordo999

@ diderius6
Dietmar...wondering how I could apply your latest version of acpi.sys for XP.
Up till now, I have been trying to get an existing XP SP3 OS on a drive running so I could apply things you guys are doing in this thread. It's a steep learning curve but I am making headway.
Today, I got a stable version of XP SP4 (yes..SP4...by harkaz) running but without any of my existing apps, which I need running. The SP4 update by harkaz offered an install from the slipstreamed SP3/SP4 disk and I mistook it for a repair install. What it did was install a separate copy of XP along with my current install in parallel directories, one marked winxp and the other winxp.0.
But, hey...what the heck, I have the one in winxp.0 running. If possible I'd now like to get my original install running.
Tried tonight and it got to the XP screen with the running horizontal dots and it crashed with an 0xA5 error...good old ACPI.
Can I install your ACPI driver using the F6 method or via a direct registry edit?
I would work this out for myself but I am a bit eager to get my version running, no matter how badly it might behave. That's part of the challenge, eh?
While getting the working version going I figured out how to get around the invalid product key issue. It involves pidgen.dll, licdll.dll, and a couple of other files version changes.

#3382

gordo999

@ infuscomus...remember the problem I had with an old w98 on a FAT32 partition 1 and XP on partition 2? I removed the w98 partition (deleted it) and moved the xp partition to the front of the disk. I think it was Easeus partition manager I used.
That took care of my boot.ini problem.
Anyway, I completely forgot that the registry has everything for XP under partition 2, the D:\ drive. So, I had to change them all manually to C:\ drive. Partition Magic used to have a utility that would do that for you.
I got into it by hand and thought it was a bit much. Some companies like Comodo have over 250 entries in one hklm/system sub-hive alone. Why doesn't the registry have a search and replace function? And why do companies dump their garbage in there? Like someone said, the registry is like garbage truck that never reaches the dump.
Solved it by taking each hive from the windows\sys32\config directory and loading each one in a text editor that had a search/replace utility. I got it to find all references to my win dir, d:\winxp and replace it with c:\winxp.
Learned along the way that it's not necessary to edit each currentcontrol set. There is an entry in the registry that tells which CCS is in use (default) and which one is the last known good one. My hklm\system hive had 4 currentcontrol sets and I only had to edit ccs003. I did ccs004 as well, which saved a lot of work.
There was one other monster sub-hive, shareddlls, in the software hive, but the text editor took care of them all.

#3383 | infuscomus | ⇗ @gordo999 you have alot of patience, I would've just done a fresh install of XP.

#3384

genieautravail

⇗ @daniel_k
The latest build of your modded acpi.sys file ins't compatible with AMD Carrizo APU.
Here the link to the motherboard :
⇗ https://www.biostar.com.tw/app/en/mb/int...on.php?S_ID=935
At boot, I get the famous BSOD (STOP : 0x000000A5)
Can you do something about this ?
Best regards

#3385

diderius6

⇗ @gordo999
When you have a working XP version with acpi support,
it is enough to copy the modded acpi.sys into folder
windows\system32\drivers
Dietmar
PS: Here is the entry for registry for acpi.sys

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI]
    "ErrorControl"=dword:00000001
    "Group"="Boot Bus Extender"
    "Start"=dword:00000000
    "Tag"=dword:00000001
    "Type"=dword:00000001
    "DisplayName"="Microsoft ACPI-Treiber"
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
       52,00,49,00,56,00,45,00,52,00,53,00,5c,00,41,00,43,00,50,00,49,00,2e,00,73,\
       00,79,00,73,00,00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Enum]
    "0"="ACPI_HAL\\PNP0C08\\0"
    "Count"=dword:00000001
    "NextInstance"=dword:00000001

#3386 | infuscomus | ⇗ @genieautravail more info is needed - can you take a screenshot of the BSOD? it will show more about the exact error

#3387

genieautravail

> Zitat von ⇗ infuscomus im Beitrag ¶ #3386

> @genieautravail
> more info is needed - can you take a screenshot of the BSOD? it will show more about the exact error

Here a screenshot.
The text is in french because it's a french edition of Windows XP SP3.
To quickly resume :
The BIOS isn't fully compliant with ACPI specifications and you can silently disable ACPI by pressing F7 key during installation.
⇗

#3388 | diderius6 | Hi, does anybody know, what this error means: STOP: c0000139 {Entry Point Not Found} The procedure entry point GdiGetBitmapBitssize could not be located in the dynamic link library GDI32.dll. Dietmar
#3389 | infuscomus | ⇗ @diderius6 I'm guessing the function GdiGetBitmapBitssize isn't in GDI32.dll ? check it with dependency walker.
#3390 | diderius6 | ⇗ @infuscomus Yepp, this is just true, "GdiGetBitmapBitssize isn't in GDI32.dll" thanks a lot Dietmar

## Page 227

#3391

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #3388

> Hi, does anybody know, what this error means:
> STOP: c0000139 {Entry Point Not Found}
> The procedure entry point GdiGetBitmapBitssize could not be located in the
> dynamic link library GDI32.dll.

It actually should be there, maybe the service pack installation was unfinished or something like that? Here's a blogpost related to the problem and a possible solution: ⇗ https://vit-experts.blogspot.com/2008/06...-not-found.html

#3392

diderius6

⇗ @genieautravail
Here is fresh modded acpi.sys
against BSOD A5, 0x0000000D
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#3393 | genieautravail | ⇗ @diderius6: Thank you, I will try it in the next days EDIT by Fernando: Fully quoted post replaced by directly addressing (to save space and for better readability)

#3394

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3385

> When you have a working XP version with acpi support,
> it is enough to copy the modded acpi.sys into folder
> windows\system32\drivers
> Dietmar

@diderius6....Not sure what you mean, Dietmar. By acpi support, do you mean in the BIOS? I have an Asus B360M mobo and it has acpi 6.1 However, when I get the 0xA5 bsod it claims the BIOS is not acpi compliant.
Oddly enough, the same installation of XP SP3 slipstreamed with the unofficial SP4 upgrade does not get the 0xA5 error and it has no acpi.sys in %windir%\system32. Neither does my original XP SP3 install, even though it has an entry in the registry. The only acpi.sys on my original system is in a directory called %windir%\i386. Have no idea where it came from.

> Zitat von ⇗ diderius6 im Beitrag ¶ #3385

> PS: Here is the entry for registry for acpi.sys

My registry for the XP SP3 install is much simpler. It has everything you list in the first part except the image path is in ASCII, not hex.
There is no ENUM sub-tree. In fact, the registry values you describe are the same as in my Win 7 registry under HKLM\System\ACPI which also has a reference to ACPI_HAL.
Maybe I need to go further back in the thread and read about HAL, etc.

#3395 | infuscomus | ⇗ @gordo999 it sounds like you don't have ACPI enabled on your system.

#3396

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3388

> Hi, does anybody know, what this error means:
> STOP: c0000139 {Entry Point Not Found}
> The procedure entry point GdiGetBitmapBitssize could not be located in the
> dynamic link library GDI32.dll.
> Dietmar

@diderius6...In my experience it has meant the dll has been updated so that the address is no longer valid. The function is likely still in the dll, it's no longer at the address called. You might need to find the version to which the calling address applies. Or edit the calling file to point it to the new address.
BTW...I inserted your acpi.sys into the %windir%\System32\drivers and amended my registry to reflect your example and I no longer get the 0xA5 bsod. Instead, I get an 0X7B and I think I know the solution.
When I updated my XP SP3 disk to the unofficial XP SP4 upgrade from harkaz, there was a SATA driver in the package signed by Fernando. It works well for XP on a newer mobo. Unfortunately I don't think it has a txtsetup.oem file for an F6 install so I may have to compare registry values for iaStor in the version that works with my version that gets the bsod.
Progress!!! :-)

#3397

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3395

> it sounds like you don't have ACPI enabled on your system.

@infuscomus....It is enabled. Solved the problem for now using Dietmar's driver and advice.
I am now getting an 0X7B which is likely the driver required by Windows to interface with the SATA drive. The bsod only occurs when Windows is trying to start, either through a normal boot or via an install disk. The install disk routine happily goes along till the point where it says windows is starting.
re patience...with the amount of patience I have, I should have been a doctor.
BTW...I would gladly do a fresh install but I want many of the old apps I have on the current drive. Replacing them would be a real pain.

#3398 | jinzouningen | Hello guys! I'm new in this forum and I want to ask you a question. I have a baytrail tablet which comes with windows 8 and now I want to install windows xp on it. Is it possible? Can someone provide me a x86 windows xp vhd ready to test? Thanks and sorry for my english D:
#3399 | diderius6 | ⇗ @jinzouningen I put XP SP3 on a Lenovo Flex 10 (with Bay Trail cpu). But no Acpi, no 3D graphik, so it is not a good base for XP Dietmar
#3400 | jinzouningen | Thanks, I will try to do some tests BTW, we can find a way to get the graphic card to work ;D

#3401

gordo999

In a very recent post I described a problem where I am getting an 0x7B stop bsod just as windows starts, or is starting.
Discovered likely problem, I have no AHCI driver on my XP original install.
Well....duh!!!
I apparently have no means of running the SATA ports in IDE mode either since that option does not seem available in my BIOS. My options are AHCI or Intel's system. With the latter selected it keeps asking me to connect a bootable drive. Under CSM I can select oprom but that doesn't seem to help.
The other version of xp, upgraded with unofficial SP4, does have an AHCI iastor driver from Fernando and it boots all the way. I took the same setup files used in the SP4 slipstream disk that installed that version and put them on a floppy. I started the install disk, pressed F6 and the install stopped a bit later and asked me to select the AHCI driver, which I did. It claims to have installed them but there is nothing in the registry and no iaStor.sys file in the XP\sys32\drivers directory, or anywhere else.
Is the F6 install not supposed to install the drivers permanently, or am I misunderstanding something? I am asking, because as the install proceeded, the installer claimed to be loading an iaStor driver, after the F6 install. I could hear the floppy drive reading as it did. However, I hit an 0x7B soon after when it was indicated that windows was starting.
Looks like I'll have to manually load the drivers via the registry.

#3402

diderius6

⇗ @gordo999
I make strange experiance with F6 on newer motherboards and XP SP3.
Yes, always after F6 the driver is loaded but this does not mean, that this driver works.
The STORAHCI driver can be integrated to registry very easy, just look in forum here for
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (211)
Dietmar

#3403

Gelip

To avoid displaying messages about unsigned drivers during WinXP installation, you need to add the following entry to the winnt.sif file on F6 floppy:

    [Unattended]
    DriverSigningPolicy=Ignore

#3404 | diderius6 | ⇗ @Gelip Does this method also works on the installation of XP SP3 via CD Dietmar
#3405 | Gelip | ⇗ @diderius6 It should not matter if the winnt.sif file is on an F6 floppy disk or on a CD in I386 or AMD64

## Page 228

#3406 | infuscomus | ⇗ @diderius6 works for me

#3407

genieautravail

> Zitat von ⇗ diderius6 im Beitrag ¶ #3392

> @genieautravail
> Here is fresh modded acpi.sys
> against BSOD A5, 0x0000000D
> Dietmar

YES, IT WORKS!
Here some screenshots just after the first start of XP (after sysprep of course) :
⇗
⇗
⇗
The missing drivers :
SM bus controller:
PCI\VEN_1022&DEV_790B&SUBSYS_790B1022&REV_4A\3&11583659&0&A0
USB bus controller:
PCI\VEN_1022&DEV_7914&SUBSYS_79141022&REV_20\3&11583659&0&80
PCI coding/decoding controller:
PCI\VEN_1022&DEV_1578&SUBSYS_15781022&REV_00\3&11583659&0&40
Video controller:
PCI\VEN_1002&DEV_9874&SUBSYS_1C401002&REV_C4\3&11583659&0&08
For the USB controller, I have found (but no tried yet) a driver on the driverpacks solutions website :
⇗ https://drp.su/en/hwids/PCI%5CVEN_1022%26DEV_7914
For the PCI coding/decoding controller, I have found (but no tried yet) a forced driver (for Windows 10 ?) on the driverpacks solutions website :
⇗ https://drp.su/en/hwids/PCI%5CVEN_1022%26DEV_1578
For the video controller , I have found (but no tried yet) a forced driver (for Windows 10 ?) on the driverpacks solutions website :
⇗ https://drp.su/en/hwids/PCI%5CVEN_1002%2...61103C%26REV_E6
For the SM bus controller, I have found (but no tried yet) a forced driver (for Windows 10 ?) on the driverpacks solutions website :
⇗ https://drp.su/en/hwids/PCI%5CVEN_1022%26DEV_790B
Others ideas for the drivers ?

#3408 | infuscomus | ⇗ @genieautravail for VGA you could try the R9 270 XP drivers and add the HWID to the inf? ⇗ https://www2.ati.com/drivers/13-12_xp32_dd_ccc.exe
#3409 | genieautravail | Thank you for the link! But your link doesn't works (for the moment ?)...
#3410 | diderius6 | ⇗ @skullteria ⇗ Dietmar ⇗ https://docs.microsoft.com/en-us/windows...rectedfrom=MSDN

#3411

IntiMD

> Zitat von ⇗ infuscomus im Beitrag ¶ #3408

> @genieautravail
> for VGA you could try the R9 270 XP drivers and add the HWID to the inf?
> ⇗ https://www2.ati.com/drivers/13-12_xp32_dd_ccc.exe

> Zitat von ⇗ genieautravail im Beitrag ¶ #3409

> Thank you for the link!
> But your link doesn't works (for the moment ?)...

It should work when downloading the file through wget: 'wget "https://www2.ati.com/drivers/13-12_xp32_dd_ccc.exe" --referer=drivers.amd.com --content-disposition'

#3412 | infuscomus | ⇗ @genieautravail scroll down to XP section ⇗ https://www.amd.com/en/support/previous-...d-radeon-r9-270

#3413

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3375

> vista beta 5365 works on my AB350 gaming K4 Ryzen motherboard - no A5 BSOD
> do you think you can remove those missing imports without breaking it?

Sorry, too many missing imports with endless calls.
That could take months and may not even work as there are too many code changes, not just ACPI interpreter ones.
I think is easier to implement most used opcodes in original ACPI.SYS than patch beta versions.

#3414

daniel_k

> Zitat von ⇗ genieautravail im Beitrag ¶ #3407

> > Zitat von ⇗ diderius6 im Beitrag ¶ #3392

> > @genieautravail
> > Here is fresh modded acpi.sys
> > against BSOD A5, 0x0000000D
> > Dietmar

> YES, IT WORKS!

I'll apply those changes to my last ACPI.SYS x86 and x64.
Great work, guys!

#3415 | daniel_k | ⇗ @diderius6, what were you doing when the system BSOD'ed? That's an unusual error. AMD or Intel system?
#3416 | genieautravail | ⇗ @IntiMD Done (97 MB)!
#3417 | daniel_k | ⇗ @genieautravail AMD USB 3.0 driver 1.1.0.145 ⇗ http://ftp.hp.com/pub/softpaq/sp64501-65000/sp64533.exe That is the last supporting XP. Link is from HP, but the driver is generic, just unpack and install.

#3418

daniel_k

⇗ @canonkong, ⇗ @diderius6, ⇗ @infuscomus
Hey guys.
Just learned something interesting about the XHCI drivers.
Some settings may crash the drivers. You may think they are incompatible, but that is now always the case.
For example, the TI driver.
It is a nice driver, supporting PAE properly and is not a WDF crappy driver, which means it can be used to install XP from USB.
Works just fine with VIA VL805/VL806 controllers, as long as the DataPumpXhcdWiringValue registry setting is not present.
This is a really nice find, as cards with those controllers are the cheapest ones and can be found anywhere.
So, please delete all registry settings and try the drivers again, may be this helps with crashing.

#3419

genieautravail

> Zitat von ⇗ daniel_k im Beitrag ¶ #3417

> @genieautravail
> AMD USB 3.0 driver 1.1.0.145
> ⇗ http://ftp.hp.com/pub/softpaq/sp64501-65000/sp64533.exe
> That is the last supporting XP.
> Link is from HP, but the driver is generic, just unpack and install.

Thank you very much!

#3420

daniel_k

⇗ @Mov AX, 0xDEAD
Just confirmed that the either:
- AMD drivers are poorly coded
- MCCI's drivers are properly coded and/or include workarounds to support PAE.
Tried AMD drivers on VIA VL805 card, same issues with NTVDM crashing.
Tried TI drivers written by MCCI, absolutely no issues on Server 2003 Enterprise/Datacenter and XP with "ours" patched NTOSKRNL/HAL unlocked PAE.

## Page 229

#3421 | infuscomus | ⇗ @daniel_k I've already seen some crashes, got a D0 BSOD on AMD Ryzen using AMD USB 3.0 driver 1.1.0.145 - this was from an attempt at loading it in XP setup textmode, no registry keys applied to the driver though.
#3422 | diderius6 | ⇗ @daniel_k I will tell you later about new project:)). Do you have Symbols for XP 64 SP1 (1830) Dietmar
#3423 | daniel_k | ⇗ @diderius6 UEFI, maybe? No, maybe I have symbols for SP2, not sure.

#3424

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3420

> @Mov AX, 0xDEAD
> - AMD drivers are poorly coded
> - MCCI's drivers are properly coded and/or include workarounds to support PAE.

Thank for info
Myself experince:
- Intel usb3 for windows7 has missing imports but can be modded to run on windows xp. Driver itself has problems, it can init hub after installing
- VIA drivers has deferred initialization of devices and have issue with USB BULK mode (ofter drop link to usb devices), only ISO mode works, but this mode is very CPU expensive

#3425

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #3422

> @daniel_k
> I will tell you later about new project:)).
> Do you have Symbols for XP 64 SP1 (1830)
> Dietmar

A nitpick, but an important one. the RTM build of XP Professional x64 Edition is based on Server 2003 SP1 - ⇗ https://www.thecollectionbook.info/builds/windows/build/225
Something that might be interest, MSDN includes the debug/checked build of XP Pro x64 Edition RTM by the filename "en_windows_xp_professional_x64_chk.iso" and the SHA-1 hash of "45f2a3ec578c4f7095e60439d9af5bcaebe57fd9" of size 628MB. Consult 'the eye' for more info.

#3426

Mattiwatti

> Zitat von ⇗ IntiMD im Beitrag ¶ #3425

> Something that might be interest, MSDN includes the debug/checked build of XP Pro x64 Edition RTM by the filename "en_windows_xp_professional_x64_chk.iso" and the SHA-1 hash of "45f2a3ec578c4f7095e60439d9af5bcaebe57fd9" of size 628MB. Consult 'the eye' for more info.

Beware that this ISO is only bootable without modifications if a kernel debugger is attached from the very first boot (meaning to text mode setup) so that you can catch and ignore debug asserts. The reason for this is acpi.sys triggering several asserts at boot time, on every boot. If you replace acpi.sys there is no issue since the other drivers do not (normally) trigger kernel asserts. It is also possible to integrate the checked build of SP2, the file for this is "WindowsServer2003.WindowsXP-KB914961-SP2-x64-DEBUG-ENU.exe". I can't remember off hand whether this version also has a poorly behaved acpi.sys, but I think so because I eventually just patched out the entire assert in ntkrnlmp.exe that acpi.sys was triggering since it was getting tiresome.

#3427

Gelip

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3423

> UEFI, maybe?

I'm interested in WinXP x64 under UEFI. Do you follow the topic on ⇗ https://www.betaarchive.com/forum/viewto...20327&start=100 ?
I do various tests. WinXP x64 SP2 can be run under UEFI from MBR or GPT partition. There is only a problem with the video driver. All other drivers work - ethernet, wifi, audio, usb, sata

#3428

diderius6

⇗ @Gelip
Thanks a lot,
installing "Symbols" and at once I found the problem with Windbg
OVERLAPPED_MODULE: Address regions for 'dump_iaStor' and 'imapi.sys' overlap
Dietmar

    STACK_COMMAND: kb

    FOLLOWUP_IP:
    nt!MmLoadSystemImage+10d6
    fffff800`01528976 488b4e30 mov rcx,qword ptr [rsi+30h]

    SYMBOL_STACK_INDEX: 1

    SYMBOL_NAME: nt!MmLoadSystemImage+10d6

    FOLLOWUP_NAME: MachineOwner

    MODULE_NAME: nt

    DEBUG_FLR_IMAGE_TIMESTAMP: 42435bd5

    IMAGE_NAME: memory_corruption

    FAILURE_BUCKET_ID: X64_0x0_nt!MmLoadSystemImage+10d6

    BUCKET_ID: X64_0x0_nt!MmLoadSystemImage+10d6

    Followup: MachineOwner

#3429 | diderius6 | ⇗ @skullteria ⇗ https://j00ru.vexillium.org/2010/06/insi...re-enforcement/ Dietmar PS: On x64-based versions of the operating system, kernel-mode drivers must be digitally signed. I think, it can be hacked in ntoskrnl.exe.

#3430

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3429

> @skullteria
> ⇗ https://j00ru.vexillium.org/2010/06/insi...re-enforcement/
> Dietmar
> PS: On x64-based versions of the operating system, kernel-mode drivers must be digitally signed.
> I think, it can be hacked in ntoskrnl.exe.

Or if you use modded winload.exe or winload.efi from beta Server Longhorn 16497: ⇗ winload.efi ⇗ winload.exe

#3431

canonkong

⇗ @daniel_k
I had tested the TI driver for DEV_ID: 149C , but it can not work for the USB DISK on win7.
For AMD X570 and ryzen 3000 CPUs' XHCI, only Etron MOD driver can work well.
VIA also can work well, but it will 0X0000001E BSOD sometime.
ASMedia, AMD 1.0.5.3 and TI drivers can not work for USB DISK.
INTEL 5.0.5.43 and AMD 2.0.0.48 drivers will 0X0000002C BSOD sometime. (This two drivers can work well for most all USB devices but AMD 149C.).
Fresco Logic USB Driver can not install the hub driver.
Renesas USB driver will BSOD when you install xhci driver.
I tried again and again, but can not found a way to solve the BSOD problems or made the USB DISK work.

#3432

XPLives

⇗ @genieautravail

> Zitat von ⇗ genieautravail im Beitrag ¶ #3409

> Thank you for the link!
> But your link doesn't works (for the moment ?)...

Use this link instead.
⇗ https://www.amd.com/en/support/graphics/...-radeon-hd-6570
Then select "Windows XP - Professional/Home"
Revision Number
14.4
File Size
179 MB
Release Date
4/25/2014
Then click the DOWNLOAD button link which goes to:
⇗ https://www2.ati.com/drivers/14-4-xp32-64-dd-ccc-pack2.exe
For whatever reason you can't hotlink download so you must use the first link to get to the page.
To Whom It May Concern:
Dual Brand Graphics Card Users
I also found a nasty bug. When using both nVidia and AMD XP drivers it cause the nVidia card to BSOD when accessing 3D graphics. After going back to a cleaner image before any graphics drivers it was fine. So if you want to use the AMD graphics driver only and no nVidia. Both cards work fine on a clean install using just their own driver. So don't attempt installing both cards. If you do install both cards' drivers only the AMD will always work properly.
As far as performance nVidia will probably be the strongest in XP.

#3433

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #3431

> @daniel_k
> I had tested the TI driver for DEV_ID: 149C , but it can not work for the USB DISK on win7.
> For AMD X570 and ryzen 3000 CPUs' XHCI, only Etron MOD driver can work well.
> VIA also can work well, but it will 0X0000001E BSOD sometime.
> ASMedia, AMD 1.0.5.3 and TI drivers can not work for USB DISK.
> INTEL 5.0.5.43 and AMD 2.0.0.48 drivers will 0X0000002C BSOD sometime. (This two drivers can work well for most all USB devices but AMD 149C.).
> Fresco Logic USB Driver can not install the hub driver.
> Renesas USB driver will BSOD when you install xhci driver.
> I tried again and again, but can not found a way to solve the BSOD problems or made the USB DISK work.

CanonKong, which of these do you think are the top 3 best for Intel USB 3.0 use? Or can you list the weaknesses/issues of these for Intel USB 3.0 on XP 32-Bit use?
Using real USB 3.0 PCIe cards the TI USB 3.0 xHCI driver is the best performing overall as I mentioned to Daniel_K. If you need to mod one successfully that is the best choice in performance. At least on the USB 3.0 PCIe cards comparison random seek times was the lowest latency. You can compare this to a fast car that also brakes the quickest. So if you enjoy skipping around large HD videos you find this most pleasurable. Delays were as low as 0.5 seconds. Other brands could be as high as 2.0 seconds in delay.
If you're just copying large data only NEC performed the best times but overall all USB 3.0 xHCI cards are very close within a few percentage of each other.
How modding the TI USB 3.0 driver to work on the Intel or AMD USB 3.0 ports will affect the driver performance is unknown compared to the real USB 3.0 PCIe cards. But if anyone successfully modifies the TI USB 3.0 for XP 32-Bit and can access the USB hard drive, USB webcam, USB audio, USB mouse, USB keyboard, USB floppy, USB printer, and USB optical disc drive successfully without any connection issues is the winner. Then I can conduct a true USB 3.0 modded Intel, AMD, vs. PCIe card benchmark comparison.

#3434

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3401

> In a very recent post I described a problem where I am getting an 0x7B stop bsod just as windows starts, or is starting.
> Discovered likely problem, I have no AHCI driver on my XP original install.
> Well....duh!!!
> I apparently have no means of running the SATA ports in IDE mode either since that option does not seem available in my BIOS. My options are AHCI or Intel's system. With the latter selected it keeps asking me to connect a bootable drive. Under CSM I can select oprom but that doesn't seem to help.
> The other version of xp, upgraded with unofficial SP4, does have an AHCI iastor driver from Fernando and it boots all the way. I took the same setup files used in the SP4 slipstream disk that installed that version and put them on a floppy. I started the install disk, pressed F6 and the install stopped a bit later and asked me to select the AHCI driver, which I did. It claims to have installed them but there is nothing in the registry and no iaStor.sys file in the XP\sys32\drivers directory, or anywhere else.
> Is the F6 install not supposed to install the drivers permanently, or am I misunderstanding something? I am asking, because as the install proceeded, the installer claimed to be loading an iaStor driver, after the F6 install. I could hear the floppy drive reading as it did. However, I hit an 0x7B soon after when it was indicated that windows was starting.
> Looks like I'll have to manually load the drivers via the registry.

SATA IDE Compatibility Mode has been gone since SkyLake so say good bye to that. You want that mode you'll need to go back to Z97.
Too many messages to sort through but I believe you are on an Intel Coffee Lake 300 Series motherboard.
The F6 method was meant for real internal floppy disk drives although it is possible to use USB floppy drives on real eHCI USB 2.0 ports which no longer exist on SkyLake 100 Series+.
First you cannot use the floppy drive method which I can only assume you are using a USB floppy drive since no onboard FDD controller anymore since Ivy Bridge. It might read the driver but because eHCI no longer exists since SkyLake the driver will not successfully load even though it appears to have loaded something on the floppy disk before BSOD 7B later.
The easiest way at least for you would be nlite the SATA AHCI driver from Intel. Don't mix with the ReactOS STORAHCI driver. You don't need that driver if you are using Intel motherboards. That should only be used for AMD if you aren't using Asmedia SATA ports or unless you are using a NVME then you will need STORAHCI. Personally you should use the K.I.S.S. method and I also suggest you don't need the SP4. I don't know if you're adding that due to paranoia of getting hacked or what then just don't install the driver to your ethernet or WIFI. I'd use SP2 or SP3 integrated on a clean ISO such as XPP SP0 with just the Intel SATA driver only integrated with nLite and install XP to a completely new partition unless you wish to override your old one then you should copy the contents and back it up first before formatting that partition before using it. XP allows you to install it to as many new partitions if you need if you wish to preserve your older XP installation. You'll have to modify the BOOT.INI to give the description to distinguish between the partitions when choosing which one to boot.
Later after you successfully installed XP you can run the unofficial SP4 update inside Windows XP desktop. That is the best way. Don't forget to include the modded ACPI.sys during the setup phase which may need to be copied a couple times if you plan on using ACPI. It's much easier to install XP to a FAT32 partition and have a bootable DOS floppy to do this or have a bootable 98SE DOS partition on the drive itself - Best Method. The other way is to disconnect your drive and hook it up to another machine if you're using NTFS.

#3435

LoneCrusader

⇗ @daniel_k, ⇗ @Mov AX, 0xDEAD
RE: modifying TI USB3 drivers
I assume you guys are already aware of this, but at least one set of .PDB files for the TI drivers were leaked at some point. These were the only .PDB files I've ever been able to turn up for any of the manufacturer's XP USB3 drivers. I don't know how much the code may have changed since the version with .PDB files, but maybe they will be helpful in deciphering some of the code. Here's the link:
⇗ https://www.helpjet.net/Fs-14515117-2670...16-extract.html

## Page 230

#3436

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3077

> On the Q1900m board, the Celeron CPU J1900 (soldered on socket all in one chip SoC),
> I can install MPS Multiprocessor which shows also (as on acpi) 4 cpu cores, because this chip has 4 cores
> and no Hyperthreading. On this Bios is an extra MPS table, on the Lenovo Flex 10 is no MPS table as RW-everything tells.
> In MPS the sound works. Interesting, from where the devices get their information on MPS,
> because no acpi.sys there, which looks at DSDT table. But the DSDT table is still needed,
> compi does not start, when you delete DSDT or give fake empty DSDT.
> I will make a speed comparisation ACPI against MPS (all Multiprocessor).
> With full ACPI, strange things happen on this board:
> Windbg via COM1 runs only correct in Safe Mode (F8) and no sound.
> A yellow questionmark is at partmgr in Device Manager. This I do not understand at all,
> because without loaded partmgr.sys the compi does not start but it starts
> Dietmar
> PS: In MPS there are 2 yellow marks at pci-to-Pci bridge, reclaiming not enough free resources
> even the IRQs from MPS go up to 128 and noone is double.
> This may be a hint, what is really going on in the SoC, may be something is shared there.
> All boards with such a SoC cpu have absolut identic devices, because they are all integrated in this SoC chip.
> This is very nice, when you compare compis with the same SoC cpu.
> I do not like, that I can not change the cpu. But I think, that there is no cheaper and better board today on the market.
> It is to 100% silent, passiv cooling and SSD, power consumption around 10 Watt.
> Now I just get 155 updates from Posready^^.
> EDIT: Now I have also sound on full ACPI Multiprocessor XP SP3 on the Q1900m board. For this I have to disable "Microsoft UAA-Bustreiber für High Definition Audio"
> in Device Manager and after this to enable "Microsoft UAA-Bustreiber für High Definition Audio" again, crazy. It has to do with not enough resources. USB2, 3, Lan, sound works now there. The only device is the integrated GPU, which does not work
> under XP SP3 even I make hack. Windbg works now also normal, after I deactivated the 2 pci-to-Pci bridges, reclaiming not enough free resources. Now I benchmark full ACPI Multiprocessor against MPS Multiprocessor.
> I use for this Nvidia GT 730. The bottleneck is here the CPU J1900.
> 3DMark2001 Acpi: 17347 Cinebench 11.529: 1.37
> 3DMark2001 MPS: 15739 Cinebench 11.529: 1.33
> So, Acpi is faster than MPS, even I do not know why. 1440 HD Video runs normal.
> Commander Keen 4 runs in full screen modus^^. Prime95 and other Benchmarks all together show: XP SP3 runs absolut stable on the Q1900m board in full ACPI Multiprocessor mode.
> Hihi:
> "Intel ® Bay Trail platform does not support:
> Win XP Pro 32bit
> Windows Embedded Standard 2009 (XPe SP3) 32bit "
> And just for fun: I do pur USB boot on the Q1900m board via USB3 port and the nice driver from @daniel_k , so
> no more problems with iastor or storahci^^
> ⇗

> Zitat von ⇗ diderius6 im Beitrag ¶ #3077

> On the Q1900m board, the Celeron CPU J1900 (soldered on socket all in one chip SoC),
> I can install MPS Multiprocessor which shows also (as on acpi) 4 cpu cores, because this chip has 4 cores
> and no Hyperthreading. On this Bios is an extra MPS table
> I will make a speed comparisation ACPI against MPS (all Multiprocessor).
> I do not like, that I can not change the cpu. But I think, that there is no cheaper and better board today on the market.
> It is to 100% silent, passiv cooling and SSD, power consumption around 10 Watt.
> Now I benchmark full ACPI Multiprocessor against MPS Multiprocessor.
> I use for this Nvidia GT 730. The bottleneck is here the CPU J1900.
> 3DMark2001 Acpi: 17347 Cinebench 11.529: 1.37
> 3DMark2001 MPS: 15739 Cinebench 11.529: 1.33
> So, Acpi is faster than MPS, even I do not know why. 1440 HD Video runs normal.

Dietmar provided nice idea to benchmark ACPI vs NO ACPI MPS Multiprocessor.
This I used i5-8400 downclock to 792 MHz. Reduced CPU cores from 6 to 2.
I used Server 2003 32-Bit OS instead.
Now is it fair? :) We shall see...
Most of these tests and more were done about 2 weeks ago over a 1 week period. Then the wild fires and PGE safety black out caused havoc here so I did not post sooner.
To be quick and clear. The conclusion is incorrect that Dietmar discovered. I found at first the MPS Multiprocessor results were slightly better. But after a few tests I find that both MPS Multiprocessor Mode and APCI Modded ACPI.SYS from Daniel_K showed nearly identical results.
Note: I did not test on Hyperthreaded CPU. All 2 Cores are 2 Cores / 2 Threads on i5-8400. Later it would be interesting to see CPU with 2 Cores 4 Threads test vs 2 Cores 2 Threads if any difference in benchmarking if ACPI with hyperthreading has any advantage.
However as a follow up I would be interested if Dietmar has a Kill-A-Watt to measure total wattage of PSU connected to Motherboard how much it draws from outlet minus Monitor.
I think it will be much higher than 10 Watts for combined Motherboard and PSU connected total watts usage.
Okay now down to the actual results.
I used an nVidia GT 710 PCIe 2GB model for the test which is much worse than Dietmar's GT 730 which is better. :(
But still the results I found interesting even with dual cores for both ACPI and MPS Mode.
i5-8400 (Dual Cores) Enabled of 6.
792 MHz
[3DMark03 Score] DK_ACPI / MPS
20306
[CineBench Benchmark v11.529]
OpenGL
19.62 FPS
vs Dietmar Q1900 Benchmark
Quad-Core Processor J1900
⇗ https://ark.intel.com/content/www/us/en/...o-2-42-ghz.html
2000 MHz / 2420 MHz Boost
3DMark2001 ACPI: 17347
3DMark2001 MPS: 15739
[CineBench Benchmark v11.529]
ACPI: 1.37 FPS
MPS: 1.33 FPS
I just noticed Dietmar used 3dMark2001 which uses DX 8.1. I used 3DMark03 which uses DX 9.0c. But I would also think scores should be higher on 3DMark2001 than 3DMark2003?
I have also tested multiple cores from 2-6 on MPS Mode but will need time to do comparison of all results before reporting those benchmarks and power consumption.
So in conclusion my tests on modern hardware Z370 showed even on an inferior GT 710 the Benchmark scores were much higher even on a downclocked 792MHz and 6 Cores reduced to 2 Cores setup and showed that ACPI vs NO ACPI MPS Multiprocessor Mode to be a tie or very close within margin of error.
Maybe Dietmar can redo the same tests on Q1900 and also on modern motherboard and will find similar results using 3DMark01 and 3DMark03.
Although the Q1900 results seems fishy why the results are so different since the CPU has no hyperthreading capability to be a possible reason for the performance difference.
If Dietmar has older GT 710 model to test that would be interesting on Q1900.

> Zitat von ⇗ diderius6 im Beitrag ¶ #3077

> Hihi:
> "Intel ® Bay Trail platform does not support:
> Win XP Pro 32bit
> Windows Embedded Standard 2009 (XPe SP3) 32bit "

This was before modded ACPI.sys but MPS would have worked and proven XP could work on Baytrail at least on a desktop motherboard model. MPS Mode should also work on Baytrail laptop model but you state no MPS table? What happens when you install with F7 method on Baytrail laptop? Does it go to Standard PC?
But hihi - yes Intel is wrong again.

#3437

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3434

> SATA IDE Compatibility Mode has been gone since SkyLake so say good bye to that. You want that mode you'll need to go back to Z97.
> Too many messages to sort through but I believe you are on an Intel Coffee Lake 300 Series motherboard.

@XPLives...thanks for the valuable info re my problem. I am running an Asus B360M which is Coffee Lake. Don't want the mode, I am on a learning curve and thought XP might need it to boot.

> Zitat von ⇗ XPLives im Beitrag ¶ #3434

> First you cannot use the floppy drive method ...the driver will not successfully load even though it appears to have loaded something on the floppy disk before BSOD 7B later.

Wondered about that, I have just been exhaustively through the registry and there is no sign of iaStor. The SP4 update did add it and reg entries to a working version of xp and I am cloning everything re registry and drivers from the good copy to my copy with the apps I need.
The reason I tried SP4 had nothing to do with paranoia about being hacked, I thought it might provide drivers for the modern mobo which it does. There is a signed version by Fernando for ahci drivers which I am hoping to transfer.

> Zitat von ⇗ XPLives im Beitrag ¶ #3434

> Later after you successfully installed XP you can run the unofficial SP4 update inside Windows XP desktop. That is the best way. Don't forget to include the modded ACPI.sys during the setup phase ...

I used Dietmar's modded acpi.sys and it seems to have gotten me past the 0xA5 error. I used the Driver Packs site on a version of Win 7 on the same mobo. It supplied a few drivers I needed and made W7 solid on this mobo. Don't know if they have anything for XP.
Just looking in the SP4 working version for an ACPI reference under HKLM\system\ccs\enum but I see no signs of an acpi section. Just looking up Dietmar's post where he included some registry stuff.
I really just want to get it going. I really enjoyed seeing the old Windows XP boot screen but I got the 0x7b error about that point. Then, I'd like to check out some of the mods you guys are doing.

#3438 | Andalu | ⇗ @genieautravail you can also try this: ⇗ https://archive.org/details/icafe-winxp-...-br294594-sep24 It should be the latest ATI display driver for WinXP 32-bit.

#3439

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3159

> this morning I make the ultimative ACPI test for the EVGA dark z390 board.

⇗ @diderius6
Dietmar...your drivers (storahci) got me further along the boot sequence. I have now reached a screen informing me that my hardware has changed and they are nagging me to reactivate within 3 days. However, the system seems unstable at this point. If I hit yes to activate or no to bypass activation, the nag screen disappears for 20 seconds then re-appears, having done nothing.
I was reading an article on how ro reset some of the licensing files, like licdll.dll, but I can't get into safe mode. I reach the safe mode screen with the safe mode boxes in each corner but the screen flashes regularly and does nothing.
I would like to slipstream your drivers into my XP SP3 install disk but I'll need to research that.
BTW...found a neat way to enter a reg file into an offline system. You probably know about it. In the W7 registry, you can highlight the HKLM key then use Load Hive from the File menu to load a hive from windir\sys32\config in the offline OS registry.
I selected the 'system' hive, for example, and a box appeared asking me to name it. I called it winxp sys and it loaded the hive under HKLM with that name. That hive can now be edited freely. Must remember to unload the hive when finished.
With your reg file, I edited it to replace references to 'system' in HKLM\system with 'winxp sys'. Therefore, the reg entry would be HKLM\winxp sys instead of HKLM\system.
Then I changed your control set number to my default ccs which is ccs003. Then I went back to the W7 reg, highlighted the winxp sys hive, and activated Import from the File menu. I pointed it to your edited file and it imported your reg data into my win xp hive.
This was all done in a text editor with a search/replace tool.
Saves a lot of grief.

#3440

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3437

> > Zitat von ⇗ XPLives im Beitrag ¶ #3434

> > SATA IDE Compatibility Mode has been gone since SkyLake so say good bye to that. You want that mode you'll need to go back to Z97.
> > Too many messages to sort through but I believe you are on an Intel Coffee Lake 300 Series motherboard.

> @XPLives...thanks for the valuable info re my problem. I am running an Asus B360M which is Coffee Lake. Don't want the mode, I am on a learning curve and thought XP might need it to boot.

> > Zitat von ⇗ XPLives im Beitrag ¶ #3434

> > First you cannot use the floppy drive method ...the driver will not successfully load even though it appears to have loaded something on the floppy disk before BSOD 7B later.

> Wondered about that, I have just been exhaustively through the registry and there is no sign of iaStor. The SP4 update did add it and reg entries to a working version of xp and I am cloning everything re registry and drivers from the good copy to my copy with the apps I need.
> The reason I tried SP4 had nothing to do with paranoia about being hacked, I thought it might provide drivers for the modern mobo which it does. There is a signed version by Fernando for ahci drivers which I am hoping to transfer.

> > Zitat von ⇗ XPLives im Beitrag ¶ #3434

> > Later after you successfully installed XP you can run the unofficial SP4 update inside Windows XP desktop. That is the best way. Don't forget to include the modded ACPI.sys during the setup phase ...

> I used Dietmar's modded acpi.sys and it seems to have gotten me past the 0xA5 error. I used the Driver Packs site on a version of Win 7 on the same mobo. It supplied a few drivers I needed and made W7 solid on this mobo. Don't know if they have anything for XP.
> Just looking in the SP4 working version for an ACPI reference under HKLM\system\ccs\enum but I see no signs of an acpi section. Just looking up Dietmar's post where he included some registry stuff.
> I really just want to get it going. I really enjoyed seeing the old Windows XP boot screen but I got the 0x7b error about that point. Then, I'd like to check out some of the mods you guys are doing.

> > Zitat von ⇗ gordo999 im Beitrag ¶ #3437

> > [quote=XPLives|p3434]
> > SATA IDE Compatibility Mode has been gone since SkyLake so say good bye to that. You want that mode you'll need to go back to Z97.
> > @XPLives...thanks for the valuable info re my problem. I am running an Asus B360M which is Coffee Lake. Don't want the mode, I am on a learning curve and thought XP might need it to boot.
> > [quote=XPLives|p3434]
> > Wondered about that, I have just been exhaustively through the registry and there is no sign of iaStor. The SP4 update did add it and reg entries to a working version of xp and I am cloning everything re registry and drivers from the good copy to my copy with the apps I need.
> > The reason I tried SP4 had nothing to do with paranoia about being hacked, I thought it might provide drivers for the modern mobo which it does. There is a signed version by Fernando for ahci drivers which I am hoping to transfer.

Again totally unnecessary to need SP4. It might only have some additional security updates but nothing that would increase compatibility with games. It's also possible any new updates are not tested for any possible compatibility conflicts. There are no new drivers that you can't download yourself off say nVidia or whatever vendor. Again it's better to NOT integrate a massive driver pack into your install disc. I know it may seem like a good idea but later you will find it isn't when constructing your first installation disc.
I went ahead and renamed my older XP 32-Bit support thread that already was renamed before but I decided to modify the SATA AHCI package that Fernando had uploaded but I found there's too much going on in there and simplified the nLite package for integration to an optical disc.
Forget the SP4, just use a clean XP SP0, 1, 2, or 3 or get XP SP0 and integrate the SP into it using nLite before integrating the SATA AHCI driver. If you need to add more drivers later I recommend you just don't install or integrate them but just manually install them "AFTER" XP is fully booted to the desktop and installed. You are also better off imaging the clean installation before adding any drivers. The only driver that should be integrated is just the SATA AHCI from Intel and that's it. Once you add all that other crap into the registry it's a pain to remove it which is why a clean image after you've installed it without the bloat you can restore again later if you corrupt it.
Then you can start adding the graphics drivers, sound, network, et cetera. Image your OS partition again.
Finally install all your software applications. Image your OS partition again.
That's the best way in case you want to avoid reinstalling everything from scratch or go to an even cleaner OS before drivers / applications installed.
I put the modified SATA AHCI driver here in my old renamed thread.
⇗ Windows 32-Bit OS iNTEL SATA & Gaming Discussions 2000 XP 2003 2009
Just download the file there called:
XP 32-Bit and Server 2003 32-Bit SATA AHCI Driver - Fernando MOD.ZIP
Make sure you pick the correct Hardware ID to integrated that matches your Intel SATA AHCI Hardware Device ID.
If you don't know it then boot into Windows Vista or later.
Copy and paste all the Hardware ID fields for:
Device Instance ID:
Hardware IDs:
Compatible IDs:
Matching Device ID:
I could then construct one specific to your motherboard.
And make sure you at least got a PS/2 keyboard hooked up to your PS/2 keyboard - NO USB ones.
Later if you require a USB mouse you can try using your PS/2 keyboard and install one of the USB 3.0 modded drivers or get a real USB 3.0 PCIe card and install their XP driver. If it's too difficult then get a USB 2.0 PCIe card which usually has built in drivers to work with XP.
The speed difference between USB 2.0 and USB 3.0 I found is around 5 times roughly in XP and Server 2003.
If you don't want to deal with the modded ACPI. - Again in my own tests the best one so far is Daniel_K's. Although Dietmar might have a better one now I just have not had time to test every one of them.
I can tell you the NO ACPI MPS Multiprocessor method works with everything I have tested despite the loss of ACPI related functions. This method works best on Intel CPUs and NOT AMD which may lack a MPS Table so may install as a Standard PC with just 1 core.

#3441

XPLives

> Zitat von ⇗ Andalu im Beitrag ¶ #3438

> @genieautravail
> you can also try this:
> ⇗ https://archive.org/details/icafe-winxp-...-br294594-sep24
> It should be the latest ATI display driver for WinXP 32-bit.

Never tested this but saw this iCafe driver a while back. It might work better on the newer AMD R9 series than the v14.4. So far no one willing to test their R9 to see if it works.

#3442

Mov AX, 0xDEAD

> Zitat von ⇗ LoneCrusader im Beitrag ¶ #3435

> I assume you guys are already aware of this, but at least one set of .PDB files for the TI drivers were leaked at some point.

Wow, rare find !
this version 1.16.3 is not last, but PDB make it very valuable

#3443

daniel_k

⇗ @Mov AX, 0xDEAD
The TI driver gives the following error on Intel controllers:
This device is disabled because the firmware of the device did not give it the required resources. (Code 29)
As this driver works with VIA, which in turn works with the same AMD driver which works with Intel, is most probably compatible.
There should be some "sanity" check somewhere.
If we could patch it, would make it the best driver ever.
Any ideas as to how the driver reports error 29? I believe the issue lies in tixhci.sys, which doesn't provide device resources to tihub3.sys.

#3444 | daniel_k | ⇗ @canonkong Sorry that it didn't help you. When you say "USB disk not work", what you mean exactly? The device is detected but doesn't work? Or device IDs are all 0 (zeros)?
#3445 | daniel_k | ⇗ @LoneCrusader Thanks you very much! Nice to see you here! I've seen a couple of driver with "leaked" PDBs sometimes, but never really pay attention to them.
#3446 | canonkong | ⇗ @daniel_k You can find the letter of the U disk in the computer, but it can't load the capacity and other information, or open the U disk to read the contents.
#3447 | daniel_k | ⇗ @canonkong All other devices, such as input devices (mouse/keyboard) work?

#3448

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #3443

> @Mov AX, 0xDEAD
> Any ideas as to how the driver reports error 29? I believe the issue lies in tixhci.sys, which doesn't provide device resources to tihub3.sys.

- error usualy generated by one of IRP request to driver
- i will check soon this driver on intel controller and give you more info
p.s. year ago i played with intel usb3 win7 driver to run it on winxp, this is log of irq request (DispatchPnp is irp handler):

    DriverAddDevice
    {
      ->BaseDeviceCreate
      ->XhcdCreateController
          ->XhcdInitializeParams
                     +DeferredRoutine_0
                     +DeferredRoutine_1
                     +DeferredRoutine_4
      ->MakeHostName
    }

    DispatchPnp (18 notsupport) IRP_MN_QUERY_LEGACY_BUS_INFORMATION

    DispatchPnp (0D {off[178]=0 result=0}) IRP_MN_FILTER_RESOURCE_REQUIREMENTS

    DispatchPnp (08 notsupport) IRP_MN_QUERY_INTERFACE

    DispatchPnp (08 notsupport) IRP_MN_QUERY_INTERFACE

    DispatchPnp (00 ->WorkerCreate{} IoCallDriver result=STATUS_PENDING) IRP_MN_START_DEVICE
       ->WorkerCreate
             +WorkerEvtRelease
             +IoQueueWorkItem(WorkerRoutine)

    WorkerRoutine
     ->FdoStartDeviceWorker
       ->FdoStartDevice
         ->FdoSendIrpSynchronously
         ->XhcdStartController
    {
          ->ManyCalls0

          ->XhcdInitResources(03 memory 81 private 02 irq)
            ->XhcdRegisterInterrupt
            ->XhcdInitMmIoSpace

          ->XhcdDmaCreate
            ->DispatchPnp (08 notsupport)

          ->XhcdCbmCreate
                     +XhcdCbmResizeEvtProc
            ->BaseThreadCreate
            ->BaseThreadStart
                       +BaseThreadStartRoutine
              ->PsCreateSystemThread

            ->KeSetBasePriorityThread
              ->BaseThreadStartRoutine
                ->XhcdCbmResizeEvtProc(suspend->WaitForSingleObject)

          ->XhcdCbmCreateAny
            ->XhcdCbmInflate (HalAllocateCommonBuffer align error)
               7x { push 7 pop esi mov 0x200, mov 0x1000 }

          ->XhcWaitHCReady
          ->XhcCheckExtendCap
          ->XhcReset
          ->XhcdCreateComBufManagement
          ->XhcdCreateDeviceManagement
            ->XhcdAllocPhyMemorySizeBoundary(HalAllocateCommonBuffer)
              ->XhcdAllocPhyMemoryPageBoundary(HalAllocateCommonBuffer)
          ->XhcdCreateTransferManagement
          ->XhcdCreatePortManagement
          ->XhcdCreateCmdProcess
            ->XhcdInitializeTrbRingParam
          ->XhcdCreateEventProcess
          ->XhcdCreateXferCapProcess
            ->XhcdXferCapThreadStart

          ->XhcdWatchThreadStart
            ->BaseThreadCreate
            ->BaseThreadStart
                         +BaseThreadStartRoutine
              ->PsCreateSystemThread

          ->XhcdTransferThreadStart
            ->BaseThreadCreate
            ->BaseThreadStart
                         +BaseThreadStartRoutine
              ->PsCreateSystemThread

          ->XhcStart

          ->XhcdInitializeController
            4x {
            ->BaseThreadStartRoutine
              ->ISRWorker2
              ->DeferredRoutine_1
                     }

    } ;XhcdStartController

         ->FdoReadPciConfig
         ->CreateRootHubDevice

           ->HubCreateUsbDevice
             ->XhcdSubmitUrb

           ->HubInitializeUsbDevice
             ->BaseThreadStartRoutine
             ->BaseThreadStartRoutine
             ->BaseThreadStartRoutine
             ->XhcdSubmitUrb
             ->XhcdSubmitUrb

         ->GetDeviceCapabilities
           ->DispatchPnp
         ->SomeProc3
         ->pXhcdUpdateCounter
         ->WatchThreadStart
         ->BaseDeviceProcessQueuedRequests
         ->FdoGetTopologyAddress
           ->DispatchPnp
    } ;FdoStartDevice
    ->WorkerEvtRelease

    DispatchPnp (09 res=103)
    DispatchPnp (14 res=103)
    DispatchPnp (07 res=103)
     ->FdoQueryDeviceRelations
       ->FdoPassDownLevels
         ->PdoPnp (09)
           ->PdoQueryCapabilities
             ->GetDeviceCapabilities
               ->DispatchPnp (09 res=103)
         ->PdoPnp (08 PdoQueryInterface notsupport)
         ->PdoPnp (08 PdoQueryInterface support)

#3449 | canonkong | ⇗ @daniel_k Yes, mouse and keyboard both can work.
#3450 | daniel_k | ⇗ @Mov AX, 0xDEAD Thanks for the info. In the mean time, I've managed to "re-add" XP support for last Intel compatible AMD driver 1.1.0.276 from Dec 2018. Too bad the fixes are just related to hub or sleep mode issues (expected, as you've proven that the driver has no issues with PAE on Win7).

## Page 231

#3451 | daniel_k | ⇗ @canonkong Interesting, will do some research later.

#3452

daniel_k

⇗ @Mov AX, 0xDEAD
By the way, the device check is simple.
Just change (unicode):

    PCI\VEN_104C&DEV_8241&*REV_02*

to

    PCI\*

#3453 | daniel_k | ⇗ @Andalu Hi, let's fix the USB3 working as USB2 issue? Got some nice ideas. Did you ever try to install the HCSwitch driver by hacking the INF file? Rename [HCSwitch_PCIF.NTx86.6.1] to [HCSwitch_PCIF.NTx86.5.1] and install the driver.
#3454 | Andalu | ⇗ @daniel_k sorry for the late of my reply. Do you mean HCSwitch from intel usb3 1.0.6.245 driver? If so, I got the error "the specified location does not contain information about your hardware"
#3455 | daniel_k | ⇗ @Andalu HCSwitch must be installed for the PCI Bus device under System Devices.
#3456 | Andalu | ⇗ @daniel_k I get the same message for PCI bus (hardware ID: *PNP0A08)

#3457

daniel_k

⇗ @Andalu
Huh, missed the following:
Replace the line
%STDDEV%=HCSwitch_PCIF,NTx86.6.1,NTx86.6.2
with
%STDDEV%=HCSwitch_PCIF,NTx86.5.1

#3458 | genieautravail | ⇗ @XPLives ⇗ @Andalu Thank you to everyone. I will try to install the drivers this week and I will let you know the results.
#3459 | Andalu | ⇗ @daniel_k the driver update works correctly but on the needed restart I got the bsod 7B (0xBACC3524, 0xC0000034, 0x00000000, 0x00000000) Edit: I just saw your updated post.. I'll try soon ;)

#3460

Andalu

⇗ @daniel_k
the driver update works only if also the line
[HCSwitch_PCIF.NTx86.6.1]
%XHCI.DeviceDesc%=HCSwitch, *PNP0A08
is modified to
[HCSwitch_PCIF.NTx86.5.1]
%XHCI.DeviceDesc%=HCSwitch, *PNP0A08
but on the restart I got the bsod 7B as before

#3461

daniel_k

⇗ @Andalu
Thought it would work right away, sorry.
Can you recover from this?
If not, do the following:
- Boot from another Windows, open Regedit.
- Select HKEY_LOCAL_MACHINE
- File menu -> Load Hive.
- Browse your XP drive and open \WINDOWS\system32\config\System
- Key name may be whatever, such as XP
- Open HKEY_LOCAL_MACHINE\XP\ControlSet001\Enum tree and search for iusb3hcs
- Delete the LowerFilters
- Select the XP tree, open File menu -> Unload Hive
- Boot XP as usual

#3462 | daniel_k | ⇗ @Mov AX, 0xDEAD Trying really hard to find, on VM where it triggers error code 29. On VM the driver loads fine, the "best" I could do was to get error 24 on hub.
#3463 | Andalu | ⇗ @daniel_k No problem, I have to thank you for your time ;) recovering an xp image is faster with a bootable media

#3464

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3440

> Forget the SP4, just use a clean XP SP0, 1, 2, or 3 or get XP SP0 and integrate the SP into it using nLite before integrating the SATA AHCI driver. If you need to add more drivers later I recommend you just don't install or integrate them but just manually install them "AFTER" XP is fully booted to the desktop and installed. You are also better off imaging the clean installation before adding any drivers. The only driver that should be integrated is just the SATA AHCI from Intel and that's it.

@XPLives....thanks again for detailed explanation. I am currently working on my old XP installation without SP4. I have made progress meantime using Dietmar's storahci driver setup. I am now able to boot to the XP boot screen and beyond. However, I am stuck at a nag screen for activation which appears before the logon screen.
If I press 'no' to not activate, the nag disappears for 20 seconds then re-appears. If I hit 'yes' same thing. So it's stuck in a loop of some kind.
If I boot into safe mode, everything is cool till the graphics appear. That is, I get a blank screen with the 'safe mode' boxes in each corner and it is stable but when the graphics appear for the desktop the screen starts blinking and stays that way. That suggests to me a graphics driver problem.
It's the same in the cmd prompt version of safe mode. It tries to load graphics.
With regard to the activation screen I have encountered a similar problem related to the Internet Explorer version. Windows needs IE for the activation process and if the IE version is wrong it stalls. As I recall the solution, you had to update the version from 6 to 8 but now I am reading you have to move it back to 6.
Any ideas on how to replace IE on an offline system?

> Zitat von ⇗ XPLives im Beitrag ¶ #3440

> Once you add all that other crap into the registry it's a pain to remove it which is why a clean image after you've installed it without the bloat you can restore again later if you corrupt it.
> Then you can start adding the graphics drivers, sound, network, et cetera.

I agree totally. However, my registry is loaded with crap I need to remove. I should likely have done it while XP was running on an older system but now I have changed partitions and removed some with apps that XP needs to remove them.
Not to worry, I like this sort of challenge.

> Zitat von ⇗ XPLives im Beitrag ¶ #3440

> Finally install all your software applications. Image your OS partition again.

Well...that's the problem. My layout is so complex that re-installing all the apps would be a major headache. That's why I'm trying to revive the current installation.

> Zitat von ⇗ XPLives im Beitrag ¶ #3440

> I could then construct one specific to your motherboard.......And make sure you at least got a PS/2 keyboard hooked up to your PS/2 keyboard - NO USB ones.

I'll keep that in mind, thanks, I do have a P/S2 keyboard and mouse hooked up.

#3465

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3464

> > Zitat von ⇗ XPLives im Beitrag ¶ #3440

> > Forget the SP4, just use a clean XP SP0, 1, 2, or 3 or get XP SP0 and integrate the SP into it using nLite before integrating the SATA AHCI driver. If you need to add more drivers later I recommend you just don't install or integrate them but just manually install them "AFTER" XP is fully booted to the desktop and installed. You are also better off imaging the clean installation before adding any drivers. The only driver that should be integrated is just the SATA AHCI from Intel and that's it.

> @XPLives....thanks again for detailed explanation. I am currently working on my old XP installation without SP4. I have made progress meantime using Dietmar's storahci driver setup. I am now able to boot to the XP boot screen and beyond. However, I am stuck at a nag screen for activation which appears before the logon screen.
> If I press 'no' to not activate, the nag disappears for 20 seconds then re-appears. If I hit 'yes' same thing. So it's stuck in a loop of some kind.
> If I boot into safe mode, everything is cool till the graphics appear. That is, I get a blank screen with the 'safe mode' boxes in each corner and it is stable but when the graphics appear for the desktop the screen starts blinking and stays that way. That suggests to me a graphics driver problem.
> It's the same in the cmd prompt version of safe mode. It tries to load graphics.
> With regard to the activation screen I have encountered a similar problem related to the Internet Explorer version. Windows needs IE for the activation process and if the IE version is wrong it stalls. As I recall the solution, you had to update the version from 6 to 8 but now I am reading you have to move it back to 6.
> Any ideas on how to replace IE on an offline system?

> > Zitat von ⇗ XPLives im Beitrag ¶ #3440

> > Once you add all that other crap into the registry it's a pain to remove it which is why a clean image after you've installed it without the bloat you can restore again later if you corrupt it.
> > Then you can start adding the graphics drivers, sound, network, et cetera.

> I agree totally. However, my registry is loaded with crap I need to remove. I should likely have done it while XP was running on an older system but now I have changed partitions and removed some with apps that XP needs to remove them.
> Not to worry, I like this sort of challenge.

> > Zitat von ⇗ XPLives im Beitrag ¶ #3440

> > Finally install all your software applications. Image your OS partition again.

> Well...that's the problem. My layout is so complex that re-installing all the apps would be a major headache. That's why I'm trying to revive the current installation.

> > Zitat von ⇗ XPLives im Beitrag ¶ #3440

> > I could then construct one specific to your motherboard.......And make sure you at least got a PS/2 keyboard hooked up to your PS/2 keyboard - NO USB ones.

> I'll keep that in mind, thanks, I do have a P/S2 keyboard and mouse hooked up.

Okay first you got to do some simple things on your Coffee Lake system and get this info for me.
Take another existing Windows Vista, 7, 8.X, or 10 OS install on another drive and hook it to your Coffee Lake system and boot up. Go to Device Manager.
Find your Intel(R) SATA Controller device.
Copy and paste all the Hardware ID fields for:
Device Instance ID:
Hardware IDs:
Compatible IDs:
Matching Device ID:
Get this info and I'll simplify that installer.
I recommend you drop using that SP4 and STORAHCI method for now and you are trying to mix it with an old installation which is worse. If you want to just install XP you can later spend the rest of your time experimenting with other methods later and add it to a new partition on your drive.
I don't know what computer system your XP (old) installation was you are migrating came from. But there are some activation checks that detect any hardware changes and if you are moving from say a Pentium 4 to Coffee Lake it will trigger it and notice your hardware is completely different. You're going to have to do a fresh installation (no choice). The other issue is if you are using a genuine copy or not. If you are and only activated it once you might be able to activate it again after a fresh installation on your Coffee Lake using the telephone number method. But if you do this you'll probably want to clone the old XP copy first and your old copy you might have to keep offline from then on if XP has some sort of deactivation feature to nullify it when caught online?
There might be a way to transfer the activation over to the new system but I never researched heavy into it and it was easier to use a Windows version that didn't require it.
I don't know the exact details of your current drive size and how you partitioned it. What's the partition layout on the drive and how much space is the old XP partition using of the space? You might have to use a second drive and repartition it properly to have multiple XP installations on it and transfer your old partition over to it.
But if your old XP installation is on D:
make a new partition E: - for this clean XP installation method that I'm trying to help you with.
Make another partition F: - when you are ready to mess around with the STORAHCI install method with SP4 once you've completed my version which should work.
Partition Sizes - 32GB would be enough for a few years. If you don't have that much room 8GB would be enough for the install and get some programs on.
I do recommend a larger partition 64GB or larger NTFS for redirecting your Programs Files location which will be the last partition on the drive. You don't want to install all your Programs to your OS partition and make it extremely huge and run out of space.
I still use FAT32 for my OS partitions since I can modify it without booting into another Windows.
So if you want to make it harder for yourself you can keep on the path till you tire out. Also if you want to just test installing XP the easy way then you could still test it out before needing to activate it. I can't remember how long maybe 3 months before the nag screen pops up on a new installation. But in the end you'll probably want to get XP installed on your Coffee Lake and play around before messing with other methods which just complicates things.
Internet Explorer 6-8? I say don't do it for now and not worth your time. It's vulnerable to being hijacked on the internet very easily as soon as you go to some unknown shady site. Then you'll have to go back to a clean image again. Lots of headaches once infected. You could boot into another Windows and then manually delete the files you isolated as trojans/malware but still a complete headache when you can just restore an earlier image in minutes so no point. If you're just viewing web pages offline FireFox can be put in offline mode.
Use FireFox v52.X - Best thing to still get on the Internet today and Youtube videos still work from 1080P to 4K. Though they are removing Flash videos as a priority if you wait long enough and the Video you want to watch is getting lots of views, eventually Youtube converts it to flash so you can watch it. By default Youtube seems to only release videos in HTML5 now first. I haven't spent the time to adapt Firefox to view HTML5. I saw some sites that show you how to do this. Guess I'm lazy on that until they completely kill of Flash. Hopefully this won't happen as we all want to watch "Me At The Zoo" every now and then.
⇗ https://www.youtube.com/watch?v=jNQXAC9IVRw

## Page 232

#3466

LoneCrusader

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3442

> Wow, rare find !
> this version 1.16.3 is not last, but PDB make it very valuable

> Zitat von ⇗ daniel_k im Beitrag ¶ #3445

> @LoneCrusader
> Thanks you very much! Nice to see you here!
> I've seen a couple of driver with "leaked" PDBs sometimes, but never really pay attention to them.

Glad I could be of some help. Hopefully having the PDB files will aid in disassembly...
I went digging for USB3 driver PDB files a year or so ago, rloew and I were attempting to find one that could be loaded under 98SE. He satisfied the missing WDM functions with his WDMEX.VXD driver, but in the end we hit a weird roadblock where the driver appeared to be exiting before crashing. There were a couple of WDM kernel calls that were used in a manner incompatible with 98SE, but he said the driver was exiting before this code was reached (rloew thought he could write a workaround for that, but we never got there, and now that he's gone it's probably lost.) All this is over my head though, lol, I could barely manage to operate the debugger and report what I found to him.
At any rate, I hope to find the time soon to do some experimenting with XP and what you guys are doing. I have an Intel X299 system that I've not even tried to boot the first OS on yet.

#3467

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3465

> Okay first you got to do some simple things on your Coffee Lake system and get this info for me.

@XPLives...thanks again for the reply and the detailed info. I will get the info for you off my SATA controller but there is something I need you to understand.
I am no longer having 0xA5 (related to ACPI) and 0x7b (related to AHCI). I am getting no errors whatsoever, my old XP disk boots to almost the logon screen but it is intercepted by a Windows Activation nag screen.
The title of the nag screen is Windows Product Activation. It read in part "A problem is preventing Windows from accurately checking the license for this computer..."
Everything seems to be working fine with regard to ACPI and the SATA controller, otherwise Windows would not get past the boot screen.
I mentioned Internet Explorer, not because I use it, I don't. I use Firefox. I mentioned it because in the past, when I was trying to load an OS onto a newer mobo, the installation stalled in the same place, at the activation process. It turned out to be Internet Explorer causing the problem.
The existing OS only had IE version 6 and it would not work with the repair install and the new mobo. So, I had to get in there and update it to IE 8. Then the activation part of the install completed and gave me an activation screen.
Right now, the activation screen won't appear because something is stopping the nag screen from completing its routine. It's likely related to Internet Explorer not working for the activation process but it could be any kind of license issue.
I can't get into safe mode. The activation process can cause that. If it has disqualified you Windows won't boot into safe mode.
My license is valid. I own the disk and I bought it years ago.

#3468

XPLives

> Zitat von ⇗ LoneCrusader im Beitrag ¶ #3466

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #3442

> > Wow, rare find !
> > this version 1.16.3 is not last, but PDB make it very valuable

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3445

> > @LoneCrusader
> > Thanks you very much! Nice to see you here!
> > I've seen a couple of driver with "leaked" PDBs sometimes, but never really pay attention to them.

> Glad I could be of some help. Hopefully having the PDB files will aid in disassembly...
> I went digging for USB3 driver PDB files a year or so ago, rloew and I were attempting to find one that could be loaded under 98SE. He satisfied the missing WDM functions with his WDMEX.VXD driver, but in the end we hit a weird roadblock where the driver appeared to be exiting before crashing. There were a couple of WDM kernel calls that were used in a manner incompatible with 98SE, but he said the driver was exiting before this code was reached (rloew thought he could write a workaround for that, but we never got there, and now that he's gone it's probably lost.) All this is over my head though, lol, I could barely manage to operate the debugger and report what I found to him.
> At any rate, I hope to find the time soon to do some experimenting with XP and what you guys are doing. I have an Intel X299 system that I've not even tried to boot the first OS on yet.

Got it.

#3469

Andalu

> Zitat von ⇗ XPLives im Beitrag ¶ #3441

> Never tested this but saw this iCafe driver a while back. It might work better on the newer AMD R9 series than the v14.4. So far no one willing to test their R9 to see if it works.

I'm late for the reply to your post but still in time to thank you for your detailed guides about installing XP on modern systems.
I currently do not have the possibility to try the i-cafe drivers on a R9 270 card. I'm using them on the older R7 250 with no issue but I am not a gamer :)

#3470

Andalu

⇗ @diderius6
I'm sorry to bothering you, but I need your help :) I've read that you're probably the first one who has successfully booted XP from a nvme disk. I would like to do the same on my asrock B250M-Pro4 board which natively supports the NVMe SSD as boot disk. The disk was extracted from a Samsung X5 Portable SSD, PN: MZBLB500HAJQ - controller S4LR020.
I used Windows 10 to initialise the disk using the MBR partition style. Following your advice, I tried to install XP from a boot cd with integrated OFA nvme 1.3 and storport.sys 5.2.3790.4173 via nlite and after txt setup completed without problems, I copied by hand storport.sys to windows\system32\drivers but on restart I got the message: "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk".
In the bios the NVMe SSD disk is not listed as boot device, it appears only in the 'storage configuration' section.
Also all the software I tried to cloning from another XP disk or to recovering an XP image don't allow these operations, the NVMe SSD is greyed out or does not listed. Only when booting from another XP disk I can successfully install the nvme drivers and the disk is correctly recognized in device manager and explorer.
Is there any possibility to solve?

#3471

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3467

> > Zitat von ⇗ XPLives im Beitrag ¶ #3465

> > Okay first you got to do some simple things on your Coffee Lake system and get this info for me.

> @XPLives...thanks again for the reply and the detailed info. I will get the info for you off my SATA controller but there is something I need you to understand.
> I am no longer having 0xA5 (related to ACPI) and 0x7b (related to AHCI). I am getting no errors whatsoever, my old XP disk boots to almost the logon screen but it is intercepted by a Windows Activation nag screen.
> The title of the nag screen is Windows Product Activation. It read in part "A problem is preventing Windows from accurately checking the license for this computer..."
> Everything seems to be working fine with regard to ACPI and the SATA controller, otherwise Windows would not get past the boot screen.
> I mentioned Internet Explorer, not because I use it, I don't. I use Firefox. I mentioned it because in the past, when I was trying to load an OS onto a newer mobo, the installation stalled in the same place, at the activation process. It turned out to be Internet Explorer causing the problem.
> The existing OS only had IE version 6 and it would not work with the repair install and the new mobo. So, I had to get in there and update it to IE 8. Then the activation part of the install completed and gave me an activation screen.
> Right now, the activation screen won't appear because something is stopping the nag screen from completing its routine. It's likely related to Internet Explorer not working for the activation process but it could be any kind of license issue.
> I can't get into safe mode. The activation process can cause that. If it has disqualified you Windows won't boot into safe mode.
> My license is valid. I own the disk and I bought it years ago.

I understood your problem and you're still not willing to give up on your old installation hoping to save yourself some time reinstalling everything. Depending on what your goals are when using XP on the Coffee Lake. If it's meant for gaming then I'd go with a fresh install using my K.I.S.S. method and see if this activation snafu is still happening and if it is then you might want to consider Server 2003 if you're just using it for browsing, word processing, and other non gaming applications. Games probably will work for the most part with most of the titles I've tested but I haven't gone and tested every single title to claim 100% compatibility. With Server 2003 you bypass the entire activation BS you're encountering and can use more of the RAM, add GPT support, and eliminate most of your headaches trying to use IE to activate it. I do remember you could bypass online activation and use a phone number to call method instead as one of the options. You have to decide how valuable your time is and whether or not you want to continue grunting along weeks from now out of stubbornness. It's a shame they implanted that activation BS into XP which is why Windows 2000 was such a beauty to install and why many stuck to it until XP got too popular to ignore upgrading due to dependencies. It's possible Microsoft officially abandoned IE6.0-8.0 support entirely on their site so you probably can't activate it if you could get those browsers online if its dependent on IE.
If you use your old XP copy back on the original system does it no longer have the activation nag or does it still appear?
If you reinstall XP onto the Coffee Lake. I believe there's a token file that's saved once your copy is activated. If you copy this file over to the newly installed Coffee Lake system it might appear activated. I only read about this awhile back somewhere but I have no idea if this actually worked and couldn't explain the actual procedure. But that's just another possibility I could come up with you "could" try to prolong the suffering some more or it could work?

#3472

diderius6

⇗ @Andalu
When the nvme disk is recogniced in XP on your motherboard,
you have good chances for nvme boot of XP.
Let your XP recognice the nvme disk.
This XP you copy with AOMEI Partition Assistant Standard Edition 7.0
to your nvme disk.
If you cant copy this XP via AOMEI it means, that your Bios has no legacy nvme support
and until now I do not find a solution for this
Dietmar
EDIT: I just look in Bios B25MP2.50 for your board.
Your Bios has legacy nvme support, so nvme boot of XP should work.

#3473 | Andalu | ⇗ @diderius6 You are correct, I forgot to mention that my board boots with another SSD NVME M.2 drive (sandisk SD8SN8U-256G-1012). I already used Aomei Partition Assistant Pro 8.2 with no success, the samsung NVMe SSD is greyed out. I don't understant why the firts step of XP installation (text mode) ends normally with the classic reboot but the next step with GUI is not allowed.

#3474

diderius6

⇗ @Andalu
May be, that storport.sys isnt any longer in
windows\system32\drivers
Just copy it there again.
Dietmar
PS: You need to clearify situation: Best is to let recognice XP the nvme disk first, where you want to copy your working XP from harddisk. After Aomei copied this XP from harddisk to your nvme device, disconnect all, only the nvme drive stays connected.

#3475

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3470

> @diderius6
> I'm sorry to bothering you, but I need your help :) I've read that you're probably the first one who has successfully booted XP from a nvme disk. I would like to do the same on my asrock B250M-Pro4 board which natively supports the NVMe SSD as boot disk. The disk was extracted from a Samsung X5 Portable SSD, PN: MZBLB500HAJQ - controller S4LR020.
> I used Windows 10 to initialise the disk using the MBR partition style. Following your advice, I tried to install XP from a boot cd with integrated OFA nvme 1.3 and storport.sys 5.2.3790.4173 via nlite and after txt setup completed without problems, I copied by hand storport.sys to windows\system32\drivers but on restart I got the message: "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk".
> In the bios the NVMe SSD disk is not listed as boot device, it appears only in the 'storage configuration' section.
> Also all the software I tried to cloning from another XP disk or to recovering an XP image don't allow these operations, the NVMe SSD is greyed out or does not listed. Only when booting from another XP disk I can successfully install the nvme drivers and the disk is correctly recognized in device manager and explorer.
> Is there any possibility to solve?

There might be an easier way to get this to work. Maybe I can test this on Coffee Lake which should mean it works on your system.
First which link to driver for OFA nvme 1.3?
And which link to driver storport.sys 5.2.3790.4173?
Aside from trying diderius6 suggestion maybe you can try this also.
Use 98SE DOS boot and FDISK.
Partition C: for FAT16 for 98SE DOS boot
Partition D: for FAT32 for XP
Install XP to D: with Intel SATA AHCI driver only not mixing with STORAHCI or any other drivers to SSD Drive.
Inside XP OS install the NVME driver manually using Device Manager.
Do a clone of your SSD Drive to NVME to get the C: and D: partitions identical.
Remove your original XP SSD and any other USB storage devices connected just so no other Boot Device will be detected accidentally to boot from in BIOS.
In the BIOS select NVME as the Primary Boot Device if not set.
Reboot and it should attempt to boot into XP OS on your NVME.

#3476

Andalu

⇗ @diderius6
In all attempts I copied by hand storport.sys into c:\windows\system32\drivers folder after the 'txt setup' and before the reboot for the 'gui' step. I always verified that all the OFA files were present, but on the restart I got the usual message: "Windows could not start because of a computer disk hardware configuration problem.... etc").
I followed your advice on Aomei but in all cases (disk copy, partition copy and migrate OS to SSD) I got the message:
"the bytes per sector on the source and the destination disk are not equal, so the program is unable to copy".
⇗ @XPLives
the link is from diderius6:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (14)
I also know the links on sourceforge.net and reboot.pro
I'll try your method soon ;)

#3477

daniel_k

⇗ @Andalu
Make your life easier by properly integrating storport.sys:
Just add this to TXTSETUP.SIF, under storprop.dll

    storport.sys = 1,,,,,,3_,4,0,0,,1,4

This must also be present in DOSNET.INF, in section [FloppyFiles.x] (where x can be 1, 2 or 3) and in section [Files].

    d1,storport.sys

No more files need to be edited.

#3478

FireKillerGR

Hello guys,
with all the posts and files flying around I got a bit confused.
Can I make an older XP image I got to be compatible with Z390?
At the moment I get that bios isnt ACPI compliant.
Will this be fixed if I replace the ACPI.sys in the system32/drivers/ folder?
Or do I have to make a clean installation of the OS?
If thats the case what should the procedure be to get it to work?
a) install ahci drivers -> b) install without acpi (mps?) and then replace the acpi.sys to make it work?
Thanks in advance

#3479 | skullteria | Well, i can edit Hal from Windows XP x64 with my own Reset display, maybe based on Reactos Code. Reactos use a Fast486 lib to emulate BIOS. It can solve the problem with winload.

#3480

diderius6

⇗ @Andalu
"the bytes per sector on the source and the destination disk are not equal, so the program is unable to copy"
means, that the disk structure on your original XP harddisk and on your nvme disk are different.
This you can solve with Gparted on CD
Dietmar

## Page 233

#3481 | diderius6 | ⇗ @FireKillerGR Yes, this works, if have done hundreds of times. Most easy is to use STORAHCI and modded acpi.sys Dietmar

#3482

cedar

⇗ @skullteria
Big thanks for the Storahci driver which made XP 32 work on my AMD Prime B350.
At the moment,
anything with audio (Winamp, Kmplayer, Potplayer will reboot my XP64 or 2003
64 bit within a minute or two, probably ACPI 64 or HdAudiobus.sys related.
But I can run older ffmpeg64 version 3.1.2 to backup files in x265 formats.
But newer ffmpeg 64 versions need Numanode function to run x265.
I like to test some of the One Core API capabilities.
Can your One Core API files solves this dependency? If so,
Which files are needed to be replaced in XP64?.

#3483 | antome | guys I'm trying to install xp32 on asus xi gene z390 and 9900k. I took the original cd of xp sp3 copied the content on the pc, opened acpi5048_intel_amd_final.rar (acpi.sys) and created with cabmaker 1.4 the acpi.sy_ file and replaced in the 386 folder. Created the iso with nlite integrating the drivers sata of fernando . The installation crashes returning an error iostore.sys is corrupt. Where am I wrong?
#3484 | diderius6 | ⇗ @antome Take the STORAHCI driver Dietmar
#3485 | daniel_k | ⇗ @Mov AX, 0xDEAD Did some tests here, maybe tihub3.sys has some issues when used with Intel XHCI? Hacked the tixhci.sys driver to use ASMedia-like hub IDs. Then let Windows install the ASMedia hub driver, it is loaded but crashes...
#3486 | antome | ⇗ @diderius6 where do i find it, is a modified version to work with this modified acpi.sys? thanks
#3487 | diderius6 | ⇗ @antome ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (211) Dietmar

#3488

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3471

> I understood your problem and you're still not willing to give up on your old installation hoping to save yourself some time reinstalling everything. Depending on what your goals are when using XP on the Coffee Lake. If it's meant for gaming

⇗ @XPLives
⇗ @diderius6
....it's far more complicated than that. If it was just gaming, I already have a working copy of XP with the SP4 unofficial update just waiting to be activated. It is a fresh install.
If you know anything about debuggers that will only run on an x86 XP machine you'll understand what I'm dealing with. That, and the associated apps used in x86 debugging. It was a nightmare setting them up in the first place on a running XP system on a mobo that would run XP natively.
I am getting closer all the time. Last night I was able to use the working version of XP to create a Recovery Console choice in my boot menu that actually starts, It stops with an A5 error, however, and I need to somehow include the acpi.sys of Dietmar. The acpi.sys in the c:\cmdcons directory is compressed and I am going to test today to see if I can replace it with Dietmar's ACPI.sys version.
The fact that the unofficial SP4 upgrade can create an XP install disk that will create a working copy of XP on an 8th gen mobo means there is something in the drivers inserted during the slipstream that allow XP to boot to the desktop.
Obviously, the acpi.sys they use does not work in the Repair Console files in C:\comdcons but it allows me to boot without an 0xA5 bsod.
Go figure.

#3489

cedar

⇗ @diderius6
I tried the outer space acpi.sys yesterday on Ivy system. It worked!
both in Ivy and Ryzen system. By the same logic, 64 bit outer space
acpi version perhaps can solved some stability issues in XP64 too.
I still have to boot on average 3 times to get into XP64 SP2, SP1 or 2003.
If Realtek driver is disabled, Kmplayer can run for hours without crashing.
When enabled, computer will reboot with any applications which use sounds,
sometimes with irq not less than error message.
I can also encode x264 or x265 for hours without problems. But loading
Coretemp while encoding seem to crash XP64 too.

#3490

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3487

> #3159Dietmar

⇗ @diderius6
Dietmar...I wonder if I could apply that fix, or just your straight modded acpi.sys to the C:\cmdcons directory to get a Repair Console selection in the boot menu?
I created a new cmdcons directory using a version of XP SP3 with the unofficial XP upgrade and it booted to the desktop. I inserted the slipstreamed XP SP3/SP4 disk into the CD drive and in a command console in the i386 directory performed the command winnt32.exe /cmdcons. It created a new cmdcons directory in C:\ that actually works. However, I get the old 0xA5 ACPI error as the Windows screen starts.
I am going to replace the existing compressed acpi.sy_ with your version to see if it helps. There is also a small registry hive in cmdcons under an extension .HIV. It can be loaded in a W7 registry using the Load Hive function under another name.
Please note that the c:\cmdcons is a hidden directory unless you have turned off the 'hide system files' feature within XP. All the files are read only but the Attrib -r makes them writable.

#3491

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3485

> Hacked the tixhci.sys driver to use ASMedia-like hub IDs. the driver is loaded, but crashes...

⇗ @daniel_k
Just curious, are you using windbg or just a straight code read in IDA? I started tracing the full USB system a couple of month ago using windbg remotely in kernel mode but my skills on windbg are seriously noobie. I got dragged off on another project and I'm only getting back to it now.
Part of the reason I want to get my working XP (existing on disk) install going is so I can debug live using a far better (IMHO) debugger than windbg. I am kidding in part because windbg allows me remotely to stop an OS while it's booting and follow the boot process.
I have the far better debugger going in a VM but that does not help when tracing at the hardware level. Too much interference from the VM software. Since my version of XP is 32-bit, I should be able to use my x86 debugger in that XP environment to trace USB driver action.

#3492

Andalu

⇗ @XPLives
I followed your advice and I tried to clone the NVME disk with Aomei but I got again the message: "the bytes per sector on the source and the destination disk are not equal, so the program is unable to copy". And I don't know how to solve this issue.
⇗ @daniel_k
I changed the two files and this time the storport.sys is correctly copied in the system32\drivers and it is never missed at end of the txt installation setup. But at reboot the message "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk" appears again.
Only a bit note: in DOSNET.INF, in the section [FloppyFiles.x] I have the 'x' and no number.
⇗ @diderius6
I don't know how to modify the disk structure with Gparted. I will try to find some guide.

#3493

cedar

⇗ @gordo999
Can you build a new fresh working XP , then merge "only" the new system hive to
your old working XP?. Afterward, use the old "Documents and Settings" too.
I cannot guarantee it will work every time. I did that sometime, if XP conditions are very similar,
,and same disk drive,it may work.
Meanwhile use Ycopy to clone the old XP folders just for safe keeping.

#3494

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3492

> ... got again the message: "the bytes per sector on the source and the destination disk are not equal

@Andalu....this could provide a headache for you depending on the situation. Does your NVRAM module state the number of bytes per sector or whether it uses a 512 bytes per sector emulation?
The problem is likely that your current system uses a standard 512 bytes/sector and the target drive uses a newer technology wherein the formatting is written in 4096 bytes/sector chunks.
There are two types of formatting: real physical formatting and logical formatting. If a disk is written from the factory with 512 bytes/sector, a file system like NTFS can create a logical format on top of that which resides in the OS and not on the disk. That's why when you convert from a FAT32 system to NTFS it gives you the option to write the logical partition at 512, 4096, etc. bytes per sector.
Easeus claims they have an ability to clone disks between different formatted surfaces but the feature is in their paid version only. Even at that I'd be wary. If a disk is written with the new Advanced format, it seems the sectors are hard-written at 4096 bytes per sector, in which case a disk written at 512 bytes/sector may not be clonable.
Don't quote me on this, it just FYI.

#3495

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3493

> Can you build a new fresh working XP , then merge "only" the new system hive to your old working XP?. Afterward, use the old "Documents and Settings" too.

@cedar...thanks for suggestion. I have already merged pertinent parts of the new system hive related to acpi and sata controllers. I don't know of any utility that will automate the process.
My old system hive is a veritable junk yard of old drivers, etc. I have hardware listed in there, like a Plextor CD/DVD drive that gave up the ghost at least 10 years ago.
So, yes, I will try your suggestion if push comes to shove. Since the working copy was used to make the Recovery Console and it boots cleanly to the desktop, I was hoping it would include an acpi system that worked in the Recovery Console.
We would not expect thing to work out that easily, would we?

## Page 234

#3496 | cedar | ⇗ @gordo999 There are 2 lines of XP acpi.sys now. Also try the one from outer space version,thanks to diderius6. This one can run on older system too. It saves time if you need to move the disk between older and newer computer to trouble shootings.

#3497

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3496

> There are 2 lines of XP acpi.sys now. Also try the one from outer space
> version,thanks to diderius6.

⇗ @cedar
OK..thanks. The outer space version from Dietmar (diderius6) got me going past the 0xA5 bsod on my older XP OS.
I'll look for the other one as well. I began reading through this thread from the beginning but I have only reached page 10. Still have a lot of stuff to read about.

#3498

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3483

> guys I'm trying to install xp32 on asus xi gene z390 and 9900k. I took the original cd of xp sp3 copied the content on the pc, opened acpi5048_intel_amd_final.rar (acpi.sys) and created with cabmaker 1.4 the acpi.sy_ file and replaced in the 386 folder. Created the iso with nlite integrating the drivers sata of fernando . The installation crashes returning an error iostore.sys is corrupt. Where am I wrong?

IaStor.sys is corrupt error is due to incorrect Hardware ID selected for the Intel SATA AHCI device.
Do this for me and I will try to combine this with gordo999's, and lonecrusader's X299, and yours for nlite SATA driver integration.
Take another existing Windows Vista, 7, 8.X, or 10 OS install on another drive and hook it to your X299 system and boot up. Go to Device Manager.
Find your Intel(R) SATA Controller device.
Copy and paste all the Hardware ID fields for:
Device Instance ID:
Hardware IDs:
Compatible IDs:
Matching Device ID:

#3499

XPLives

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3485

> @Mov AX, 0xDEAD
> Did some tests here, maybe tihub3.sys has some issues when used with Intel XHCI?
> Hacked the tixhci.sys driver to use ASMedia-like hub IDs. the driver is loaded, but crashes...

Don't give up. Keep plowing that driver till it works.
Both the Asmedia and Intel xHCI probably will have problems due to ACPI even with your modded ACPI.SYS.
Have you tried using NO ACPI MPS Multiprocessor install method on unmodded BIOS? I believe it will work properly if you try this.

#3500

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3488

> > Zitat von ⇗ XPLives im Beitrag ¶ #3471

> > I understood your problem and you're still not willing to give up on your old installation hoping to save yourself some time reinstalling everything. Depending on what your goals are when using XP on the Coffee Lake. If it's meant for gaming

> @XPLives
> @diderius6
> ....it's far more complicated than that. If it was just gaming, I already have a working copy of XP with the SP4 unofficial update just waiting to be activated. It is a fresh install.
> If you know anything about debuggers that will only run on an x86 XP machine you'll understand what I'm dealing with. That, and the associated apps used in x86 debugging. It was a nightmare setting them up in the first place on a running XP system on a mobo that would run XP natively.
> I am getting closer all the time. Last night I was able to use the working version of XP to create a Recovery Console choice in my boot menu that actually starts, It stops with an A5 error, however, and I need to somehow include the acpi.sys of Dietmar. The acpi.sys in the c:\cmdcons directory is compressed and I am going to test today to see if I can replace it with Dietmar's ACPI.sys version.
> The fact that the unofficial SP4 upgrade can create an XP install disk that will create a working copy of XP on an 8th gen mobo means there is something in the drivers inserted during the slipstream that allow XP to boot to the desktop.
> Obviously, the acpi.sys they use does not work in the Repair Console files in C:\comdcons but it allows me to boot without an 0xA5 bsod.
> Go figure.

Try the other ACPI mod that I tested working from Daniel_K.
I placed it at the link below so it is easier to find on the first page.
⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
DK_ACPI XP 2003 32-Bit and 64-Bit Z370 Z390 Coffee Lake MOD 10-10-2019.ZIP
If that still doesn't work... Here's the only method that will probably guarantee success.
Get those Hardware IDs info I asked for so I can create the driver for nlite.
We will use a clean XP SP3 ISO or at least XP SP0 or SP1 if using large capacity drives > 128GB.
You will have to "NOT" use any modded ACPI.sys nor STORAHCI driver for this test.
You will not use any modded USB drivers for this test.
You will have to use the F7 "NO ACPI" MPS Multiprocessor method to install XP OS fresh.
Have a USB 2.0 PCIe card installed.
Final suggestion when even this does not work.
If your programs are having issues and it still doesn't work in this NO ACPI MPS mode then I think you will have to go back to Ivy Bridge Z77 or Broadwell Z97 if you want full compatibility and less headaches. X99 might also work but haven't had the opportunity yet to test compatibility.

#3501

XPLives

⇗ @cedar

> Zitat von ⇗ cedar im Beitrag ¶ #3489

> @diderius6
> I tried the outer space acpi.sys yesterday on Ivy system. It worked!
> both in Ivy and Ryzen system. By the same logic, 64 bit outer space
> acpi version perhaps can solved some stability issues in XP64 too.
> I still have to boot on average 3 times to get into XP64 SP2, SP1 or 2003.
> If Realtek driver is disabled, Kmplayer can run for hours without crashing.
> When enabled, computer will reboot with any applications which use sounds,
> sometimes with irq not less than error message.
> I can also encode x264 or x265 for hours without problems. But loading
> Coretemp while encoding seem to crash XP64 too.

Ivy Bridge system should work without outerspace acpi.sys. Better to use built in one from Microsoft on Ivy Bridge since BIOS is ACPI compliant.
For Ryzen modded acpi.sys is needed because missing MPS Table will result in single core only installation as NO ACPI Standard PC.
Also funny things can happen on modded ACPI.sys I tested on "innerspace" diderius6 acpi.sys. System seemed very sluggish even when increasing Clock Speed and Cores made not much difference. Later I will have to retest as this could have been due to faulty equipment as I believe part of the issue was possibly my SATA data cables were defective after later troubleshooting using the same cables on Intel motherboard I noticed a few weeks ago taken from the AMD AM4 MB test system the same sluggish defective behavior or drive not detected during boot process. So it's possible the older "innerspace" driver could be good when using "good" SATA cables.
But the graphics card still showed up in Device Manager for AMD AM4 which was good during that old experiment. But the same Did6 ACPI on Intel systems Z370 the graphics card and onboard graphics was missing in Device Manager until Daniel_K's acpi.sys for 300 series it showed for the first time on ACPI but still issues with games not working properly.
Also what programs are you "requiring" the XP/2003 64-Bit version? I found that XP and 2003 32-Bit version seems more stable and easier to use even with NO ACPI.

#3502

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3469

> > Zitat von ⇗ XPLives im Beitrag ¶ #3441

> > Never tested this but saw this iCafe driver a while back. It might work better on the newer AMD R9 series than the v14.4. So far no one willing to test their R9 to see if it works.

> I'm late for the reply to your post but still in time to thank you for your detailed guides about installing XP on modern systems.
> I currently do not have the possibility to try the i-cafe drivers on a R9 270 card. I'm using them on the older R7 250 with no issue but I am not a gamer :)

For AMD R5 230 fanless model probably be good enough for your system if not gaming. Will last forever since no fan to die. I didn't have the chance to test yet but bought a used one. It has official XP driver support for non gaming but good for HTPC DVD/Blu-ray playing. But I find nVidia models GT 710 to be much better although GT 930 would have been the best if released.
Also R9 testing was not directed to you, but anyone who might own it. :)

#3503

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3492

> @XPLives
> I followed your advice and I tried to clone the NVME disk with Aomei but I got again the message: "the bytes per sector on the source and the destination disk are not equal, so the program is unable to copy". And I don't know how to solve this issue.
> @daniel_k
> I changed the two files and this time the storport.sys is correctly copied in the system32\drivers and it is never missed at end of the txt installation setup. But at reboot the message "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk" appears again.
> Only a bit note: in DOSNET.INF, in the section [FloppyFiles.x] I have the 'x' and no number.
> @diderius6
> I don't know how to modify the disk structure with Gparted. I will try to find some guide.

Yes you cannot clone the entire drive due to "different" actual total capacity. Only works with identical drives.
Only way is to image C: and D: partitions to their own files.
Then do the same FDISK to create the same C: and D: partitions on NVME drive in 98SE DOS.
Then restore the C: and D: file images to each respective partition.
Then disconnect all other SATA and USB drives and only NVME drive installed. Make sure BIOS set for Primary Drive as NVME only.
I found I can make NVME 98SE DOS bootable. I remember there was some strange issue I can't remember. Perhaps I couldn't format the C: partition in 98SE DOS so I used my cloned C: image that was 98SE DOS bootable and transferred it to that partition and it was bootable as well on NVME. First! :) Funny to see 98SE DOS boot on NVME and 98SE Splash Logo on Coffee Lake.

#3504

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3495

> > Zitat von ⇗ cedar im Beitrag ¶ #3493

> > Can you build a new fresh working XP , then merge "only" the new system hive to your old working XP?. Afterward, use the old "Documents and Settings" too.

> @cedar...thanks for suggestion. I have already merged pertinent parts of the new system hive related to acpi and sata controllers. I don't know of any utility that will automate the process.
> My old system hive is a veritable junk yard of old drivers, etc. I have hardware listed in there, like a Plextor CD/DVD drive that gave up the ghost at least 10 years ago.
> So, yes, I will try your suggestion if push comes to shove. Since the working copy was used to make the Recovery Console and it boots cleanly to the desktop, I was hoping it would include an acpi system that worked in the Recovery Console.
> We would not expect thing to work out that easily, would we?

One time I had a corrupted XP install that I wanted to keep. Actually it's this one I am still using. Similar to you I didn't want to reinstall from scratch but could use an earlier image from before to restore .
However maybe you could transplant your old XP into a fresh Coffee Lake install but it may be tricky and may or may not work.
What was the older system Motherboard Make and Model the XP was installed on? And were you connected on SATA controller or IDE?
Inside
X:\WINDOWS\system32\config
You can copy the entire contents of the old XP drive from this directory and transplant into the Coffee Lake new install and see what happens. Make a backup of your X:\WINDOWS\system32\config on your Coffee Lake before doing this so you can restore back and try other tests.
Sometimes this might fail so you might have to only copy specific one branch only and see how it reacts as copying all branches it might crash.
Probably try copying SOFTWARE first to Coffee Lake and boot and see if it looks like your entire Software branch is showing up.
Next you can try copying SYSTEM but no idea if strange behavior can occur or better to not integrate this if Software branch is enough.
If XP reintegrates itself properly then you might have a possible working transfer of the older XP system registries. Some programs may still need to be "reinstalled" to work properly but some may work just fine.
Again this isn't recommended but if you have time to kill this might be worth investigating. But regarding your activation issue you probably can't get around this so better to use a new install or Server 2003 so you can transplant your OS in the future to any system without that BS.

#3505

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #3491

> @daniel_k
> Just curious, are you using windbg or just a straight code read in IDA?

For now, straight code read in IDA.
Still need to (learn to) setup kernel debugger.
Last time I used a KD, was SoftICE for Windows 9x.
Usually I use OllyDbg, but that's for user mode.

#3506

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3492

> @daniel_k
> I changed the two files and this time the storport.sys is correctly copied in the system32\drivers and it is never missed at end of the txt installation setup. But at reboot the message "Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk" appears again.
> Only a bit note: in DOSNET.INF, in the section [FloppyFiles.x] I have the 'x' and no number.

Are you using a disc modified with nLite? If so, that's expected as it merges all sections into one.
About the boot error... Are you trying to boot from NVME? If so, Dietmar has experience with this, didn't try it myself yet.

#3507

cedar

⇗ @XPLives, ⇗ @Daniel_K
It is very likely the SATA cable caused sluggishness. When moving
hard disk between computers, causing the cable not perfectly fit,
I got the same sluggishness when copy files, like 2MB/s.
Once readjusted the cable, may take several tries.
Speed went back to 50+ MB/s.
I use 64 bit ffmpeg.exe, or x265.exe to encode TS files to x265 format.
64 bit is about 35% faster than 32 bit versions. For x264 format,
it is about 10% faster only. So I prefer encoding inside XP64 than XP32.
When done, the batch file notify me with any 1 of the below
start /min mplay32 /play /close %WINDIR%\media\tada.wav
start /min "F:\Program Files\Winamp\winamp.exe" b:\sound\song.mp3
start /min mplay32 /play /close b:\sound\song.mp3
tada.wav is only 1 second long. will less likely to crash XP64, 2003.
But a 2 min long song.mp3 will always reboot XP or 2003 in less than a minute.
Media player classic, Potplayer, Kmplayer, winamp all reboot XP64
or 2003 x64 in less than a minute unless Realtek audio device driver is disabled.
It is strange because sounds or musics played fine, no stuttering before
sudden reboot. I tried at least 3 versions of Realtek Audio drivers which
can installed and play sounds fine until sudden reboot within minutes
of any applications which play sounds.
Memory spaces are progressively being corrupted once sounds are played!
Daniel_K may have some good insight into this. I suspect irq issues
as sometime it BSOD with irq not less than equal... message
after sounds are played.
I will ask Daniel_K if he can help fixing the Realtek audio issue.

#3508 | cedar | ⇗ @daniel_k Could you please read #3507? Thanks for the great driver. My IVY system can run USB 3.0 for months with no issue.
#3509 | antome | I have made some small steps forward, now I get to formatting the disk with acpi active, without having a5 errors, but at the end of copying the files(99%) I get a problem on the row 0 hivesys.inf is damaged

#3510

Andalu

⇗ @gordo999
thank you for the clarification. Indeed my nvme ssd disk has 4096 bytes per sector instead the disk with XP installed has 512 bytes per sector. So this is a way not achievable... my headache goes on :)
⇗ @XPLives
Windows98SE dos version and so FDisk don't detect my NVME SSD disk. I had to create the two partitions C: (fat16) and D: (fat32) with aomei partition assistant bootable media. But I was unable to perform the copy disk operation.
The nvme disk never appears in the bios as bootable device.
⇗ @daniel_k
I tried both cd and pendrive modified with nLite and thanks to your suggestion there is no longer the need to copy by hand storport.sys to system32\drivers folder all the times.
Dietmar has already suggested me to modify the disk structure with GParted but at moment i have not found the way to do or, more likely, I don't know how to proceed.

## Page 235

#3511 | cedar | ⇗ @antome Never got any corrupt hivesys.inf problem in my XP installs. Perhaps hard disk problem or very fragmented hive.

#3512

genieautravail

Following my message on the BIOSTAR A10N-8800E motherboard:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (228)
Here some notes about the missing drivers:
SM bus controller:
PCI\VEN_1022&DEV_790B&SUBSYS_790B1022&REV_4A\3&11583659&0&A0
USB bus controller:
PCI\VEN_1022&DEV_7914&SUBSYS_79141022&REV_20\3&11583659&0&80
PCI coding/decoding controller:
PCI\VEN_1022&DEV_1578&SUBSYS_15781022&REV_00\3&11583659&0&40
Video controller:
PCI\VEN_1002&DEV_9874&SUBSYS_1C401002&REV_C4\3&11583659&0&08
About the SM bus controller:
I have two drivers, one come from the driverpacks solutions website and the other one from driverpacks.net was already in my disk image (C:\D\C\A\SMBUSamd.inf)
Only the one from driverpacks.net can be installed.
⇗
About the USB bus controller:
Again, I have two drivers, one come from the driverpacks solutions website and the other one from driverpacks.net was already in my disk image (C:\D\M\U3\amdxhc.inf)
The two can be installed.
⇗
About the PCI coding/decoding controller:
No driver exist for XP.
The situation will stay like this.
About the video controller:
The most problematic.
I have four packages of drivers and I have tried every Radeon Rx video controller.
XP has accepted to install some of them but none of them can be activated.
The only one solution for the video controller is to mount a graphic card on the PCI-Express 3.0 x16 slot.
I have a lot (eight) of graphic cards Radeon HD 4550, 5450 and 6450 in my stock of hardware.
So, for me it will be easy to resolve the issue but I can't mount the motherboard in a tiny case
What I wanted to do when I have purchased it.
A much larger case is needed.
Fortunately, I have an empty case LC-POWER LC-1400mi available!

#3513

infuscomus

⇗ @daniel_k ⇗ @diderius6
I've made a patched ntoskrnl.exe and hal.dll (multiprocessor versions) that satisfy dependencies of ACPI 5365 for XP.
if you have the time, can you test it?
infuscomus has attached files to this post

- ⇗ acpi_5365_test.zip

#3514

diderius6

⇗ @infuscomus
I just test your files.
I get message, that dlls are missed for hal.dll.
This message I have seen before. It appears,
when other dlls from Vista are missed for bootprocess,
there are some of them more than in XP SP3
Dietmar

#3515 | infuscomus | ⇗ @diderius6 did it say which dlls were missed for hal.dll?

#3516

infuscomus

⇗ @diderius6
i just noticed in import table - ntoskrnl.dll - i will fix
fixed
infuscomus has attached files to this post

- ⇗ halmacpi.zip

#3517

diderius6

⇗ @infuscomus
Same message as before.
Hal needs more dlls in "Vista"
Dietmar
PS: As far as I remember there where about 6 extra dlls in Vista for hal,
compared to XP SP3

#3518 | infuscomus | ⇗ @diderius6 I'm hoping this is the problem here - ⇗ I'll fix it tomorrow, for now i'm off to bed.

#3519

FireKillerGR

ok so what I did was:
a) get acpi.sys and syssetup.sys to .sy_ (via cmd) and replace the installation files under i386 (Windows XP Sp3)
b) install Fernando ahci drivers via nlite
c) install windows normally
issue is that after the restart I got the known A5 bios isnt acpi compliant error.
Any thoughts? What am I missing?
Edit: woks fine now :)

#3520

gordo999

@XPLives....got it going. My old system is now right to the desktop awaiting a 30 day activation period. It's amazingly solid. I had to tweak a few addresses that were still pointing to the old D: partition but most of my main apps are running on the new mobo.
My priority now is to get LAN drivers going so I can reach the Net via a network connection through my laptop's wifi. I am currently networked with the laptop via W10 and W7 on an Intel(R) Ethernet Connection (7) 1219-V. It's using an e1d62x64.sys driver. Of course, my XP is x86.
I'd also like to get USB working if possible...for my keyboard and mouse. PS/2 works OK but so far I am stealing the mouse from my laptop. Have to get out an buy another corded mouse.
I'd also like to slipstream ACPI and AHCI drivers into my XP SP3 install disk so I can run a proper repair install.
Here's the data you asked for:

    Device Description

    Intel(R) C600+/C220+ series chipset SATA AHCI Controller

    ***
    Hardware IDs

    PCI\VEN_8086&DEV_A352&SUBSYS_86941043&REV_10
    PCI\VEN_8086&DEV_A352&SUBSYS_86941043
    PCI\VEN_8086&DEV_A352&CC_010601
    PCI\VEN_8086&DEV_A352&CC_0106

    ****

    Compatible IDs

    PCI\VEN_8086&DEV_A352&REV_10
    PCI\VEN_8086&DEV_A352
    PCI\VEN_8086&CC_010601
    PCI\VEN_8086&CC_0106
    PCI\VEN_8086
    PCI\CC_010601
    PCI\CC_0106

    ***

    Matching Device ID

    pci\ven_8086&dev_a352&cc_0106

#3521

gordo999

> Zitat von ⇗ FireKillerGR im Beitrag ¶ #3519

> issue is that after the restart I got the known A5 bios isnt acpi compliant error.
> Any thoughts? What am I missing?

@FireKillerGR...Dietmar's (diderius6) acpi.sys from outer-space solved the 0xA5 issue for me. You can find a link a few pages back. I understand there is another ACPI version from daniel_k, I think, but I have not checked that out.
I used it recently on my XP recovery console. Their acpi.sys was in compressed format as acpi.sy_ but I simply substituted Dietmar's acpi.sys with no compression and the 0xA5 error disappeared.
BTW...how did you compress that file using CMD window? I know of the expand.exe function but I searched recently for a compression function and could not find one.

#3522 | FireKillerGR | if I recall correctly I used the makecab command

#3523

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3500

> Have a USB 2.0 PCIe card installed.

@XPLives...thanks again for all your help. As I told you in another reply my old XP system is now at the desktop and stable.
I have an external USB card which offers both USB 2 and 3 but it's aimed at W7 and above. I'm pretty sure it has no XP drivers, although I will check.
The Device decription is VIA USB eXtensible Host Controller
Main hardware ID is PCI\VEN_1106&DEV_3483&SUBSYS_34831106&REV_01
It also takes a DEV_3483&CC_0C03
I am not asking you to do work on this for me, just letting you know the basics about the card. It obviously has it's own onboard controller.
I would really like to get the USB ports on the mobo going. I recently used canon kong's USB driver to do that with W7. Of course, W10 drives the mobo ports naturally.
Not sure on the story, I think canon kong was working with daniel_k. I know daniel_k has a USB driver out but I have not read far enough through this thread to know what is what.

#3524

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3505

> Still need to (learn to) setup kernel debugger. Last time I used a KD, was SoftICE for Windows 9x.

⇗ @daniel_k
You have done amazingly well if all you are using is IDA for cold code reading. It's a real art in itself which I have used on many an occasion at a basic level but usually in conjunction with a debugger and a hex editor.
I have even used softice in W98 and to work with DOS mode apps. It wasn't all that stable in those days.
As you know, you can set up a kernel mode session in windbg using a VM. I have used softice on a VM in XP but I needed to get at real hardware, which is a problem with a VM. For one, much of the hardware the VM uses is built in and virtual. For another, it's code is always interfering during kmode traces.
So, I built myself a serial debugger arrangement using a laptop as host and a desktop as the target. The laptop has no serial port so I bought a USB to serial adapter from StarTech. It plugs into a USB port on the laptop (running W7) and the other end of the module has a serial cable which plugs into a serial port on my desktop (has W7, W10, and now XP). The adapter presents itself to Windows as a serial port, even though it's plugged into a USB port.
It was seriously frustrating to set it up even though I have a strong background with hardware. I got it going eventually by using W10 as the target. The W10 OS seemed to have a better ability to deal with a serial protocol than W7 but once I got a connection, W7 worked just as well.
If you want to get such a system going I'd be happy to offer whatever assistance I can. The advantage over a VM system is significant. When the target is first reached it is during an early stage of the target boot sequence, so you can trace through almost the entire boot sequence with windbg in kmode.
Although I'd still prefer to work in the softice environment, Wdbg in kmode has it's own advantages. You can call up the entire USB driver hierarchy and it will give you data on each driver. For example, it's parent and it's dependants.

#3525

cedar

⇗ @gordo999
I put modded acpi to "old" folder
CABARC -m LZX:21 N ACPI.SY_ ACPI.SYS
cabarc -r -m LZX:21 n driver.cab b:\old\*.*
cabarc -r -m LZX:21 n sp3.cab b:\old\*.*
cedar has attached files to this post

- ⇗ CABARC.zip

## Page 236

#3526

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3510

> @gordo999
> thank you for the clarification. Indeed my nvme ssd disk has 4096 bytes per sector instead the disk with XP installed has 512 bytes per sector. So this is a way not achievable... my headache goes on :)

⇗ @Andalu
Never say die. Find out if your nvme drive has a 512 byte compatibility mode. If so, it should be able to run in that mode to communicate with another drive written with 512 bytes/sector.
Or, check out taking an image of one drive rather than a clone then write the image back to a 4k drive. I don't think images care about sectoring. I created an image of my XP system and used it to create the XP OS on a VM.
Alternately, check out the Easeus claim that they have software (paid) to do the conversion. What the drive on the read/write head sees is 4096 bytes/sector. Maybe someone has devised a method to let it write to sectors of that size while actually writing data based on 512 bytes/sector.
Something from Seagate on the 4K issue:
⇗ https://www.seagate.com/ca/en/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/
Something from minitool partition manager on emulation:
⇗ https://www.partitionwizard.com/partitionmagic/what-is-4k-hard-drive.html
a discussion on the subject with a link to Easeus:
⇗ https://forums.tomshardware.com/threads/cloning-windows-10-from-hdd-to-ssd-512-bytes-to-4096-bytes.3425477/

#3527

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3525

> I put modded acpi to "old" folder

⇗ @cedar
Thanks...is that for compressing a file? Or is it an alternate acpi.sys?

#3528

cedar

⇗ @gordo999
The new single acpi.sy_ is for making a new CD via Nlite.
SP3.cab and Driver.cab also has old acpi.sys needed replaced.
I use winrar or 7zip to expand the original cab files to
the "old" folder. Copy the new modded acpi.sys to it,
even storahci.sys to it as it does no harm.
Then run 1 of the line in the batch file to create a new cab
before running Nlite to make a new ISO.

#3529

Mattiwatti

> Zitat von ⇗ gordo999 im Beitrag ¶ #3526

> ⇗ @Andalu
> Never say die. Find out if your nvme drive has a 512 byte compatibility mode. If so, it should be able to run in that mode to communicate with another drive written with 512 bytes/sector.
> Or, check out taking an image of one drive rather than a clone then write the image back to a 4k drive. I don't think images care about sectoring. I created an image of my XP system and used it to create the XP OS on a VM.
> Alternately, check out the Easeus claim that they have software (paid) to do the conversion. What the drive on the read/write head sees is 4096 bytes/sector. Maybe someone has devised a method to let it write to sectors of that size while actually writing data based on 512 bytes/sector.
> Something from Seagate on the 4K issue:
> ⇗ https://www.seagate.com/ca/en/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/
> Something from minitool partition manager on emulation:
> ⇗ https://www.partitionwizard.com/partitionmagic/what-is-4k-hard-drive.html
> a discussion on the subject with a link to Easeus:
> ⇗ https://forums.tomshardware.com/threads/cloning-windows-10-from-hdd-to-ssd-512-bytes-to-4096-bytes.3425477/

To add to this, (since I don't know what NVMe drive ⇗ @Andalu is using, and this may be helpful for others regardless): if you have an enterprise Intel SSD you can use the ⇗ Intel SSD Data Center Tool to change the LBA format on some drives (not all drives support this, even the Data Center ones). I have successfully done this in the past to change a 512 KB sector SSD to a 4KB one and the other way around with an Intel 750 400GB PCIe SSD, and later with an Optane P4800X 750GB.
Example: query the number of supported LBA formats and their features:
> isdct show -intelssd 0 -identify
Output:

    - Identify Namespace PHKS746500<rest of my serial here> -

    - Byte 0-7 -

    Namespace Size : 1465149168

    - Byte 8-15 -

    Namespace Capacity : 1465149168

    - Byte 16-23 -

    Namespace Utilization : 1465149168

    - Byte 24 -

    Namespace Features : 0
    Bit 0 - Thin Provisioning Support : 0

    - Byte 25 -

    Number of LBA Formats : 6

    - Byte 26 -

    Formatted LBA Size : 0
    Bit 7:5 - Reserved : 0
    Bit 4 - Metadata transfer bit : 0
    Bit 0:3 - LBA Format Support : 0

    - Byte 27 -

    Metadata Capabilities : 1
    Bit 7:2 - Reserved : 0
    Bit 1 - Metadata transfered as part of a separate buffer support : 0
    Bit 0 - Metadata transfered part of extended data LBA Support : 1

    - Byte 28 -

    End-to-end Data Protection Capabilities : 11
    Bit 7:5 - Reserved : 0
    Bit 4 - Protection Info transfered as last 8 bytes of metadata Support : 1
    Bit 3 - Protection Info transfered as first 8 bytes of metadata Support : 0
    Bit 2 - Protection Type 3 Support : 0
    Bit 1 - Protection Type 2 Support : 0
    Bit 0 - Protection Type 1 Support : 1

    - Byte 29 -

    End-to-end Data Protection Type Settings : 0
    Bit 7:4 - Reserved : 0
    Bit 3 - Protection Information Transfer : 0 (Transferred as the last eight bytes of metadata.)
    Bit 2:0 - Protection Type Information : 0 (Protection Information is not enabled)

    - Byte 131 -

    LBA Format 0 Support : 2090000
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x2 (Good performance)
    Bit 23:16 - LBA Data Size : 09
    Bit 15:0 - Metadata Size : 0000

    - Byte 135 -

    LBA Format 1 Support : 2090008
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x2 (Good performance)
    Bit 23:16 - LBA Data Size : 09
    Bit 15:0 - Metadata Size : 0008

    - Byte 139 -

    LBA Format 2 Support : 2090010
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x2 (Good performance)
    Bit 23:16 - LBA Data Size : 09
    Bit 15:0 - Metadata Size : 0010

    - Byte 143 -

    LBA Format 3 Support : C0000
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x0 (Best performance)
    Bit 23:16 - LBA Data Size : 0C
    Bit 15:0 - Metadata Size : 0000

    - Byte 147 -

    LBA Format 4 Support : C0008
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x0 (Best performance)
    Bit 23:16 - LBA Data Size : 0C
    Bit 15:0 - Metadata Size : 0008

    - Byte 151 -

    LBA Format 5 Support : C0040
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x0 (Best performance)
    Bit 23:16 - LBA Data Size : 0C
    Bit 15:0 - Metadata Size : 0040

    - Byte 155 -

    LBA Format 6 Support : C0080
    Bit 31:26 - Reserved :
    Bit 25:24 - Relative Performance : 0x0 (Best performance)
    Bit 23:16 - LBA Data Size : 0C
    Bit 15:0 - Metadata Size : 0080

    <...snip...>

Byte 25 tells us the number of supported formats is 6, though this is misleading as the value actually means the number of the highest LBA format supported. Since LBA format indices start at 0, this means 7 supported formats of which LBAFormat=6 is the highest.
Not very helpfully, the rest of the LBA formats then do not give their actual sector size. However 512 bytes and 4KB formats can still be told apart by "relative performance": 512 bytes on my Optane is "good" and 4KB is "best" (which is true - using a sector size of 4KB I saw about a 10% performance improvement across all benchmarks). You can use 'isdct show -intelssd X -all' to show the current metadata size, which will normally be 0 unless you modified this manually. In this case that gives LBA format 0 and LBA format 3 for 512 bytes and 4KB respectively assuming you wish to keep the remainder of the LBA format settings unchanged. So if the index of your target SSD is 0 and you wish to convert its LBA format 0 to change the sector size to 512 bytes, you can issue
> isdct start -intelssd 0 -nvmeformat LBAFormat=0 SecureEraseSetting=0
WHICH WILL WIPE ALL DATA ON THE SSD and convert it to the specified LBA format including the sector size.
I have to strongly recommend against using the EaseUS software. It may have improved since the last time I used it, but when I did attempt to use it to clone my 512 byte sector OS partition to the "4KB" Optane P4800X, it managed to brick the Optane (not a joke!). Of course one can argue that there is an underlying Intel firmware issue here since it should not be so trivial to kill such an expensive SSD using only software (and Intel did indeed replace the drive free of charge), but I would still steer clear of EaseUS. Another reason for simply not bothering in this case is that XP does not support booting off 4KB sector size drives: the official MS policy is that ⇗ this is only supported on Windows 8 and later. While I am normally skeptical of such claims by MS, I have never managed to get my Optane to boot Windows 7 in 4KB sector mode (either through a fresh install or from a cloned disk), so by extension I sincerely doubt that booting XP/2003 would ever work.
EDIT by Fernando: Unneeded parts and blank lines from the fully quoted post removed (to save space)

#3530

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3528

> The new single acpi.sy_ is for making a new CD via Nlite.
> SP3.cab and Driver.cab also has old acpi.sys needed replaced.

⇗ @cedar
Thanks for clarification and files.

#3531

gordo999

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3529

> I have to strongly recommend against using the EaseUS software.

⇗ @Mattiwatti
Thanks for info and advice. I don't use Easeus and I was not promoting it. I was referring to their claim that a 512 byte/sector drive could be cloned to a 4k drive. Just the messenger.
I did find it interesting that a disk image at 512 bytes/sector might be transferable to a disk with 4k sectors. I have done it 512 to 512 but I don't see why it would not work since images are not based on the bytes/sector, as far as I know.

#3532

infuscomus

⇗ @diderius6 ⇗ @daniel_k
OK,
can you test if this versions works? or same error?
infuscomus has attached files to this post

- ⇗ acpi_5365_test_2.zip

#3533

gordo999

Getting brain-lock trying to figure out a basic driver for an Intel LAN for XP. The mobo is 8th generation, an Asus B360M.
According to my W7 Device Manager the hardware ID is:
PCI\VEN_8086_DEV_15BC&SUBSYS_86721043_REV_10
Have not been able to track down a suitable Intel XP driver to try it.
I can't believe Asus. They supply a disk for the mobo but they don't list this DEV number. Anyway, they are all 64-bit drivers.

#3534 | FireKillerGR | Finally got XP to work on ASUS Z390! :D So far had success with fresh installation - now need to get older images/installation (on z270) to work.
#3535 | cedar | ⇗ @gordo999 I think daniel_k and diderius6 had XP patched Lan drivers maybe 2 months ago. I have not tried them. But they worked for daniel_k and diderius6.

#3536

Andalu

⇗ @gordo999
Some news from here. Thanks to easeus todo backup home 10.0 I was able to clone the XP disk (512 bytes) to the nvme ssd (4096 bytes) with the 'normal mode' because the 'sector by sector' method was unable to use due to different sector sizes. But the XP boot from this disk doesn't work and the disk does not appear in the boot screen menu of bios. After this, I tried also to install windows 10 (in Legacy mode) on the nvme disk (in MBR style) and again I got an error "Windows cannot be installed to this disk. The computer's hardware may not support booting to this disk. Ensure that the disk's controller is enabled in the computer's BIOS".
I'm still looking for a workaround.
⇗ @Mattiwatti
Thanks for your reply and the useful information. My nvme disk was extracted from a Samsung X5 Portable SSD - PN: MZBLB500HAJQ, so I can't apply the intel method.
Here the aida report about my nvme ssd disk:

      [ Samsung Portable SSD X5 (S420NK0KB00056L) ]

        NVMe Device Properties:
          Model ID.......................................................... Samsung Portable SSD X5
          Serial Number.................................................. S420NK0KB00056L
          Revision.......................................................... 1P3QEXE7
          Device Type..................................................... NVMe v1.3.0
          Unformatted Capacity....................................... 476940 MB
          PCI Vendor ID.................................................. 144Dh  (Samsung)
          PCI Subsystem Vendor ID................................. 144Dh  (Samsung)
          IEEE OUI Identifier............................................ 38-25-00  (Samsung)
          Controller ID.................................................... 4
          Version........................................................... 66304
          Recommended Arbitration Burst Size................. 2
          Max Data Transfer Size.................................... 9
          Runtime D3 Resume Latency............................. 200000 us
          Runtime D3 Entry Latency................................. 8000000 us
          Abort Command Limit...................................... 8
          Asynchronous Event Request Limit.................... 4
          Firmware Slots............................................... 3
          Max Error Log Page Entries.............................. 64
          Power States.................................................. 5
          Warning Composite Temperature Threshold...... 329
          Critical Composite Temperature Threshold........ 330
          Total NVM Capacity......................................... 476940 MB
          Min / Max Submission Queue Entry Size............ 64 / 64 bytes
          Min / Max Completion Queue Entry Size............ 16 / 16 bytes
          Namespaces................................................... 1
          Atomic Write Unit Normal................................. 128 blocks
          Atomic Write Unit Power Fail............................. 1 blocks

        NVMe Device Features:
          128-bit Host Identifier...................................... Not Supported
          Autonomous Power State Transitions................ Supported
          Command Effects Log Page.............................. Supported
          Compare & Write Fused Operation................... Not Supported
          Cryptographic Erase....................................... Supported
          Directives...................................................... Not Supported
          Firmware Activation Notices............................ Not Supported
          Firmware Activation Without Reset.................. Supported
          First Firmware Slot Read Only........................ No
          Format All Namespaces................................. Supported
          Multiple Controllers....................................... No
          Multiple PCIe Ports........................................ No
          Namespace Attribute Changed Event............... Not Supported
          Non-Operational Power State Permissive Mode.. Not Supported
          Reservations................................................ Not Supported
          Save / Select Fields...................................... Supported
          Secure Erase All Namespaces........................ Not Supported
          SGLs........................................................... Not Supported
          SGL Bit Bucket Descriptor............................... Not Supported
          SGL Byte Aligned Contiguous Physical Buffer of Metadata..... Not Supported
          SGL Commands Larger Than Data................. Not Supported
          SMART Information Per Namespace.............. Supported
          SR-IOV Virtual Function................................ No
          Volatile Write Cache..................................... Present

        NVMe Commands:
          Compare......................................... Supported
          Dataset Management........................ Supported
          Device Self-test................................ Not Supported
          Doorbell Buffer Config....................... Not Supported
          Format NVM.................................... Supported
          Firmware Commit............................ Supported
          Firmware Image Download............... Supported
          Namespace Attachment.................... Not Supported
          Namespace Management.................. Not Supported
          NVMe-MI Receive............................. Not Supported
          NVMe-MI Send................................. Not Supported
          Security Receive.............................. Supported
          Security Send.................................. Supported
          Virtualization Management............... Not Supported
          Write Uncorrectable......................... Supported
          Write Zeroes................................... Supported

        SSD Physical Info:
          Manufacturer................................... Samsung
          SSD Family...................................... Portable SSD X5
          Form Factor..................................... Proprietary
          Controller Type................................ Samsung Phoenix S4LR020
          Flash Memory Type.......................... Samsung 64-layer 3D TLC V-NAND
          Physical Dimensions......................... 119 x 62 x 19.7 mm
          Max. Weight.................................... 150 g
          Max. Sequential Read Speed............. 2800 MB/s
          Interface......................................... Thunderbolt 3
          Interface Data Rate.......................... 5000 MB/s

#3537

diderius6

⇗ @infuscomus
This time I do not get an error about missed Dlls.
This means, you found all.
But I get BSOD about writing in wrong memory
in normal boot and also in Safe Mode (via F8)
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Wed Nov  6 21:01:20.178 2019 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
    *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
    Executable search path is: C:\localsymbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe -
    Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp_sp3_qfe.170427-1622
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
    System Uptime: not available
    WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
    Wed Nov  6 21:01:33.006 2019 (UTC + 1:00):
    *** Fatal System Error: 0x0000007e
                                                 (0xC0000005,0x00000000,0xF789E168,0xF789DE64)

    Wed Nov  6 21:01:33.053 2019 (UTC + 1:00): Break instruction exception - code 80000003 (first chance)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

    A fatal system error has occurred.

    Connected to Windows XP 2600 x86 compatible target at (Wed Nov  6 21:01:33.209 2019 (UTC + 1:00)), ptr64 FALSE
    Loading Kernel Symbols
    ..............................
    Loading User Symbols

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck 7E, {c0000005, 0, f789e168, f789de64}

    *** WARNING: nt!MmPoisonedTb is non-zero:
    ***    The machine has been manipulated using the kernel debugger.
    ***    MachineOwner should be contacted first

    Probably caused by : Unknown_Image ( ANALYSIS_INCONCLUSIVE )

    Followup: MachineOwner
    ---------

    nt!PoRegisterSystemState+0xd5:
    804e29c2 cc              int     3
    11: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
    This is a very common bugcheck.  Usually the exception address pinpoints
    the driver/function that caused the problem.  Always note this address
    as well as the link date of the driver/image that contains this address.
    Arguments:
    Arg1: c0000005, The exception code that was not handled
    Arg2: 00000000, The address that the exception occurred at
    Arg3: f789e168, Exception Record Address
    Arg4: f789de64, Context Record Address

    Debugging Details:
    ------------------

    POISONED_TB: nt!MmPoisonedTb is non-zero:

    EXCEPTION_CODE:
     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
    bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
    nicht in den Arbeitsspeicher  bertragen.

    FAULTING_IP:
    +16a2faf00c0dfc0
    00000002 ??              ???

    EXCEPTION_RECORD:  f789e168 -- (.exr 0xfffffffff789e168)
    ExceptionAddress: 00000000
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 00000000
       Parameter[1]: 00000000
    Attempt to read from address 00000000

    CONTEXT:  f789de64 -- (.cxr 0xfffffffff789de64)
    eax=00000000 ebx=80703900 ecx=54445358 edx=00000001 esi=f758db00 edi=80703830
    eip=00000000 esp=f789e230 ebp=f789e250 iopl=0         nv up ei pl zr na pe nc
    cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
    00000000 ??              ???
    Resetting default scope

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    PROCESS_NAME:  P›

    ERROR_CODE:
     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
    bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
    nicht in den Arbeitsspeicher  bertragen.

    WRITE_ADDRESS:  00000000

    FOLLOWUP_IP:
    +16a2faf00c0dfc0
    00000002 ??              ???

    FAILED_INSTRUCTION_ADDRESS:
    +16a2faf00c0dfc0
    00000002 ??              ???

    BUGCHECK_STR:  0x7E

    LAST_CONTROL_TRANSFER:  from 00000000 to 00000000

    STACK_TEXT:
    f789e22c 00000000 00000000 00000000 f75924ae 0x0

    STACK_COMMAND:  kb

    SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: Unknown_Module

    IMAGE_NAME:  Unknown_Image

    DEBUG_FLR_IMAGE_TIMESTAMP:  0

    FAILURE_BUCKET_ID:  0x7E_VFL_BAD_IP_ANALYSIS_INCONCLUSIVE

    BUCKET_ID:  0x7E_VFL_BAD_IP_ANALYSIS_INCONCLUSIVE
    *** WARNING: nt!MmPoisonedTb is non-zero:
    ***    The machine has been manipulated using the kernel debugger.
    ***    MachineOwner should be contacted first

    Followup: MachineOwner
    ---------

    11: kd> lm
    start    end        module name
    804d7000 80701000   nt       M (pdb symbols)          c:\localsymbols\exe\ntoskrnl.pdb
    80701000 80724600   HAL2       (deferred)
    b83c3000 b83dce80   Mup        (deferred)
    b83dd000 b8409980   NDIS       (deferred)
    b840a000 b8496d00   Ntfs       (deferred)
    b8497000 b84a9f00   WudfPf     (deferred)
    b84aa000 b84c0b80   KSecDD     (deferred)
    b84c1000 b84d2f00   sr         (deferred)
    b84d3000 b84f2b00   fltMgr     (deferred)
    b84f3000 b8533000   storport   (deferred)
    b8533000 b854a880   SCSIPORT   (deferred)
    b854b000 b8800000   iaStor     (deferred)
    f746f000 f7494a00   dmio       (deferred)
    f7495000 f74b3d80   ftdisk     (deferred)
    f7554000 f7564a80   pci        (deferred)
    f7565000 f75a8000   ACPI       (deferred)
    f75a8000 f75d6000   amdxhc     (deferred)
    f75f7000 f7600300   isapnp     (deferred)
    f7607000 f7611580   MountMgr   (deferred)
    f7617000 f7624200   VolSnap    (deferred)
    f7627000 f7637000   asahci32   (deferred)
    f7637000 f7644000   storahci   (deferred)
    f7647000 f764fe00   disk       (deferred)
    f7657000 f7663180   CLASSPNP   (deferred)
    f7707000 f770d780   USBSTOR    (deferred)
    f770f000 f7713d00   PartMgr    (deferred)
    f7897000 f789a000   BOOTVID    (deferred)
    f7987000 f7988b80   kdcom      (deferred)
    f7989000 f798a500   USBD       (deferred)
    f798b000 f798c100   WMILIB     (deferred)
    f798d000 f798e700   dmload     (deferred)

#3538

daniel_k

> Zitat von ⇗ cedar im Beitrag ¶ #3507

> But a 2 min long song.mp3 will always reboot XP or 2003 in less than a minute.

Are you dual booting the system? Windows 7 or later? Any issues?
If there are no issues, probably is something driver related.
Are you using a modified ACPI.SYS?
Which AHCI driver and version is installed?

#3539

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #3524

> You have done amazingly well if all you are using is IDA for cold code reading. It's a real art in itself which I have used on many an occasion at a basic level but usually in conjunction with a debugger and a hex editor.

Not a big deal. Many times is simply hit or miss.
Seriously, some patches I did some years ago, specially to fix Audigy's Equalizer app, was really tiresome.
Step-by-step execution on OllyDbg on XP, then run on Vista and see where it didn't behave the same. Spent several days.

> Zitat

> If you want to get such a system going I'd be happy to offer whatever assistance I can. The advantage over a VM system is significant. When the target is first reached it is during an early stage of the target boot sequence, so you can trace through almost the entire boot sequence with windbg in kmode.

Thanks, will surely ask for help if needed.

#3540 | daniel_k | ⇗ @infuscomus, unless you actually add the code for an exported function, it won't work at all.

## Page 237

#3541

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #3533

> PCI\VEN_8086_DEV_15BC&SUBSYS_86721043_REV_10

Strange, no drivers on WindowsUpdate Catalog.
What is the exact motherboard model?

#3542

daniel_k

⇗ @Andalu
Had a new idea about your USB3 issue.
Download WPCREDIT:
⇗ http://ftp.vector.co.jp/32/55/2012/wpcre14.exe
Official website: ⇗ http://hp.vector.co.jp/authors/VA002374/
Old, but gold. It's from 2004 and 32-bit only utility.
- Write down the Device ID of your Intel USB3 controller.
- Run, WPCREDIT and select the device with matching IDs.
- To save a register "snapshot": File menu -> Register Save.
I need 2 saves, one save with working USB3, another one with no working USB3.

#3543 | daniel_k | ⇗ @Mov AX, 0xDEAD It seems the driver gets stuck into device initialization, cannot disable controller, need to reboot. The TI driver works with VirtualBox's XHCI controllers in both Intel and Renesas mode.

#3544

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3537

> ... the XP boot from this disk doesn't work and the disk does not appear in the boot screen menu of bios.

That's usually a problem with the MBR (master boot record) not being written properly, the boot.ini file being wrong, or missing files like ntldr or ntdetect. It could also be an issue wherein the disk you cloned had a hidden system partition that got cloned with the XP install. The XP partition should begin at sector 0x63 (decimal 64) on a standard 512 byte/sector format. I have no idea where it should begin on a 4k setup. Get a free disk editor like the Active@ Disk Editor, load your disk and see where the XP partition begins. If it's not at sector 0X63 that's your problem.
Of course, I have no idea what Easeus has done to accomplish the clone. They also offer a free partition manager. Boot it up and see what it has to say about the partitions on your NV disk. If none of this works, try doing a disk image of just your XP installation and try transferring it to a clean NV disk freshly partitioned with the MBR in place. I had to do all sorts of funny things to move my XP partition from 2 to 1 and fix the MBR.

#3545

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3536

> I think daniel_k and diderius6 had XP patched Lan drivers maybe 2 months ago.

@cedar...thanks...will look into that.

#3546 | daniel_k | ⇗ @Mov AX, 0xDEAD, had a chance to play with the TI drivers? Patched about a hundred suspecting conditional jumps, the "best" I've got was to change the Hub device error code from 29 to 10. All those patches were in MCCIHCD_DriverExtension_PdoClass_Initialize function, which initializes the Hub (child device).

#3547

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3542

> What is the exact motherboard model?

⇗ @daniel_k ...Asus Prime B360M-C/CSM

#3548 | gordo999 | ⇗ @Andalu ...that should be the Active@ Disk Editor. Sorry for typo. It's a very good editor, I have used it to trace right into the NTFS MFT table structure.
#3549 | infuscomus | ⇗ @daniel_k I originally thought of adding them in properly, but the code seems like an unending rabbit hole now I'm thinking it might be easier to patch ntoskrnl 5365 beta to add back in functions that were removed from it since XP.

#3550

Andalu

⇗ @gordo999
I did the cloning operation from the easeus winpe emergency disk and after cloning the first thingh I verified was the boot.ini, ntldr and ntdetect.com, all were in the root C:. The source and the destination disks had the same size (500GB) and no hidden partition.
The properties of the cloned disk (taken from two different sw) (sorry for bad quality):
⇗ ⇗ ⇗
About Active@ Disk Editor I'll try it in the afternoon, thanks for the info ;)

#3551

Andalu

⇗ @daniel_k
Here the snapshots of the usb controller (ID: PCI\VEN_8086&DEV_1E31&SUBSYS_1E311849&REV_04) of my crazy B75 Pro3-M board
;)
Andalu has attached files to this post

- ⇗ Snaps.zip

#3552

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #3550

> @daniel_k ...Asus Prime B360M-C/CSM

Good news :) I have the previous asus Prime B250M-C/CSM and my next step is to boot XP from it with a m.2 or nvme ssd. Nothing is reported in the user's manual about the boot from those disks. I haven't tried yet. Do you have any news about it?

#3553

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3553

> I did the cloning operation from the easeus winpe emergency disk...

⇗ @Fernando ...is the following suitable?
⇗ @Andalu ...there are several things you can try from the recovery console. The console has the utilities bootcfg, fixboot, and fixmbr. You'll need to research them to get the right order in which to apply them since I forget. bootcfg will build a boot.ini file for you after you delete your present one. I would back it up first. It is hidden in the C:\ directory and you need to use attrib *.* to see all the hidden files then attrib boot.ini -r -h -s to rename it.
However, bootcfg won't do you much good till you can see and access your C:\drive. It will tell you if it can see the C:\ drive, however. If it can't see the drive, you have other problems. fixmbr does what it says, it fixes the mbr. fixboot writes the entire partition boot sector. The mbr takes up the first sector on the disk but the partition boot sector takes up 0x63 sectors. It has code in it to help start the computer and activate the hard drive. Alternately, Active@ Disk Editor will show you the mbr, partition boot sector, and everything on the disk. You just have to learn to interpret what you see and it's not all that hard since Active@ has tables explaining each colour-coded section.
According to this whitepaper from Western Digital you need to use a special tool to setup a 4k disk if it is a native 4k, meaning it has no emulation. Emulated disks can read 8 x 512 Sectors at a time from a 512 byte/sector drive and load them into one 4096 byte sector. 8 x 512 bytes = 4096 bytes. I don't know if that might be related to your problem although I doubt it.
⇗ http://products.wdc.com/library/whitepapers/eng/2579-771430.pdf

#3554

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3555

> Nothing is reported in the user's manual about the boot from those disks. I haven't tried yet. Do you have any news about it?

⇗ @Andalu ...not sure what you mean about booting from the disks. All I got with mine was a disk with drivers for x64 and I have not read a manual. Did not know they had one. I would like better instructions for the BIOS. I am not impressed with the job Asus has done supporting this board. The only reason I got it is because Intel stopped manufacturing motherboards and this Asus board had an Intel architecture.
ps. you might have more luck with your board since it uses a 200-series Intel chipset. I think Intel was still releasing USB drivers for that series on Windows 7 so maybe it would be easier adapting them to XP.

#3555 | infuscomus | ⇗ @Gelip do you know if there is any kind of signature check in ntoskrnl or hal? as an experiment I want to swap XP ntoskrnl and hal with server 2003 versions and have it boot, but it doesn't want to work, so I was wondering if there was a signature check in it or something?

## Page 238

#3556

daniel_k

⇗ @Andalu
I've read the datasheet and, with your .RG files, confirmed the registers that the Intel switch driver changes to enable USB3 speeds.
With broken USB3, run WPCREDIT, select the XHCI controller and change registers D0 and D8 to 0F.
Benchmark your USB drive.
Now we need to find a definitive solution.

#3557

Mattiwatti

> Zitat von ⇗ infuscomus im Beitrag ¶ #3559

> @Gelip
> do you know if there is any kind of signature check in ntoskrnl or hal?
> as an experiment I want to swap XP ntoskrnl and hal with server 2003 versions and have it boot, but it doesn't want to work, so I was wondering if there was a signature check in it or something?

No, this is due to inherent kernel (and to a lesser extent, HAL) differences between NT 5.1 and 5.2. For this version specifically I can think of a few things off hand that would cause issues, for example user mode exception dispatching was changed subtly in 5.2. In general though you can assume that replacing one kernel version (of Windows; on Linux the following is not true) will not work simply due to changed syscall numbers alone. Syscall numbers are what ntdll.dll and a select few other DLLs use to request services from the kernel. These are (again, in Microsoft land) arbitrary and change with every release. This means that a program that calls OpenFile() by its syscall number on NT 5.1 may be calling CrashTheSystem() on NT 5.2, even if the program itself was not changed. This also holds true for many service packs and certainly beta releases which is where new syscalls are introduced.

#3558

cedar

⇗ @daniel_k
Thanks for the helps.
On the current AMD Asus Prime B350-Plus with Ryzen 2600, Windows 8 x64,
XP 32 bit can run for days with no issues. Both Windows use Realtek onboard
chip for sounds work flawlessly. I am planning to get a PCI or
USB sound card to test on XP64. But since Realtek sound on XP64 is
very unstable here, I somewhat doubt sound cards can solve this issue.
But never know until tested.
All chipset drivers, network driver installed. USB 3.0 and 3.1 work.
The current hard disk has XP64 SP2, SP1 and 2003 Std for testings.
All experience this audio reboot XP64 symptoms as well as
hard to boot into XP64 symptom.
The hard to boot into XP64 symptom, may or may not relate to audio
issue is like this:
If booting fail the first or/and 2nd times
,I can see the Windows Logo linger on normally as if it can
almost boot into XP64, then instantly reboot, no BSOD A5 or 7B.
The 3rd or 4th time choosing "Last Good Configuration" will very
likely boot into XP64.At most the 5th or 6th time,I can boot into
XP64 by choosing various hardware profiles.
But the hardware profiles are unreliable. Booting ok this time
does not guarantee booting work next time.
I tried 2003, XP64 SP2 before, now I run
XP64 SP1 with your modded acpi from post #2202 and Storahci.sys.
acpi,sys SHA1- 789E6923019D9BB22333393A9C51241F4554359F

cedar has attached files to this post

- ⇗ acpiXP64Ryzen#2202.rar

#3559

schreiberstein

Hey everyone!
I sadly have been inactive for a week or two due to a lack of time (college).
I will test daniel_ks patch on Windows 2003 and see if it makes any difference.
And I will also record the amount of memory with several VRAM settings for the integrated Intel HD.
Yesterday, I abandoned the SoundBlaster Audigy 2 ZS PCI-E to PCI bridge mini-project.
It worked for a couple of days, but then it started to freeze the system (any OS) randomly.
There must be a faulty connection / lack of proper shielding.
I felt like, ... you know what... I am 100% sure there wont be drivers for my onboard Realtek ALC1220-VB, but lets try it anyway...
So, I downloaded the latest Realtek HD Audio driver package (2.74, I think) for Windows XP from May 2014.
To my surprise, the driver installed without any modifications and worked immediately with my onboard audio.
This is amazing. 100% compatibility. Thats all I need.
TL;DR : Onboard Realtek ALC-1220VB soundcard of Gigabyte Z390 Designare works on XP x86 using latest official driver.
Chrome still crashes regularly (out of mem) with the memory patch on XP x86.
I wish there were a way to just swap in the Server 2003 kernel / hal files, as everything works correctly on 2003.
(Running Server 2003 is a pain when every application needs XP for installation or needs to be patched to think it is running on NT 5.1)
I also wish there would be a replacement for that unreliable AMD USB XHCI driver, since it kills NTVDM completely and has issues with USB soundcards / DACs. Maybe this TI based driver can make a difference?
By the way, would it be possible for some ISO patcher on here to share the SP3.cab index file for the makecab utility?
The one that is needed to create a new sp3.cab from a folder? (Win XP x86 EN_US) I would be very thankful.
Its great to see how active this thread is!
Thank you all!
Cheers,
schreiberstein

#3560 | cedar | ⇗ @schreiberstein Please see message #3525. This one can make new SP3.cab. Also #3528.

#3561

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #3559

> @Gelip
> do you know if there is any kind of signature check in ntoskrnl or hal?
> as an experiment I want to swap XP ntoskrnl and hal with server 2003 versions and have it boot, but it doesn't want to work, so I was wondering if there was a signature check in it or something?

There is no signature checking on WinXP x64, and there probably isn't on Win 2003 x64

#3562

daniel_k

⇗ @Mov AX, 0xDEAD
I think the issue lies in the DataPumpXhcdWiringValue config value.
In the TI driver, even if removed, the driver seems to have some hardcoded value or detect and uses a value incompatible with Intel XHCI controller.
In the ASMedia driver, which I have managed to properly patch the ID check, with DataPumpXhcdWiringValue value in Registry, the Hub reports the same error code 29 as with the TI driver.
As soon as you remove that value, Hub start just fine, devices are properly detected. Responsiveness when a device is plugged in or removed is great.
Unfortunately, there is still an issue with storage devices, which hang immediately if you run AIDA64 Disk Benchmark.
For some reason, it seems DMA is not (properly) initialized, same behavior as AMDXHC with forced 32-bit DMA. Any ideas?
When used with VIA controller, it works just fine.
Can you please track down if there is a hardcoded value for DataPumpXhcdWiringValue or how differently it detects that value against the ASMedia driver?
I've also patched the child Hub ID, so it is a static ASMedia 2142, allowing the WHQL Hub driver to be automatically installed.

daniel_k has attached files to this post

- ⇗ ASMedia_Intel_Test.rar

#3563 | daniel_k | ⇗ @cedar Thought the issue was with your Intel system. For Ryzen, you'd better ask Dietmar.

#3564

Mattiwatti

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3563

> I wish there were a way to just swap in the Server 2003 kernel / hal files, as everything works correctly on 2003.
> (Running Server 2003 is a pain when every application needs XP for installation or needs to be patched to think it is running on NT 5.1)

You are thinking about this the wrong way ;)
Instead of transplanting the kernel and/or HAL of a different OS, which is in general an impossible task as I mentioned in my previous post, I would advise doing a clean installation of Server 2003 SP2 instead. It is far easier to modify the kernel to pretend that the system is NT 5.1 (or whichever version you like) than it is to modify an NT 5.1 system to "work correctly" the way a 5.2 system does (as you put it). For example: which OS is this?
Opinions seem to differ among the judges ;) AIDA64 is the winner for at least detecting that this is a server OS, which can be a problem on its own with some programs because they will smell money and demand that you purchase the Enterprise (TM) version of their product. Of course the "server-ness" of the OS can be changed just as simply as the version.
If applications demanding XP instead of 2003 truly is a problem for you and you don't mind trading in your XP installation for a Server 2003 one, just do the swap (and apply the necessary updates first...), send me your up-to-date ntkrnlpa.exe image, and I'll patch it to a faux NT 5.1 for you.

#3565 | cedar | ⇗ @daniel_k My Ivy is solid in XP32 and 64. Ryzen is solid in XP32 too. Have not try XP64 debug version. But I doubt the outcome as other XP64 variants all fail at audio instability.

#3566

Andalu

⇗ @gordo999
I had already tried the commands you suggested (bootcfg /rebuild and fixboot /mbr) but the boot from the nvme disk had never worked as a boot disk.
I installed Active@ Disk Editor and I'm taking some time to understand if I need to change some settings and how to do.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3557

> ...not sure what you mean about booting from the disks....

I was talking about the boot from nvme/M.2 disks for our asus prime boards. I bought the B250M-C/CSM a week ago and haven't had time to try it yet. I just looked at the user manual but nothing is reported about the boot from those disks, so I don't know if it supported. Asus doesn't seem to give remark to it, at least for those models of motherboards.

#3567

Andalu

⇗ @daniel_k
I made the changes for the XHCI controller with WPCredit. After reboot I connected to a USB3 port an external toshiba disk that uses the blue led when connected to a USB3 port and the white led when connected to a usb2 port. The disk connected to the USB3 port has correctly used the blue led but the performances don't seem to be like usb3. I got similar results with a Maxtor M3 portable. The USB3 driver installed is the amd 1.1.0.0145.
⇗

#3568

cedar

⇗ @Andalu
Teracopy can show real speed MB/s during copying files.
I use an older version 2.3. Copy files to My Book 3TB is max
at 26ish MB/s using USB2.0 port. 50 to 80 MB/s under USB 3.0
from my Asmedia Hardware USB3.0 PCIe card, or from Daniel_K's
driver.
⇗ https://www.codesector.com/teracopy

#3569

daniel_k

⇗ @Andalu
Actually, I'd make the changes and benchmark without rebooting as we don't know if the BIOS resets the register changes.
Try again, after rebooting, open WPCREDIT and check if the registers are still set to 0F.
Whatever is the case, I believe USB3 is active. as USB2 can't reach more than 26 ~ 30Mb/s.
Please benchmark with AIDA64.

#3570

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3569

> I was talking about the boot from nvme/M.2 disks for our asus prime boards.

⇗ @Andalu ....don't know anything about that since all of my drives are disk drives. I find the Asus manual to be very poor in an overall sense. The manual indicates there are 2 x M.2 Socket 3 with key type 2242/2260/2280 storage devices with IRST support (1@SATA* & PCIe mode x 4 optane memory). Whatever that means. It says nothing about booting other than the M.2 sockets on the mobo allows you to install an M.2 (NGFF) SSD module and that SATA mode shares with the SATA6G_2 port.

## Page 239

#3571 | gordo999 | ⇗ @daniel_k ...I have been reading through this thread from the beginning and came across one of your posts where you are modifying code related to memcpy. I have not, as yet, figured out what you guys were doing but memcpy is a very simply function and I have traced through it many times. All it does is point to the data to be moved in the esi register and an address where it is to be moved in the edi register, along with a count of the number of bytes to be moved. I noticed a 'push 4' statement and I took that to be the number of bytes to be moved, which is usually in the ecx register within the function code. You can watch ecx being decremented as each chunk of data is moved. Can you briefly tell me what you guys were doing?

#3572

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3566

> ... the boot from the nvme disk had never worked as a boot disk.

⇗ @Andalu ...sorry I missed this point. I would hope the Easeus app would take care of that during the clone. I cloned an OS from a laptop hard disk to a newer, larger disk with no issues. I don't recall having to prep the target disk. One problem I can visualize is the partitioning of the native 4k SSD. I have noted that it also has its first partition at the 0x63 sector (decimal 64). That would mean it is located at physical address 4096 bytes/sector x 64 sectors = 262,144 byes from beginning of disk whereas the 512 bytes/sector drive would be at 512 bytes/sector x 64 sectors = 32,768 bytes.
The disk manufacturers claim the move to 4k helps with density issues but it also represents a colossal waste of disk space if a lot of small files are being written. If a file of length 240 bytes is written to a sector of 4096 bytes, it takes up the entire sector. The rest of the sector is wasted. It's obvious that larger sector sizes also helps them sell disks. I would still consider make a disk image of your present C: drive using a free backup program like Macrium Reflect and restoring it directly to the SSD after the SSD has been properly formatted with a primary partition marked active. That's another thing to check, is your partition marked primary and active?

#3573 | daniel_k | ⇗ @gordo999, I was patching a driver, converting calls from memcpy_s to memcpy. It's already done.

#3574

schreiberstein

⇗ @Mattiwatti
Hello!
Yes, I would strongly consider using Server 2003 instead. I really don't mind, except that I cannot even install nVidia drivers since it requires XP SP3.
I would be happy if you could patch my attached kernel files to report Windows XP SP3.
Theoretically, I could just retain the old files and make them an additional boot option in boot.ini, so I could "switch" between versions, right?
Btw. the same Chrome issues occur on Windows 2003, but the system seems to be much more stable / compatible overall.
(I will try to debug Chrome and find the reason why it says it is "out of memory".)
EDIT: It would be very interesting to know which tool I can use to patch such files. (So I can eventually do it myself)
Thank you for the advice!
Cheers,
schreiberstein
schreiberstein has attached files to this post

- ⇗ 2003sp2_ntkernel.zip

#3575

Andalu

⇗ @daniel_k
I had also done the benchmark just after the changes with WPCredit and before the first restart and the results were the same. However, the modified values are lost after an extended shutdown over a minute :) It will seem strange but it is so, one minute of power off is enough to lost the modified values.
⇗ @daniel_k ⇗ @cedar
I tried the same toshiba external disk connected to a usb3 port on the B250M-Pro4 board and the difference is really too much between the two benchs.
⇗

#3576

Andalu

⇗ @gordo999
I'll give a try to macrium reflect. I also found another link where this software is recommended to solve some problems related to a nvme disk but I have not read it yet. I'll let you know as soon as I have done the test.
The partition of my nvme ssd disk has always set a primary partition and marked as active.
Thanks for your help ;)

#3577

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3510

> @gordo999
> thank you for the clarification. Indeed my nvme ssd disk has 4096 bytes per sector instead the disk with XP installed has 512 bytes per sector. So this is a way not achievable... my headache goes on :)
> @XPLives
> Windows98SE dos version and so FDisk don't detect my NVME SSD disk. I had to create the two partitions C: (fat16) and D: (fat32) with aomei partition assistant bootable media. But I was unable to perform the copy disk operation.
> The nvme disk never appears in the bios as bootable device.
> @daniel_k
> I tried both cd and pendrive modified with nLite and thanks to your suggestion there is no longer the need to copy by hand storport.sys to system32\drivers folder all the times.
> Dietmar has already suggested me to modify the disk structure with GParted but at moment i have not found the way to do or, more likely, I don't know how to proceed.

How large is the SSD? If it's 128GB and smaller you should be able to create the partitions. If FDISK isn't allowing you to enter then maybe using a hex editor and wiping Sector 0 of the NVME to 0s. Then trying to boot up on USB floppy drive and 98SE DOS and try FDISK again. If not then you might try to use a FAT32 partitioner to make it visible to 98SE DOS.
Use this link
⇗ Data Backup and Recovery for MBR Drives
Look for the FAT32 formatting program downloaded from here:
And use that link to download that program I used.
If you still can't see the NVME in 98SE DOS you can try
FDISK /MBR and see what happens if this fixes it.
Once you get into FDISK you then will have to set the first partition as Active assuming you could then delete any partitions existing and create a new FAT16 2GB partition. The if this works reboot and then FDISK again to create the larger extended partition of the remaining space with FAT32. Then you can make the logical drive partitions for D: E:.

#3578

XPLives

⇗ @cedar

> Zitat von ⇗ cedar im Beitrag ¶ #3507

> @XPLives, @Daniel_K
> It is very likely the SATA cable caused sluggishness. When moving
> hard disk between computers, causing the cable not perfectly fit,
> I got the same sluggishness when copy files, like 2MB/s.
> Once readjusted the cable, may take several tries.
> Speed went back to 50+ MB/s.
> I use 64 bit ffmpeg.exe, or x265.exe to encode TS files to x265 format.
> 64 bit is about 35% faster than 32 bit versions. For x264 format,
> it is about 10% faster only. So I prefer encoding inside XP64 than XP32.
> When done, the batch file notify me with any 1 of the below
> start /min mplay32 /play /close %WINDIR%\media\tada.wav
> start /min "F:\Program Files\Winamp\winamp.exe" b:\sound\song.mp3
> start /min mplay32 /play /close b:\sound\song.mp3
> tada.wav is only 1 second long. will less likely to crash XP64, 2003.
> But a 2 min long song.mp3 will always reboot XP or 2003 in less than a minute.
> Media player classic, Potplayer, Kmplayer, winamp all reboot XP64
> or 2003 x64 in less than a minute unless Realtek audio device driver is disabled.
> It is strange because sounds or musics played fine, no stuttering before
> sudden reboot. I tried at least 3 versions of Realtek Audio drivers which
> can installed and play sounds fine until sudden reboot within minutes
> of any applications which play sounds.
> Memory spaces are progressively being corrupted once sounds are played!
> Daniel_K may have some good insight into this. I suspect irq issues
> as sometime it BSOD with irq not less than equal... message
> after sounds are played.
> I will ask Daniel_K if he can help fixing the Realtek audio issue.

There's only one way to know if this is ACPI related. If you do a separate installation with NO ACPI MPS Multiprocessor Mode or clone your current drive and change the Computer to MPS Multiprocessor Mode and repeat the test and see if the stability is the same.
My current tests probably put this MPS Multiprocessor mode at 95% Compatibility on Intel systems.

#3579 | Andalu | ⇗ @XPLives The nvme disk size is 500GB. I had already tried to boot with an usb floppy drive with 98SE DOS but fdisk still did not see the disk. Thanks for the link and advice. I will also try osfclone as soon as I have some time.

#3580

XPLives

⇗ @genieautravail

> Zitat von ⇗ genieautravail im Beitrag ¶ #3512

> Following my message on the BIOSTAR A10N-8800E motherboard:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (228)
> Here some notes about the missing drivers:
> SM bus controller:
> PCI\VEN_1022&DEV_790B&SUBSYS_790B1022&REV_4A\3&11583659&0&A0
> USB bus controller:
> PCI\VEN_1022&DEV_7914&SUBSYS_79141022&REV_20\3&11583659&0&80
> PCI coding/decoding controller:
> PCI\VEN_1022&DEV_1578&SUBSYS_15781022&REV_00\3&11583659&0&40
> Video controller:
> PCI\VEN_1002&DEV_9874&SUBSYS_1C401002&REV_C4\3&11583659&0&08
> About the SM bus controller:
> I have two drivers, one come from the driverpacks solutions website and the other one from driverpacks.net was already in my disk image (C:\D\C\A\SMBUSamd.inf)
> Only the one from driverpacks.net can be installed.
> ⇗
> About the USB bus controller:
> Again, I have two drivers, one come from the driverpacks solutions website and the other one from driverpacks.net was already in my disk image (C:\D\M\U3\amdxhc.inf)
> The two can be installed.
> ⇗
> About the PCI coding/decoding controller:
> No driver exist for XP.
> The situation will stay like this.
> About the video controller:
> The most problematic.
> I have four packages of drivers and I have tried every Radeon Rx video controller.
> XP has accepted to install some of them but none of them can be activated.
> The only one solution for the video controller is to mount a graphic card on the PCI-Express 3.0 x16 slot.
> I have a lot (eight) of graphic cards Radeon HD 4550, 5450 and 6450 in my stock of hardware.
> So, for me it will be easy to resolve the issue but I can't mount the motherboard in a tiny case
> What I wanted to do when I have purchased it.
> A much larger case is needed.
> Fortunately, I have an empty case LC-POWER LC-1400mi available!

> Zitat von ⇗ genieautravail im Beitrag ¶ #3512

> About the PCI coding/decoding controller:
> No driver exist for XP.
> So, for me it will be easy to resolve the issue but I can't mount the motherboard in a tiny case
> What I wanted to do when I have purchased it.
> A much larger case is needed.
> Fortunately, I have an empty case LC-POWER LC-1400mi available!

What is the smallest case you were going to use this in?
The only modern integrated iGPU for XP you could use for graphics card slot free is Ivy Bridge. For AMD they stopped XP driver support much earlier for APU. I think around AM2?
PCI coding/decoding controller
This I saw on AMD AM4. I don't know if this also existed on earlier AM3, AM2 chipsets or had XP drivers?

#3581

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3579

> @XPLives
> The nvme disk size is 500GB. I had already tried to boot with an usb floppy drive with 98SE DOS but fdisk still did not see the disk.
> Thanks for the link and advice. I will also try osfclone as soon as I have some time.

Try the FAT32 GUI formatter I mentioned in the link. I don't know if you are using Windows 7 or 10 but I think this program can work in it. Is there a NVME to USB adapter you can use? If NVME to USB adapter exists then maybe you can do it as a USB device. I usually use SATA to USB adapter. Also 500GB will be a bit too large for my method. You probably could still do the FAT16 2GB, but for the Extended Partition Size you will have to self cap it to 9999 MB. Then you can create a 8GB -> 32GB D: for XP, E: just the rest of it. Anything above the 102GB you can then use XP Disk Management and create it as NTFS partitions to utilize the 300+GB left over. Don't use Windows Vista->10 to create or delete any of the partitions as you could corrupt it. It's okay to install Windows Vista->10 onto the XP created NTFS partitions with no problems.

#3582

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3520

> @XPLives....got it going. My old system is now right to the desktop awaiting a 30 day activation period. It's amazingly solid. I had to tweak a few addresses that were still pointing to the old D: partition but most of my main apps are running on the new mobo.
> My priority now is to get LAN drivers going so I can reach the Net via a network connection through my laptop's wifi. I am currently networked with the laptop via W10 and W7 on an Intel(R) Ethernet Connection (7) 1219-V. It's using an e1d62x64.sys driver. Of course, my XP is x86.
> I'd also like to get USB working if possible...for my keyboard and mouse. PS/2 works OK but so far I am stealing the mouse from my laptop. Have to get out an buy another corded mouse.
> I'd also like to slipstream ACPI and AHCI drivers into my XP SP3 install disk so I can run a proper repair install.
> Here's the data you asked for:

>     Device Description

>     Intel(R) C600+/C220+ series chipset SATA AHCI Controller

>     ***
>     Hardware IDs

>     PCI\VEN_8086&DEV_A352&SUBSYS_86941043&REV_10
>     PCI\VEN_8086&DEV_A352&SUBSYS_86941043
>     PCI\VEN_8086&DEV_A352&CC_010601
>     PCI\VEN_8086&DEV_A352&CC_0106

>     ****

>     Compatible IDs

>     PCI\VEN_8086&DEV_A352&REV_10
>     PCI\VEN_8086&DEV_A352
>     PCI\VEN_8086&CC_010601
>     PCI\VEN_8086&CC_0106
>     PCI\VEN_8086
>     PCI\CC_010601
>     PCI\CC_0106

>     ***

>     Matching Device ID

>     pci\ven_8086&dev_a352&cc_0106

Looks like you missed the
Device Instance ID:
The Device Name ID isn't necessary. It can be renamed anything you want. :)
What was the old XP system specs? Motherboard Make / Model?
Can you get the same Hardware IDs info off that system and paste?
To me you are better off repairing it on your older motherboard first before transplanting. I am not sure the repair disc will be of any use. It will most likely end up overwriting your SP4 files or corrupting the OS even further. Best to install from scratch or transplanted successfully state. Then go back to that image rather than trying to repair which I'm not sure if repair supports integrated storage drivers when booted off the CD. Usually the self repair if you swapped the X:\Windows\system32\config files that I had mentioned one at a time and rebooted will self integrate and repair itself. If this worked for you already let me know as I don't know exactly what you did to fix the problem you were having or if you tried my windows system32 config file swap technique.

#3583

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3559

> Hey everyone!
> I sadly have been inactive for a week or two due to a lack of time (college).
> I will test daniel_ks patch on Windows 2003 and see if it makes any difference.
> And I will also record the amount of memory with several VRAM settings for the integrated Intel HD.
> Yesterday, I abandoned the SoundBlaster Audigy 2 ZS PCI-E to PCI bridge mini-project.
> It worked for a couple of days, but then it started to freeze the system (any OS) randomly.
> There must be a faulty connection / lack of proper shielding.
> I felt like, ... you know what... I am 100% sure there wont be drivers for my onboard Realtek ALC1220-VB, but lets try it anyway...
> So, I downloaded the latest Realtek HD Audio driver package (2.74, I think) for Windows XP from May 2014.
> To my surprise, the driver installed without any modifications and worked immediately with my onboard audio.
> This is amazing. 100% compatibility. Thats all I need.
> TL;DR : Onboard Realtek ALC-1220VB soundcard of Gigabyte Z390 Designare works on XP x86 using latest official driver.
> Chrome still crashes regularly (out of mem) with the memory patch on XP x86.
> I wish there were a way to just swap in the Server 2003 kernel / hal files, as everything works correctly on 2003.
> (Running Server 2003 is a pain when every application needs XP for installation or needs to be patched to think it is running on NT 5.1)
> I also wish there would be a replacement for that unreliable AMD USB XHCI driver, since it kills NTVDM completely and has issues with USB soundcards / DACs. Maybe this TI based driver can make a difference?
> By the way, would it be possible for some ISO patcher on here to share the SP3.cab index file for the makecab utility?
> The one that is needed to create a new sp3.cab from a folder? (Win XP x86 EN_US) I would be very thankful.
> Its great to see how active this thread is!
> Thank you all!
> Cheers,
> schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3559

> Hey everyone!
> And I will also record the amount of memory with several VRAM settings for the integrated Intel HD.

I'm pretty sure it's related to that.
I did some more testing of my Ivy Bridge which supported XP integrated graphics.
It has 32MB to 1024MB MAX.
I tried all the tests using XPP SP0 with PAE.
Without PAE a huge chunk of OS base memory was missing as expected.
With PAE enabled I got the absolute full 4.00 GB of RAM showing. This to me with a 1GB shared memory setting means it is possible to boost the Shared Video Memory to 4.00 GB possibly with a BIOS MOD. However sadly I don't know of a way to make the Intel HD Graphics 630+ work with the XP driver. I can only theorize transplanting the BIOS modules for the IGPU from the Ivy Bridge to Coffee Lake and hope some form of it works even in 2D if 3D fails it's better than nothing.
I also agree you should switch to Server 2003 32-Bit and have it patched to fake ID it's XP Pro so all XP programs will install properly if it doesn't like Server 2003 ID.

#3584

Mattiwatti

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3574

> @Mattiwatti
> Hello!
> Yes, I would strongly consider using Server 2003 instead. I really don't mind, except that I cannot even install nVidia drivers since it requires XP SP3.
> I would be happy if you could patch my attached kernel files to report Windows XP SP3.
> Theoretically, I could just retain the old files and make them an additional boot option in boot.ini, so I could "switch" between versions, right?
> Btw. the same Chrome issues occur on Windows 2003, but the system seems to be much more stable / compatible overall.
> (I will try to debug Chrome and find the reason why it says it is "out of memory".)
> EDIT: It would be very interesting to know which tool I can use to patch such files. (So I can eventually do it myself)
> Thank you for the advice!
> Cheers,
> schreiberstein

Here you go, see attached ZIP for the patch.

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3574

> Theoretically, I could just retain the old files and make them an additional boot option in boot.ini, so I could "switch" between versions, right?

Yes, and that is exactly what I would recommend. I would say it is best to stick with the normal "Server 2003 mode" until some program requires you to be running XP, in which case you can reboot and reintroduce the system as NT 5.1. Example basic boot.ini:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    redirect=COM1
    redirectbaudrate=115200
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Faux XP" /noexecute=optin /fastdetect /kernel=ntkrnlpa.xp

Your addendum that the nVidia drivers specifically require SP3 to install actually made this a bit more work than I anticipated, because there is of course no SP3 for Server 2003. That's not really a problem in itself, since you can change the service pack version to whatever you want by changing a single value in the registry. But this does present a problem when you reboot into "2003 mode" and the service pack number is now obviously invalid for the OS. This may lead to issues with some programs (unlikely but possible), but a more pressing issue is that it will almost certainly break your Windows installation after a while since Windows will think you are trying to tamper with the serial and/or circumvent licensing restrictions. Thus you should install the patch as follows:
1. Install the .reg file included in the ZIP, which will add a "CXPVersion" value to HKLM\SYSTEM\CurrentControlSet\Control\Windows indicating "Service Pack 3", next to the original "CSDVersion" which you should not touch.
2. Copy ntkrnlpa.xp to system32, and modify boot.ini to suit your preferences and make it possible to choose either kernel.
3. After rebooting, the patched kernel will use the bogus "CXPVersion" to report the service pack, while the 2003 kernel will keep using the old unmodified value which will cause it to report SP2 as before.
Additionally attached is "notserver.sys", which is an extremely simple driver I made some years ago after I got sick of programs (that I paid for!) refusing to work after finding that they were running on a "server" OS. (For some reason, partitioning tools seem to be particularly prone to this obnoxious behaviour.) The driver will change your OS to a "workstation" one while it is running, and revert it back to a "server" when it is stopped. While it is possible and fairly easy to patch a kernel image to make a server a workstation or the other way around, this is very dangerous since it will be immediately detected as an attempt at circumventing client-server SKU licensing restrictions and the associated costs. (even if you are doing this to your own detriment by changing a more expensive server OS to a cheaper workstation). Of course, if you work on any patch long enough you can eventually bypass this sort of thing, at which point you've essentially just made a crack. Notserver.sys on the other hand is an extremely simple and dumb driver that you should only use as long as it is necessary, since Windows does not joke around when it thinks you are messing with SKU restrictions and will simply throw you a bugcheck 0x9A (SYSTEM_LICENSE_VIOLATION) until you reformat. OK, now that the warnings are out of the way...
1. Install by copying notserver.sys to system32\drivers and running 'sc create notserver type= kernel binPath= system32\drivers\notserver.sys' (mind the weird spacing).
2. Start the driver with 'sc start notserver'.
3. After you are done installing or running obnoxious program X, stop the driver with 'sc stop notserver'.
The full source code for the driver is provided below:

    #include <ntddk.h>

    // Ntoskrnl internal variables
    static const ULONG ExpMultiUserTS = 0;
    static const ULONG ExpHydraEnabled = 1;

    // Default backup values
    static NT_PRODUCT_TYPE RealProductType = NtProductServer;
    static BOOLEAN RealProductTypeIsValid = TRUE;
    static ULONG RealSuiteMask = 0x110;

    _Use_decl_annotations_
    NTSTATUS
    DriverEntry(
    	_In_ PDRIVER_OBJECT DriverObject,
    	_In_ PUNICODE_STRING RegistryPath
    	)
    {
    	PAGED_CODE();

    	UNREFERENCED_PARAMETER(RegistryPath);

    	// Backup data
    	RealProductType = SharedUserData->NtProductType;
    	RealProductTypeIsValid = SharedUserData->ProductTypeIsValid;
    	RealSuiteMask = SharedUserData->SuiteMask;

    	// Do the thing
    	SharedUserData->NtProductType = NtProductWinNt;
    	SharedUserData->ProductTypeIsValid = TRUE;
    	SharedUserData->SuiteMask = (1 << TerminalServer) | (ExpMultiUserTS ? 0 : 0x100) | (ExpHydraEnabled ? 0x10 : 0);

    	DriverObject->DriverUnload = DriverUnload;

    	return STATUS_SUCCESS;
    }

    _Use_decl_annotations_
    VOID
    DriverUnload(
    	_In_ PDRIVER_OBJECT DriverObject
    	)
    {
    	PAGED_CODE();

    	UNREFERENCED_PARAMETER(DriverObject);

    	// Restore original values
    	SharedUserData->NtProductType = RealProductType;
    	SharedUserData->ProductTypeIsValid = RealProductTypeIsValid;
    	SharedUserData->SuiteMask = RealSuiteMask;
    }

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3574

> EDIT: It would be very interesting to know which tool I can use to patch such files. (So I can eventually do it myself)

For this patch in particular I only used one program (plus ⇗ CFF Explorer afterwards to fix PE checksums), and that is IDA Pro. I would highly recommend not looking up the price of an IDA licence at this point, by the way... just a suggestion. In general I would say you need to have at least a basic grasp of x86 assembly and a good understanding of the PE executable format. Experience with programming in C/C++ is not necessary, but will help a lot. You don't need IDA to learn either programming or assembly: you can get started with Visual Studio Community and x64dbg, which are both free. Furthermore IDA does have a trial version of 7.0 which is free to use but limited to disassembling x86 (32 bit) files only.
Mattiwatti has attached files to this post

- ⇗ NT52-x86-masquerade-as-NT51.zip
- ⇗ notserver.sys-x86.zip

#3585 | daniel_k | ⇗ @Andalu Are you dual booting that system? If so, please run the benchmark on an OS with official USB3 driver support (Win7 or later).

## Page 240

#3586 | daniel_k | ⇗ @Mattiwatti, really interesting your approach, thanks for sharing it with us!
#3587 | daniel_k | ⇗ @schreiberstein With Mov AX, 0xDEAD's help, I've managed to patch hal from XP SP3 to behave exactly the same as Server 2003. Will update my patcher soon. Unfortunately, issues with AMDXHCI driver remain, so I'm trying to fix a driver developed by MCCI (ASMedia, AMD and TI).

#3588

cedar

⇗ @XPLives
It is XP64 on 'Ryzen" that has unstable audio issue. 64 bit has no MPS. :-(
XP32 has no ACPI or audio issue, except 1 XP SP3 installed can't use USB3.0 on Ryzen.
It will always BSOD whether install or uninstall any USB3.0 drivers, but USB3.1 is
rock stable. XP32 on Ryzen works fine in ACPI, MPS or Standard Mode.
It would be very fun if someone can "create" MPS mode for XP64 or
patch Win2000 for Intel or Ryzen on modern hardwares.

#3589 | cedar | Thread moved to XP64 forum.

#3590

genieautravail

⇗ @XPLives
What is the smallest case you were going to use this in?
I wanted to mount the motherboard into this case :
⇗ https://www.lc-power.com/en/product/pc-c...ases/lc-1340mi/
The only modern integrated iGPU for XP you could use for graphics card slot free is Ivy Bridge. For AMD they stopped XP driver support much earlier for APU. I think around AM2?
No, the last AMD APU with support for XP is Kabini (release in 2014).
PCI coding/decoding controller
This I saw on AMD AM4. I don't know if this also existed on earlier AM3, AM2 chipsets or had XP drivers?
No, no driver for XP exist.

#3591

schreiberstein

⇗ @Mattiwatti
Thanks a lot!
This sounds very interesting / promising! Have you shared this knowledge before? It's amazing and I am sure it will help a lot (whatever the numbers are in 2019) of folks who want to use "personal" applications on Server 2003.
I will give that a try very soon!
We just started learning ARM Cortex M3 assembly at college and I have looked into several resources of Intel x86 assembly.
It would be very interesting to me to learn more about it, since I could use it for so many different things.
Brilliant idea to write your own driver to override the version strings.
I sure have seen some Russian versions of IDA Pro on the internet, haha.
⇗ @daniel_k
Hey! Interesting news! I think you are onto something great with that new XHCI driver and the HAL patcher.
Things seem to be getting better and better for us folks with newer machines.
I have been using XP with the 4GB patch several times now and it seems to be working fine! (Like Server 2003 with native 32GB PAE)
Perhaps it is just a problem of the Advanced Chrome version I am using. Palemoon seems stable, so is every other application.
It is very satisfying. No audio artifacts with integrated Realtek HD either.
Thanks to everyone involved!
Cheers,
schreiberstein

#3592 | IntiMD | ⇗ @genieautravail FYI this device is related to the AMD Platform Security Processor (AMD Secure Technology). To put this simply it's AMD equivalent to Intel's Management Engine BTW if you feel lucky, you can give Snappy Driver Installer Origin a try, so as to try finding the missing drivers for the devices. Assuming that you have working internet connection in the XP machine, go to ⇗ https://www.snappy-driver-installer.org/download/ and download the "Application only" package. Unpack the zipped archive and open the main exe. Choose to download only indexes. After it finishes downloading the indexes it should show you the list of devices that need a driver or need to be updated (depending on the filters set ofc, assuming the filters are default ones). Don't do anything in it (especially DO NOT install the drivers from the app level, even though SDIO is much legit compared to other driver boosters, you need to be cautious. If you're interested, you can hover over a device for info related to the device and drivers offered by the app, including the location of them in the driverpacks that the app offers to download), just close the app. Find the latest snapshot file ending with the .SNP file extension, and upload it to a hosting of your choice (preferably zippyshare or uploadfiles). I'll then check and research the snapshot, hoping the app will find drivers for those unknown devices.

#3593

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3579

> ...fdisk still did not see the disk.

⇗ @Andalu ....I am beginning to suspect a driver problem, or a setup issue for your NV drive. An SSD has to emulate a real hard drive and that requires a driver that can interpret data intended for a real, physical drive to the SST format. When you first attached the SSD was it ever visible in disk manager?
If Easeus was able to clone to the SSD then Active@ Disk Editor should be able to see the partition with XP on it. Bootcfg should at least be able to detect an OS on the disk.
When I had this issue, with XP on partition 2 and an old non-working W98 OS on partition 1, nothing could see the XP install except for an XP SP3 disk slipstreamed with the unofficial SP4 update. My stock XP SP3 disk encountered both 0xA5 and 0x7B bsods and could not reach the repair console. However, the slipstreamed SP4 disk had neither and recognized the existing XP installation. That's why I am thinking there are driver issues, either with your SSD drivers or with the SATA/ACPI drivers. Try running an XP SP3, or earlier, installation disk and see if it can see the XP install on your SSD.
You'll have to let it run from boot as it goes past the F6 install window. If you are getting an 0XA5 bsod, hit F7 immediately when you see the screen for the F6 driver install. That gets you past the 0xA5 ACPI error. Unfortunately, you will likely get an 0xF7 error when Windows starts to boot.

#3594

gordo999

⇗ @XPLives ...update...I now have the old system running with good stability on the 8th gen mobo. I even have a USB connection for keyboard and mouse through an onboard VIA USB2/3 controller. Found the drivers online. The missing drivers are (yellow question marks):
-the NVidia GT 730 graphics driver
-the Creative Xfi drivers
-Intel SPI (flash) controller - A324
-PCI Simple Communications Controller - PCH HECI Controller - A360
-SM Bus controller - A323
-HDAUDIO - NVidia ven_10de_&dev_0051 - CK804 ISA Bridge
-HDAUDI0 - realteck related from the old mobo. I have uninstalled them.
I am currently trying to get the LAN going because my Internet connection is via the Network to another computer. I have a lot of experience with such installations but it becomes a bit mind bending trying to keep all the requirements in place. Like an 8th gen mobo and x86 drivers.

> Zitat von ⇗ XPLives im Beitrag ¶ #3582

> What was the old XP system specs? Motherboard Make / Model?

Intel DQ35JOE from Intel. It would be a lot of trouble at present to set it up since I am using the case for the new mobo. I have set it up on a table top in the past to run a floppy drive.
I can't swap the registry hives one for one since the originals contain a vast amount of data about apps I had installed. I might try it for a laugh to see what happens but right now I am trying to get online so I can activate. Don't want to go through the tedious process required by phone.
BTW...the matching ID for my SATA controller is pci\ven_8086&dev_a352&cc_0106.

#3595

XPLives

⇗ @genieautravail

> Zitat von ⇗ genieautravail im Beitrag ¶ #3590

> @XPLives
> What is the smallest case you were going to use this in?
> I wanted to mount the motherboard into this case :
> ⇗ https://www.lc-power.com/en/product/pc-c...ases/lc-1340mi/
> The only modern integrated iGPU for XP you could use for graphics card slot free is Ivy Bridge. For AMD they stopped XP driver support much earlier for APU. I think around AM2?
> No, the last AMD APU with support for XP is Kabini (release in 2014).
> PCI coding/decoding controller
> This I saw on AMD AM4. I don't know if this also existed on earlier AM3, AM2 chipsets or had XP drivers?
> No, no driver for XP exist.

> Zitat von ⇗ genieautravail im Beitrag ¶ #3590

> @XPLives
> No, the last AMD APU with support for XP is Kabini (release in 2014).

Since you are working on building a desktop in the smallest case then the last claimed supported AMD Desktop APU looks like "Kaveri" (2014) which is socket FM2+ which I should not have called AM2 but because they shifted the name to AM4 it makes it easier to follow.
I also found a strange "Kabini" (2013, SoC) that came right before Kaveri. So if Kaveri works then this Kabini could also.
This one uses Socket AM1 aka Socket FS1b.
Sempron 2650
Sempron 3850
Sempron 3850
Athlon 5350
Athlon 5370
One user here has posted about their Kaveri build here:
⇗ How To - Create a Windows XP 32bit Digital Audio Workstation (and installing on AMD Socket FM2+ hardware).
I did some more searching and found other possible AMD Desktop APUs that might also work and placed on this page link below.
⇗ Windows 32-Bit OS AMD Discussions 2000 XP 2003 2009
But in the interest of easiest to install since Sandy Bridge beat AMD to the theirs and Ivy Bridge improved upon it I think the best will be based on the Ivy Bridge iGPU for that small case. Power consumption and efficiency were very good. Also I noticed easier to find quad core versions compared to the AMD counterpart.
As for how the AMD Kaveri APU compared to the Intel Ivy Bridge iGPU in XP would be interesting to test.
Since I did not invest in AMD CPUs since the K6 series and only recently the AM3 series which I haven't had time to test but doesn't look like any will work on it and I do not know much about the AMD Desktop APU XP performance. I only have AMD graphics cards but once nVidia released Maxwell it was game over and I switched for lower wattage and higher performance. XP driver support also went dead first with AMD on their graphics cards so nVidia had an extra year of support. Only sad thing is they did not release a beta Pascal 1000 series XP driver.

#3596

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3594

> @XPLives ...update...I now have the old system running with good stability on the 8th gen mobo. I even have a USB connection for keyboard and mouse through an onboard VIA USB2/3 controller. Found the drivers online. The missing drivers are (yellow question marks):
> -the NVidia GT 730 graphics driver
> -the Creative Xfi drivers
> -Intel SPI (flash) controller - A324
> -PCI Simple Communications Controller - PCH HECI Controller - A360
> -SM Bus controller - A323
> -HDAUDIO - NVidia ven_10de_&dev_0051 - CK804 ISA Bridge
> -HDAUDI0 - realteck related from the old mobo. I have uninstalled them.
> I am currently trying to get the LAN going because my Internet connection is via the Network to another computer. I have a lot of experience with such installations but it becomes a bit mind bending trying to keep all the requirements in place. Like an 8th gen mobo and x86 drivers.

> > Zitat von ⇗ XPLives im Beitrag ¶ #3582

> > What was the old XP system specs? Motherboard Make / Model?

> Intel DQ35JOE from Intel. It would be a lot of trouble at present to set it up since I am using the case for the new mobo. I have set it up on a table top in the past to run a floppy drive.
> I can't swap the registry hives one for one since the originals contain a vast amount of data about apps I had installed. I might try it for a laugh to see what happens but right now I am trying to get online so I can activate. Don't want to go through the tedious process required by phone.
> BTW...the matching ID for my SATA controller is pci\ven_8086&dev_a352&cc_0106.

Are you saying all these devices you don't have the driver working?
-the NVidia GT 730 graphics driver
-the Creative Xfi drivers
-Intel SPI (flash) controller - A324
-PCI Simple Communications Controller - PCH HECI Controller - A360
-SM Bus controller - A323
-HDAUDIO - NVidia ven_10de_&dev_0051 - CK804 ISA Bridge
-HDAUDI0 - realteck related from the old mobo. I have uninstalled them.
The only one that should work that you really need is the GT 730.
Use HDMI Video/Audio output solution and you're done.
All other devices are not required.
The Intel DQ35JOE is ancient. Was that the last motherboard you've used since going to Coffee Lake? You really dragged on that thing forever.
No PS/2 ports luckily USB 2.0 working on that.
Easiest to setup again without installing in the new case. Just unhook the PSU from the case and place motherboard onto a motherboard box top. Hook up the PSU. Then add the old memory back if you've removed it. Then hook up the SATA drive and boot into XP. Add USB keyboard/mouse to get info. And hook up old VGA monitor to integrated VGA port.

#3597

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3596

> The only one that should work that you really need is the GT 730.
> Use HDMI Video/Audio output solution and you're done.

⇗ @XPLives ...not following you. What is HDMI Video/Audio solution? I got the Creative Xfi sound card going and I have been working on the Nvidia card but an INF file I have lists it and the installer claims the hardware is not right. Go figure.
Spoke too soon. I tried one last time to load Nvidia drivers with a popup Add New Hardware windows and this time it worked. After a reboot, I was in high definition mode as opposed to a super VGA mode. In Control Panel\Display they list the driver as Nvidia GT 730, but nowhere else. Normally Nvidia has a presence under Start\Programs but there's nary a sign of them. No monitor, no setup facility...nada. There's hardly a mention under Program Files either. Weird.

#3598

XPLives

@quote=gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3597

> > Zitat von ⇗ XPLives im Beitrag ¶ #3596

> > The only one that should work that you really need is the GT 730.
> > Use HDMI Video/Audio output solution and you're done.

> @XPLives ...not following you. What is HDMI Video/Audio solution? I got the Creative Xfi sound card going and I have been working on the Nvidia card but an INF file I have lists it and the installer claims the hardware is not right. Go figure.
> Spoke too soon. I tried one last time to load Nvidia drivers with a popup Add New Hardware windows and this time it worked. After a reboot, I was in high definition mode as opposed to a super VGA mode. In Control Panel\Display they list the driver as Nvidia GT 730, but nowhere else. Normally Nvidia has a presence under Start\Programs but there's nary a sign of them. No monitor, no setup facility...nada. There's hardly a mention under Program Files either. Weird.

Use Device Manager and point to the driver INF folder directly. Don't use the Installer. If the graphics card doesn't show up as the default selected on the list then pick GT 710.
Just use settings, control panel, display and there will be a tab there.

#3599

genieautravail

> Zitat von ⇗ IntiMD im Beitrag ¶ #3592

> @genieautravail FYI this device is related to the AMD Platform Security Processor (AMD Secure Technology). To put this simply it's AMD equivalent to Intel's Management Engine
> BTW if you feel lucky, you can give Snappy Driver Installer Origin a try, so as to try finding the missing drivers for the devices. Assuming that you have working internet connection in the XP machine, go to ⇗ https://www.snappy-driver-installer.org/download/ and download the "Application only" package. Unpack the zipped archive and open the main exe. Choose to download only indexes. After it finishes downloading the indexes it should show you the list of devices that need a driver or need to be updated (depending on the filters set ofc, assuming the filters are default ones). Don't do anything in it (especially DO NOT install the drivers from the app level, even though SDIO is much legit compared to other driver boosters, you need to be cautious. If you're interested, you can hover over a device for info related to the device and drivers offered by the app, including the location of them in the driverpacks that the app offers to download), just close the app. Find the latest snapshot file ending with the .SNP file extension, and upload it to a hosting of your choice (preferably zippyshare or uploadfiles). I'll then check and research the snapshot, hoping the app will find drivers for those unknown devices.

thank you!
I will try Snappy in the next weeks.
Not before, because I have ordered some new DDR4 memory modules for the motherboard and I will do everything in the same time.

#3600 | genieautravail | ⇗ @XPLives Yes, Socket AM1 is for kabini APU. I have one Athlon 5350 APU and one Sempron 3850 APU with this motherboard: ⇗ https://www.asrock.com/mb/AMD/AM1H-ITX/

## Page 241

#3601

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3598

> Use Device Manager and point to the driver INF folder directly. Don't use the Installer. If the graphics card doesn't show up as the default selected on the list then pick GT 710. Just use settings, control panel, display and there will be a tab there.

⇗ @XPLives ...maybe you could clarify something. There was no listing for the NVidia card in Device Manager. The Display entry had a generic VGA driver. Are you saying I should have used the generic driver entry to load the NVidia drivers? Furthermore, there is an entry under the USB controller section for the VIA USB drivers for their USB card I have plugged into the PCIe sockets. Is there a way for me to install drivers for the B360M's mobo onboard chipset from DM without disturbing the VIA drivers?

#3602

gordo999

> Zitat von ⇗ genieautravail im Beitrag ¶ #3590

> I wanted to mount the motherboard into this case :

⇗ @genieautravail ...as someone with scads of experience with hardware I suggest with a case that the rule of thumb is "the bigger the better". Those smaller, sleek cases look good, but in the heat of summer you can almost bet your processor temperature will skyrocket. Heat dissipation from the processor is based on conduction of heat to the heat sink (physical contact via thermal paste), convection of heat from the heat sink to the surrounding air, and the further conduction of heat away from the heat sink by external fans. Since the heat dissipation by conduction is limited by the thermal gradient between the processor and the heat sink, the major dissipation factor is how fast you can get the heat away from the heat sink and how cool you can keep the heat sink. Heat will flow faster when the temperature between source and sink is higher.
I run a much larger case open because I am always in there tinkering. During summer, I noticed the CPU temperature reaching 80C, an alarming observation for anyone associated with hardware. I immediately pointed a fan with a 12" blade at the motherboard and the temperature dropped in a few minutes to a more acceptable 50C range. I got it even lower by positioning the external and larger fan. The smaller fans in those slim-line boxes is not enough to carry off the heat of a multi-core processor under load in higher ambient room temperatures unless you have a water-cooled heat sink on the processor . If you look in the computer room of a major commercial or industrial environment, the rooms are air conditioned to the point it can be uncomfortably cool in there. That's not for the benefit of the employees in the room.

#3603

schreiberstein

I just attempted to install Visual Studio 6.0 on my XP machine and it failed without any error messages. I assume this is all due to NTVDM, since I did not encounter such issues on my XP VM. Did not find a way to temporarily disable the AMD USB driver, so I guess I will just wait for another driver until I deploy a final system for myself.
(I am using PS/2 keyboard and mouse)
I also attempted disabling NTVDM via group policy, but it did not change anything for the better.
VMware Workstation 10 installed fine on Server 2003, but starting a VM took about two minutes, mouse went unresponsive (like on Windows 98 with interrupt issues) and the Linux kernel (Ubuntu 64) crashed while booting (Kernel Panic - Something about interrupts)
This might be due to an incompatibility with the new CPU and this old version of VMware though. I will look into that.
⇗ @Mattiwatti
Thank you again for your patched kernel. I was able to install the nVidia drivers (it seems, but some sub installers failed, but that might have been due to the previously failed i stallation.) I am now able to use the nVidia control panel to configure my dual monitor setup. Very cool!
Id personally prefer XP for compatibility though if daniel_k and 0x pull off the 4GB+ hal.dll patching. Aside from NTVDM, there is no real showstopper for me on XP, I think.
I am really happy about it. Thanks to all.
Cheers,
schreiberstein

#3604

gordo999

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3603

> I just attempted to install Visual Studio 6.0 on my XP machine and it failed without any error messages.

⇗ @schreiberstein ...there is usually an installation log. There is usually a setupapi.log somewhere and Visual Studio may have their own.

#3605 | cedar | ⇗ @gordo999 Once awhile I place foods that need defrosted from the fridge between the fan and the open case computer.

#3606

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3605

> Once awhile I place foods that need defrosted from the fridge
> between the fan and the open case computer.

⇗ @cedar ...I know this discussion is getting off topic but I thought it might be valuable information related to the topic since the issue was raised within the thread in relation to the topic.
Never thought of your idea re thawing food but a long time ago when I worked repairing computers I encountered a situation where a power transistor had been mounted on a cabinet cover (back door) as a heat sink. You could not hold your finger on the transistor's metal case because it would burn you severely. The metal around the transistor was so hot, I swear you could have fried an egg on it. That transistor was capable of carrying 8 amps unsinked and that's a lot of current to run through a tiny transistor junction. It also produces a lot of heat.
My processor is an Intel i5-8400 and it is rated at 65 watts. It only uses 70% of rated capacity at full load "at room temperature". That 30% hedge can soon be used up if the heat in the case gets too hot. Even at 50 watts, and a presumed processor voltage of 1.2 volts, that's a current draw of 41 amps, 5 times what my power transistor drew. Mind you, a processor draws the current through 50 million+ transistors. All the same, it amounts to 5 times the heat on my single power transistor and that heat needs to be well dissipated as well as being supplied from an adequate power rated supply. As you claimed, you can use the heat to thaw out frozen food. The processor can draw that much current due to DC-DC buck converters used on modern mobos that step down the 3.3 volt PS line to 1.2 volts while increasing the current, just like a step down transformer.

#3607

cedar

⇗ @gordo999
Heating problem is very real in the summer.
My old Pentium DualCore used to be overclocked 3+Ghz via Setfsb
utility for several years. Bought an Arctic Freezer Pro which was several mm
oversize and didn't fit the Asrock VSTA board. So it needs open case and
real mid size fan blow to it. Now I underclock it to run it, due to its
old age. I also underclock the video card using an older version Afterburn.
Otherwise it won't run stable in the hot summer. I was not joking about
the defrosting. The cooling affect is quite small, but it is there and harmless.

#3608

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3573

> @gordo999, I was patching a driver....

⇗ @daniel_k ...speaking of patching drivers someone mentioned that you had worked on LAN drivers recently. Not asking you to patch anything for me but would you read over this issue and let me know what you think?
I found a possible XP LAN driver for my Asus B360M which uses an Intel I219-V, according to the W7 Network section in Device Manager. The driver is in the package ProWin32Legacy.exe from Intel. My DEV_15BC is listed in the INF file but all the references are to W7, 6.1.1. I changed all the 6.1.1 settings to 5.1.1 and XP happily loaded everything to my registry and the driver e1d6232.sys to %windir%\System32\drivers. However, the driver won't start and in XP Device Manager it is marked as error (Code: 39) meaning the driver MIGHT be corrupted or missing.
I am wondering if in your experience drivers get marked internally as being for one OS only. I can, and will find out for myself, but I thought you might be able to help me not re-invent the wheel, so to speak. BTW...I got the Creative XFi card going with all the bells and whistles (sounds really good) and the Nvidia graphics card GT 730.

#3609

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3601

> > Zitat von ⇗ XPLives im Beitrag ¶ #3598

> > Use Device Manager and point to the driver INF folder directly. Don't use the Installer. If the graphics card doesn't show up as the default selected on the list then pick GT 710. Just use settings, control panel, display and there will be a tab there.

> @XPLives ...maybe you could clarify something. There was no listing for the NVidia card in Device Manager. The Display entry had a generic VGA driver. Are you saying I should have used the generic driver entry to load the NVidia drivers? Furthermore, there is an entry under the USB controller section for the VIA USB drivers for their USB card I have plugged into the PCIe sockets. Is there a way for me to install drivers for the B360M's mobo onboard chipset from DM without disturbing the VIA drivers?

On your regular fresh XP installation it will show up as "Video Controller (VGA Compatible)", but on my automated installation that I'm working on using my modified driver it installs directly so I only see the graphics card name.
Once the drivers are installed for a device installing another driver for another device does not affect the devices already installed. However if the drivers are using the same shared names and your modified driver overwrites the original driver it may cause it to fail. You will usually get an overwrite prompt popup to confirm. So in that case of two nVidia graphics cards of different generations it is necessary to modify the driver filenames as well since the drivers are different but use the same filenames. The other method is using two different graphics card brands AMD and nVidia and not modify the drivers. But recently I found AMD driver causes the nVidia driver or card to somehow BSOD. Once the registries are modified you will have to find a way to purge it or go back to an earlier image before any graphics drivers were installed. So that's why it is better to choose one brand and in my experience nVidia has the best performance for XP. Once the two drivers are mixed in the same system only the AMD continues to work without BSOD. The other option is if you are using both AMD for 98SE and nVidia for XP never install the AMD drivers and you'll be fine.
So if you plan on using a VIA USB 3.0 PCIe card and using a modified VIA USB 3.0 driver for your onboard Intel USB 3.0 ports it might work, might not work, or behave erratically. Also if the drivers are written by the same manufacturer it's also possible they could conflict even though different card brands. Only way to know for sure is to test it.

#3610

XPLives

⇗ @genieautravail

> Zitat von ⇗ genieautravail im Beitrag ¶ #3600

> @XPLives
> Yes,
> Socket AM1 is for kabini APU.
> I have one Athlon 5350 APU and one Sempron 3850 APU with this motherboard:
> ⇗ https://www.asrock.com/mb/AMD/AM1H-ITX/

Yeah it's strange AMD use FM1 and AM1. Kaveri is probably the last generation for you. If you go desktop and discrete GPU then AM3+ is the best XP compatible.
Interesting motherboard AM1H-ITX. Has an option to use an external power brick. At first I thought it was missing the ATX connector or why put that on the rear then it states includes both so if you use power brick you could use a smaller case. I don't think any Intel one has this feature that I've seen but I do not buy Mini ITX size motherboards just ATX. But you gave me nice idea to hunt for a Sandy/Ivy Bridge Mini ITX for a small case system build maybe one day for experiment. Have you tried Pico PSU or fanless SFF PSU?
Do you have any Kabini laptop with XP some were < 10W.
If you want to go super small I remember some USB computer sticks from Intel. I actually wanted to test if they could use XP.

#3611

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3606

> > Zitat von ⇗ cedar im Beitrag ¶ #3605

> > Once awhile I place foods that need defrosted from the fridge
> > between the fan and the open case computer.

> @cedar ...I know this discussion is getting off topic but I thought it might be valuable information related to the topic since the issue was raised within the thread in relation to the topic.
> Never thought of your idea re thawing food but a long time ago when I worked repairing computers I encountered a situation where a power transistor had been mounted on a cabinet cover (back door) as a heat sink. You could not hold your finger on the transistor's metal case because it would burn you severely. The metal around the transistor was so hot, I swear you could have fried an egg on it. That transistor was capable of carrying 8 amps unsinked and that's a lot of current to run through a tiny transistor junction. It also produces a lot of heat.
> My processor is an Intel i5-8400 and it is rated at 65 watts. It only uses 70% of rated capacity at full load "at room temperature". That 30% hedge can soon be used up if the heat in the case gets too hot. Even at 50 watts, and a presumed processor voltage of 1.2 volts, that's a current draw of 41 amps, 5 times what my power transistor drew. Mind you, a processor draws the current through 50 million+ transistors. All the same, it amounts to 5 times the heat on my single power transistor and that heat needs to be well dissipated as well as being supplied from an adequate power rated supply. As you claimed, you can use the heat to thaw out frozen food. The processor can draw that much current due to DC-DC buck converters used on modern mobos that step down the 3.3 volt PS line to 1.2 volts while increasing the current, just like a step down transformer.

I don't think i5-8400 can get that hot but gets pretty warm if 4.0 GHz. Check your temps for 800 MHz mine runs at 27.0-29.0C. Very nice for fanless XP setup. Closed system no ventilation maybe will increase temps 10.0C? Once Ice Lake / Tiger Lake 10nm we can see if they will drop to 400 MHz and no heatsink needed.

#3612

Mattiwatti

> Zitat von ⇗ gordo999 im Beitrag ¶ #3608

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3573

> > @gordo999, I was patching a driver....

> ⇗ @daniel_k ...speaking of patching drivers someone mentioned that you had worked on LAN drivers recently. Not asking you to patch anything for me but would you read over this issue and let me know what you think?
> I found a possible XP LAN driver for my Asus B360M which uses an Intel I219-V, according to the W7 Network section in Device Manager. The driver is in the package ProWin32Legacy.exe from Intel. My DEV_15BC is listed in the INF file but all the references are to W7, 6.1.1. I changed all the 6.1.1 settings to 5.1.1 and XP happily loaded everything to my registry and the driver e1d6232.sys to %windir%\System32\drivers. However, the driver won't start and in XP Device Manager it is marked as error (Code: 39) meaning the driver MIGHT be corrupted or missing.

I can't speak for ⇗ @daniel_k, and perhaps he has some driver (modified or not) hidden up his sleeve that will work for the I-219V. But as far as I know this range of onboard ethernet adapters (I-217V, I-218V, I-219V) has never seen XP-compatible drivers released by Intel. I will explain why the driver you took can't work on NT 5.1 or 5.2 regardless of .inf file modification, since it may help in the future (exact results may differ, since I'm probably using a different version of the driver and also on x64):
1. Make a new folder on your desktop named 'drivers' (any name works) and drop the .sys file(s) that the .inf will install for you in there. In this case that would just be e1d6232.sys.
2. Copy any dependencies living in system32\drivers to the same folder. Since we don't yet know which these are, and I don't want to spoil the surprise, simply copy all .sys files from system32\drivers to the folder on your desktop. Why not drop e1d6232.sys into system32\drivers? Because this way you are free to work with a hypothetical modified drivers folder (e.g. using some Vista or Windows 7 drivers) without messing up your real installation.
3. Run ⇗ Dependency Walker, making sure to use the version with the right bitness for your OS (x86 vs x64).
4. Open e1d6232.sys in the 'drivers' folder that lives on your desktop.
5. At this point you will get an error about missing dependencies, which is the guarantee that the .sys driver will not work on an unmodified system.
6. Fortunately Dependency Walker does a lot more than saying something is wrong (like Windows does, and even then you have to be aware which cryptic error codes map to which dependency problem). It also shows which functions are missing and in which files the driver expects these to be. (Note that this works the same way for user mode binaries with .exe/.dll extensions.)
7. Upon closer inspection you will see that the driver is missing several functions in ndis.sys, which is the general purpose network driver almost all network-related drivers will depend on. One hypothetical (and not entirely stupid, given that it works for some other drivers) fix that one could come up with is to simply take ndis.sys from Windows 7. Do so now by replacing ndis.sys (in the folder on your desktop!) with one from Windows 7 of the same bitness. Close the file in Dependency Walker and reopen it.
8. You will once again receive an error, this time related to a missing msrpc.sys. On your system you may also have missing ntoskrnl.exe dependencies (I use a highly modified kernel with about ~400 extra exports so I can't really check this). The 'only msrpc.sys' case is the optimistic one. Let's also assume we don't already know what this driver is and what it depends on... Repeat the procedure from above by naively dropping msrpc.sys from Windows 7 into the drivers folder. Close and reopen the Intel .sys file.
9. This is the part where you will hit a brick wall due to missing dependencies in ntoskrnl.exe. Whether or not such a missing dependency is truly fatal requires some knowledge of NT internals, and even then the definition of 'fatal' can be argued since anything can in principle be done given enough time... but I will call this a fatal scenario. What's the problem? Msrpc.sys requires the ALPC (Advanced or Asynchronous, depending on whom you ask, Local Procedure Call) subsystem to be present. You can tell this is the case from the various ZwAlpcXxx functions the driver requires.
Several (more simple) drivers can be made to work this way by using the above procedure (taking one or two simple export drivers from a newer Windows version if needed), which is why I outlined it in detail even though in this case it still ended up not fixing anything. At the very least you will be able to see why a driver's dependencies cannot be satisifed instead of the useless error codes that Windows returns.
Back to reality... what should you do? Well, first of all, await ⇗ @daniel_k's response in case he's aware of a fix or workaround for this particular adapter. Personally, what I have done is buy a simple ⇗ Intel Gigabit CT Desktop Adapter (from ~2009), which is still a perfectly acceptable 1Gbps card today and fits in a PCIe x1 slot. This name is a bit generic: the precise adapter you are looking for has ID PCI\VEN_8086&DEV_10DE which translates to (in the INF) "Intel(R) 82567LM-3 Gigabit Network Connection" or (PCI ID repository/Linux kernel) "Intel Corporation 82574L Gigabit Network Connection". Beware that Intel has memory holed all XP/2003-compatible drivers 1984 style and you will not find them on intel.com. The latest compatible version of the network drivers I was able to find using Google was v18.3 (for NT 5.2 x64).

#3613

Mattiwatti

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3591

> @Mattiwatti
> Thanks a lot!
> This sounds very interesting / promising! Have you shared this knowledge before? It's amazing and I am sure it will help a lot (whatever the numbers are in 2019) of folks who want to use "personal" applications on Server 2003.

You can hereby consider it shared ;)
If you feel like the "faux XP" kernel is worthy of its own thread or should be shared somewhere else, feel free to do so. I don't own the copyright to the file, and in so far as I own the copyright to any modifications I release them to the public domain. I just don't want to become the "maintainer" of the patch with all the boring duties that come with such a job. Although if you have any problems with it you can always try to @ping me by name (or PM me) and see if I show up and am able to fix the problem.

#3614

genieautravail

> Zitat von ⇗ XPLives im Beitrag ¶ #3610

> Interesting motherboard AM1H-ITX. Has an option to use an external power brick. At first I thought it was missing the ATX connector or why put that on the rear then it states includes both so if you use power brick you could use a smaller case. I don't think any Intel one has this feature that I've seen but I do not buy Mini ITX size motherboards just ATX. But you gave me nice idea to hunt for a Sandy/Ivy Bridge Mini ITX for a small case system build maybe one day for experiment. Have you tried Pico PSU or fanless SFF PSU?

Not for the moment, the motherboard is mounted in the same case that I wanted to use for the BIOSTAR motherboard:
⇗ https://www.lc-power.com/en/product/pc-c...ases/lc-1340mi/
I have 4 of these cases.

> Zitat von ⇗ XPLives im Beitrag ¶ #3610

> Do you have any Kabini laptop with XP some were < 10W.

Not a laptop, but in one of my LC-POWER cases In have mounted this motherboard:
⇗ https://www.biostar.com.tw/app/en/mb/int...on.php?S_ID=711
The AMD E1-2100 APU has a TDP of 9W. More informations here:
⇗ http://www.cpu-world.com/CPUs/Jaguar/AMD...%20E1-2100.html

> Zitat von ⇗ XPLives im Beitrag ¶ #3610

> If you want to go super small I remember some USB computer sticks from Intel. I actually wanted to test if they could use XP.

Not truly an USB computer stick, but I have just installed XP on a mini PC equiped with an AMD A6-1450 APU with a TDP of 8W.
See here:
⇗ XP and mSATA
More informations on the APU:
⇗ http://www.cpu-world.com/CPUs/Jaguar/AMD...%20A6-1450.html

#3615

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3585

> @Andalu
> Are you dual booting that system? If so, please run the benchmark on an OS with official USB3 driver support (Win7 or later).

Your predictions were correct. Even in Windows 7 the performance of the toshiba external disk connected to the USB3 port are not as expected. A tiny better with the samsung M3 portable, but the main problem is that there is no way to make the usb3 function available on my crazy board also after a shutdown.
At this point, I'm thinking it's time to put this board aside, also because I have another board where usb3 doesn't work at all and I still have not found a way to solve.

## Page 242

#3616

Andalu

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3593

> > Zitat von ⇗ Andalu im Beitrag ¶ #3579

> > ...fdisk still did not see the disk.

> @Andalu ....I am beginning to suspect a driver problem, or a setup issue for your NV drive. An SSD has to emulate a real hard drive and that requires a driver that can interpret data intended for a real, physical drive to the SST format. When you first attached the SSD was it ever visible in disk manager?
> If Easeus was able to clone to the SSD then Active@ Disk Editor should be able to see the partition with XP on it. Bootcfg should at least be able to detect an OS on the disk.
> When I had this issue, with XP on partition 2 and an old non-working W98 OS on partition 1, nothing could see the XP install except for an XP SP3 disk slipstreamed with the unofficial SP4 update. My stock XP SP3 disk encountered both 0xA5 and 0x7B bsods and could not reach the repair console. However, the slipstreamed SP4 disk had neither and recognized the existing XP installation. That's why I am thinking there are driver issues, either with your SSD drivers or with the SATA/ACPI drivers. Try running an XP SP3, or earlier, installation disk and see if it can see the XP install on your SSD.
> You'll have to let it run from boot as it goes past the F6 install window. If you are getting an 0XA5 bsod, hit F7 immediately when you see the screen for the F6 driver install. That gets you past the 0xA5 ACPI error. Unfortunately, you will likely get an 0xF7 error when Windows starts to boot.

About the XP installation on the nvme disk please see my post ¶ here
I don't understand why the XP txt installation setup has completed with no problems and the GUI setup does not start anyway.
The nvme disk is immediately seen in the XP mechanical disk as a generic PCI device and after installing the ofa driver 1.3 and storport.sys 5.2.3790.4173 it is correctly recognized as disk drive.
Active@ Disk Editor was able to see the partition with XP on it, but i don't know what to modify. With Macrium Reflect, when I tried to restore an image created previously from the XP disk (with 512 bytes per sector), I got the error: "the target disk has an incompatible sector size for this operation".
The bootcfg /scan command from the recovery console also does not detect the XP installation on the nvme disk (drive D:).

#3617

Andalu

⇗ @XPLives

> Zitat von ⇗ XPLives im Beitrag ¶ #3577

> How large is the SSD? If it's 128GB and smaller you should be able to create the partitions. If FDISK isn't allowing you to enter then maybe using a hex editor and wiping Sector 0 of the NVME to 0s. Then trying to boot up on USB floppy drive and 98SE DOS and try FDISK again. If not then you might try to use a FAT32 partitioner to make it visible to 98SE DOS.
> Use this link
> ⇗ Data Backup and Recovery for MBR Drives
> Look for the FAT32 formatting program downloaded from here:
> And use that link to download that program I used.
> If you still can't see the NVME in 98SE DOS you can try
> FDISK /MBR and see what happens if this fixes it.
> Once you get into FDISK you then will have to set the first partition as Active assuming you could then delete any partitions existing and create a new FAT16 2GB partition. The if this works reboot and then FDISK again to create the larger extended partition of the remaining space with FAT32. Then you can make the logical drive partitions for D: E:.

> Zitat von ⇗ XPLives im Beitrag ¶ #3581

> Try the FAT32 GUI formatter I mentioned in the link. I don't know if you are using Windows 7 or 10 but I think this program can work in it. Is there a NVME to USB adapter you can use? If NVME to USB adapter exists then maybe you can do it as a USB device. I usually use SATA to USB adapter. Also 500GB will be a bit too large for my method. You probably could still do the FAT16 2GB, but for the Extended Partition Size you will have to self cap it to 9999 MB. Then you can create a 8GB -> 32GB D: for XP, E: just the rest of it. Anything above the 102GB you can then use XP Disk Management and create it as NTFS partitions to utilize the 300+GB left over. Don't use Windows Vista->10 to create or delete any of the partitions as you could corrupt it. It's okay to install Windows Vista->10 onto the XP created NTFS partitions with no problems.

At moment I have no NVME to USB adapter and I don't know if my nvme disk can effectively work on it. I tried again with win98SE bootable pendrive but fdisk still does not recognize the nvme disk.

#3618 | cedar | ⇗ @Andalu Have you tried XXclone or Paragon rescue kit 9 free edition? They make unbootable hard disk partition bootable for cloning W2k, XP. It worked for my SSD 120GB on Ivy system test some months ago. Maybe they have newer versions that can work for you.
#3619 | diderius6 | ⇗ @Andalu Please tell me the exact name of the nvme disk, which makes problems to boot XP SP3 from it. I will buy and check ) Dietmar

#3620

cedar

Partial install(with errors) of 64bit_Win7_Win8_Win81_R272 Realtek
audio driver overwrite some files on another version of installed Realtek
audio driver stabilize my XP64 SP2 Ryzen. I tested Kmplayer can play
several hours of video with "sounds" without rebooting XP64.
However, test playing 10 epsodes of tv shows overnight still reboot
XP64 at some point last night. Nevertheless, It is a big improvement.
Lot more tests still needed. Like whether it can encode while watching
videos. or using ffmpeg ,Virtualdub64 or 32 bit...
edIt: This won't install(partially) under XP64. unless extract the file
to a folder and add new section AND your hardware ID from:
eg. HDX.inf
[Manufacturer]
%MfgName% = AzaliaManufacturerID, NTamd64.6.0
[AzaliaManufacturerID.NTamd64.6.0]
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0861
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0880
to:
[Manufacturer]
%MfgName% = AzaliaManufacturerID, NTamd64.6.0, NTamd64
[AzaliaManufacturerID.NTamd64]
;Your audio hardware ID here
[AzaliaManufacturerID.NTamd64.6.0]
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0861
"Realtek High Definition Audio" = IntcAzAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0880

#3621 | Andalu | ⇗ @cedar Thank your for the info. I'll give a try.

#3622

Andalu

⇗ @diderius6
I am sorry and I thank you very much for your kind availability but I cannot allow it. My board already boots from a M.2 SSD disk, so I am in no hurry to solve. I asked for help in this great forum to have the opportunity to learn something new about my passion (and also to write better in english which is the most difficult thing for me ....it's still so poor). I ask you the courtesy of not making any purchase to solve the problem I have. Thank you again so much ;)
P.S.: I take this opportunity to apologize if I have caused any disturbance for my requests.

#3623

diderius6

⇗ @Andalu
Is this M.2 SSD disk, from where you can boot XP SP3, a real nvme device
Dietmar
PS: Is there a name on the NVME disk written by Samsung,
that you have extracted from samsung x5 portable ssd?
EDIT: The nvme in the X5 case seems to be very near to this one.
I have done nvme boot of XP SP3 with this device.
Samsung SSD 970 EVO 500GB, M.2 (MZ-V7E500BW)
(351)
Info beim Hersteller
Bauform Solid State Module (SSM)
Formfaktor M.2 2280
Schnittstelle M.2/M-Key (PCIe 3.0 x4)
Lesen 3400MB/s
Schreiben 2300MB/s SLC-Cached (600MB/s TLC)
IOPS 4K lesen/schreiben 370k/450k
Speichermodule 3D-NAND TLC, Samsung, 64 Layer (V-NAND v4)
TBW 300TB
Zuverlässigkeitsprognose 1.5 Mio. Stunden (MTBF)
Controller Samsung Phoenix (S4LR020), 8 Kanäle
Cache 512MB (LPDDR4), SLC-Cache (4-22GB)
Protokoll NVMe 1.3
Datenschutzfunktionen 256bit AES, TCG Opal 2.0
Leistungsaufnahme 10W (maximal), 5.7W (Betrieb), 0.03W (Leerlauf), 0.005W (Schlafmodus)
Abmessungen 80x22x2.38mm
Besonderheiten L1.2 Low-Power-Standby
Herstellergarantie fünf Jahre oder bis Erreichen der TBW
Gelistet seit 24.04.2018, 18:03

#3624 | Andalu | ⇗ @diderius6 your Samsung SSD 970 EVO 500GB, M.2 (MZ-V7E500BW) is similar to the model I have. The controller is the same. How did you boot XP from it? edit: my board boots correctly from the Sandisk SD8SN8U-256G-1012

#3625

diderius6

⇗ @Andalu
May be the reason is, that the Samsung 970 EVO has 512-e mode.
This means, internal it uses 4096 Byte/sector but to the environment it acts
like 512 Byte/sector. Only from 512 Byte/sector XP SP3 can boot.
When the internal controller of the Samsung nvme in the X5 case ONLY works
with real 4096 Byte/sector you can use it under XP only as USB device in an USB case
Dietmar

#3626 | Andalu | ⇗ @diderius6 Thanks for the explanation. You confirmed what ⇗ @gordo999 reported in a previous post, the trouble is there, XP can't boot from a nvme disk with 4096 byte per sector and no 512 byte emulation mode. But how can I figure if my nvme disk has or not the 512e? I understand, if I had it I wouldn't have found so many difficulties for cloning the disk or restoring an XP image and also the partitioning software would have listed the nvme disk.
#3627 | diderius6 | ⇗ @Andalu For nvme disks I also do not know, how to decide between real and only 4096 bytes per sector or 512 emulated. On the WD harddisks in their description is written, that they have 512e mode Dietmar

#3628

gordo999

⇗ @Mattiwatti ....thank you kindly for the detailed and in-depth explanation. I have enough experience with reversing and the NT Kernel to follow you and I would dearly love getting into ntoskrnl to the level you mention. However, the only debugger of which I am aware that will trace through ring 0 code is softice. I have asked experienced people if windbg will trace through it but the answers I receive are vague as to what constitutes ring 0. Anytime I have tried to enter ring 0 with wdbg at a sysenter point, it turfs me out the other end without tracing through the code. Having said that, since I am working in x86 code, I would love to get SI going on this converted XP machine and I know it won't be easy. Tried the other night for a laugh and got a bsod with stop: 0x24, apparently related to ntfs.sys. Does that mean SI only runs on a FAT32 system? Don't think so since I recall using it to trace into the MFT via ntfs.sys. Don't want to get off-topic talking about debuggers but if you have anything to add on that topic perhaps you would be kind enough to PM me.
Your explanation re dependency walker is interesting. It had occurred to me to try it at some point but it had not occurred to me to load the entire drivers directory into the same test folder. Why not the entire sys32 directory as well? Having said that, if we are creating a directory with all those files, should it not work by running DW on a W7 machine?

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3612

> ...what I have done is buy a simple ...Intel Gigabit CT Desktop Adapter

From what I gather I'd need to find an older version. I looked the adapter up on the Intel site and they claim the 32-bit version won't run on anything below W7. Of course, that's Intel. They have unfortunately abandoned ship. I came across an adapter last night that is a USB - Network adapter....don't know if that would work.
BTW...I managed to get online last night using a Cisco AM10 wifi adapter. It plugs into a USB port and for some reason sets itself up as a drive. Bit of a nuisance. The good news is that I am now activated.

#3629

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3624

> your Samsung SSD 970 EVO 500GB, M.2 (MZ-V7E500BW) is similar to the model I have.

⇗ @Andalu ...check out this troubleshooting FAQ from Samsung. They talk about a Magician utility for checking the drive.
⇗ https://www.samsung.com/semiconductor/minisite/ssd/support/faqs-02/
Also, does the drive show up correctly in BIOS and in Device Manager? Based on the information in the Samsung FAQ, your driver may need a mod to run under XP.

#3630

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3609

> So if you plan on using a VIA USB 3.0 PCIe card and using a modified VIA USB 3.0 driver for your onboard Intel USB 3.0 ports it might work, might not work, or behave erratically. Also if the drivers are written by the same manufacturer it's also possible they could conflict even though different card brands. Only way to know for sure is to test it.

⇗ @XPLives ...thanks for the info. Not sure if VIA drivers will work with the B360 USB hardware since VIA uses its own onboard USB controller. I did try the drivers for XP by ⇗ @diderius6 but they crashed. I have not had time to look into this since Dietmer specified the acpi.sys driver by daniel_k and I am using a later acpi version by him. See post #2072 on page 139.

## Page 243

#3631

daniel_k

WinXPPAE 2.0, a small utility to patch all kernel and hal files, supporting all languages and versions 5512 (SP3) and later:
What's new:
- thanks to ⇗ @Mov AX, 0xDEAD, now includes HAL patches for ACPI Timer fix and proper memory management from Server 2003.
- creates backups files (.bak) automatically
To use it, copy the following hal and kernel files (found in SP3.CAB) and the utility to the same folder.
ntkrnlmp.exe - Multiprocessor Kernel
ntoskrnl.exe - Uniprocessor Kernel
ntkrpamp.exe - Multiprocessor PAE Kernel
ntkrnlpa.exe - Uniprocessor PAE Kernel
hal.dll - Standard PC HAL
halaacpi.dll - ACPI Uniprocessor HAL
halacpi.dll - ACPI HAL
halapic.dll - MPS Uniprocessor HAL
halmacpi.dll - ACPI Multiprocessor HAL
halmps.dll - MPS Multiprocessor PC HAL
Run WinXPPAE with the appropriate command line.
Usage: winxppae [/4GB | /ALL | /NB or /NOBACKUP]
/4GB Enables PAE limiting RAM to 4Gb to avoid stability issues.
/ALL Enables PAE with unlimited RAM, may have stability issues.
/NB Does not create backup copies of original files.
/NOBACKUP Same as /NB
You may test the files on a running system by replacing the files from another OS (otherwise File Protection will restore the files).
In this case, pay attention to the filenames, on multiprocessor systems, rename ntkrnlmp.exe to ntoskrnl.exe and ntkrpamp.exe to ntkrnlpa.exe. Hal filename is always hal.dll.
Or integrate them on the CD (rebuilding SP3.CAB and repacking ntkrnlmp.ex_, ntoskrnl.ex_, hal.dl_, halaacpi.dl_, halacpi.dl_, halapic.dl_, halmacpi.dl_ and halmps.dl_).
No need to include a /PAE switch in boot.ini, as this works just like on Server 2003.
As I've patched the files properly, ntoskrnl.exe automatically chainloads the PAE kernel, ntkrnlpa.exe.
PS: Only supports Windows XP SP3. Another version supporting Server 2003 will be released later.

#3632 | daniel_k | ⇗ @gordo999 and ⇗ @Mattiwatti Me and ⇗ @diderius6 have tried to mod the last Intel LAN XP driver to support the Intel I219-V, but gave up. Try to get a XP compatible PCIe (Intel, Realtek, Atheros) or USB (ASIX, Realtek?!) LAN adapter.

#3633

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3615

> Your predictions were correct. Even in Windows 7 the performance of the toshiba external disk connected to the USB3 port are not as expected. A tiny better with the samsung M3 portable, but the main problem is that there is no way to make the usb3 function available on my crazy board also after a shutdown.
> At this point, I'm thinking it's time to put this board aside, also because I have another board where usb3 doesn't work at all and I still have not found a way to solve.

Try this (not sure if really XP compatible):
⇗ http://ftp.vector.co.jp/10/14/2012/wpcrs120.exe
⇗ http://www.a7vtroubleshooting.com/articles/wpcrset/index.htm
⇗ @Mattiwatti
You seem to have many experience with driver development, can you help us, please?
Have you ever seem a driver sample which we can modify to suit our needs?
Basically we need to set two PCI configuration registers in the Intel XHCI controller in order to properly enable USB3 speeds.

#3634

daniel_k

> Zitat von ⇗ schreiberstein im Beitrag ¶ #3591

> @daniel_k
> Hey! Interesting news! I think you are onto something great with that new XHCI driver and the HAL patcher.
> Things seem to be getting better and better for us folks with newer machines.
> I have been using XP with the 4GB patch several times now and it seems to be working fine! (Like Server 2003 with native 32GB PAE)
> Perhaps it is just a problem of the Advanced Chrome version I am using. Palemoon seems stable, so is every other application.
> It is very satisfying. No audio artifacts with integrated Realtek HD either.

Just released new WinXPPAE. This one was tough, too many files, several versions... but it's done.
The TI/ASMedia XHCI drivers are promising, but can't do it myself, really need help.

#3635

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3632

> Me and @diderius6 have tried to mod the last Intel LAN XP driver to support the Intel I219-V, but gave up.

⇗ @daniel_k ...thanks. That's what the memcpy/memcyp_s mod was about. I see memcpy_s, sprintf_s, strcpy_s, etc., are all listed as missing in dependency walker. I am sure those functions are not missing but relocated. Just reading that memcpy_s is a member of the memcpy group. The former copies between buffers whereas memcpy copies between memory addresses. They would not remove those functions from ntoskrnl, I am betting. In fact, there are only 10 functions missing in ntoskrnl and 4 of them are related to copy and string functions.
As Mattiwatti pointed out, the main problem is with ndis.sys. I am going to try what he said and get a copy from an x86 version of W7 to compare them. The function listed as missing in ntoskrnl are: EtwWrite, IoGetAffinityInterrupt, KeGetProcessorIndexFromNumber, KeGetProcessNumberFromIndex, KeQueryHighestNodeNumber, PoRegisterPowerSettingCallback, PoUnregisterPowerSettingCallback, memcpy_s, sprintf_s, strcpy_s, vprintf_s.
ndis.sys is another matter with 29 reported missing functions. Keep in mind that I am a noob with dependency walker and I may be misinterpreting the results. I am going on the functions marked red, although there may be other reasons why they are marked red.

#3636

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3626

> @diderius6
> Thanks for the explanation. You confirmed what @gordo999 reported in a previous post, the trouble is there, XP can't boot from a nvme disk with 4096 byte per sector and no 512 byte emulation mode. But how can I figure if my nvme disk has or not the 512e? I understand, if I had it I wouldn't have found so many difficulties for cloning the disk or restoring an XP image and also the partitioning software would have listed the nvme disk.

Offhand I can't remember what brand your NVME is... Looks like you are using a Samsung. But there were some Intel SSDs that using a utility you could change the sector size by flashing it. I don't know if Samsung has a similar way to flash it to do the same. Also maybe one exists for NVME or contact Samsung to see if they have one or will make one.
But the other question is when your NVME is installed into the motherboard, can you boot into both Windows 7 and 10 using a normal SSD or hard drive and then see if your NVME drive shows up in Disk Management at all in either OS? And if so do you see any partitions shown?

#3637 | gordo999 | ⇗ @Mattiwatti ...exactly like you called it. Got an ndis.sys and an msrpc.sys from a w7 x86 disk and dropped them in with the other files and it asked for a netio.sys. Ndis is now happy but it's relationship with ntoskrnl has soured. Msrpc and netio.sys are happy but their relationship with ntoskrnl is off. The Zwxxxxx files are mainly related to msrpc.sys and marked in red. Some are as you said, alpc related. Good call. :-)
#3638 | cedar | ⇗ @gordo999 Sorry about misinforming you about the LAN driver, the working version was an earlier one. Flaking memory...

#3639

Andalu

⇗ @gordo999
I'll try also samsung magician, but the newest version doesn't work in XP and the latest for XP I don't think it can detect the nvme disk. I don't know if I can solve by updating my nvme with the 970 EVO firmware. To recognize the nmve disk from another XP hard disk I installed the ofa 1.3 driver, the only that works in XP. I don't find any samsung driver for XP.
Here the NVMe disk detected in bios (it is never listed in the boot menu section):
⇗ ⇗
EDIT: I tried to update the firmware with the 970 EVO version but the samsung dos utility give me the message: "No supported SSD detected for firmware update!!!"

#3640 | Andalu | ⇗ @XPLives here the shots, the nvme is correctly detected in all SO: ⇗ ⇗ ⇗

#3641

daniel_k

⇗ @gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3632

> Me and @diderius6 have tried to mod the last Intel LAN XP driver to support the Intel I219-V, but gave up.

It's the last XP driver ever released with no missing dependencies
We've tried to patch the device ID with no success.
I217, I218 and I219 are from the same family.
Just attached all drivers I have collected, including the XP one.
Earliest drivers when a new device ID was added.
- I217_I218: XP only
- I219_1_2: Win7 only, variants 1 and 2 (IDs 156F/1570/15B7/15B8)
- I219_3_4_5: Win7 only, variants 3, 4 and 5 (IDs 15B9/15D7/15D8/15E3/15D6)
- I219_6_7: Win7 only, variants 3, 4 and 5 (IDs 15BD/15BE/15BB/15BC)
Official means ID is in INF file.
Unofficial means ID is NOT in INF file, but support is present in driver .SYS file.

#3642

Andalu

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3631

> WinXPPAE 2.0, a small utility to patch all kernel and hal files, supporting all languages and versions 5512 (SP3) and later:
> What's new:
> - thanks to @Mov AX, 0xDEAD, now includes HAL patches for ACPI Timer fix and proper memory management from Server 2003.
> - creates backups files (.bak) automatically
> To use it, copy the following hal and kernel files (found in SP3.CAB) and the utility to the same folder.
> ntkrnlmp.exe - Multiprocessor Kernel
> ntoskrnl.exe - Uniprocessor Kernel
> ntkrpamp.exe - Multiprocessor PAE Kernel
> ntkrnlpa.exe - Uniprocessor PAE Kernel
> hal.dll - Standard PC HAL
> halaacpi.dll - ACPI Uniprocessor HAL
> halacpi.dll - ACPI HAL
> halapic.dll - MPS Uniprocessor HAL
> halmacpi.dll - ACPI Multiprocessor HAL
> halmps.dll - MPS Multiprocessor PC HAL
> Run WinXPPAE with the appropriate command line.
> Usage: winxppae [/4GB | /ALL | /NB or /NOBACKUP]
> /4GB Enables PAE limiting RAM to 4Gb to avoid stability issues.
> /ALL Enables PAE with unlimited RAM, may have stability issues.
> /NB Does not create backup copies of original files.
> /NOBACKUP Same as /NB
> You may test the files on a running system by replacing the files from another OS (otherwise File Protection will restore the files).
> In this case, pay attention to the filenames, on multiprocessor systems, rename ntkrnlmp.exe to ntoskrnl.exe and ntkrpamp.exe to ntkrnlpa.exe. Hal filename is always hal.dll.
> Or integrate them on the CD (rebuilding SP3.CAB and repacking ntkrnlmp.ex_, ntoskrnl.ex_, hal.dl_, halaacpi.dl_, halacpi.dl_, halapic.dl_, halmacpi.dl_ and halmps.dl_).
> No need to include a /PAE switch in boot.ini, as this works just like on Server 2003.
> As I've patched the files properly, ntoskrnl.exe automatically chainloads the PAE kernel, ntkrnlpa.exe.
> PS: Only supports Windows XP SP3. Another version supporting Server 2003 will be released later.

I tried both /4Gb and /ALL options of the new WinXpPAE patch and I copied by hand from another hard disk all the files in windows\system32 (included the renamed ntoskrnl.exe and ntkrnlpa.exe) but on restart I got a blank screen immediately after the XP logo screen. It starts correctly when I used the hal.dll 5.1.2600.5687 extracted from ¶ 'hal_pae_fix' and also the ram is correctly visualized.

#3643

gordo999

> Zitat von ⇗ cedar im Beitrag ¶ #3638

> Sorry about misinforming you about the LAN driver, the working
> version was an earlier one. Flaking memory...

⇗ @cedar ...no apology necessary. These days, I can't go from the kitchen to the bedroom without forgetting why I went there. It's not till I go back to the kitchen that I remember,

#3644

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3641

> Just attached all drivers I have collected, including the XP one.

⇗ @daniel_k ....thanks dk, I'll have a look.

#3645

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3639

> I'll try also samsung magician, but the newest version doesn't work in XP

⇗ @Andalu ...do you have a dual boot with W7 or W10? You could run it in W7 to see if it detects the SSD. If not, what error do you get if you try to install/run Magician in XP? XP and W7 are both fairly compatible systems with the exception that XP runs 16-bit apps. I can't see why Magician would not run in XP unless it was written to detect the OS and not install simply because the writer did not want it to run on XP. I don't know if DOS can detect an ntfs file system but I seem to recall a DOS version that can read ntfs, Maybe I'm wrong.

## Page 244

#3646

Mattiwatti

> Zitat von ⇗ gordo999 im Beitrag ¶ #3628

> @Mattiwatti ....thank you kindly for the detailed and in-depth explanation. I have enough experience with reversing and the NT Kernel to follow you and I would dearly love getting into ntoskrnl to the level you mention. However, the only debugger of which I am aware that will trace through ring 0 code is softice. I have asked experienced people if windbg will trace through it but the answers I receive are vague as to what constitutes ring 0. Anytime I have tried to enter ring 0 with wdbg at a sysenter point, it turfs me out the other end without tracing through the code. Having said that, since I am working in x86 code, I would love to get SI going on this converted XP machine and I know it won't be easy. Tried the other night for a laugh and got a bsod with stop: 0x24, apparently related to ntfs.sys. Does that mean SI only runs on a FAT32 system? Don't think so since I recall using it to trace into the MFT via ntfs.sys. Don't want to get off-topic talking about debuggers but if you have anything to add on that topic perhaps you would be kind enough to PM me.

I'll reply to the rest of your questions via PM, but I'll answer the question of what constitutes 'ring 0' here. For the longer and more accurate version, read ⇗ Protection ring on Wikipedia, although that article is not specific to x86. In x86 (and x64), as the article also mentions, there is the notion of the CPL (Current Privilege Level), and the generally agreed upon definition is that CPL = 0 constitutes ring 0, aka 'kernel mode'. Neither Windows NT (or 9x for that matter) nor Linux use any CPLs other than 0 and 3, so 'ring 0', 'kernel mode', 'supervisor mode' (NB: not hypervisor!), 'CPL 0' are all interchangeable terms for the same thing and can be contrasted with 'ring 3', 'CPL 3' and 'user mode' which is the normal operating environment for a program you would write to execute some specific task. Very few operating systems use more than 2 privilege levels, even though many processor architectures offer more than this in theory. It is also sometimes useful to define a 'ring -1' when describing a virtualized OS running within a hypervisor using e.g. Intel VT-x or AMD's SVM. Finally there are the notions of 'ring -2' for SMM (System Management Mode) and 'ring -3' (Intel ME; as far as I know the AMD PSP does not run in ring -3 due to being on-CPU, unlike the Intel ME which runs even when the main CPU is off). These are generally only used in security research, where a vulnerability in a 'lower' (more privileged) ring is worse since it is theoretically more powerful and/or harder to detect. Since we are interested in debugging ring 0 code, and the question is whether WinDbg is able to do this, the answer is: yes it can! Not only can WinDbg debug kernel mode code, I'd say it's the only debugger worth considering when the target system is Windows NT. SoftICE is certainly an impressive creation, but I'd sooner call it a curiosity than a real debugger. You should view a debuggee as a sick patient. Correctly diagnosing a patient is only possible when done completely externally, i.e. without making use of one or two of the patient's organs and hoping they continue to work throughout the diagnosis, which is how I see SoftICE. As a simple example: suppose you are developing a filesystem driver, or a disk controller driver such as an NVMe one. Or more likely, suppose you're not doing either of these, but that the system somehow fails to boot with BSOD 0x7B (INACCESSIBLE_BOOT_DEVICE). What's SoftICE going to do? The answer is nothing, since if the boot disk cannot be accessed, SoftICE cannot be loaded. There are other more insidious scenarios where SoftICE will give a wrong or skewed perspective of the system due to the fact that by nature it lives on the 'patient' system, and even affects its state simply by being loaded.
It's true that there are certain instructions WinDbg cannot step through, at least in my experience (mostly with VirtualBox - it's possible that some of these will work correctly when using a serial port since VirtualBox itself uses some creative protection ring magic to do its work). These are all related to ring transitions or instructions closely related to those. I don't generally use 32 bit operating systems, but the sysenter you mentioned would be an example of this. The equivalent x64 instruction is 'syscall': you cannot step into this instruction and expect to land cleanly on the other (kernel mode) side. Another instruction you should avoid stepping into is 'swapgs', which is used on the return from ring 0 to ring 3 on x64 (unsure about x86). Stepping into a swapgs will crash WinDbg and as a result hang the debuggee. Why is this? I don't know, but I generally assume that this is something that is actually impossible (or close to) to fix, since WinDbg supports basically anything else the NT kernel might ever do. It is after all the debugger used by the NT team to develop NT itself. Fortunately the solution to this problem is fairly simple: don't step into these instructions. If that sounds unhelpful, consider the following: what are you trying to achieve when stepping into a 'sysenter'? Generally this is an indicator that you are debugging the wrong piece of code. In the case of sysenter, this is an instruction that is executed in user mode to transition to kernel mode. Instead, set a breakpoint on the syscall you wish to debug (e.g. `'bp nt!NtCreateFile'` to set a breakpoint on the NtCreateFile syscall in ntoskrnl.exe in ring 0; 'nt' is short for 'ntoskrnl' in WinDbg). Similarly, stepping through a 'swapgs' means you are debugging the generic code that is executed upon return from every syscall. In general there is little reason to be here since the code is of little interest to anyone except perhaps the NT team. If you wish to continue debugging the user mode program that executed some syscall, my first advice would be: don't. You can use a user mode debugger such as x64dbg or a second instance of WinDbg running on the debuggee instead, which will be much easier and give better results. But if you must do this from WinDbg debugging ring 0 code, find the next instruction that will be executed in the program in user mode and set a breakpoint on that. Here is an example of an x64 program executing 'NtWriteFile':

    fffffadf`7dec61d0 fffff800`008517ea nt!KiSwapContext+0x7b [C:\<snip>\base\ntos\ke\amd64\ctxswap.asm @ 74]
    fffffadf`7dec6350 fffff800`00849949 nt!KiSwapThread+0x3ea [C:\<snip>\base\ntos\ke\thredsup.c @ 2012]
    fffffadf`7dec63c0 fffffadf`8fc51109 nt!KeWaitForSingleObject+0x589 [C:\<snip>\base\ntos\ke\wait.c @ 1242]
    fffffadf`7dec6450 fffffadf`8fc50f07 Ntfs!NtfsWaitSync+0x28
    fffffadf`7dec6490 fffffadf`8fc51e43 Ntfs!NtfsNonCachedIo+0x3c9
    fffffadf`7dec6700 fffffadf`8fc5131a Ntfs!NtfsCommonWrite+0x24da
    fffffadf`7dec69e0 fffff800`00999e22 Ntfs!NtfsFsdWrite+0x2e4
    (Inline Function) --------`-------- nt!IoCallDriver+0x35 (Inline Function @
    fffff800`00999e22) [C:\<snip>\base\ntos\inc\io.h @ 3281]
    fffffadf`7dec6ab0 fffff800`00994bab nt!IopSynchronousServiceTail+0x132 [C:\<snip>\base\ntos\io\iomgr\internal.c @ 7510]
    fffffadf`7dec6b10 fffff800`008b1b63 nt!NtWriteFile+0x7eb [C:\<snip>\base\ntos\io\iomgr\write.c @ 785]
    fffffadf`7dec6c00 00000000`77ef02aa nt!KiSystemServiceCopyEnd+0x3 (TrapFrame @
    fffffadf`7dec6c70) [C:\<snip>\base\ntos\ke\amd64\trap.asm @ 1917]
    00000000`0012f3d8 00000000`77d7030b ntdll!ZwWriteFile+0xa
    00000000`0012f3e0 0000005c`003a0043 0x77d7030b
    00000000`0012f3e8 00000000`00000000 0x0000005c`003a0043

Note that I do not have debug symbols loaded for the program, which is why you only see addresses for the user mode part of the stack vs symbol names for the ntdll and kernel mode portions. In this case, you would set the breakpoint upon return from the kernel, i.e. 'bp ntdll!ZwWriteFile+0xa'. Realistically you will probably also want to skip the ntdll frame since it only contains generic syscall wrapper code, so you'd set a breakpoint at 0x77d7030b.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3628

> Your explanation re dependency walker is interesting. It had occurred to me to try it at some point but it had not occurred to me to load the entire drivers directory into the same test folder. Why not the entire sys32 directory as well? Having said that, if we are creating a directory with all those files, should it not work by running DW on a W7 machine?

There is no need to copy over system32 since it is already part of the search path. An exception would be if you want to test some modified file that normally lives in system32: you can just throw this in with the rest of the files in 'drivers' since the current directory is searched first. To elaborate: let's take our Intel network driver, which depends on both ndis.sys and ntoskrnl.exe, and (pretending for a moment that it actually works) suppose we wish to place it in a hypothetical 'drivers2' directory in system32. There would be a need to copy ndis.sys and all of its transient dependencies to this new 'drivers2' folder', but there would not be a need to copy ntoskrnl.exe, hal.dll or any other file living in system32. Kernel mode drivers follow the same rules as user mode programs when it comes to this. System32 is 'special' and always part of the search path; any other dependencies must be placed in the search path explicitly, usually by placing them in the same folder as the file being loaded.
Regarding your second question: yes, it is in fact perfectly possible to do the entire 'what-if' thing on a different system such as on Windows 7. In this case you do want to copy over system32, mostly for the sake of simply having easy access to all of the files. The easiest way to go about this would be to then copy the few kernel mode pieces living in system32 to system32\drivers. Off the top of my head you want at least ntoskrnl.exe, hal.dll, bootvid.dll, kdcom.dll, (if it exists) ATMFD.dll, and win32k.sys. Check Process Hacker or Process Explorer to see which modules are loaded if unsure.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3628

> > Zitat von ⇗ Mattiwatti im Beitrag ¶ #3612

> > ...what I have done is buy a simple ...Intel Gigabit CT Desktop Adapter

> From what I gather I'd need to find an older version. I looked the adapter up on the Intel site and they claim the 32-bit version won't run on anything below W7. Of course, that's Intel. They have unfortunately abandoned ship. I came across an adapter last night that is a USB - Network adapter....don't know if that would work.
> BTW...I managed to get online last night using a Cisco AM10 wifi adapter. It plugs into a USB port and for some reason sets itself up as a drive. Bit of a nuisance. The good news is that I am now activated.

Don't believe anything Intel says when it comes to OS compatibility. They have started pretending Windows XP and 2003 never existed (rather than simply pointing to the latest available drivers to support those OSes), and many of their newer drivers already don't support Windows 7 either, although you can at least still find Windows 7 drivers listed for now. The network card I linked works perfectly fine on Server 2003 x64, and I strongly suspect XP x86 as well since they have the same major NDIS version. Of course, if the USB adapter with wifi works, there is no need to get the PCIe card. Personally I prefer wired over wireless, and PCIe over USB. Reason: wifi runs on top of ethernet, and USB runs on top of PCIe... and simpler stuff breaks less often.

#3647

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3633

> Try this (not sure if really XP compatible):
> ⇗ http://ftp.vector.co.jp/10/14/2012/wpcrs120.exe
> ⇗ http://www.a7vtroubleshooting.com/articles/wpcrset/index.htm

It workssss!!
Your are great! Thank you very much again

#3648

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #3645

> @Andalu ...do you have a dual boot with W7 or W10? You could run it in W7 to see if it detects the SSD. If not, what error do you get if you try to install/run Magician in XP? XP and W7 are both fairly compatible systems with the exception that XP runs 16-bit apps. I can't see why Magician would not run in XP unless it was written to detect the OS and not install simply because the writer did not want it to run on XP. I don't know if DOS can detect an ntfs file system but I seem to recall a DOS version that can read ntfs, Maybe I'm wrong.

Firstly, in windows7, I uninstalled the ofa 1.3 driver and installed the Samsung NVMe Driver 3.2. After this, I installed samsung magician but the program does not seem to do much for my problem. It simply lists some information about the disk and does not allow to do any other operation than the benchmark.
The program you talking about may be ntfs4dos? If so, how could it help me?

#3649

gordo999

⇗ @Mattiwatti ....I know this is getting off topic but there are posters in this thread who may find it of interest in relation to the content of the thread. Besides, I want to contribute to this thread by tracing into the LAN driver, for example, to see what, if anything, can be done to get it going. As you have claimed, it's likely impossible, if not really hard, due to the number of functions absent in ntoskrnl and ndis.sys. That's what I am trying to find out in this discussion. Is there anything that can be done via modding to make it work?

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> ...I'll answer the question of what constitutes 'ring 0' here.

I probably failed to present myself clearly. I did not mean to convey that I did not understand ring 0, I meant that people I have spoken to about it re windbg don't seem to be talking about the same code.

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> It's true that there are certain instructions WinDbg cannot step through...it's possible that some of these will work correctly when using a serial port

I have not investigated that entirely but with my serial remote debugging sessions the target has to be rebooted for the source to find it. When the target reboots, it is stopped early in the boot process, before the logon screen, and as far as I can see it's possible to trace all the way to the desktop, if desired. In that case, Microsoft may have built in code to prevent wdbg getting past a sysenter or syscall into kernel code.

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> ...what are you trying to achieve when stepping into a 'sysenter'?

There are times when the system is called from a user mode app and the system calls back into user mode, sometimes multiple times, before returning after the sysenter. If you don't enter system code at sysenter you miss the call back and there could be code in the call back in u-mode you need to see. I have encountered that many times with SI, tracing into system code then suddenly being back in user code in the app I am debugging, yet well before the system code returns you to the original call for the u-mode app at sysenter.
This action would also make it very difficult to follow a cold code read in IDA. In IDA, a function often begins with no reference to where it was called from. It's likely being called from system code via a call to system code elsewhere. You'd need a debugger to confirm that.

> Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> Instead, set a breakpoint on the syscall you wish to debug (e.g. `'bp nt!NtCreateFile'`

That's fine if you know the call you want to trap with a bp. It's kind of shotgun approach at times since you are guessing that the app might call via that function. What if it doesn't, and there is code during a system call that is called by the system before exiting the syscall? I agree that setting a BP is more elegant but sometimes you just have to trace to see where the code goes. I also agree with what you say below, that the system code itself is not of much interest. However, it's what the system code does with the calling parameters that can be of interest. Besides, if you want to learn how the system processes calls from U-mode, or just how a driver works, it's helpful to see the system in action. It's one thing to read about a PDO in theory, or see a it in table form in Windbg, and quite another to see the actually code and data related to a PDO. Some people are happy to set BPs and ignore the intervening code but I find the implementation of assembly language to be fascinating, especially as related to functions in a higher level language like C++.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3628

> There is no need to copy over system32 since it is already part of the search path.

As I said, if I need to run DW from W7 for a driver in XP, I need the XP sys32 contents. I ensured that the pertinent equivalent files were in the folder you described. For example, if I was testing a driver from XP I made sure ntoskrnl, ndid.sys, hal, etc., from XP, were in the same folder.

#3650

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3648

> ... I installed samsung magician but the program does not seem to do much for my problem. It simply lists some information about the disk......The program you talking about may be ntfs4dos? If so, how could it help me?

⇗ @Andalu ...Yes, but Magician does see the disk. The disk is not being seen from XP. So, if Magician sees the disk in W7 the disk is OK and there is something going on in W7 that is not going on in XP. You have to find out what it is.
Re ntfs4dos: DOS cannot read an NTFS partition so you would not expect to see your SSD if it is formatted in ntfs from DOS. With something like ntfs4dos you should be able to detect the drive if it's there, should you not? If it uses a standard MBR, DOS should see it. Then again, can DOS read a 4kbytes/sector format?
Have you tried transferring the XP OS using an image? Use the free Macrium Reflect, or similar, to create an image of the XP partition running on a good system. You don't need to do the entire XP disk if you have related logical partition, they can be transferred later.You'll need an external disk drive or another drive with enough space to store the image, obviously not on the XP disk. Run your SSD as a logical partition connected to the good drive. Now use Macrium to restore the XP image to the SSD drive. The image does not care about the logical partitioning or formatting of the drive. After restoring the image to your SSD, add a boot.ini file, ntldr, and ntdetect to the root directory (C:\) of the SSD. During boot, ntldr should find the XP OS on the disk since you have pointed to it in boot.ini.

#3651

infuscomus

⇗ @diderius6 ⇗ @daniel_k
using my patcher program I tried patching ntoskrnl and hal from vista beta 5365 re-adding functions that were taken out from XP.
in hal I re-added

    HalDisableSystemInterrupt
    HalEnableSystemInterrupt

in ntoskrnl i re-added

    CcFastReadNotPossible
    CcFastReadWait
    IoInitializeCrashDump
    KeConnectInterrupt
    KeDcacheFlushCount
    KeDisconnectInterrupt
    KeIcacheFlushCount
    KiEnableTimerWatchdog
    PsCreateSystemProcess
    PsDereferenceKernelStack
    PsReferenceKernelStack
    WmiFlushTrace
    WmiQueryTrace
    WmiStartTrace
    WmiStopTrace
    WmiUpdateTrace

put ci.dll clfs.sys pshed.dll along with halmacpi.dll and ntoskrnl.exe in system32
can you test to see if this works?
infuscomus has attached files to this post

- ⇗ XP_5365_TEST.zip

#3652 | Naoto | I want to buy a laptop which uses intel 10th cpu,Is there a way tolet xp support 10th chips?

#3653

Fernando

⇗ @Naoto
Welcome to the Win-RAID Forum!
Since I am not an expert regarding your request, I have moved it into this already existing thread, where you can find a lot of information and hopefully get an answer from anyone among our XP Gurus.
Regards
Dieter (alias Fernando)

#3654 | PPeti66x | ⇗ @daniel_k The file halsp.dll really does not need to be patched by WinXPPAE 2.0?

#3655

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3640

> @XPLives
> here the shots, the nvme is correctly detected in all SO:
> ⇗ ⇗ ⇗

Could you identify your picture filenames with the Operating System in the name as well? From the three photos I am guessing you only tested in Windows 10 judging from the last picture with the icon with 4 blue windows logo or is that Windows 8.X?
I need you to go to "Disk Management" not "My Computer" to look at the drive.
Go to "Administrative Tools", "Computer Management", Under the Storage, there is "Disk Management".
It will show all the drives connected with their Partitions, File Systems, et cetera.
Try "Disk Management", NOT "My Computer" for XP/2003, Windows 7, and Windows 10 again and make sure you label the photos with OS. I will compare. Also another shortcut to "Disk Management" you can try RUN and type in "diskmgmt.msc".

#3656

XPLives

⇗ @gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3632

> ⇗ @gordo999 and @Mattiwatti
> Me and @diderius6 have tried to mod the last Intel LAN XP driver to support the Intel I219-V, but gave up.
> Try to get a XP compatible PCIe (Intel, Realtek, Atheros) or USB (ASIX, Realtek?!) LAN adapter.

Not to deflate your interest in getting newer Intel I21X on board to work in XP. It's quite possible if you commit enough time it could be a few months or could be years which could end in success or just reassuring the same failure. The question is is it worth the time to commit? The reason I ask is because it's easier to spend $5-$6 on eBay and get a PCIe x1 Realtek 8111E and pop it into your motherboard and get XP going fast. If that dead Ethernet port on the rear of your motherboard annoys you that's it's not working in XP you could at least use in in Windows Vista/7 perhaps?. Just hook up a network switch to connect two independent ethernet cables one from the onboard Intel, and the other from the Realtek NIC and depending on which OS is booted the network switch doesn't care and you'll get internet on both. I usually pick the PCIe x1 slot closest to the CPU which usually gets obstructed by my CPU cooler so it would have been a wasted slot anyhow so I actually gain the use of an empty slot for a purpose. Also Realtek NIC supports MAC OSX as well in case you wanted to do a Hackintosh experiment on Intel CPU system.
The other easiest option if you don't want to waste a slot. If you can get a USB PCIe card to fit into the 1st slot then you could have at least 4 USB slots and use one of them for a USB ethernet or USB Wifi adapter. It's not as pretty but you get to add at least 3 more USB devices while only sacrificing 1 slot.
But again you have to evaluate how much time you are going to put into getting that one rear motherboard ethernet to work. I'm pretty sure when Ice Lake or newer chipsets are released it is less likely you can get it to work as they may use a completely different chipset.
If there is one thing going forward that is lacking it's a universal modified VGA driver for 2D/3D that works with Intel HD Graphics past 4000, the AMD AM4 APU/GPU, or the nVidia graphics card Pascal+. Without such a driver a lot of useful programs just won't work.
The other is modifying the HDMI Audio out driver to work even though the nVidia or AMD graphics official drivers is not installed due to no proper driver. For whatever reason the HDMI Audio out is linked to the graphics driver and only works once the HDMI Video driver is installed. Perhaps someone can look into bypassing this requirement so the HDMI Audio out driver will work independently. Would save people from needing a USB or PCIe sound card/device.

#3657

XPLives

⇗ @Naoto

> Zitat von ⇗ Naoto im Beitrag ¶ #3652

> I want to buy a laptop which uses intel 10th cpu,Is there a way tolet xp support 10th chips?

Don't know as it would depend on which laptop brand / model, and is it UEFI only?
First why do you want to use XP on it?. No supported graphics driver for XP would exist except the built in MS one.

#3658

Andalu

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3650

> @Andalu ...Yes, but Magician does see the disk. The disk is not being seen from XP. So, if Magician sees the disk in W7 the disk is OK and there is something going on in W7 that is not going on in XP. You have to find out what it is.
> Re ntfs4dos: DOS cannot read an NTFS partition so you would not expect to see your SSD if it is formatted in ntfs from DOS. With something like ntfs4dos you should be able to detect the drive if it's there, should you not? If it uses a standard MBR, DOS should see it. Then again, can DOS read a 4kbytes/sector format?
> Have you tried transferring the XP OS using an image? Use the free Macrium Reflect, or similar, to create an image of the XP partition running on a good system. You don't need to do the entire XP disk if you have related logical partition, they can be transferred later.You'll need an external disk drive or another drive with enough space to store the image, obviously not on the XP disk. Run your SSD as a logical partition connected to the good drive. Now use Macrium to restore the XP image to the SSD drive. The image does not care about the logical partitioning or formatting of the drive. After restoring the image to your SSD, add a boot.ini file, ntldr, and ntdetect to the root directory (C:\) of the SSD. During boot, ntldr should find the XP OS on the disk since you have pointed to it in boot.ini.

When I tried to install magician 5.0 and 6.0 on XP I got the message: "This program requires Windows NT version 6.1.7600 or later". Below the info from magician 4.9.7 (the latest version XP compatible):
⇗ ⇗
I had already tried to restore an image created with macrium (and acronis also) but I had the same message "Incompatible Disk Selected". The macrium knowledgebase about that message:
⇗ https://knowledgebase.macrium.com/displa...e+Disk+Selected
Also the acronis site reports: "you can clone a 512 bytes/sector disk to 512 bytes/sector disk; you can clone a 4096 bytes/sector disk to 4096 bytes/sector disk; but you cannot clone a disk with logical sector size 512 bytes to disk with logical sector size 4096 bytes".
I found out the information which seem to exclude any further possibility:
⇗ ⇗
When the field 'byte/sector' reports 4096 means that the disk has no 512 emulation, so XP will never boots from it. Even as storage device there would be some problems because the trim function for this ssd doesn't seem supported in XP (trimcheck and corsair toolbox report trim 'not supported' or 'not working'. Adata toolbox doesn't detect the ssd).

#3659

Andalu

⇗ @XPLives

> Zitat von ⇗ XPLives im Beitrag ¶ #3655

> Could you identify your picture filenames with the Operating System in the name as well? From the three photos I am guessing you only tested in Windows 10 judging from the last picture with the icon with 4 blue windows logo or is that Windows 8.X?
> I need you to go to "Disk Management" not "My Computer" to look at the drive.
> Go to "Administrative Tools", "Computer Management", Under the Storage, there is "Disk Management".
> It will show all the drives connected with their Partitions, File Systems, et cetera.
> Try "Disk Management", NOT "My Computer" for XP/2003, Windows 7, and Windows 10 again and make sure you label the photos with OS. I will compare. Also another shortcut to "Disk Management" you can try RUN and type in "diskmgmt.msc".

sorry for the misunderstanding, here the screenshots from three different hard disk drives (I reported the OS type in the images because I can't get the picture naming work here in the forum):
⇗ ⇗ ⇗
Please also see my post above, thanks.

#3660

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3642

> I tried both /4Gb and /ALL options of the new WinXpPAE patch and I copied by hand from another hard disk all the files in windows\system32 (included the renamed ntoskrnl.exe and ntkrnlpa.exe) but on restart I got a blank screen immediately after the XP logo screen. It starts correctly when I used the hal.dll 5.1.2600.5687 extracted from ¶ 'hal_pae_fix' and also the ram is correctly visualized.

Must be a driver issue, possibly with AMDXHC.SYS.
Double checked all files and everything is fine.
Just did a clean install of XP SP3 fully updated with PAE enabled, but with no AMDXHC, just ASMedia and VIA.
100% stable and fast.
Don't have much time now, if you have PS/2 ports, connect some PS/2 keyboard and/or mouse, disable the USB driver and try again with WinXpPAE patched files to see if the issue is related to the hacked Intel driver.

## Page 245

#3661

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #3654

> @daniel_k
> The file halsp.dll really does not need to be patched by WinXPPAE 2.0?

While I could patch it, it isn't worth the effort and is not supported by Server 2003, on which the patch is based.
halsp.dll was designed for Compaq SystemPro Multiprocessor or 100% Compatible, from Nov 1989, see the wiki:
⇗ https://en.wikipedia.org/wiki/Compaq_SystemPro

#3662

stf

Hello,
I have no experience in editing BIOS or parts of SYS-OP,so excuse me for the stupidity of some questions.
My current PC is running XP home 32 bit on Quad core Q6700 with 5GB of RAM
that the system sees thanks to the bios and to a modification that I found on the net.
multi (0) disk (0) rdisk (0) partition (1) WINDOWS = "Microsoft Windows XP Professional" /kernel=ntkl64g.exe /hal=hal64g.dll / fastdetect / PAE / NoExecute = optin
currently the system is slow (latency and disk speed 198 Mb / s), having a 2T HDD disk, but everything I read (security) and see(cortana etc...)
on other PCs in windows 7 8 and 10 convince me to stay on windows XP despite the slowness.
I was thinking to solve the problem by switching to a sata SSD SAMSUNG AHCI to arrive, having sata 2
at 300 MB / s and much lower latencies.
but then I found this forum, I read part of "Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware"
I have difficulty / perplexity in understanding how to proceed.
My question is:
wanting to buy a new PC based on one of the 2 processors below
intel I9 9900k 16 threads PCIe 3.0 SAMSUNG EVO plus o
AMD Ryzen 3900 12 cores 24 threads PCIe 4.0> AORUS SSD
it is possible to clone my current main partition of win 32, by first uninstalling the current drivers, on a temporary HDD,
boot the new PC, install your work, the patches and new drivers and also the NVME M.2 or pcie 3.0 or 4.0 drivers
, to then clone the system obtained , on a NVME ssd (SAMSUNG or aorus SSD NVME) bootable M.2 at 3500 Mb / s or if AMD M.2 5000Mb / s
I mean, with XP 32 bit home operating system, currently, it is possible on Intel 9900k or AMD ryzen 3900 with the most appropriate motherboard,
make work:
4K or 4096x 2160 monitor,
multithreading
NVME on M.2 (or M.2 NVME via PCIe adapter) the OPTANE intel on pcie costs a lot,
64 gb ddr4
sata 3
USB 3.0 / 3.1 functional
LAN working
working audio
or, to understand, which motherboard it would be advisable to use or which platform, at present, should be used
to get the maximum benefit from the current hardware with XP 32 bit home.
Thanks !

#3663

Andalu

⇗ @daniel_k
tried with a clean XP (5.1.2600) install; only acpi.sys 5048 and AHCI+RAID driver v11.2.0.1006 mod by Fernando slipstreamed by nlite; no amd usb3 modded driver (¶ amdxhci_XP_final); only the ps/2 keyboard connected and no usb mouse, it still hangs at same point with a blank screen, immediately after the XP logo. Same behavior on a different board (haswell Q87).
Below the SHA-1 of the patched files (copied by hand from another system into the windows\system32 folder; only hal.dll, ntoskrnl.exe and ntkrnlpa.exe files need to be replaced there):

    hal.dll		020f03ed6b133765c879adf248ed3d2d99109bd3
    halaacpi.dll	c7fbaf343c827e8a2f0bc9e30148f06697a3c86b
    halacpi.dll	aa6fc0c1ab163bcc55cc3cbad368d3d6d3d9dc51
    halapic.dll	ba833399b2bbb51163ae702e7ec9d44f07f90589
    halmacpi.dll	be202c78dbf4d59880aa6a9430be05d4156d6764
    halmps.dll	30b791b03fbb67e0ac73e5b741df950aedf5cdf4
    ntoskrnl.exe	742fcf126111532187d4a2861c8b45f882757850

    ntkrnlpa.exe (/4GB)	39ca749c1988e469ea2b6c46eafd6537734fdcce
    ntkrnlpa.exe (/ALL)	2a67c6024530159b1f47565ca8ace3a46e39ad8a

#3664

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #3656

> It's quite possible if you commit enough time it could be a few months or could be years which could end in success or just reassuring the same failure. The question is is it worth the time to commit?

⇗ @XPLives ...I don't plan to make a career of it but this sort of thing interests me. I have had an interest in reversing for many years now but I have steered clear of modding windows components. Since msoft has essentially abandoned XP, and W7, we users are left with little option than to get XP working as best we can. In an overall sense there is not much of a benefit to me to get XP going on this new mobo, it's more for the principle. It's still a good and useful OS and it's a shame to abandon it. Except for a few hiccups XP is running really well on the new mobo. I have to thank the posters in this thread and Fernando for hosting it.

#3665 | cedar | ⇗ @gordo999 Agree, going back to the original room does connect back what was lost in the earlier process.

#3666

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3658

> When the field 'byte/sector' reports 4096 means that the disk has no 512 emulation, so XP will never boots from it. Even as storage device there would be some problems because the trim function for this ssd doesn't seem supported in XP (trimcheck and corsair toolbox report trim 'not supported' or 'not working'. Adata toolbox doesn't detect the ssd).

⇗ @Andalu ...that's not exactly true from what I understand about 512e emulation. If you have 512e emulation, the emulator treats each 4096 byte sector as 8 x 512 bytes/sectors per 4096 byte sector. I would think that means any app looking at the SSD would see 512 bytes/sector if it is in emulation mode.
Have you found out yet if your SSD has 512e emulation? It it doesn't, I can see the point being made above re XP. On a 512 byte/sector medium, the MBR is written right at the front of logical sector 0. Right behind it is some boot code then a logical partition table which ends at sector 0x63. In other words, that section is 64 sectors long. 64 sectors is 64 x 512 bytes/sector = 32,768 bytes. Divide that by 4096 and you get 8 sectors of the 4k sectors.
What would happen if you found a way to write the data covering 64 sectors on a 512 byte/sector format into the first 8 bytes of the 4k format? You claim above, that the disk is rejected when the app sees a 4k format. Is that true with the Windows boot code in BIOS? I hardly think they'd have enough space in BIOS to check that out. Maybe they do, but there is a section on this site dealing with BIOS mods.
When a system boots, and BIOS reads cylinder 0, head 0, sector 0, it should not care how long the sector is. All it reads is the jump statement in the MBR that sends it to an address in BIOS which contains the boot code. If you boot your system from the SSD, what errors do you get, if any? Does it give an error or just a blank screen?

#3667

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3651

> using my patcher program I tried patching ntoskrnl

⇗ @infuscomus ...is your patcher a private patcher or one available on the Net?

#3668 | infuscomus | ⇗ @gordo999 it's a copy of the old kernelex 3.6 that I've been modifying - from what I can see it isn't available on the internet anymore.

#3669

gordo999

> Zitat von ⇗ stf im Beitrag ¶ #3662

> ...it is possible to clone my current main partition of win 32, by first uninstalling the current drivers, on a temporary HDD, boot the new PC, install your work, the patches and new drivers and also the NVME M.2 or pcie 3.0 or 4.0 drivers

⇗ @stf ...not quite as simple as that. I just started into this thread recently but I have a lot of experience with these systems. Even at that, I had to spend days trying to get the system going. I am not trying to discourage you, or to be unkind, I had to start somewhere. However, if you are new to this, and you're looking for a quick fix re getting XP going on a newer motherboard, you have a pretty steep learning curve ahead. No one really has the time to explain it on a step by step basis, although, if you begin reading at the first post in this thread, you can absorb a lot of what it's about. There are recent posts about problems with nvme.
What do you know about XP and why it won't boot on a newer motherboard? Do you understand acpi or ahci, even at a simple level? The first boot errors you will get are likely acpi and ahci related. What do you know about windows boot processes? What do you know about windows drivers? Explain stuff like that and what specific problems you are encountering. Like I said, go to the beginning of the thread and start reading. If something confuses you, research it on google, then ask for help with a specific question. But don't expect at this depth in the thread to ask a very general, vague question and receive a reply. Most of the posters are busy communicating with each other about specific issues and yours is very general, if not somewhat vague.
For example, you ask if it's possible to clone your main partition. That usually means the C: partition...partition 1. But you said a win32 partition. Does that mean XP, Win 7, 8, or Win 10...they all have 32 bit partitions available. Why would you uninstall the current drivers to an HDD then try to boot? The system won't boot without the drivers and with the original XP drivers it won't boot at all. Your question is extremely vague.

#3670 | infuscomus | this tool looks interesting ⇗ https://github.com/AxtMueller/Windows-Kernel-Explorer

#3671

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3670

> this tool looks interesting

⇗ @infuscomus ...thanks...they mentioned PCHunter in the description. I noticed it in my collection but I don't recall using it yet.
⇗ https://www.majorgeeks.com/mg/getmirror/pc_hunter,1.html

#3672

daniel_k

⇗ @stf
Personally, I'd go for the Intel.
Easier to get it working.
For graphics, you'll need a XP compatible card, such as NVIDIA GTX980Ti.
NVME is not fully stable, specially with Samsung NVME drives.
USB3 is working.
LAN works if Intel i211 or i217, Killer E2500 (depends on revision) or Realtek (depends on model), you might try an USB3 to LAN adapter.
Audio works probably, as 99% of current HDAudio codecs are from Realtek, which has XP drivers.

#3673

daniel_k

⇗ @Andalu
Don't know what the issue is.
I did many tests here before releasing the patcher.
- VirtualBox 8GB RAM
- Core i3-2310M "Sandy Bridge" Lenovo G470 8GB w/ Insyde BIOS
- i7-8700K / Z370 Gaming 3 / 16GB
Tested all patched HALs, with no issues on any of the systems.
Even tried on an old T6600 eMachines D525 with 4GB just to test patch stability.
Are you really sure you're not missing something?
What about trying storahci.sys or iastora.sys?
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (218)
iaStor is old and has issues on newer systems, maybe things get worse with PAE enabled.

#3674

infuscomus

⇗ @daniel_k
do you want to see the source code for my kernel patcher program?
you seem more knowledgeable than me so you might have better luck producing something useful with it
see this post for an example of what it outputs (patched hal ntoskrnl)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (244)

#3675

gordo999

> Zitat von ⇗ stf im Beitrag ¶ #3662

> My current PC is running XP home 32 bit on Quad core Q6700 with 5GB of RAM that the system sees thanks to the bios and to a modification that I found on the net.
> multi (0) disk (0) rdisk (0) partition (1) WINDOWS = "Microsoft Windows XP Professional" /kernel=ntkl64g.exe /hal=hal64g.dll / fastdetect / PAE / NoExecute = optin

⇗ @stf ...OK...try again. You have a 32-bit XP on an older Q6700 but your boot.ini says XP Professional and the kernel and hal drivers have been modded to give you more RAM. You claim the system sees 5Gb, which is useless because a 32 bit system is limited to 4 Gb...2^32 = 4 Gb. It only has 32 bit address registers and unless you get inside the processor and increase it's register sizes, it cannot possibly address more than 4 Gb of RAM.
You only get a bit over 3 Gb because the system needs RAM to operate. If you start messing with the free space the system requires you stand a good chance of interfering with system processes that may need to expand in memory, ergo, your system may run really slowly. My suggestion is that you forget about squeezing more RAM from a 32-bit system. We used to do that with DOS, with the 640Kb of RAM because we were desperate. We'd squeeze RAM from the 640K - 1 meg RAM area where the display drivers resided and often memory would spill over and crash the system.
Get rid of the modded drivers, get XP running properly on its original drivers. Get your new mobo running with system like W10, or even an easier mod with W7. I was able to plug a disk created on an older system with W7 right into an ASUS B360M, a 300-series chipset with an 8th gen Intel i5-8400, and it ran straight to the logon screen on it's stock drivers. Of course, I had no USB drivers so I could not have a mouse or keyboard but luckily I had PS/2. I would strongly recommend that you find a mobo that has PS/2 ports, if available, since they will save your butt if USB is not there. You can buy two USB to PS/2 adapters.
Once the mobo is running with a newer OS, take your disk drive from the old system, with XP, and plug it straight into the new mobo SATA port. I did this will all other drives unplugged and I had my SATA drives set in BIOS to be hot-plugged. The XP disk can interfere with other OS installations and once it is running, if hot-plugged, it will show up in the other OS file manager. Boot it. The first thing you will likely see is an acpi related 0xA5 error. Get one of the modded acpi.sys drivers from this thread, I used the acpi.sys from Diderius6, and replace the acpi.sys in your XP directory. Apparently, daniel_k has one as well. If you have a running W7 system, or even W10, you can see and replace files on the XP drive from Windows Explorer in the other system. You can even mod it's registry from W7 using the Load Hive function in W7 registry.
Boot again. The next error will likely be an 0x7B related to ahci, namely the SATA controller. The disk will likely boot fine up till the boot screen but when Windows tries to start, it will crash with an 0x7B bsod. Fernando has a driver which is used in the SP4 unofficial update that worked on my Asus mobo. I don't recall how I loaded it but there are several ways and you might find one here in this thread. Maybe someone could help me out with a link.
That will get you to the logon screen where hopefully you have a PS/2 keyboard/mouse to get you to the desktop. From there, you can start messing with the other modded drivers from this thread. I would not mess with your SSD till you get XP running from an HDD. Alternately, you can learn how to add the SATA drivers, etc., by replacing the drivers in the Windows directory/S32/drivers with the required iaStor driver and changing registry entries to suit.

## Page 246

#3676

stf

Hi, Thanks !
if i remember the patch was files of professional XP patched (must find the linc).
maybe is like you say, first of that patch i used
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro with /3GB" /fastdetect /3GB /Userva=2900
now i have this patch i don't know how work, i don't use virtual memory and the memory of the video board is near zero because disabled
(i use a PCI video card)
The PC is slow for what i use the software , but i have optimized at best(game), and for a XP PC is FAST a lot.
this board support max 8gb (ASUS P5B-VM DO)
stf has attached images to this post ⇗ XP conf.PNG

#3677

gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3675

> ... a 32 bit system is limited to 4 Gb...2^32 = 4 Gb. It only has 32 bit address registers and unless you get inside the processor and increase it's register sizes, it cannot possibly address more than 4 Gb of RAM.

Here I am answering my own posts...pathetic. ..I forgot about pae. Some 32-bit versions of Windows with the right processor will allow 32-bit systems to go beyond 4 Gb. However, it's only the server types. Here's a wiki blurb on PAE. Even Win 7, 8, and 10 are limited to 4 Gb. I stand to be corrected, maybe someone has a hack for extending beyond 4 Gb with these systems.
⇗ https://en.wikipedia.org/wiki/Physical_Address_Extension

#3678

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3659

> @XPLives

> > Zitat von ⇗ XPLives im Beitrag ¶ #3655

> > Could you identify your picture filenames with the Operating System in the name as well? From the three photos I am guessing you only tested in Windows 10 judging from the last picture with the icon with 4 blue windows logo or is that Windows 8.X?
> > I need you to go to "Disk Management" not "My Computer" to look at the drive.
> > Go to "Administrative Tools", "Computer Management", Under the Storage, there is "Disk Management".
> > It will show all the drives connected with their Partitions, File Systems, et cetera.
> > Try "Disk Management", NOT "My Computer" for XP/2003, Windows 7, and Windows 10 again and make sure you label the photos with OS. I will compare. Also another shortcut to "Disk Management" you can try RUN and type in "diskmgmt.msc".

> sorry for the misunderstanding, here the screenshots from three different hard disk drives (I reported the OS type in the images because I can't get the picture naming work here in the forum):
> ⇗ ⇗ ⇗
> Please also see my post above, thanks.

Okay now we're onto something. So for both Windows 7 and Windows 10 you did not install any drivers for the NVME? Is your NVME using the built in built in driver that came with Windows 7 and 10?
Now in "Disk Management"
Go to your "Disco 1" - your NVME drive letter, Use your mouse Right Click and choose "Properties"
There will be 4 tabs to pick from, "General", "Policies", "Volumes", "Drivers".
Click the "Volumes" Tab and make a screenshot.
Then on the same Window it says "Volumes:"
Select the Volume D: and then click the Properties button.
Now take a screenshot of this Window that pops up that should say "Local Disk (D:) Properties" but in your language.
Do this steps for both Windows 7 and Windows 10. So we should have 4 pictures total (2 for each OS).
Also you can do some information gathering of your NVME. Go to "Command Prompt", type this:
FSUTIL FSINFO NTFSINFO D:
Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and Ctrl+V to Paste and then save the file as NVMEW7.TXT
for Windows 10 do the same but change the output filename.
FSUTIL FSINFO NTFSINFO D:
Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and and Ctrl+V to Paste and then save the file as NVMEW10.TXT
Then locate these two files and upload them.

#3679

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3677

> > Zitat von ⇗ gordo999 im Beitrag ¶ #3675

> > ... a 32 bit system is limited to 4 Gb...2^32 = 4 Gb. It only has 32 bit address registers and unless you get inside the processor and increase it's register sizes, it cannot possibly address more than 4 Gb of RAM.

> Here I am answering my own posts...pathetic. ..I forgot about pae. Some 32-bit versions of Windows with the right processor will allow 32-bit systems to go beyond 4 Gb. However, it's only the server types. Here's a wiki blurb on PAE. Even Win 7, 8, and 10 are limited to 4 Gb. I stand to be corrected, maybe someone has a hack for extending beyond 4 Gb with these systems.
> ⇗ https://en.wikipedia.org/wiki/Physical_Address_Extension

The CPU must be > 32-Bit I think at least 36-Bit since PAE uses 36-Bit. Also the chipset limits it. I have one laptop that has issues breaking 3GB but one chipset newer it broke it so something else to do with the BIOS possibly since using the same CPU it was able to break it on one generation newer chipset. Don't know where the cut off is for desktops or the same. I have not tested Server 2003 on my old P4. Would be interesting to find which desktop chipset broke it.
For Windows 7 32-Bit -> Windows 10 32-Bit there is a patch made that allowed to see over 4GB limit with PAE. I assume this is very similar to Server 2003 PAE technique. But most people would probably use Vista 64-Bit or newer anyhow.
This gives an interesting idea if PAE was 36-Bit how to modify so PAE is closest to 64-Bit memory addressing for NT5.X 32-Bit OS. The other issue is expanding the amount of memory each process can use beyond 4GB.

#3680

Andalu

⇗ @XPLives

> Zitat von ⇗ XPLives im Beitrag ¶ #3655

> Okay now we're onto something. So for both Windows 7 and Windows 10 you did not install any drivers for the NVME? Is your NVME using the built in built in driver that came with Windows 7 and 10?
> Now in "Disk Management"
> Go to your "Disco 1" - your NVME drive letter, Use your mouse Right Click and choose "Properties"
> There will be 4 tabs to pick from, "General", "Policies", "Volumes", "Drivers".
> Click the "Volumes" Tab and make a screenshot.
> Then on the same Window it says "Volumes:"
> Select the Volume D: and then click the Properties button.
> Now take a screenshot of this Window that pops up that should say "Local Disk (D:) Properties" but in your language.
> Do this steps for both Windows 7 and Windows 10. So we should have 4 pictures total (2 for each OS).
> Also you can do some information gathering of your NVME. Go to "Command Prompt", type this:
> FSUTIL FSINFO NTFSINFO D:
> Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and Ctrl+V to Paste and then save the file as NVMEW7.TXT
> for Windows 10 do the same but change the output filename.
> FSUTIL FSINFO NTFSINFO D:
> Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and and Ctrl+V to Paste and then save the file as NVMEW10.TXT
> Then locate these two files and upload them.

The disk is recognized as a nvme in Win10 only. On both XP and Win7 it is seen as a generic 'pci device'. In XP the only driver that works is the ofa driver 1.3.
In Win7 I can install both the ofa driver 1.3 and the Samsung NVM Express Driver 3.2. The built in driver works for Win10 only and also there I can install the Samsung NVM Express Driver 3.2 too.
This time I think there all information you need about my disk, if not ask me again :)
⇗ ⇗
Andalu has attached files to this post

- ⇗ NVME.zip

#3681 | Andalu | ⇗ @gordo999 Thanks for all the info. But the problem remains unsolvable for me. First strange behavior: my asrock B250M-Pro4 board doesn't boot when the nvme is the only disk connected, it enters directly into the bios. It needs cd-rom device or another hard disk (even with no operating system) connected at a sata port and even in this case the boot blocks on the message: "Reboot and select proper boot device or insert boot media in selected boot device and press a key".

#3682

antome

boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
⇗

#3683

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3681

> "Reboot and select proper boot device or insert boot media in selected boot device and press a key".

⇗ @Andalu ...I have seen that error before and it happened when the SATA boot was pointing at the Intel RST driver with acceleration in BIOS rather than the AHCI driver. In my B360M BIOS, under Advanced/PCH Storage Configuration, there is a listing near the top for SATA Mode Selection. If you open it with the 'Enter' key it gives you two choices: AHCI or Intel RST With Intel Optane System Acceleration. When I selected the Intel setting to see what it did, I got the same message about 'reboot and select proper boot device'.
OK, I know you device is an SSD but on my mobo the SSD shares one of the SATA slots. If the SATA slot is set in BIOS on the Intel RST option, maybe it is interfering with your SSD. If you have the same BIOS, check that out and make sure the SATA mode is set to AHCI. Or, find out what the Intel RST setting does. It may be related to your SSD.

#3684

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3680

> @XPLives

> > Zitat von ⇗ XPLives im Beitrag ¶ #3655

> > Okay now we're onto something. So for both Windows 7 and Windows 10 you did not install any drivers for the NVME? Is your NVME using the built in built in driver that came with Windows 7 and 10?
> > Now in "Disk Management"
> > Go to your "Disco 1" - your NVME drive letter, Use your mouse Right Click and choose "Properties"
> > There will be 4 tabs to pick from, "General", "Policies", "Volumes", "Drivers".
> > Click the "Volumes" Tab and make a screenshot.
> > Then on the same Window it says "Volumes:"
> > Select the Volume D: and then click the Properties button.
> > Now take a screenshot of this Window that pops up that should say "Local Disk (D:) Properties" but in your language.
> > Do this steps for both Windows 7 and Windows 10. So we should have 4 pictures total (2 for each OS).
> > Also you can do some information gathering of your NVME. Go to "Command Prompt", type this:
> > FSUTIL FSINFO NTFSINFO D:
> > Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and Ctrl+V to Paste and then save the file as NVMEW7.TXT
> > for Windows 10 do the same but change the output filename.
> > FSUTIL FSINFO NTFSINFO D:
> > Right Click on the Command Prompt Window and Choose "Select All", then hit the "ENTER" KEY. This will copy the data. Now go to Notepad and and Ctrl+V to Paste and then save the file as NVMEW10.TXT
> > Then locate these two files and upload them.

The disk is recognized as a nvme in Win10 only. On both XP and Win7 it is seen as a generic 'pci device'. In XP the only driver that works is the ofa driver 1.3.
In Win7 I can install both the ofa driver 1.3 and the Samsung NVM Express Driver 3.2. The built in driver works for Win10 only and also there I can install the Samsung NVM Express Driver 3.2 too.
This time I think there all information you need about my disk, if not ask me again :)
⇗ ⇗

Thanks for going deeper.
Andula in the Windows 7 Photo, what happens when you click on the Volume Tab, then select the D: drive in the list before clicking Properties? I didn't see you highlight the D: before hitting Properties so it didn't focus on that drive.
However both Win7 and Win10 confirms the drive is MBR which at first I thought maybe you were using GPT so that wasn't the case.
I looked at the sectors information and it definitely is recognized as a 4K drive. This is why Windows 7 won't recognize it. Only Windows 8.X-> Windows 10 supported 4K native sector drives.
But since only Windows 10 can see the drive. Go to Disk Management and select that Drive and right Click and Delete that Partition so it should be Unallocated and Blank.
Next select that drive again and right click on the Disco 1 area to the left of the partition chart to see if the options convert to MBR or GPT show up?
If it's saying it's on MBR then convert to GPT and see if it shows GPT, then again convert GPT back to MBR and confirm it's back to MBR.
Now see if they will now allow you to create a FAT32 Partition. Should be limited to 32GB as that's the forced partition size limit on Windows but we will use FAT32 in this case to test, you can format the 32GB partition with allocation unit size 16,384 Bytes or 16KB. Do not create any more partitions.
Repeat the same photo and Command Prompt steps again we did for Windows 7 and 10 in the last message instructions. I want to see if anything changed and if Windows 7 can see that drive and allow you to open the drive letter at all or even in XP.

#3685

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3682

> boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> ⇗

This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
Reboot on Z270 and make sure it works and boot correctly back into XP.
If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

#3686

Andalu

⇗ @XPLives

> Zitat von ⇗ XPLives im Beitrag ¶ #3684

> Thanks for going deeper.
> Andula in the Windows 7 Photo, what happens when you click on the Volume Tab, then select the D: drive in the list before clicking Properties? I didn't see you highlight the D: before hitting Properties so it didn't focus on that drive.
> However both Win7 and Win10 confirms the drive is MBR which at first I thought maybe you were using GPT so that wasn't the case.
> I looked at the sectors information and it definitely is recognized as a 4K drive. This is why Windows 7 won't recognize it. Only Windows 8.X-> Windows 10 supported 4K native sector drives.
> But since only Windows 10 can see the drive. Go to Disk Management and select that Drive and right Click and Delete that Partition so it should be Unallocated and Blank.
> Next select that drive again and right click on the Disco 1 area to the left of the partition chart to see if the options convert to MBR or GPT show up?
> If it's saying it's on MBR then convert to GPT and see if it shows GPT, then again convert GPT back to MBR and confirm it's back to MBR.
> Now see if they will now allow you to create a FAT32 Partition. Should be limited to 32GB as that's the forced partition size limit on Windows but we will use FAT32 in this case to test, you can format the 32GB partition with allocation unit size 16,384 Bytes or 16KB. Do not create any more partitions.
> Repeat the same photo and Command Prompt steps again we did for Windows 7 and 10 in the last message instructions. I want to see if anything changed and if Windows 7 can see that drive and allow you to open the drive letter at all or even in XP.

Thank you for the help ;) As you can see below the changeover from MBR to GPT is not allowed, at least in windows:
⇗

> Zitat von ⇗ XPLives im Beitrag ¶ #3684

> Andula in the Windows 7 Photo, what happens when you click on the Volume Tab, then select the D: drive in the list before clicking Properties? I didn't see you highlight the D: before hitting Properties so it didn't focus on that drive.

The D: drive properties in Win7 are those shown in the image on the right, even if the volume does not seem to be highlighted.

#3687

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3686

> @XPLives

> > Zitat von ⇗ XPLives im Beitrag ¶ #3684

> > Thanks for going deeper.
> > Andula in the Windows 7 Photo, what happens when you click on the Volume Tab, then select the D: drive in the list before clicking Properties? I didn't see you highlight the D: before hitting Properties so it didn't focus on that drive.
> > However both Win7 and Win10 confirms the drive is MBR which at first I thought maybe you were using GPT so that wasn't the case.
> > I looked at the sectors information and it definitely is recognized as a 4K drive. This is why Windows 7 won't recognize it. Only Windows 8.X-> Windows 10 supported 4K native sector drives.
> > But since only Windows 10 can see the drive. Go to Disk Management and select that Drive and right Click and Delete that Partition so it should be Unallocated and Blank.
> > Next select that drive again and right click on the Disco 1 area to the left of the partition chart to see if the options convert to MBR or GPT show up?
> > If it's saying it's on MBR then convert to GPT and see if it shows GPT, then again convert GPT back to MBR and confirm it's back to MBR.
> > Now see if they will now allow you to create a FAT32 Partition. Should be limited to 32GB as that's the forced partition size limit on Windows but we will use FAT32 in this case to test, you can format the 32GB partition with allocation unit size 16,384 Bytes or 16KB. Do not create any more partitions.
> > Repeat the same photo and Command Prompt steps again we did for Windows 7 and 10 in the last message instructions. I want to see if anything changed and if Windows 7 can see that drive and allow you to open the drive letter at all or even in XP.

Thank you for the help ;) As you can see below the changeover from MBR to GPT is not allowed, at least in windows:
⇗

> Zitat von ⇗ XPLives im Beitrag ¶ #3684

> Andula in the Windows 7 Photo, what happens when you click on the Volume Tab, then select the D: drive in the list before clicking Properties? I didn't see you highlight the D: before hitting Properties so it didn't focus on that drive.

The D: drive properties in Win7 are those shown in the image on the right, even if the volume does not seem to be highlighted.

You didn't delete the partition first. You must delete the partition before you can change to MBR and GPT.
I had to translate "spazio disponibile" which means space available. When you delete the partition it should say "Unallocated space".
Or if I translated incorrectly is that a deleted partition? If so then it is strange you cannot change between MBR and GPT.
Ahh I noticed it is green highlighted. Usually this means extended partition. You need to remove all partitions.
If it really has no partitions Primary and Extended are gone then something is strange.
We can try to use Hex Editor and zero out Sectors 0-8.
Here's a free one.
⇗ https://mh-nexus.de/en/hxd/
Make sure you point to the correct disk and not your OS drive.

#3688

Andalu

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3683

> @Andalu ...I have seen that error before and it happened when the SATA boot was pointing at the Intel RST driver with acceleration in BIOS rather than the AHCI driver. In my B360M BIOS, under Advanced/PCH Storage Configuration, there is a listing near the top for SATA Mode Selection. If you open it with the 'Enter' key it gives you two choices: AHCI or Intel RST With Intel Optane System Acceleration. When I selected the Intel setting to see what it did, I got the same message about 'reboot and select proper boot device'.
> OK, I know you device is an SSD but on my mobo the SSD shares one of the SATA slots. If the SATA slot is set in BIOS on the Intel RST option, maybe it is interfering with your SSD. If you have the same BIOS, check that out and make sure the SATA mode is set to AHCI. Or, find out what the Intel RST setting does. It may be related to your SSD.

In my B250M bios, under Advanced/Storage Configuration, I have no SATA Mode Selection as you can see in the first image of a previous post ¶ here.
Can you upload the yours please?

#3689 | Andalu | ⇗ @XPLives You are right and I'm real groggy I'm trying now....

#3690

XPLives

> Zitat von ⇗ Andalu im Beitrag ¶ #3689

> @XPLives
> You are right and I'm real groggy
> I'm trying now....

Ahh... get some sleep no rush to get the data. I just noticed it was strange the "green border" and compared to mine. :)
Read my post again I updated slightly but since it looks like you didn't delete the partition then maybe not necessary to hexedit.

## Page 247

#3691 | Andalu | ⇗ @XPLives I did everything in Win10 as you explained ¶ here until the 'fsutil fsinfo ntfsinfo D:' command which give me the message: "the fsutil utility needs a local NTFS volume" (translated by me... so inaccurate :)). The partition (in MBR mode) has now a size of 31,2GB and has been formatted with the fat32 file system. No other partition created. No hex editing applied.

#3692

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3691

> @XPLives
> I did everything in Win10 as you explained ¶ here until the 'fsutil fsinfo ntfsinfo D:' command which give me the message: "the fsutil utility needs a local NTFS volume" (translated by me... so inaccurate :)).
> The partition (in MBR mode) has now a size of 31,2GB and has been formatted with the fat32 file system. No other partition created. No hex editing applied.

Yes that's correct because now it is a true FAT32 and not NTFS. Can you check under Disk Management for XP, W7, and W10 show the drive with snapshots?
Also can you access the NVME drive letter in XP, W7, and W10? Can you explore D: or copy a folder or file to it?
If you use Hex Editor go to Absolute Sector 0 on NVME drive and snapshot or copy it. And do the same for Sector 1-8 and upload it.

#3693

Andalu

⇗ @XPLives
I can access to the nvme partition in all SO and operate with it as a normal disk drive. Here the snaps.
Andalu has attached files to this post

- ⇗ NVME Fat32.zip

#3694

XPLives

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #3693

> @XPLives
> I can access to the nvme partition in all SO and operate with it as a normal disk drive. Here the snaps.

This is good. You can now see the NVME in XP.
I checked the Sectors. Now that you can access the partition in XP but you must change it back to XP Partition style not Windows 7 or 10.
In XP Disk Management you must now delete the partition. So now completely Unallocated Space "Non allocata" again.
Then go to HxD and enable "write" mode for NVME Drive F:.
Go to Sector 0-8, and 63, 64 and zero out the entire sector to 00s.
Then reboot the XP system.
Once in XP again go to Disk Management.
On NVME Drive,
Create the 2GB FAT16 Partition #1 and use allocation unit size 32,768 Bytes or 32KB and format.
Create the 32GB FAT32 Partition #2 and use allocation unit size 16,384 Bytes or 16KB and format.
Go to HxD and select NVME disk and copy absolute Sector 0-8, 63, 64 and upload it.
Next if you have time. If you got 98SE DOS boot disk using USB floppy you can try and format the first partition of NVME. Make sure all other drives are disconnected to prevent accidents. Only NVME attached and USB floppy as primary boot device to boot 98SE DOS.
Then type
Format C:/s
If it sees the drive it should format this partition #1.
Reboot and check the BIOS to see if NVME is set to Primary Boot Drive. Eject floppy disk so it won't access it. After it is done you can reboot.
If it works then it should boot to 98SE DOS on NVME and should then be possible to install XP to it on D:. Also test does FDISK work to see NVME.

#3695

Andalu

⇗ @XPLives
I deleted the partition in XP disk management to have unallocated space only. But now, about HxD, please keep in mind that I have never used a disk hex editor before :)
I already enabled the 'write mode' for the physical disk 2 (nvme) and to be sure: for '0-8' do you mean by selecting all the sectors from 0 to 8 at one step at time (1,2,3,4 etc. and after the sectors 63 and 64)? And mostly important: how to edit the 'entire sector' to 00s? :)
EDIT: I did it all in HxD, I just hope I didn't make a crap :)
Two partitions created in the nvme disk and formatted in fat16 and fat32.
Below the sectors exported from HxD in .txt format.
Andalu has attached files to this post

- ⇗ Fat16_Fat32.zip

#3696

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3685

> @antome

> > Zitat von ⇗ antome im Beitrag ¶ #3682

> > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > ⇗

> This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
> ⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
> XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
> Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
> Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
> Reboot on Z270 and make sure it works and boot correctly back into XP.
> If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

#3697

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3696

> > Zitat von ⇗ XPLives im Beitrag ¶ #3685

> > ⇗ @antome

> > > Zitat von ⇗ antome im Beitrag ¶ #3682

> > > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > > ⇗

This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
Reboot on Z270 and make sure it works and boot correctly back into XP.
If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

Your error explained here.
⇗ https://docs.microsoft.com/en-us/windows...code-reference2
⇗ https://docs.microsoft.com/en-us/windows...ted-fatal-error
0x000000CA PNP_DETECTED_FATAL_ERROR
I would try and install Z390 from scratch using my driver instead of moving to this machine from Z270.
But disable onboard ethernet, sound, et cetera in BIOS.
If still getting that error could be the modded ACPI.SYS causing it and needs further patching from creator.

#3698

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3680

> The disk is recognized as a nvme in Win10 only.

⇗ @Andalu ...that's not what I am seeing. In the photos you attached, in disk management, both are showing as NVME (D:) with 465.69 GB NTFS. The Fsutil readouts from W7 and W10 differ in MFT positions. That's strange since the MFT readings should be in the same spot for both. There is a backup MFT in an ntfs system and fsutil is reporting it in different locations for W7 and W10.
Here are the BIOS photos you requested:
⇗ ⇗
⇗
.

#3699

Mattiwatti

> Zitat von ⇗ daniel_k im Beitrag ¶ #3633

> @Mattiwatti
> You seem to have many experience with driver development, can you help us, please?
> Have you ever seem a driver sample which we can modify to suit our needs?
> Basically we need to set two PCI configuration registers in the Intel XHCI controller in order to properly enable USB3 speeds.

Sorry, I missed most of this discussion and it is a bit hard to find all of the details scattered throughout such a big thread...
I'm going to go ahead and say that I probably won't be able to help here, since I'm missing the source code to the drivers (obviously) and USB in general isn't really my area of expertise. It may still be possible to mod an existing driver if the problem is more what you would call a (small, dumb) driver bug than a hardware issue or a major bug in the drivers. Sorry, for the repetition here, but just to clarify...
- The XHCI controller is an onboard one on an Intel PCH? (and if so, which chipset?)
- Which drivers (exact versions) are being used on XP, and which on 7 (presumably these are different ones since Intel has released XHCI drivers for Windows 7, but not XP)?
- Can you give details on which PCI config registers need to be set to which values? (and also, what they are being set to right now?) Are these values being (re)set at every boot (I'm guessing yes, otherwise this would not be such a big problem)? Also not unimportantly, do you have any idea about the meaning of these PCI config registers and their values?
In my experience USB performance problems are almost always purely down to hardware (especially cheap adapters such as USB3 <-> SATA ones for external hard disks) and drivers are only rarely the issue, especially the USB controller drivers themselves. I have never seen actual XHCI controller drivers be the cause of any performance issue (but very occasionally the driver of a device itself, e.g. poorly written USB disk drivers). Though that doesn't mean it is impossible of course, maybe I've just been lucky with the motherboards I've used in the past.

#3700

Mattiwatti

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> @Mattiwatti ....I know this is getting off topic but there are posters in this thread who may find it of interest in relation to the content of the thread. Besides, I want to contribute to this thread by tracing into the LAN driver, for example, to see what, if anything, can be done to get it going. As you have claimed, it's likely impossible, if not really hard, due to the number of functions absent in ntoskrnl and ndis.sys. That's what I am trying to find out in this discussion. Is there anything that can be done via modding to make it work?

I'm always hesitant to use words like 'impossible', since this being the internet, saying something is impossible guarantees that some smartarse will spend months of his/her life just to prove you wrong. But... getting an NDIS 6.x driver to work on XP is about as close to impossible as it gets, from what I can see. It's possible that the msrpc.sys dependency can be patched out by NOP-ing all of the function calls going to this driver, which would clear the biggest hurdle that I can see here (namely the absence of ALPC before Vista). The difficulty would then depend on the remaining missing kernel APIs - as you can probably guess, some functions are harder to implement than others. For this driver in particular I'd say you probably have a better chance of success trying to find an older (NDIS 5.x based) driver that works with an ethernet card that is reasonably similar in terms of hardware to the I2XX-V onboard controllers that were introduced later.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> I have not investigated that entirely but with my serial remote debugging sessions the target has to be rebooted for the source to find it. When the target reboots, it is stopped early in the boot process, before the logon screen, and as far as I can see it's possible to trace all the way to the desktop, if desired.

Correct, the target must be booted in debug mode with the debugger ready to 'receive' the serial connection at boot time. (This is no longer true in newer versions of Windows with ethernet debugging where you can attach a debugger after the target has booted, provided that the target booted into debug mode.) You can toggle the 'initial break' with CTRL+ALT+K if you don't want to break into the target immediately on every boot.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> In that case, Microsoft may have built in code to prevent wdbg getting past a sysenter or syscall into kernel code.

This is out of the question. Firstly MS would be shooting themselves in the foot by doing this, since the kernel developers are after all the primary consumers of WinDbg themselves (and no, they do not have a secret version of WinDbg with extra superpowers.) A more boring reason is that sysenter/sycall really do not do anything magical or 'hidden' (though it certainly is true that a debugger might have trouble stepping into them):

    1: kd> rdmsr 0xc0000082 ; 0xc0000082 == MSR_LSTAR, the 64 bit 'syscall' target
    msr[c0000082] = fffff800`008b1980
    1: kd> u fffff800`008b1980
    nt!KiSystemCall64 [C:\<snip>\ntos\ke\amd64\trap.asm @ 1720]:
    fffff800`008b1980 0f01f8          swapgs
    fffff800`008b1983 6548892425a0010000 mov   qword ptr gs:[1A0h],rsp
    fffff800`008b198c 65488b2425a8010000 mov   rsp,qword ptr gs:[1A8h]
    fffff800`008b1995 6a2b            push    2Bh
    fffff800`008b1997 65ff3425a0010000 push    qword ptr gs:[1A0h]
    fffff800`008b199f 4153            push    r11
    fffff800`008b19a1 6a33            push    33h
    fffff800`008b19a3 51              push    rcx

Thus we can see that on this Server 2003 x64 machine, the destination of a 'syscall' instruction will be KiSystemCall64 in ntoskrnl. Admittedly this is not very interesting because it is true for every syscall instruction, and KiSystemCall64 is only a relatively short preamble to transfer execution to the 'real' syscall that was requested, which is dependent on the syscall number (this is true for both x86 and x64, with some minor differences in how these numbers are handled). The information on how these functions can be found by their syscall number is encoded in nt!KeServiceDescriptorTable (there is also nt!KeServiceDescriptorTableShadow for win32k.sys syscalls, which works similarly but is not relevant here.)
I don't want to make this post too long, but the ⇗ second half of this article gives some good info on how to view the SSDT (System Service Descriptor Table) in WinDbg. Note that syscall targets are encoded differently on x86 and x64 - I couldn't immediately find a good source for x86 but it is very similar, just without the bit shifting. This knowledge is fairly useful if you want to, for example, know which kernel mode function the following bit of user mode code (taken from my Windows 7's ntdll.dll) is going to end up calling:

    mov r10, rcx
    mov eax, 16h ; syscall number
    syscall
    retn

All 400+ syscalls (a bit less than that in XP) follow this pattern, with only the syscall number varying. Of course, since MS makes debug symbols publicly available which you should be using, I already saw that this is ntdll!NtQueryInformationProcess, which (to no one's surprise) goes to nt!NtQueryInformationProcess. But this can sometimes still be useful to know, e.g. if debug symbols are missing for some file version or if you are dealing with an obfuscated program that performs its own syscalls.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> > Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> > ...what are you trying to achieve when stepping into a 'sysenter'?

> There are times when the system is called from a user mode app and the system calls back into user mode, sometimes multiple times, before returning after the sysenter. If you don't enter system code at sysenter you miss the call back and there could be code in the call back in u-mode you need to see. I have encountered that many times with SI, tracing into system code then suddenly being back in user code in the app I am debugging, yet well before the system code returns you to the original call for the u-mode app at sysenter.

There are only a handful of user mode functions that are called in this way, most of which are related to exception dispatching and not usually interesting on the user mode side. The one black sheep in the NT family is win32k.sys, which makes extensive use of user mode callbacks. For both cases it is perfectly possible (and easier) to attach a user mode debugger to the target to debug user mode portions of a call stack. In practice it is in my experience seldom useful to step through user mode callbacks however.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> This action would also make it very difficult to follow a cold code read in IDA. In IDA, a function often begins with no reference to where it was called from. It's likely being called from system code via a call to system code elsewhere. You'd need a debugger to confirm that.

Sure. It's always best to use a combination of static and dynamic analysis and use whichever one best suits the problem.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3649

> > Zitat von ⇗ Mattiwatti im Beitrag ¶ #3646

> > Instead, set a breakpoint on the syscall you wish to debug (e.g. `'bp nt!NtCreateFile'`

> That's fine if you know the call you want to trap with a bp. It's kind of shotgun approach at times since you are guessing that the app might call via that function. What if it doesn't, and there is code during a system call that is called by the system before exiting the syscall? I agree that setting a BP is more elegant but sometimes you just have to trace to see where the code goes. I also agree with what you say below, that the system code itself is not of much interest. However, it's what the system code does with the calling parameters that can be of interest. Besides, if you want to learn how the system processes calls from U-mode, or just how a driver works, it's helpful to see the system in action. It's one thing to read about a PDO in theory, or see a it in table form in Windbg, and quite another to see the actually code and data related to a PDO. Some people are happy to set BPs and ignore the intervening code but I find the implementation of assembly language to be fascinating, especially as related to functions in a higher level language like C++.

See above re: analyzing syscalls. What you will end up doing by 'stepping into a syscall' is stepping through KiSystemCall[32|64]. This is hyper-generic and utterly boring (not really if you are into OS internals - but for most practical purposes) boilerplate code that has barely changed since Windows NT 4, and has no relation to the user mode function you were stepping through a moment before. If you are stepping through a user mode program that is calling NtCreateFile in ntdll, trust me that you really want to step through NtCreateFile in the kernel (if you do want to step through it), not any function(s) leading to it.

#3701

Andalu

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #3698

> ...that's not what I am seeing. In the photos you attached, in disk management, both are showing as NVME (D:) with 465.69 GB NTFS.

I meant that the nvme is recognized immediately as a disk in win10 with the built in driver while in XP and Win7 it is recognized as a "PCI Device" until the drivers (ofa or samsung) are installed.
Thanks for the screenshots ;)

#3702

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #3701

> I meant that the nvme is recognized immediately as a disk in win10 with the built in driver while in XP and Win7 it is recognized as a "PCI Device"...

⇗ @Andalu ...I gather from your device being described as a portable SSD that it is a plugin device for the PCIe bus. When a device like your is connected hot, if that is the case, the driver which is first in line interrogates the device and gets pertinent information from the device. If the device is plugged into the PCIe bus it will identify itself as a PCI device.
If a SATA drive, on the other hand, is plugged into a SATA port, it would identify itself as a SATA device. It's all written in the device fixed memory. If an NV device is connected to the motherboard permanently, it would likely describe itself as a an NVMI device. Because NVMI was not introduced to Windows till W8, W7 in a raw state would know nothing about it, nor would XP. Apparently, Microsoft released a driver for W7 in an update. You'd have to track down which update. There's a hotfix from Microsoft about that: KB2990941.

#3703

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3697

> @antome

> > Zitat von ⇗ antome im Beitrag ¶ #3696

> > > Zitat von ⇗ XPLives im Beitrag ¶ #3685

> > > @antome

> > > > Zitat von ⇗ antome im Beitrag ¶ #3682

> > > > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > > > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > > > ⇗

> This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
> ⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
> XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
> Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
> Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
> Reboot on Z270 and make sure it works and boot correctly back into XP.
> If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

Your error explained here.
⇗ https://docs.microsoft.com/en-us/windows...code-reference2
⇗ https://docs.microsoft.com/en-us/windows...ted-fatal-error
0x000000CA PNP_DETECTED_FATAL_ERROR
I would try and install Z390 from scratch using my driver instead of moving to this machine from Z270.
But disable onboard ethernet, sound, et cetera in BIOS.
If still getting that error could be the modded ACPI.SYS causing it and needs further patching from creator.

Thanks for your patience :), I tried with a DVD installation of xp x64, first of all I replaced acpi.sy_ in the Amd64 folder and recreated the driver.cab file with acpi.sys always modified in the amd64 folder, then I created iso with nlite with the ahci drivers for the z390 have I done something wrong? because I get the same error 0x000000CA during the initialization of the hardware. I disabled everything possible from bios, audio lan, all usb port.
⇗ ⇗

#3704

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3703

> > Zitat von ⇗ XPLives im Beitrag ¶ #3697

> > ⇗ @antome

> > > Zitat von ⇗ antome im Beitrag ¶ #3696

> > > > Zitat von ⇗ XPLives im Beitrag ¶ #3685

> > > > ⇗ @antome

> > > > > Zitat von ⇗ antome im Beitrag ¶ #3682

> > > > > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > > > > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > > > > ⇗

This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
Reboot on Z270 and make sure it works and boot correctly back into XP.
If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

Your error explained here.
⇗ https://docs.microsoft.com/en-us/windows...code-reference2
⇗ https://docs.microsoft.com/en-us/windows...ted-fatal-error
0x000000CA PNP_DETECTED_FATAL_ERROR
I would try and install Z390 from scratch using my driver instead of moving to this machine from Z270.
But disable onboard ethernet, sound, et cetera in BIOS.
If still getting that error could be the modded ACPI.SYS causing it and needs further patching from creator.

Thanks for your patience :), I tried with a DVD installation of xp x64, first of all I replaced acpi.sy_ in the Amd64 folder and recreated the driver.cab file with acpi.sys always modified in the amd64 folder, then I created iso with nlite with the ahci drivers for the z390 have I done something wrong? because I get the same error 0x000000CA during the initialization of the hardware. I disabled everything possible from bios, audio lan, all usb port.
⇗ ⇗

Have you tried XP 32-Bit install with modded ACPI.SYS and Fernando SATA driver? Does it get the same error on Z390?
Hard to isolate if this is ACPI related since there is no MPS Mode for X64. But PNP is Plug and Play so that is why we need similar test on XP 32-Bit to compare.
Also make sure the XP 32-Bit you do a clean ISO before integrating the Fernando SATA driver. If you already mixed it with STORAHCI then we cannot use that image. It's possible what Gordo999 said could be installing two different storage drivers using the same hardware ID as the cause. I don't know if that is what happened so that's why you will have to use a clean XP 32-Bit for this test and just integrated Fernando SATA driver only. Copy the modded ACPI.SYS manually when you get BSOD A5 error for testing rather than integrating into driver.cab.

#3705

gordo999

> Zitat von ⇗ antome im Beitrag ¶ #3703

> ... I get the same error 0x000000CA during the initialization of the hardware

⇗ @antome ...the 0xCA error seems to be related to duplicate device IDs. In other words, during hardware enumeration, the plug and play manager is seeing the same Device ID used twice. Not sure how to deal with that right now since I am a bit under the weather and not thinking clearly. Maybe ⇗ @XPLives can figure something out.
If your system was booting I'd try to fix it by loading the HKLM\System hive in regedit in another system and checking for identical device IDs in HKLM\Susyem\ControlSetxxx\Enum. It sounds like your system is not booting at all so there is something wrong in your installation disk. In that case, I'd remove recent additions one by one to see which one is causing two drivers to be loaded with the same Device ID. Might be easier to remove all recent additions and add them one by one. If you remove them all, see if you can get back to the 0XA5 (acpi) error or the 0x7B (ahci) error.

## Page 248

#3706

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3704

> @antome

> > Zitat von ⇗ antome im Beitrag ¶ #3703

> > > Zitat von ⇗ XPLives im Beitrag ¶ #3697

> > > @antome

> > > > Zitat von ⇗ antome im Beitrag ¶ #3696

> > > > > Zitat von ⇗ XPLives im Beitrag ¶ #3685

> > > > > @antome

> > > > > > Zitat von ⇗ antome im Beitrag ¶ #3682

> > > > > > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > > > > > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > > > > > ⇗

> This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
> ⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
> XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
> Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
> Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
> Reboot on Z270 and make sure it works and boot correctly back into XP.
> If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

Your error explained here.
⇗ https://docs.microsoft.com/en-us/windows...code-reference2
⇗ https://docs.microsoft.com/en-us/windows...ted-fatal-error
0x000000CA PNP_DETECTED_FATAL_ERROR
I would try and install Z390 from scratch using my driver instead of moving to this machine from Z270.
But disable onboard ethernet, sound, et cetera in BIOS.
If still getting that error could be the modded ACPI.SYS causing it and needs further patching from creator.

Thanks for your patience :), I tried with a DVD installation of xp x64, first of all I replaced acpi.sy_ in the Amd64 folder and recreated the driver.cab file with acpi.sys always modified in the amd64 folder, then I created iso with nlite with the ahci drivers for the z390 have I done something wrong? because I get the same error 0x000000CA during the initialization of the hardware. I disabled everything possible from bios, audio lan, all usb port.
⇗ ⇗

Have you tried XP 32-Bit install with modded ACPI.SYS and Fernando SATA driver? Does it get the same error on Z390?
Hard to isolate if this is ACPI related since there is no MPS Mode for X64. But PNP is Plug and Play so that is why we need similar test on XP 32-Bit to compare.
Also make sure the XP 32-Bit you do a clean ISO before integrating the Fernando SATA driver. If you already mixed it with STORAHCI then we cannot use that image. It's possible what Gordo999 said could be installing two different storage drivers using the same hardware ID as the cause. I don't know if that is what happened so that's why you will have to use a clean XP 32-Bit for this test and just integrated Fernando SATA driver only. Copy the modded ACPI.SYS manually when you get BSOD A5 error for testing rather than integrating into driver.cab.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3705

> > Zitat von ⇗ antome im Beitrag ¶ #3703

> > ... I get the same error 0x000000CA during the initialization of the hardware

> @antome ...the 0xCA error seems to be related to duplicate device IDs. In other words, during hardware enumeration, the plug and play manager is seeing the same Device ID used twice. Not sure how to deal with that right now since I am a bit under the weather and not thinking clearly. Maybe @XPLives can figure something out.
> If your system was booting I'd try to fix it by loading the HKLM\System hive in regedit in another system and checking for identical device IDs in HKLM\Susyem\ControlSetxxx\Enum. It sounds like your system is not booting at all so there is something wrong in your installation disk. In that case, I'd remove recent additions one by one to see which one is causing two drivers to be loaded with the same Device ID. Might be easier to remove all recent additions and add them one by one. If you remove them all, see if you can get back to the 0XA5 (acpi) error or the 0x7B (ahci) error.

I only integrated the ahci a352 by fernando single driver. I remember that to get the installation to xp x32 as well as replacing acpi.sy_ (acpi.sys) I had also replaced the syssetup.sy_ file in the i386 folder of the installation disk, these 2 files were also necessary to update a working image on z270 and make it compatible for z390 without any errors. You probably need a syssetup.dll file x64 modified for the z390.
This was the procedure performed on xp x32
So to get windows to work we care about the following files:
acpi.sys (exists in SP3.CAB and Driver.cab both under I386 folder of installation)
acpi.sy_ (exists under I386 folder of installation) - acpi_sy is the result of makecab.exe command of the acpi.sys
syssetup.sy_ (exists under I386 folder of installation) - again result of the syssetup.sys
ahci drivers which we import by nLite
How I did it is -> get .iso file, decompress -> replace the above files -> nlite to import ahci driver -> make bootable .iso.
Attached you can find all the files that are needed and work with Z390 without modding the bios
antome has attached files to this post

- ⇗ Z390 Files.zip
- ⇗ AHCI Update _1_.zip

#3707

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3706

> > Zitat von ⇗ XPLives im Beitrag ¶ #3704

> > ⇗ @antome

> > > Zitat von ⇗ antome im Beitrag ¶ #3703

> > > > Zitat von ⇗ XPLives im Beitrag ¶ #3697

> > > > ⇗ @antome

> > > > > Zitat von ⇗ antome im Beitrag ¶ #3696

> > > > > > Zitat von ⇗ XPLives im Beitrag ¶ #3685

> > > > > > ⇗ @antome

> > > > > > > Zitat von ⇗ antome im Beitrag ¶ #3682

> > > > > > > boys xp x32 works properly on gene xi z390. Now I'm trying with xp x64 but the structure of the installation disk is completely different. Which is the correct procedure to integrate the files on the xp x64 installation disk? Where to put acpi.sys? Thanks
> > > > > > > edit: I tried windows xp x64 running on apex ix z270, I started xp on z270 replaced acpi.sys x64 in the windows / system32 folder, copied the 2 sys files of the ahci driver into the driver folder and executed the reg file to integrate the drivers in the registry, mounted disk on the z390 crashes due to a sata driver problem
> > > > > > > ⇗

This is expected. Reattach the SATA drive back to your Z270 system. Go download my driver here.
⇗ Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP
Then go to Device Manager while in XP on Z270. Update driver of the Intel SATA controller using mine.
Then in Device Manager take a snapshot and upload it to confirm it installed correctly.
Reboot on Z270 and make sure it works and boot correctly back into XP.
If this works then you can shutdown and reconnect the SATA drive to the Z390 and it should boot up properly without the BSOD 7B error.

Thanks for the driver now something has changed, xp x64 in normal mode I get error 0x000000CA while in safe mode it starts correctly on the z390, how do I solve this problem? the same disk starts correctly on the z270
⇗ ⇗ ⇗

Your error explained here.
⇗ https://docs.microsoft.com/en-us/windows...code-reference2
⇗ https://docs.microsoft.com/en-us/windows...ted-fatal-error
0x000000CA PNP_DETECTED_FATAL_ERROR
I would try and install Z390 from scratch using my driver instead of moving to this machine from Z270.
But disable onboard ethernet, sound, et cetera in BIOS.
If still getting that error could be the modded ACPI.SYS causing it and needs further patching from creator.

Thanks for your patience :), I tried with a DVD installation of xp x64, first of all I replaced acpi.sy_ in the Amd64 folder and recreated the driver.cab file with acpi.sys always modified in the amd64 folder, then I created iso with nlite with the ahci drivers for the z390 have I done something wrong? because I get the same error 0x000000CA during the initialization of the hardware. I disabled everything possible from bios, audio lan, all usb port.
⇗ ⇗

Have you tried XP 32-Bit install with modded ACPI.SYS and Fernando SATA driver? Does it get the same error on Z390?
Hard to isolate if this is ACPI related since there is no MPS Mode for X64. But PNP is Plug and Play so that is why we need similar test on XP 32-Bit to compare.
Also make sure the XP 32-Bit you do a clean ISO before integrating the Fernando SATA driver. If you already mixed it with STORAHCI then we cannot use that image. It's possible what Gordo999 said could be installing two different storage drivers using the same hardware ID as the cause. I don't know if that is what happened so that's why you will have to use a clean XP 32-Bit for this test and just integrated Fernando SATA driver only. Copy the modded ACPI.SYS manually when you get BSOD A5 error for testing rather than integrating into driver.cab.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3705

> > Zitat von ⇗ antome im Beitrag ¶ #3703

> > ... I get the same error 0x000000CA during the initialization of the hardware

> ⇗ @antome ...the 0xCA error seems to be related to duplicate device IDs. In other words, during hardware enumeration, the plug and play manager is seeing the same Device ID used twice. Not sure how to deal with that right now since I am a bit under the weather and not thinking clearly. Maybe @XPLives can figure something out.
> If your system was booting I'd try to fix it by loading the HKLM\System hive in regedit in another system and checking for identical device IDs in HKLM\Susyem\ControlSetxxx\Enum. It sounds like your system is not booting at all so there is something wrong in your installation disk. In that case, I'd remove recent additions one by one to see which one is causing two drivers to be loaded with the same Device ID. Might be easier to remove all recent additions and add them one by one. If you remove them all, see if you can get back to the 0XA5 (acpi) error or the 0x7B (ahci) error.

I only integrated the ahci a352 by fernando single driver. I remember that to get the installation to xp x32 as well as replacing acpi.sy_ (acpi.sys) I had also replaced the syssetup.sy_ file in the i386 folder of the installation disk, these 2 files were also necessary to update a working image on z270 and make it compatible for z390 without any errors. You probably need a syssetup.dll file x64 modified for the z390.
This was the procedure performed on xp x32
So to get windows to work we care about the following files:
acpi.sys (exists in SP3.CAB and Driver.cab both under I386 folder of installation)
acpi.sy_ (exists under I386 folder of installation) - acpi_sy is the result of makecab.exe command of the acpi.sys
syssetup.sy_ (exists under I386 folder of installation) - again result of the syssetup.sys
ahci drivers which we import by nLite
How I did it is -> get .iso file, decompress -> replace the above files -> nlite to import ahci driver -> make bootable .iso.
Attached you can find all the files that are needed and work with Z390 without modding the bios
⇗ z390 files xp x32
⇗ Ahci update

Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

#3708

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3707

> @antome
> Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
> But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
> If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

⇗ @XPLives I apologize I have corrected the links of the files used for xp x32 on the z390. Regarding the x64 disk I only integrated the driver sata a352 by Fernando, no other driver

#3709

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3708

> > Zitat von ⇗ XPLives im Beitrag ¶ #3707

> > ⇗ @antome
> > Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
> > But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
> > If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

> @XPLives I apologize I have corrected the links of the files used for xp x32 on the z390. Regarding the x64 disk I only integrated the driver sata a352 by Fernando, no other driver

So clean XP Pro 64-Bit ISO and 64-Bit (Fernando SATA driver and Modded ACPI.sys) resulted in BSOD issue 0x000000CA?
Can you retest Z390 with clean XP Pro 32-Bit ISO and 32-Bit (Fernando SATA driver and Modded ACPI.sys) to see if any BSOD issue and report back?

#3710

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3709

> @antome

> > Zitat von ⇗ antome im Beitrag ¶ #3708

> > > Zitat von ⇗ XPLives im Beitrag ¶ #3707

> > > @antome
> > > Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
> > > But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
> > > If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

> > @XPLives I apologize I have corrected the links of the files used for xp x32 on the z390. Regarding the x64 disk I only integrated the driver sata a352 by Fernando, no other driver

> So clean XP Pro 64-Bit ISO and 64-Bit (Fernando SATA driver and Modded ACPI.sys) resulted in BSOD issue 0x000000CA?
> Can you retest Z390 with clean XP Pro 32-Bit ISO and 32-Bit (Fernando SATA driver and Modded ACPI.sys) to see if any BSOD issue and report back?

yes, clean xp x64+ acpi.sys x64+ ahci a352 by Fernando= 0x000000CA.
i will try xp x32 installation with only acpi.sys and driver sata to understand returns the same error without using sysetup.dll modified

#3711 | XPWELL64 | Windows XP Intel HD Gpu Test drivers coming soon.

#3712

XPLives

⇗ @antome

> Zitat von ⇗ antome im Beitrag ¶ #3710

> > Zitat von ⇗ XPLives im Beitrag ¶ #3709

> > ⇗ @antome

> > > Zitat von ⇗ antome im Beitrag ¶ #3708

> > > > Zitat von ⇗ XPLives im Beitrag ¶ #3707

> > > > ⇗ @antome
> > > > Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
> > > > But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
> > > > If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

> > > @XPLives I apologize I have corrected the links of the files used for xp x32 on the z390. Regarding the x64 disk I only integrated the driver sata a352 by Fernando, no other driver

So clean XP Pro 64-Bit ISO and 64-Bit (Fernando SATA driver and Modded ACPI.sys) resulted in BSOD issue 0x000000CA?
Can you retest Z390 with clean XP Pro 32-Bit ISO and 32-Bit (Fernando SATA driver and Modded ACPI.sys) to see if any BSOD issue and report back?

yes, clean xp x64+ acpi.sys x64+ ahci a352 by Fernando= 0x000000CA.
i will try xp x32 installation with only acpi.sys and driver sata to understand returns the same error without using sysetup.dll modified

I examined the two files you uploaded
For Z390 Files, I would suggest use the newer version 11.2 for classic SATA AHCI driver from Fernando instead of v8.9.8.1005.
Do not use the file AHCI Update_1_.zip. That contains StorAHCI and if you are combining both possibly causing drivers fighting to install to the same storage device and maybe BSOD CA.

#3713

antome

> Zitat von ⇗ XPLives im Beitrag ¶ #3712

> @antome

> > Zitat von ⇗ antome im Beitrag ¶ #3710

> > > Zitat von ⇗ XPLives im Beitrag ¶ #3709

> > > @antome

> > > > Zitat von ⇗ antome im Beitrag ¶ #3708

> > > > > Zitat von ⇗ XPLives im Beitrag ¶ #3707

> > > > > @antome
> > > > > Those attachments will not work due to needing a hwbot account. You should refer to the actual page it was attached and not the download link.
> > > > > But first did your clean XP-32 Bit with just Fernando SATA driver and modded ACPI.SYS work on your Z390 clean install without any BSOD issue 0x000000CA?
> > > > > If no 0x000000CA Error then do a clean install of XP Pro 64-Bit with 64 Bit versions of (Fernando SATA driver and modded ACPI.SYS) on your Z390 again. Don't add any other drivers or storage drivers. You don't need the SYSSETUP.

> > > > @XPLives I apologize I have corrected the links of the files used for xp x32 on the z390. Regarding the x64 disk I only integrated the driver sata a352 by Fernando, no other driver

> So clean XP Pro 64-Bit ISO and 64-Bit (Fernando SATA driver and Modded ACPI.sys) resulted in BSOD issue 0x000000CA?
> Can you retest Z390 with clean XP Pro 32-Bit ISO and 32-Bit (Fernando SATA driver and Modded ACPI.sys) to see if any BSOD issue and report back?

yes, clean xp x64+ acpi.sys x64+ ahci a352 by Fernando= 0x000000CA.
i will try xp x32 installation with only acpi.sys and driver sata to understand returns the same error without using sysetup.dll modified

I examined the two files you uploaded
For Z390 Files, I would suggest use the newer version 11.2 for classic SATA AHCI driver from Fernando instead of v8.9.8.1005.
Do not use the file AHCI Update_1_.zip. That contains StorAHCI and if you are combining both possibly causing drivers fighting to install to the same storage device and maybe BSOD CA.

I did the test with xp x32 and actually to have an xp x32 running on xi gene z390 just replace acpi.sy_ and recreate driver.cab and sp3.cab with acpi.sys modified and insert with nlite driver a352 by Fernando.
Now I try on x64 with the driver you recommended
Edit: unfortunately it continues to give error 0x000000CA always in the same point of the installation, I have used the same bios settings both for xp x32 and x64 one works the other not

#3714

gordo999

> Zitat von ⇗ antome im Beitrag ¶ #3710

> ...i will try xp x32 installation with only acpi.sys and driver sata to understand returns the same error without using sysetup.dll modified

@atome ...I am speaking from ignorance, I have never applied drivers to an existing install disk. Don't you have to remove the existing drivers, or reference to them, before adding new drivers? If there's a reference in the installation manifest to both drivers, the installer may try to install both sets, hence an 0xCA error if the drivers have the same Device IDs.
You added an edit claiming the same 0xCA error with 32 bit. The installer is reading INF files to guide it and it seems there is a duplicate entry in an INF file. Either that, or your XP installation already has a reference to the same Device ID the installer is trying to install.

#3715

genieautravail

⇗ @IntiMD

> Zitat von ⇗ IntiMD im Beitrag ¶ #3592

> BTW if you feel lucky, you can give Snappy Driver Installer Origin a try, so as to try finding the missing drivers for the devices. Assuming that you have working internet connection in the XP machine, go to ⇗ https://www.snappy-driver-installer.org/download/ and download the "Application only" package. Unpack the zipped archive and open the main exe. Choose to download only indexes. After it finishes downloading the indexes it should show you the list of devices that need a driver or need to be updated (depending on the filters set ofc, assuming the filters are default ones). Don't do anything in it (especially DO NOT install the drivers from the app level, even though SDIO is much legit compared to other driver boosters, you need to be cautious. If you're interested, you can hover over a device for info related to the device and drivers offered by the app, including the location of them in the driverpacks that the app offers to download), just close the app. Find the latest snapshot file ending with the .SNP file extension, and upload it to a hosting of your choice (preferably zippyshare or uploadfiles). I'll then check and research the snapshot, hoping the app will find drivers for those unknown devices.

Hello,
I have just uploaded the file you have asked:
⇗ https://www18.zippyshare.com/v/CYpZxmVj/file.html
For convenience, I have posted the same message on the MSFN forum.
EDIT by Fernando: Unneeded blank lines removed (to save space)

#3716

IntiMD

⇗ @genieautravail First of all, there was no need to install the 'High Precision Event Timer' and 'AMD Processor' drivers, which are old and not destined for your hardware. It would be much better to revert their states to before installation.
I couldn't find the appropriate XP-compatible drivers for the AMD PSP device. The drivers that SDIO offers is 4.9.0.0 destined for Win10 x86, which is offered only because in the inf file (exactly in the manufacturer models section), they used 'NTx86' instead of, say 'NTx86.10.0', and i strongly doubt the key driver files are compatible with XP. IMO, would be best to leave it be in its state (which is: no drivers installed)
Neither couldn't find the appropriate driver for the AMD GPU.
Anyway, what SDIO offers according to the snapshot is updated drivers for:
* Realtek High Definition Audio (in my opinion no need to update if audio works perfectly fine)
* Logitech Unifying USB receiver (i assume it's something related to the wireless logitech mouses depending on the receiver. I absolutely don't see any reason to install these drivers.)
* Realtek PCIe GBE Family Controller (wouldn't actually hurt to get this updated if you want, since the drivers that SDIO offers are miles newer than the ones you currently uses (5.836.125.2018 2018-01-25 vs. 5.824.107.2014 2014-01-07) if you want then i can share you these drivers to install. best to do is to uninstall the realtek ethernet drivers first through devmgmt (assuming you installed them manually) and updating the device drivers by directing to the folder containing those newer driver files))

#3717 | genieautravail | ⇗ @IntiMD Thank you for your efforts. I already have the lastest version of the Realtek driver. I don't need to update this driver because Realtek only added support for new OS like Windows 10.
#3718 | gordo999 | Hello....anybody there? Awfully quiet out there. :-)

#3719

schreiberstein

⇗ @gordo999
Yes, it is sad...
I will continue some of my experiments in a few days. I am preparing an XP x64 install media for my system to check stability there to confirm whether some of side effects I experience are due to XP x86 memory management or the software itself. I think I will also E-Mail Gigabyte about the memory mapping issues on x86 (e.g. low available ram < 4GB), since I think this issue will affect Windows 10 x86 as well (have not confirmed this yet) and I can just pull the "muh mission critical legacy industrial applications" card.
And I really hope we will be blessed with a new USB3 XHCI driver. It would be amazing.
I recently got an "Exsys EX-1010" external PCI-Express to PCI 32 enclosure (~150) (4 slots! - connected via a DVI-cable) which allowed me to permanently integrate the Creative Audigy 2 ZS soundcard into my system, albeit externally. Sound is broken on XP x86 for some reason (sound is nothing but noise), but I can play back via ASIO in XMPlay with no issues for some reason... Works flawlessly in Windows 10 and Mac OS X. I think it is because of the 4GB PAE memory patch - not the latest version from daniel_k though since I accidentally lost my old unmodified files and need to retrieve them from another machine first (no big deal) before I can test his latest patch.
I think it will be somehow necessary to "burn" the first few GBs of RAM since there appears to be something else there. I even have application stability issues on Server 2003, sadly.
But I don't know much of the details of this platform.
Cheers,
schreiberstein

#3720

gordo999

⇗ @schreiberstein ...I can't talk, I have been forced to check out a registry key that is mainly hidden in case it's a rootkit. Part of the reason it's hidden is that it's full of Chinese characters which regedit cannot read. I got a bit suspicious, however, when gmer, the rootkit finder, crashed while I was trying to export the hidden registry key. It was not hidden to gmer and in fact the key was marked in red, indicating suspicious activity.
Not trying to lay a guilt trip on anyone, the thread went from rather hectic daily activity to nothing. Hope everyone is OK. Getting near Christmas in the western world so I imagine posters are getting into the Christmas spirit and doing other things.

## Page 249

#3721

diderius6

Hi,
I rebuild a Lenovo Thinkpad x220 with i7 2640M, 8 GB ram and the good IPS screen from scratch. It has USB3 from Nec.
⇗ @Gelip told, that XP64 runs there in UEFI mode.
It lasts nearly whole day with setup, new thermal paste and crazy screws. Now I use a Samsung 860 EVO 500 GB SSD, which shows 500 MByte/s for read and write under XP. The problem with TRIM under XP I do not solve. May be someone here in the forum succeeds with this. At the moment I use Win10 for this. I do not found an Intel Optane in SSD size. Optane does not need TRIM.
The Bios chip is Winbond 25Q64CVSIG, where I put Bios 1.39 from summer 2013 with Revelprog IS on it. I also think about to put a new Bios chip on socket there.
Nice, benchmark for 3DMark 2001 with integrated grafik HD3000 is 22400 under XP SP3
and 14000 under Win 10
Dietmar
⇗

#3722

Fernando

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3721

> The problem with TRIM under XP I do not solve. May be someone here in the forum succeeds with this.

Have you already tried the tool named "Anvil's Storage Utilities" (look ⇗ >here<)? It is able to trigger TRIM to all SSDs.

#3723

diderius6

⇗ @Fernando
Thanks, I just test the tool.
Now I get message,
that all drives do not respond to the "TRIM" command
Dietmar
⇗

#3724 | Fernando | ⇗ @diderius6: The error message is misleading, because the SSD supports TRIM and the onboard Intel SATA AHCI Controller lets the TRIM command pass through. Thanks for the nice picture, but I cannot read the error text. Please do the following while getting such popup message: Press ALT+PRINT, run Windows Paint, click onto "Insert" + "Crop" and save the image as *.png file.

#3725

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #3721

> @Gelip told, that XP64 runs there in UEFI mode.

I have already written about it but I will sum up again.
Yes, WinXP SP2 x64 boot in UEFI but with CSM with AnaPa VGA driver on X220. There are all WinXP drivers for this laptop. In the bios there is only legacy VGA option ROM, no VGA GOP firmware, no option to disable CSM.
Now I'm testing other hardware with WinXP SP2 x64 and UEFI: ASUS P8H61-M LE R2. This motherboard allows you to boot the OS:

- pure Legacy (CSM)
- UEFI with CSM e.g. with legacy VGA ROM
- pure UEFI with GOP VGA ROM

The latest bios has GOP firmware for iGPU:
⇗
The board also has PCIe and even old PCI slot so you can test various graphics cards. WinXP SP2 x64 with AnaPa driver and PCIe GeForce 6200 card also works on this ASUS hardware in UEFI + CSM
There are all WinXP drivers for this mobo. ASUS also has a COM port for debugging with WinDbg.

#3726

Gelip

⇗ @diderius6
Try other software for SSD - maybe Samsung_Magician_Setup_v497.exe or ADATA_SSDToolBoxSetup.exe
Also try this registry settings for SSD: Windows-XP-SSD.zip
⇗ ADATA_SSDToolBoxSetup.exe
⇗ Samsung_Magician_Setup_v497.zip
Gelip has attached files to this post

- ⇗ Windows-XP-SSD.zip

#3727 | diderius6 | ⇗ @Gelip Can you run 3Dmark2001 on the ASUS P8H61-M LE R2 board under UEFI Dietmar

#3728

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3727

> Can you run 3Dmark2001 on the ASUS P8H61-M LE R2 board under UEFI

I would have to reinstall WinXP with the AnaPa driver because I have something else on the disk right now.

#3729

diderius6

⇗ @Gelip
Only the ADATA_SSDToolBoxSetup.exe
works for TRIM under XP SP3 for the Samsung 860 EVO 500 Gbyte.
Crazy, the Samsung tool tells, only for Samsung devices^^
Dietmar
PS: The health of my SSD went from 10% to 100% after about 90 seconds of TRIM via ADATA SSD ToolBox,
so thanks a lot! The speed of the SSD raises to 565 MByte/s.

#3730 | Gelip | ⇗ @diderius6 3DMark2001 cannot be installed when the system is running on the AnaPa driver because it doesn't support 3D: ⇗

#3731

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #3721

> The Bios chip is Winbond 25Q64CVSIG, where I put Bios 1.39 from summer 2013...

The latest bios for the X220 is: ⇗ 1.46 released 27 Jun 2018

#3732 | diderius6 | ⇗ @Gelip, yes I know this. But from the Bios 1.39 you can change to any other Bios version. Also you can take any akkumulator, that you wish. Those possibilities are gone from Bios >= 1.42 for the Thinkpad x220 Dietmar

#3733

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #3732

> yes I know this. But from the Bios 1.39 you can change to any other Bios version.
> Also you can take any akkumulator, that you wish.
> Those possibilities are gone from Bios >= 1.40 for the Thinkpad x220
> Dietmar

Akkumulator - I don't understand? Do you mean battery?

#3734 | Gelip | Today I tested ASUS P8H61-M LE R2 with WinXP SP2 x64 under UEFI + CSM + iGPU SandyBridge + AnaPa and it works. So, on this motherboard WinXP 64-bit works in UEFI with both iGPU and PCIe graphics card.

#3735

Andalu

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #3673

> @Andalu
> Don't know what the issue is.
> I did many tests here before releasing the patcher.
> - VirtualBox 8GB RAM
> - Core i3-2310M "Sandy Bridge" Lenovo G470 8GB w/ Insyde BIOS
> - i7-8700K / Z370 Gaming 3 / 16GB
> Tested all patched HALs, with no issues on any of the systems.
> Even tried on an old T6600 eMachines D525 with 4GB just to test patch stability.
> Are you really sure you're not missing something?
> What about trying storahci.sys or iastora.sys?
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (218)
> iaStor is old and has issues on newer systems, maybe things get worse with PAE enabled.

I installed XP v5.1.2600 on my former crazy asrock B75-Pro3M as 'acpi multiprocessor pc' with the only Intel RST AHCI+RAID driver v11.2.0.1006 by Fernando slipstreamed by nLite. No other driver installed, no usb3 driver and no acpi.sys mod. The XP installation ends normally. I launched the WinXpPAE.exe 2.0 with /ALL /NB command line on another computer and from there I copied by hand the patched files in the windows\system32 folder of the destination XP disk, replacing the existing files with the patched versions of hal.dll, ntkrnlpa.exe and ntoskrnl.exe files (the last two renamed for multiprocessor pc).
After connecting the patched disk to the B75-Pro3M board, on restart, I got the blank screen always at same point: the pc hangs as soon as the XP logo and the horizontal scroll bar below appear.
The same on each restart. Same behavior on three other boards (one LGA 1150 and two 1151). XP boots in safe mode only.
By copying all the patched files (included ntkrnlmp.ex_ and ntkrpamp.ex_ not renamed) in the \i386 folder of the XP setup cd, then repacking the SP3 and DRIVER cab files and slipstreaming them together with the sata_ahci driver v11.2.0.1006 and acpi.sys 5048 in the .iso image, the setup ends normally and on restart, XP has finally booted and the total amount of ram has correctly recognized. But in the windows\system32 folder of the WinXPPae patched disk, the hal.dll is different from the one integrated into the iso image (hal.dll was slipstreamed into sp3.cab, driver.cab and copied to the i386 folder as hal.dl_ by makecab) while other libraries (halaacpi.dll, halacpi.dll, halapic.dll, halmacpi.dll, halmps.dll) are not present.
I copied this hal.dll (sha1: BE202C78DBF4D59880AA6A9430BE05D4156D6764) to another disk connected to another board where XP always froze (asus prime B250M) and this time the boot works fine and the total ram is correctly visualized. In this case, for the USB3 function, it is need to replace original amdxhc.sys with the one from 'amdxhc_pae_fix'.
I also tried a clean XP installation on the asus prime B250 with sliptreamed patched files but the results are the same as for the asrock B75 Ivy board.
Already tried with iaStor, iaStorA and storahci from your "XPSP3_CDDRIVERS_ENU" with no success.
For the above, how can I be sure that the patch applied in my system is the WinXpPae 2.0 and not the old 1.1 version?

## Page 250

#3736

dencorso

In my opinion, sufficient time has elapsed, so I'd like to ask ⇗ @Mov AX, 0xDEAD to kindly update his assessment of the currently still unresolved problems for running Windows XP x32 on sky/kaby/coffee lake hardware, and of the progress done till now.

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #172

> There many unresolved problems running Windows XP x32 on sky/kaby/coffee lake hardware
> my own list:
> - ACPI BSOD:
> .......... 0xA5 (0x03, X, 0xС0140001, Z) ACPI 2.0 syntax, 99% solved (custom acpi.sys), 1% - "QWordAcc" still 32bit only
> .......... 0xA5 (0x02, X ,Y ,Z) error in ACPIRangeValidatePciResources, PCI vs E820 list conflict, solved (custom acpi.sys)
> .......... 0xA5 (0x11, 0x08 ,Y ,Z) error in ACPIInitializeDDB, solved (custom acpi.sys)
> .......... other possible BSODs, unresolved
> - all integers in original ACPI 1.0 XP are 32 bits, ACPI 2.0 requires all ints to be 64 bits, unresolved. Acpi.sys from Longhorn v.5048 has 64 bit integers and compatible win Winxp
> - Broken acpi pm_timer, solved (custom hal.dll, forced to use TSC counter) or enable hidden bios option "TCO Timer"
> - Acpi tables patcher at boot time like Chameleon/Clover, solved,( ⇗ http://reboot.pro/topic/22051-acpi-patcher-at-boot-time)
> - CPU in C0 power state 50-60% of time even without cpu load, solved (custom intelppm.sys, 1) only C1 c-state or 2) C1/С7s/C10 c-states)
> - USB 3.x drivers for integrated intel chipsets, solved (patched AMD USB3 driver)
> - Resource manager show conflict VGA card with ACPI IOTR/IOTraps device, solved 1) manual patching dsdt or 2) custom acpi.sys
> - UEFI x64 Boot, partial solved for WinXP x64 only (bootmgr from vista beta+vesa vga driver)
> - NVMExpress drivers, partial solved (modified OFA 1.3/1.5 driver+storport.sys from windows 2003)
> - Access to additional 3TB+ Disks/GPT partitions, solved (Paragon GPT Loader)
> - Boot from GPT partitions, unresolved (require uefi boot support first)
> - TRIM support in NTFS/Storport/??? driver unresolved
> - Kernel debug with WinDBG/KD over LAN/USB3.0 connection solved, (⇗ https://github.com/MovAX0xDEAD/KDNET)
> - fixing PAE support in HAL (in progress)

#3737

genieautravail

> Zitat von ⇗ diderius6 im Beitrag ¶ #3729

> Only the ADATA_SSDToolBoxSetup.exe works for TRIM under XP SP3 for the Samsung 860 EVO 500 Gbyte.
> Crazy, the Samsung tool tells, only for Samsung devices^^.

⇗ @diderius6
Can you try Naraeon SSD Tools and tell us if TRIM is working too ?
⇗ https://sourceforge.net/projects/naraeon-ssd/
EDIT by Fernando: Unneeded parts of the fully quoted post and unneeded blank lines removed (to save space)

#3738

diderius6

⇗ @genieautravail
Naraeon SSD Tools work for XP SP3 for TRIM of Samsung SSD EVO 860 EVO. Time for manual TRIM is about 2 min.
Thanks a lot, this is a nice tool for SSD, because it also shows, how much Gbyte are written to this SSD at all.
Problem is with downloading NST(5.4.0).exe . I have to chose manual a server from Germany,
Dietmar

#3739 | XPWELL64 | Which Motherboard is best for Windows XP? I want a Desktop and it must contain IDE/AHCI/RAID setting to Install retro OS.
#3740 | Andalu | ⇗ @genieautravail thanks for the info ;) I tried a dozen of ssd utility and this is the only that permits the trim function in XP for my samsung nvme ssd. Even if Trimcheck 0.7 reports that 'trim appears to be not working' I did the manual trim anyway :)

#3741

gordo999

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #3739

> Which Motherboard is best for Windows XP?

⇗ @XPWELL64 ...can't advise you overall but make sure the mobo has PS/2 ports so you can use a keyboard and mouse while USB is being setup. You'll need two USB to PS/2 adaptors if you use a USB keyboard/mouse. Don't know if a unifying adapter will work via USB to PS/2 adapters if you use cordless keyboard/mouse.
Personally, I favour Intel chipsets and processors. I use an Asus B360M with an Intel chipset/processor and it is a lower end version of the Z370/390 chipsets.
⇗ https://www.pcworld.com/article/3268063/intel-motherboard-z370-vs-h370-vs-b360-vs-h310-8th-gen-cpu.html
Sorry...missed your requirement for IDE/AHCI/RAID compatibility. Did you mean SATA/AHCI/RAID compatibility? Although SATA controller can run in IDE mode I don't think modern motherboards use the old PATA IDE connectors if you intend to connect a hardrive via a parallel cable.

#3742 | XPWELL64 | ⇗ @diderius6 I want you to mod igxpmp32.sys file to work with DEV_1616
#3743 | diderius6 | ⇗ @XPWELL64 I tried to mod igxpmp32.sys, but without success Dietmar
#3744 | sqpp | Just a quick note, is there any 64 bit Windows XP ACPI patch already? T480 - Coffee Lake owner i5-8350u ⇗ @diderius6 ⇗ @daniel_k Just an update, so, I was able to bypass the earlier issue, with the A5 BSOD, now I am using 32 bit WinXP and getting 0x0000007B BSOD.

#3745

gordo999

> Zitat von ⇗ sqpp im Beitrag ¶ #3744

> now I am using 32 bit WinXP and getting 0x0000007B BSOD.

⇗ @sqpp ...the 7B bsod is related to SATA drivers. You will likely notice it occurs after it says, "Starting Windows". The Windows OS uses a miniport driver to communicate with the drive even though boot phase drivers have already done so. It's related to the ioStor driver or the lack thereof. There is a set of drivers listed in this thread and a set signed by Fernando that fixed the problem for me on XP 32-bit.

#3746

infuscomus

⇗ @diderius6 ⇗ @daniel_k
I have made a new patched hal.dll for XP
It contains these new functions from windows 7

    HalAllocateHardwareCounters
    HalBugCheckSystem
    HalConvertDeviceIdtToIrql
    HalDisableInterrupt
    HalEnableInterrupt
    HalEnumerateEnvironmentVariablesEx
    HalFreeHardwareCounters
    HalGetEnvironmentVariableEx
    HalGetInterruptTargetInformation
    HalGetMemoryCachingRequirements
    HalGetMessageRoutingInfo
    HalGetProcessorIdByNtNumber
    HalGetVectorInput
    HalInitializeBios
    HalInitializeOnResume
    HalMcUpdateReadPCIConfig
    HalQueryEnvironmentVariableInfoEx
    HalQueryMaximumProcessorCount
    HalRegisterDynamicProcessor
    HalRegisterErrataCallbacks
    HalRequestClockInterrupt
    HalSetEnvironmentVariableEx
    HalStartDynamicProcessor
    x86BiosAllocateBuffer
    x86BiosCall
    x86BiosFreeBuffer
    x86BiosReadMemory
    x86BiosWriteMemory

ntoskrnl is being more difficult to patch - the compiler complains about the heap stack size and I've already given it the maximum
I'm actually an amateur at programming, is anyone here skilled with Visual C++ 6.0?
infuscomus has attached files to this post

- ⇗ HAL2.zip

#3747 | sqpp | Yeah, I figured out yesterday, although none of the fernando drivers worked for me, can you guys help me to identify which one should I use? I5-8350u and 6th generation AHCI I think.

#3748

diderius6

⇗ @infuscomus
This is nice work, and everything begins with the first step.
Today I succeed to enable USB3 on the Lenovo x230.
I use the nice driver from ⇗ @daniel_k .
And in Bios I force to use USB3 (set to enabled).
From the Lenovo Webpage
"USB 3.0 is not supported on Windows XP - ThinkPad
USB 3.0 port doesn't work on Windows XP for ThinkPad. Affected Systems: Helix (Type 3xxx)L330, L430, L530 T430, T430i, T430s, T430si, T430u, T431sT530, T530i Twist S230uW530 X1 CarbonX230, X230s, X230 Tablet, X230i, X230i Table"
Oh, this is soso much fun:)),
I just also succeed to boot XP SP3 via USB3 on the x230 Thinkpad and this is faaast )
Dietmar
⇗

#3749

diderius6

⇗ @sqpp
Nice STORAHCI.sys driver from ⇗ @skullteria together with storport.sys will work. I just use this method for the Lenovo x230 Thinkpad.
Copy this 2 driver files on a working XP to windows\system32\drivers and add entry to registry

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "ErrorControl"=dword:00000003
    "ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
       72,00,69,00,76,00,65,00,72,00,73,00,5c,00,73,00,74,00,6f,00,72,00,61,00,68,\
       00,63,00,69,00,2e,00,73,00,79,00,73,00,00,00
    "Group"="SCSI Miniport"
    "DisplayName"="@mshdc.inf,%storahci_ServiceDescription%;Microsoft Standard SATA AHCI Driver"
    "DriverName"="mshdc.inf"

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters]
    "BusType"=dword:0000000b
    "IoTimeoutValue"=dword:0000000a

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters\Device]
    "ResetInInit"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,\
       00,45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,\
       2a,00,00,00,00,00
    "SingleIO"=hex(7):56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,30,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,31,\
       00,30,00,00,00,56,00,45,00,4e,00,5f,00,31,00,31,00,30,00,36,00,26,00,44,00,\
       45,00,56,00,5f,00,36,00,32,00,38,00,37,00,26,00,52,00,45,00,56,00,5f,00,32,\
       00,30,00,00,00,00,00
    "IgnoreHotPlug"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NeverNonQueuedErrorRecovery"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,\
       32,00,26,00,44,00,45,00,56,00,5f,00,34,00,33,00,38,00,30,00,26,00,52,00,45,\
       00,56,00,5f,00,2a,00,00,00,00,00
    "EnableCLOReset"=hex(7):56,00,45,00,4e,00,5f,00,31,00,30,00,30,00,32,00,26,00,\
       44,00,45,00,56,00,5f,00,34,00,33,00,39,00,31,00,26,00,52,00,45,00,56,00,5f,\
       00,2a,00,00,00,00,00
    "NoFUACommand"=hex(7):48,00,54,00,45,00,2a,00,00,00,48,00,69,00,74,00,61,00,63,\
       00,68,00,69,00,2a,00,00,00,48,00,54,00,53,00,2a,00,00,00,48,00,44,00,53,00,\
       2a,00,00,00,48,00,44,00,54,00,2a,00,00,00,00,00
    "NeedSetTransferModeCommand"=hex(7):4d,00,43,00,42,00,51,00,45,00,36,00,34,00,\
       47,00,42,00,4d,00,50,00,50,00,2a,00,00,00,00,00
    "NoLPM"=hex(7):57,00,44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,\
       00,30,00,4e,00,4c,00,52,00,31,00,2a,00,00,00,57,00,44,00,43,00,20,00,57,00,\
       44,00,37,00,34,00,30,00,41,00,44,00,46,00,44,00,3f,00,30,00,30,00,4e,00,4c,\
       00,52,00,31,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,36,00,\
       56,00,3f,00,3f,00,3f,00,45,00,30,00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,\
       00,72,00,20,00,36,00,56,00,3f,00,3f,00,3f,00,46,00,30,00,2a,00,00,00,4d,00,\
       61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,3f,00,3f,00,45,00,30,\
       00,2a,00,00,00,4d,00,61,00,78,00,74,00,6f,00,72,00,20,00,37,00,56,00,3f,00,\
       3f,00,3f,00,46,00,30,00,2a,00,00,00,00,00

    [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\storahci\Parameters\PnpInterface]
    "5"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\PCI#CC_010601]
    "ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
    "Service"="storahci"

Dietmar

#3750 | sqpp | Could you please link to these specific posts? I can't find it. Also, you mentioned that copy these 2 driver files on a working XP. But I am getting this on the installation. So how I am supposed to do that? shouldn't I use nLite and include these drivers then build the iso?

## Page 251

#3751 | diderius6 | ⇗ @sqpp ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (59) you can use this with nlite Dietmar
#3752 | sqpp | ⇗ @diderius6 just a quick last question, do I also need to convert these to .SY_ right?
#3753 | diderius6 | ⇗ @sqpp I think, you can let them be, as they are Dietmar
#3754 | sqpp | Afaik, I can't import DLLs into Nlite, just inf files. So I guess, I must do, because DRIVER.CAB should contain these.
#3755 | sqpp | ⇗ @diderius6 same error actually, I might did something wrong? edit: I have used the i386 folder to import the inf file, so that should be 32 bit, not sure what else to do.
#3756 | diderius6 | ⇗ @sqpp Please describe step by step what you have done and results Dietmar
#3757 | sqpp | In the nLite driver section, I have included the i386 folder's file storahci.inf, then the rest of the files added to the DRIVER.CAB file via CABPCK14. Nothing else done on my end, this resulted in a B7 BSOD again.
#3758 | infuscomus | ⇗ @sqpp add your AHCI HWIDs to the section in txtsetup.sif ⇗ @diderius6 do you have any experience with Visual C++ 6.0?

#3759

diderius6

⇗ @sqpp
"In the nLite driver section, I have included the i386 folder's file storahci.inf"
I think, this is not correct.
You only have to go via nlite to folder storahcitxtsetup and from there to i386 folder
and integrate the driver
Dietmar

#3760 | diderius6 | ⇗ @infuscomus Years ago I played a little bit with Visual C++ but nothing more Dietmar
#3761 | sqpp | I don't really have other choices other than the .inf Look at my screenshots. ⇗ https://photos.app.goo.gl/B5EaZRnS5w5Hv5oJ9
#3762 | diderius6 | ⇗ @sqpp I think it is the fault of win10. Make a try with nlite 1.4.9.3 under XP SP3 Dietmar ⇗
#3763 | sqpp | ⇗ @infuscomus do I have to give the HWID for the controller or for the disk itself? I guess it's a silly question, so the controller?

#3764

sqpp

Same error by the way, I have used the HWID for the SATA controller by checking with HWinfo64 within Win10 and added this ID to the txtsetup.sif file within i386 folder.

    [HardwareIdsDatabase]
    PCI\VEN_8086&DEV_9D03&SUBSYS_225D17AA&REV_21 = "STORAHCI"

Does it look good?

#3765

sqpp

Just attached my sif file, so you might validate, but it should be good, I think
sqpp has attached files to this post

- ⇗ TXTSETUP.zip

## Page 252

#3766

diderius6

⇗ @sqpp
I just edit your TXTSETUP.SIF for storport and storahci
Dietmar
diderius6 has attached files to this post

- ⇗ TXTSETUP.rar

#3767 | sqpp | ⇗ @diderius6 same error actually. should I also replace the HWID in your TXTSETUP?

#3768

diderius6

⇗ @sqpp
I tested, that my settings work, no modification needed.
Have you copied storport.sys storahci.sys storahci.inf
into installationsfolder i386
Dietmar
PS: Have you edit dosnet.inf as described in
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (232)
and may be this is also needed
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (224)

#3769 | sqpp | Yes, I did. They are there, the problem might could be that I am using Easy2Boot to make this all happen, as I don't really have DVD reader neither a rewritable CD/DVD
#3770 | sqpp | I haven't edited dosnet.inf. In that post, you mentioned that it gave BSOD.
#3771 | Andalu | Is there someone who applied the WinXPPAE patch v2.0 with no issues?

#3772

diderius6

⇗ @sqpp
Here is my german dosnet.inf with storport and storahci
Dietmar
diderius6 has attached files to this post

- ⇗ DOSNET.rar

#3773

infuscomus

> Zitat von ⇗ sqpp im Beitrag ¶ #3769

> Yes, I did.
> They are there, the problem might could be that I am using Easy2Boot to make this all happen, as I don't really have DVD reader neither a rewritable CD/DVD

If you're using Easy2boot on your motherboards USB 3.0 ports it will always fail with a 7B BSOD
you need native USB 2.0 EHCI ports to use Easy2boot
USB 2.0 PCIE card
⇗ https://www.ebay.com/itm/USB-2-0-to-PCI-...lEAAOSwaBZZmNXa
or otherwise use a SATA DVD drive. The following contents have been linked to this post:

#3774 | infuscomus | ⇗ @diderius6 can I send you the source code for my kernel patcher program? if yes, maybe you can fix the heap size problem with ntoskrnlxp.cpp?
#3775 | diderius6 | ⇗ @infuscomus Yes, please send to me. I take a look at it from 20 December, because then I have holidays Dietmar
#3776 | infuscomus | ⇗ @diderius6 I sent you a PM with the source code
#3777 | diderius6 | ⇗ @infuscomus Thanks for the files )! "you use genpatch to convert ASM files into cpp files for the patcher program to apply" Please, describe this a little Dietmar
#3778 | infuscomus | ⇗ @diderius6 you can write a new function that you want to have patched into a program in assembler, then genpatch can convert that ASM into C++ code that the patcher program then uses to know what to write into the file you wish to patch.
#3779 | sqpp | ⇗ @infuscomus It's a laptop, so can't use, how about using my dock which has a 2.0 port? Although it uses Thunderbolt 3, but I think it may work in pre-environment (BIOS)
#3780 | infuscomus | ⇗ @sqpp you need a native USB 2.0 controller chip for XP setup to see your easy2boot drive, which your system doesn't have - hence the 7B BSOD because setup cannot see your easy2boot USB drive so you'll need to use a SATA DVD drive if you want to install XP

## Page 253

#3781

sqpp

⇗ @infuscomus, yeah, but it's actually loaded, I mean the files are actually loaded from the PenDrive, because the BSOD 7B only comes, when the drivers are loaded, including ACPI, then when it says windows setup starts or something like that, that's when the error appears. So it's half loaded? Because in this case, the files are actually loaded just fine from the USB, otherwise it would whine about the missing inf files.
Also, neither I can't properly use any SATA DVD drive, as my laptop has only one SATA connectors, which is used by the SATA SSD itself. I do have an USB DVD Reader, but that's not an option, I guess?

#3782

infuscomus

⇗ @sqpp
I'm just reporting what I found from attempting to install XP on my AMD Ryzen system
I only ever managed to get easy2boot to work without a 7B BSOD on the PCI-E USB 2.0 card - I've never got it working properly on the USB 3.0 ports on the motherboard.
SATA DVD drive worked for me.

#3783 | infuscomus | ⇗ @diderius6 I think I found a solution to the compiler heap stack issue - I managed to migrate it to Visual Studio 2005.
#3784 | sqpp | How about using this? ⇗ https://msfn.org/board/topic/149612-winntsetup-v394-40-rc2/

#3785

diderius6

⇗ @sqpp
I just test this and it installs XP from any USB port because it uses firadisk.
01. Insert blank USB Flash Drive and Start RMPrepUSB.
02. You may use any Volume Label but Select NTFS > make no other changes, do NOT Choose Source, just [lower left] 6 Prepare Drive > OK > OK
03. Wait for it to finish then click on Install grub4dos [center right button]
04. YES > OK > [Enter] > **STOP!!** Press on Cancel [do NOT copy grldr file when asked]
05. Exit [lower right]
06. Extract ASUS Tools and files for W7/XP USB file Install OS from USB.rar
Copy contents of folder Install OS from USB\XP\USB root to USB Flash Drive's root directory.
07. Extract ASUS AHCI driver for XP file iaStor_skl.rar
Copy contents of folder iaStor_skl to USB Flash Drive's root directory.
08. Copy the actual .iso file, Windows XP iso file to USB Flash Drive's root directory and make sure file name is XP.iso and not something else.
09. Disconnect E-V-E-R-Y-T-H-I-N-G from the motherboard so that only one hard drive is connected to it and make sure it is connected to one of the main Intel SATA ports, not additional ones you may have on the side.
10. F8 at startup should let you boot from the newly created USB Flash Drive.
You may see two versions of the USB Flash Drive.
DO NOT SELECT the UEFI version. If the non-UEFI version is not there, you need to go to BIOS and set the non-UEFI as a boot priority device.
BOTH non-UEFI and UEFI must be selected in the BIOS list, but boot from the non-UEFI version.
All non SATA/IDE drives should be disconnected, they should not show up in the boot device list at all, or the Windows XP installation may try to write to them and fail, which will crash the installation process, so only have a single IDE/SATA Windows XP drive connected
You may see the cursor flash in the upper left corner.
*WAIT*WAIT*WAIT*
11. SELECT: Widows XP Setup Step 1 (TXT-mode)
12. Wait for ISO to load and after you see Remember to press F6... message, *GET READY* to press Enter after which you will see a blue screen and at the bottom: Press F6 if you need to install a third party SCSI or RAID driver...
START PRESSING F6 then F7 then F6 then F7 (one after the other)...
13. Blue Windows Setup screen appears > Press S >
Select: FiraDisk Driver (32-Bit) and press Enter
Press S
Select: Intel (R) SKL SATA AHCI Controller (X99+Skylake) and press Enter
Press S
Select: ASMEDIA USB3 Controller Driver and press Enter
14. Press Enter to Continue
15. Setup is Starting Windows > Enter > F8 (to agree) > Select partition where Windows XP should be installed. No partition should ever be formatted under Windows XP, only under Windows Vista/7/8/10 so > Leave the current file system intact (no changes)
PAY ATTENTION TO DRIVE LETTER OF PARTITION YOU ARE INSTALLING TO, that will be the Windows XP system drive letter after installation completes.
16. Wait for the process to finish and ALLOW the timer to run out telling you the computer will be restarted, do not press Enter to Restart immediately. Start pressing F8 to be able to select to boot from the USB Flash Drive again. If the computer freezes, restart it manually and boot from USB Flash Drive again.
17. This time SELECT: Widows XP Setup Step 2 (GUI-mode)
18. Windows XP may hang on first boot, just like in the "good old days".
If (when) that happens, Reboot!
On the XPinstallfromUSBviaFiradisk.pdf instruction from hwbot it is on page 19-26
Dietmar
⇗ https://community.hwbot.org/topic/141067...-of-mainboards/
look for file Install OS from USB.rar there, it contains also working RMPrepUSB.
diderius6 has attached files to this post

- ⇗ USB root.rar
- ⇗ XPinstallfromUSBviaFiradisk.pdf

#3786 | sqpp | I actually do have Coffee Lake and not Sky Lake it's a 8th generation i5
#3787 | diderius6 | ⇗ @sqpp It works on any motherboard for install of XP, as long as it has an USB connector Dietmar
#3788 | sqpp | I will check it, hopefully the last time!
#3789 | sqpp | NVM!
#3790 | diderius6 | ⇗ @sqpp You have to set mark at XP/BartPE bootable [NTLDR] in RMPrepUSB install of XP Dietmar
#3791 | sqpp | ⇗ @diderius6 it was actually the grub, I forgot to install that, but now it is okay!
#3792 | sqpp | There is a problem though, I really didn't partitioned the current Windows 10 and couldn't install beside of that, so I think, I will need to Install win10 now and seperate a partition just for XP using NTFS.

#3793

diderius6

⇗ @sqpp
Can you see your harddisk?
Best is, to use another disk for the XP install.
If you chose the same harddisk as for Win10,
use program AOMEI. But this will only work, if the harddisk has a MSDOS partions table.
If the harddisk is formatted with GPT,
only Gparted can help to change the harddisk to MSDOS partions table
Dietmar
PS: Only the Professional version of AOMEI can change GPT <=> MSDOS partions table on harddisk
without loosing data.

#3794 | sqpp | Well, that's what I wanted, although the laptop HDD I have in extra won't fit into my Thinkpad, it's a bit thicker than the SSD which is currently used.
#3795 | sqpp | There is a tool called Partition Tool Mini, I just got it today, as there was a free giveaway, using it long ago, it can covert drives and partitions to MBR

## Page 254

#3796 | diderius6 | ⇗ @sqpp I use a mSata from Samsung EVO 860 500 GB in my Lenovo x230 laptop as second harddisk Dietmar ⇗
#3797 | sqpp | Thats a good idea, btw, I have found a problem, installing the USB 3.0 driver, it freezes the setup

#3798

diderius6

⇗ @sqpp
No need to install any USB driver.
Do not press F6, if you make and use a XP.iso with needed drivers for AHCI.
The firadisk driver is already installed,
it is an error in the description
Dietmar
EDIT: For XP SP3 the bootable USB stick only needs to contain
firahelper.ima.gz
grldr
menu.lst
XP.iso (your XP install medium)

#3799 | sqpp | I think, my ISO might be a bit messed up because of yesterday, it's whining about some INF files now that are missing. I have tried to make a new one just with ACPI patch, but then it didn't recognize the disk (even I have selected the SATA drivers with F6)
#3800 | diderius6 | ⇗ @sqpp If your XP.iso contains STORAHCI driver and storport, no need to hit F6 Dietmar
#3801 | sqpp | All right, the problem I actually got is The following value in the .SIF file used by Setup is corrupted or missing: Value on on the line in section [WinntDirectories] with key "201." Setup cannot continue.
#3802 | sqpp | I think I found the issue, trying to solve it now. Just a quick question, by any chance I might able to get at least DirectX9 on my WinXP for the MX150 or no chance?
#3803 | diderius6 | @ sqpp Drivers for nVidia GeForce MX150 for Windows XP x86 do not exist. But because it is from Nvidia, there is a small chance, that another Nvidia driver for XP can be hacked Dietmar
#3804 | sqpp | Okay, other thing, I was able to install the Windows XP, but when I am about the GUI install and the XP logo about to boots, it's goes BSOD A5 again. The ACPI should work, already, I do believe, as otherwise it would have failed before. PS:. I am really sorry for talking this much.
#3805 | diderius6 | ⇗ @sqpp I think, the XP Setup has changed the modded acpi.sys against the original one. If this is true, you only need to copy the modded acpi.sys again into windows\system32\drivers on your harddisk Dietmar
#3806 | sqpp | How could I do that without booting into the OS? Using Windows 10?
#3807 | diderius6 | ⇗ @sqpp I use for this a harddisk to USB dock, but from other OS it is also possible Dietmar
#3808 | sqpp | Jesus Christ, now it's telling me when about to boot that hal.dll is missing or corrupt.
#3809 | diderius6 | Mühsam nährt sich das Eichhörnchen:)) Dietmar

#3810

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3746

> the compiler complains about the heap stack size and I've already given it the maximum

⇗ @infuscomus ....I am no expert with C or C++ but one thing I have noticed about compiler errors is that you cannot take them literally all of the time. A heap error could be generated by an error elsewhere. It could be in the way you have written a C++ statement and how the compiler has interpreted it. It could come down to a simple syntax error where you have omitted a required bracket, like a ) on the end of a statement.
Here's an example of reasons for an out of heap space compiler error: ⇗ https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1060?view=vs-2019

## Page 255

#3811 | infuscomus | ⇗ @gordo999 I managed to migrate the project over to Visual Studio 2005 the 2005 compiler seems to work better, no heap error now.

#3812

infuscomus

⇗ @sqpp ⇗ @diderius6
just an idea to get around all of these problems installing XP
using paragon rescue kit (diderius6 I sent you a copy of this earlier) we could make an image of a working XP install (with ACPI and AHCI patches - and USB3?)
then send the image and paragon rescue kit media to sqpp
have sqpp use rescue kit to restore the image to a HDD and see if it works?

#3813

diderius6

⇗ @infuscomus
I use the Paragon rescue kit for a laptop with secured Bios,
put whole XP SP3 like a big file via USB bootable stick and start after from this,
really nice
Dietmar
PS: We can make a generic XP.iso with the STORAHCI driver and stortport and all the new USB drivers,
very similar as ⇗ @daniel_k did.

#3814 | sqpp | That would be really amazing, actually probably in the next year not now, but I am building an XP machine, it's an EVGA 780 SLI board and I still need many hardware, but at least now I will know how to include the SATA drivers, as I have tried to do that already with Easy2Boot, which didn't really work, so I guess, I will need to do something else (most likely the way diderius6 said yesterday, where I was finally able to at least get into the boot logo)

#3815

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #3811

> I managed to migrate the project over to Visual Studio 2005
> the 2005 compiler seems to work better, no heap error now.

⇗ @infuscomus ...that another solution I forgot about.

#3816

kithylin

I hope no one is mad for me asking but I found this thread last night via google searching and I ended up on page 55 of this thread, back when folks were still hacking the acpi.sys for XP for B350 boards. Well I recently just went AMD and bought an X470 motherboard. Specifically the MSI Gaming Plus X470. Is there anyone that could PM me a download link to a working version of XP-32 ISO file that would install and run stable on this motherboard perhaps?
Do we still need to self-modify the files via n-lite? Because I could do that.. if there is a post with instructions and a link to the modified files.

#3817 | diderius6 | ⇗ @kithylin Copy a for Ryzen modded acpi.sys into your installationsfolder i386 of XP SP3 and use as AHCI driver for the MSI Gaming Plus X470 board the STORAHCI driver together with storport and it is done via nlite Dietmar
#3818 | kithylin | Okay.. where would I get / download these modified files then? Is it buried somewhere back in this thread?

#3819

diderius6

⇗ @kithylin
For the STORAHCI driver file storahcitxtsetup.rar
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (64)
For acpi.sys 5048 line for Ryzen
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (149)
The last best acpi.sys from outer space ) version, works also for Ryzen
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (215)
And for storport settings
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (190)
Dietmar

#3820

genieautravail

> Zitat von ⇗ Andalu im Beitrag ¶ #3771

> Is there someone who applied the WinXPPAE patch v2.0 with no issues?

What issues do you have ?

#3821 | Andalu | ⇗ @genieautravail please see my post ¶ here. Does it work for you?

#3822

genieautravail

> Zitat von ⇗ Andalu im Beitrag ¶ #3821

> @genieautravail
> please see my post ¶ here. Does it work for you?

I don't slipstream the patch into a CD and I think that isn't a good idea to do like this.
I apply the patch only after install of XP.
I'm testing the patch 2.0 /4GB on a Dell laptop (Latitude E6230) with no issues.
With the patch 1.1, I had lost all the USB ports of the laptop.
Each time I plugged an usb device, XP displayed a message sayng that the USB hub doesn't have enough power for running the device...
No more issues like this with the patch 2.0.

#3823 | genieautravail | ⇗ @Andalu For playing with files protected by the Windows File Protection (WFP), see here: ⇗ Windows File Protection (WFP)
#3824 | genieautravail | ⇗ @Andalu And don't forget to backup the original files before applying the patch...
#3825 | Andalu | ⇗ @genieautravail As already reported, I also tried to replace the files from another hard drive to the destination XP drive bypassing the WFP protection but XP always hangs at same point for every tried board. In my case, I installed the WinXPPae 1.1 patch with no issues but some programs, like macrium reflect, freeze sometimes and most probably, the WinXPPae 2.0 patch would solve those problems.

## Page 256

#3826

daniel_k

⇗ @Mattiwatti, sorry for the late reply.
I was talking about a simple driver, which is loaded as a PCI bus filter driver (*PNP0A08), like the one from Intel (sadly it crashes XP).
It should scan for a device with ID like PCI\VEN_8086&DEV_1E31 and change its configuration registers D0 and D8 to a value of 0F.
Have you ever seem something like that?
Additionally, we have an AMD driver which works just fine with Intel XHCI controllers.
But when PAE is enabled, it breaks NTVDM and by consequence VGA?! or the other way around.
In certain cases, only affects full screen mode of a DOS app (running EDIT.COM and trying to switch to full screen with ALT+Enter) results in the following error:

    ---------------------------
    16 bit MS-DOS Subsystem
    ---------------------------
    The NTVDM CPU has encountered an illegal instruction.
    CS:0000 IP:9872 OP:ff ff 00 00 00

In other cases, no DOS apps can be run and error message is the same.
Any tips to track down this conflict or memory corruption? Personally, I believe the driver somehow corrupts memory used by NTVDM or VGA.

#3827

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3735

> @daniel_k
> I installed XP v5.1.2600 on my former crazy asrock B75-Pro3M as 'acpi multiprocessor pc' with the only Intel RST AHCI+RAID driver v11.2.0.1006 by Fernando slipstreamed by nLite. No other driver installed, no usb3 driver and no acpi.sys mod. The XP installation ends normally. I launched the WinXpPAE.exe 2.0 with /ALL /NB command line on another computer and from there I copied by hand the patched files in the windows\system32 folder of the destination XP disk, replacing the existing files with the patched versions of hal.dll, ntkrnlpa.exe and ntoskrnl.exe files (the last two renamed for multiprocessor pc).
> After connecting the patched disk to the B75-Pro3M board, on restart, I got the blank screen always at same point: the pc hangs as soon as the XP logo and the horizontal scroll bar below appear.
> The same on each restart. Same behavior on three other boards (one LGA 1150 and two 1151). XP boots in safe mode only.

Please post complete system specs.

#3828

daniel_k

> Zitat von ⇗ dencorso im Beitrag ¶ #3736

> In my opinion, sufficient time has elapsed, so I'd like to ask @Mov AX, 0xDEAD to kindly update his assessment of the currently still unresolved problems for running Windows XP x32 on sky/kaby/coffee lake hardware, and of the progress done till now.

Hi Den!
It's a shame that he went into "Ignore" mode.

#3829 | daniel_k | ⇗ @genieautravail, when you have some time, please test with /ALL option.

#3830

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3674

> @daniel_k
> do you want to see the source code for my kernel patcher program?
> you seem more knowledgeable than me so you might have better luck producing something useful with it

Thanks, but I'm not into kernel patching and don't have that much time.

#3831

daniel_k

⇗ @diderius6 and everyone
Please try this new AMDXHC driver, based on latest driver v1.1.0.0276 from Dec 2018.
This was a really tough job, please don't modify and redistribute publicly. Thanks.
Managed to restore XP support, INF files merged into a single one for easier installation.
Sadly, 32-bit PAE is still an issue. Otherwise, this driver is perfect.
The AMDXHC driver is the only driver which works with devices connected to hubs during XP/Server 2003 setup.
Previous version had a bug that could deadlock your system under certain circumstances.
Please use this beta, which fixes the issue (but code still not perfect).
Final version to be released really soon.
PS: This makes no sense: "Removed USBD.SYS dependency (it's integrated into driver)"
As the file is needed for other purposes, otherwise USB devices won't work.

#3832

Andalu

⇗ @daniel_k
Systems setup:
- i5-3470 Ivy Bridge (LGA 1155)
- Asrock B75 Pro3-M
- 32GB ram (4x8) Kingston HyperX Fury DDR3 1600MHz
- HD WD5000
- i7-4770k Haswell (LGA 1150)
- Msi CSM-Q87M-E43
- 32GB ram (4x8) GSkill RipjawsX DDR3 2133MHz
- SSD 250GB Samsung 850 evo
- i5-6600 SkyLake (LGA 1151)
- Asrock B250M Pro4
- 64GB ram (4x16) GSkill Aegis DDR4 2400MHz
- HD HGST 7k1000
- Pentium G4440 SkyLake (LGA 1151)
- Asus Prime B250M-C/CSM
- 8GB ram (2x4) Corsair Vengeance 2400Mhz
- HD Seagate ST1000LM035
Common for all systems:
- Windows XP SP3 original ISO v5.1.2600 ITA, no updates
- Intel RST AHCI+RAID driver v11.2.0.1006 by Fernando slipstreamed by nLite
- 16GB USB2.0 Flash Drive with XP ISO installed by yumi
- Acpi.sys 5048 (SHA1: 8EF48518B17DAAC4A90632A811FBFDC8183C325B) from acpi5048_intel_amd_final.rar added for LGA1151 boards only.
No other driver or file slipstreamed.

#3833 | daniel_k | ⇗ @Andalu All systems running with onboard graphics? It's so strange that the system boots in Safe mode.
#3834 | infuscomus | ⇗ @daniel_k can you show me how you properly remove a dependency from a driver? I'd like to know how you removed USBD.SYS dependency from it
#3835 | Andalu | ⇗ @daniel_k All with onboard graphics except for the msi Q87 equipped with a Radeon R7 250 Your new AMDXHC driver seems to work fine on my asus prime B250. Not tested yet on other boards.

#3836

antome

Hi guys I still have problems starting windows xp x64 on Z390 XI Gene. The same os start regularly on the z270 IX Apex without the need for modified bios. On the z390 it only starts in safe mode, can you help me? Has anyone managed to start it correctly on the z390? To exclude problems with the sata deactivated by bios and I used a pcie / sata jmicron card
⇗ ⇗
in normal mode i get this error
⇗

#3837 | diderius6 | ⇗ @antome I managed to install a full XP64 on z390 board. Make use of STORAHCI driver together with Storport Dietmar

#3838

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3834

> @daniel_k
> can you show me how you properly remove a dependency from a driver? I'd like to know how you removed USBD.SYS dependency from it

Can't give you a step by step explanation, but I think you can figure it out by yourself with some guidance:
- I've attached the original driver and delcert utility to delete signature (just run delcert driver.sys).
- Get CFF Explorer from ⇗ https://ntcore.com/?page_id=388
- Compare both files (use amdxhc.sys), my patched file is larger. Open both original and patched in CFF Explorer, I've created a new section named .text with same flags as the original where the new code was written.
- Disassembly original and patched. In the disassembly of original, search for every function from USBD.SYS that I've integrated in patched file (USBD_CreateConfigurationRequestEx, USBD_ParseConfigurationDescriptorEx and USBD_GetUSBDIVersion). For every API call found, search for the corresponding offset in the disassembly of the patched file and "follow" the call through the added code. You'll see I've replaced the call import with a call to "local" code (disassembly usbd.sys and see for yourself).
For x86 only, it was needed to delete the corresponding address in the relocation table.
- After all API calls were replaced with local calls with their corresponding code, deleted the whole USBD.SYS imports with CFF Explorer. Optionally, you can "delete" the strings by "zeroing" all function name / usbd.sys texts.
I still didn't take the time to understand how to delete a single import function, but what I do is simply to rename the name to another known existing function.

daniel_k has attached files to this post

- ⇗ delcert.rar
- ⇗ 1.1.0.0276.rar

#3839

antome

> Zitat von ⇗ diderius6 im Beitrag ¶ #3837

> @antome
> I managed to install a full XP64 on z390 board.
> Make use of STORAHCI driver together with Storport
> Dietmar

the problem cannot be the a352 driver because I have disabled the integrated ports on the motherboard and I used a pcie sata jmicron card with native driver for xp.
what acpi.sys file did you use? Have you also re-created sp2.cab with modified acpi.sys?
did you use the z390 dark or something else? the datk has almost complete acpi support for xp via bios which could fill gaps in the modified acpi.sys file

#3840

diderius6

⇗ @antome
It is a driver, because XP64 starts in Safe Mode.
Try STORAHCI together with Storport.
I noticed, that XP64 SP2 is unstable on nearly every motherboard.
Sound, Lan, brrr..
So, another driver can make this BSOD also
Dietmar

## Page 257

#3841

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3826

> It should scan for a device with ID like PCI\VEN_8086&DEV_1E31 and change its configuration registers D0 and D8 to a value of 0F.

⇗ @daniel_k ....how do you figure out what the configuration registers should be? Are you getting the info from an Intel spec sheet or by trial and error? Just curious.

#3842 | daniel_k | ⇗ @Andalu It's so odd your issue, makes no sense. What about disabling any non-essential onboard devices such as LAN, Audio, COM/LPT ports etc? If it boots in Safe Mode, there is something causing that blank screen issue. Thanks for trying the new driver, by the way.
#3843 | daniel_k | ⇗ @diderius6 Don't have any issues with XP x64 here, maybe using the original ACPI.SYS with a modded DSDT is better. Remember that ⇗ @Mov AX, 0xDEAD said that the beta 5048 ACPI.SYS has issues with 64-bit variables.

#3844

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #3841

> @daniel_k ....how do you figure out what the configuration registers should be? Are you getting the info from an Intel spec sheet or by trial and error? Just curious.

By reading the datasheet:
⇗ https://www.intel.com/content/dam/www/pu...h-datasheet.pdf
Page 698:
D0hD3h - USB 2.0 Port Routing
D8hDBh - USB 3.0 Port SuperSpeed Enable
Page 713 - 17.1.33 XUSB2PR xHC USB 2.0 Port Routing Register (USB xHCID20:F0)
Page 714 - 17.1.35 USB3_PSSENUSB 3.0 Port SuperSpeed Enable Register(USB xHCID20:F0)
Just needed confirmation from ⇗ @Andalu by booting Windows 7 with USB properly operating in XHCI mode.
Intel did some really silly things just to break XHCI in XP, first the 64-bit DSDT thing to prevent any driver from loading, then the need of a PCI bus filter driver to fully enable XHCI mode/speed on "selected" OSes.
The "switch" driver uses KMDF 1.9 (supported by XP), but was written in a way to support only Windows 7, although it does work in Vista, but crashes XP.

#3845

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #3844

> Intel did some really silly things just to break XHCI in XP, first the 64-bit DSDT thing to prevent any driver from loading, then the need of a PCI bus filter driver to fully enable XHCI mode/speed on "selected" OSes.

daniel_k ....once again, congrats for figuring all this out. Intel have indeed abandoned faithful users like myself to side with Micro$oft. Even their setup files for USB drivers have built-in code to prevent the loading of the software for anything beyond Skylake.
There's no good technical reason for this behavior other than to enable Micro$oft in forcing users to use Windows 10, which is no better than W7, and has spyware built in. M$oft abandoned desktop users with W8 by designing the OS for touch screen users until the users revolted and forced them back to a mouse/keyboard option. If Linux designers were not so lame they could have taken over by now. But they insist on keeping that archaic Unix system under the hood, with brilliant features [/sarc off] like no extensions on files and text editors that have not changed since the 1970s.

#3846 | infuscomus | ⇗ @daniel_k Thanks very much

#3847

dencorso

> Zitat von ⇗ daniel_k im Beitrag ¶ #3828

> > Zitat von ⇗ dencorso im Beitrag ¶ #3736

> > In my opinion, sufficient time has elapsed, so I'd like to ask @Mov AX, 0xDEAD to kindly update his assessment of the currently still unresolved problems for running Windows XP x32 on sky/kaby/coffee lake hardware, and of the progress done till now.

> Hi Den!
> It's a shame that he went into "Ignore" mode.

So it is! But I'm confident he'll be back sometime soon (one can hope, right?).
BTW, WildBill 's PETool can remove individual relocations and fix the relocation table for you... maybe you'll find it useful: ⇗ http://www.mediafire.com/file/elfceaj4ny..._0.0.5.zip/file

#3848

Andalu

⇗ @daniel_k
Thanks so much for your new USB3 modded driver and for sharing it
Win7 32bit boots correctly with it (forced driver installation needed).
XP 32bit with new amd driver also works on:
Asus prime B250
Asrock B250
Asrock B75 Pro3
It fails on Msi Q87 (but here any usb3 driver has never worked).

#3849

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3842

> @Andalu
> It's so odd your issue, makes no sense.
> What about disabling any non-essential onboard devices such as LAN, Audio, COM/LPT ports etc?
> If it boots in Safe Mode, there is something causing that blank screen issue.

All onboard devices are always set on disable, except for the audio controller. Same issue even disabling it.
I restored an old asus P5QSE lga775 (XP boots on sata mode with 32bit Intel RST AHCI & RAID driver v11.2.0.1006 by Fernando installed) to try the WinXPPae 2.0 patch (files copied by hand from another XP hard drive) and here I got for the first and only time the following bsod:
BAD_POOL_HEADER
0x00000019 (0x00000020, 0xE1563530, 0xE1563820, 0x0C5E0408)
on next reboots/shutdown never seen again the bsod. XP hangs when the logo appears as for the other boards.
The identical bsod occurs only when the WinXPPae patch 2.0 procedure is re-started from stratch.
Here too XP can boot in safe mode only.

#3850 | daniel_k | ⇗ @Andalu Please compress your XP ISO with 7-zip or WinRAR, upload it to MediaFire, Google Drive or Mega and send me a PM with the link.

#3851

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3848

> @daniel_k
> Thanks so much for your new USB3 modded driver and for sharing it
> Win7 32bit boots correctly with it (forced driver installation needed).
> XP 32bit with new amd driver also works on:
> Asus prime B250
> Asrock B250
> Asrock B75 Pro3
> It fails on Msi Q87 (but here any usb3 driver has never worked).

Glad to know it works!
For Win7, you better use Intel official drivers.
What is the error with the MSI Q87?

#3852

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3851

> What is the error with the MSI Q87?

The new amd xhci driver installs properly on msi Q87 but all usb3 ports act as usb2. In bios the USB options are configured like the other boards where the usb3 feature works fine. I tried all the usb3 drivers found in this forum but each of them gave me error or the usb3 feature doesn't work anyway.
P.S.: you have pm ;)

#3853 | infuscomus | Has anyone here successfully installed XP on Threadripper?

#3854

genieautravail

> Zitat von ⇗ daniel_k im Beitrag ¶ #3829

> @genieautravail, when you have some time, please test with /ALL option.

I have only 4 GB of memory on this computer. The /ALL option has no sense.

#3855

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3852

> The new amd xhci driver installs properly on msi Q87 but all usb3 ports act as usb2. In bios the USB options are configured like the other boards where the usb3 feature works fine.

You need to change those same registers with WPCRSET.

## Page 258

#3856

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3855

> > Zitat von ⇗ Andalu im Beitrag ¶ #3852

> > The new amd xhci driver installs properly on msi Q87 but all usb3 ports act as usb2. In bios the USB options are configured like the other boards where the usb3 feature works fine.

> You need to change those same registers with WPCRSET.

It works here too
Thankssssss!!!!

#3857

dencorso

> Zitat von ⇗ Andalu im Beitrag ¶ #3856

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3855

> > > Zitat von ⇗ Andalu im Beitrag ¶ #3852

> > > The new amd xhci driver installs properly on msi Q87 but all usb3 ports act as usb2. In bios the USB options are configured like the other boards where the usb3 feature works fine.

> > You need to change those same registers with WPCRSET.

> It works here too
> Thankssssss!!!!

OK. Great!
Well, I know how to use WPCRSET... yet, I'm lost somewhat... would you please kindly detail: which registers, from which value to which new value, exactly?

#3858

daniel_k

> Zitat von ⇗ dencorso im Beitrag ¶ #3857

> OK. Great!
> Well, I know how to use WPCRSET... yet, I'm lost somewhat... would you please kindly detail: which registers, from which value to which new value, exactly?

It's here:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (238)
By the way, I've uploaded a beta version of the latest USB driver (276), please read info at:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (256)

#3859

XPWELL64

⇗ @diderius6
There is no PDBM &= 0xFFFFFFFFFFFFFFF9 PDBM &= 0xFFFFFFFFFFFFFFFD in my HP cs1011nt in my dsdt of my bios but there are lots of ToIntegers. You said that two of the long integers are PDBM &= 0xFFFFFFFFFFFFFFF9 and PDBM &= 0xFFFFFFFFFFFFFFFD. Download the file and look at two dsdt.dsl. 07.dsl is without PDBM &= 0xFFFFFFFFFFFFFFF9 and PDBM &= 0xFFFFFFFFFFFFFFFD (cs1011nt) and 11.dsl is from another hp laptop with PDBM &= 0xFFFFFFFFFFFFFFF9 and PDBM &= 0xFFFFFFFFFFFFFFFD.
XPWELL64 has attached files to this post

- ⇗ 2hpdsdt.zip

#3860 | XPWELL64 | I decompiled 4 AMD ASUS MOBO DSDTs and 1 Intel DSDT and all of the AMD MOBOs doesn't have PDBM.

#3861

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3858

> By the way, I've uploaded a beta version of the latest USB driver (276), please read info at:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (256)

It works fine, thanks again

#3862

Andalu

> Zitat von ⇗ dencorso im Beitrag ¶ #3857

> OK. Great!
> Well, I know how to use WPCRSET... yet, I'm lost somewhat... would you please kindly detail: which registers, from which value to which new value, exactly?

> Zitat von ⇗ daniel_k im Beitrag ¶ #3858

> It's here:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (238)

I can only add that the same method worked on two different boards (B75 Ivy and Q87 Haswell) with two slightly different usb3 issues.

#3863 | XPWELL64 | Please look at the eighth page of the PDF: ⇗ http://download.microsoft.com/download/5...cpa002_wh06.ppt
#3864 | XPWELL64 | The X79 has TOINTEGERS too.
#3865 | XPWELL64 | ⇗ @diderius6 With MMTool I got Invalid FFS file while I was integrating a dsdt table into a bios. How do I integrate your DSDT.AML into BIOS with MMTool 5.02? My laptop's series is ASUS K555LB/X555LB. Is there any IASL step before integrating it?
#3866 | diderius6 | ⇗ @XPWELL64 DSDT.AML has to be exchanged against old DSDT body, at the same place in Bios as before, via Uefi tool Dietmar
#3867 | infuscomus | ⇗ @XPWELL64 I think ⇗ @Mov AX, 0xDEAD wrote a program so that you can test your DSDT works before you flash it to BIOS
#3868 | XPWELL64 | First, I'll test the DSDT.aml with ⇗ @Mov AX, 0xDEAD's DSDT patcher at boot time program. If it works, I'll integrate it into the bios with UEFITool. Next, I'll mod the igxpmp32.sys + all DLL files (if it works with only modded igxpmp32.sys no need for this) with IDA 32 bit and Dependency Walker.

#3869

greybeard

Hi, I'm new here and have been following this thread closely since I plan to finally assemble my new Asus Prime X-370 box over the holidays. I'm not fond of Windows 10, so I'm trying to maintain my current environment which is a mix of Windows 7 and XP64 apps. With your help (Thank you!) I've got Windows 7 installed and working well and am making some progress in getting XP64 installed. It's still crashing during the "loading drivers" phase of the install, but I think I can muscle my way through that.
However, I have a question that may be off-topic. One of my options is to use Windows Server 2008, and I'm wondering if any of your mods will help me get USB support working there. So far, I've been unable to get any mouse support. If not, can you point me to the right forum?
Thanks!

#3870

gordo999

> Zitat von ⇗ greybeard im Beitrag ¶ #3869

> I've been unable to get any mouse support. If not, can you point me to the right forum?Thanks!

⇗ @greybeard ...the x370 has a single PS/2 port which is a combo mouse/keyboard port. You'll need an adapter cable that adapts the mouse and kbd to a single input plus 2 USB to PS/2 connectors. That will get you going with a USB mouse/kbd till you solve the USB problem.
On my Asus B360M, I had to get a USB 3 adapter card to get USB running initially on W7. I plugged a 7 port USB extender into that and ran my wireless mouse off one of those doohickeys that plug into a USB port. That left me with 3 extra USB 3 ports and 6 USB 2 ports. I even got that running on XP using drivers I found on a Czech site.
I have USB running on W7 now through all mobo USB ports using a driver from this site. Still working on getting the mobo USB ports running on XP. I have been kind of distracted but I think daniel_k has a recent offering.

## Page 259

#3871 | greybeard | ⇗ @gordo999 Thanks for the quick reply. Yeah, I was thinking about getting one of those combo cables. Rummaging through my parts bin, I found one that doesn't have the right connectors. If necessary, I'll buy the right one and see if it will help with my Windows Server 2008 issue.
#3872 | YuriyCN | I need USB3 driver for Windows XP (32-bit). Chipset = Intel H110M (100-series) HardwareID= VEN_8086&DEV_A12F Is there a working driver?

#3873

gordo999

> Zitat von ⇗ greybeard im Beitrag ¶ #3871

> If necessary, I'll buy the right one and see if it will help with my Windows Server 2008 issue.

⇗ @greybeard ...Don't forget the 2 x USB to PS/2 adapters while you're at it...unless you have a PS/2 mouse/kbd. I have never seen a combo port for PS/2 since my board has two PS/2 ports for mouse and kbd.
I wouldn't mess around with cables unless you confirm the pin-out. Asus is pretty good with supplying pin-outs although sometimes you have to decode the supplied datagram (in the manual) to reveal them. That's especially true on the mobo. There are two serial ports on mine and it was lucky that I confirmed the pin layout first, it's not done to any convention I knew off. May not be an issue with low power devices like mouse/kbd but having already blown a mobo through a dumb mistake, like getting a fan connector mixed up with the BIOS battery shorting clip, right beside it, I no longer take chances.

#3874 | YuriyCN | I know about AMDXHC driver, but I did not understand, whether this driver supports a motherboard ⇗ https://www.gigabyte.com/Motherboard/GA-H110M-DS2-rev-10#ov with an Intel H110M chipset??
#3875 | diderius6 | ⇗ @YuriyCN I tested Intel H110M and all drivers are there for XP SP3 Dietmar

#3876

YuriyCN

> Zitat

> I tested Intel H110M and all drivers are there for XP SP3
> Dietmar

Please give a link where to download this driver.

#3877

greybeard

Ok, I'm stuck and need some help. Trying to install Windows XP32 SP3 on an ASUS Prime X-370A and here's what has happened over the last 2 days
The installation begins,
Allows me to select a partition,
Begins copying files
Says it cannot copy storahci.reg,
Reboots to the installation GUI and starts the actual install,
Gets to installing devices,
Crashes with a Stop 0xc5.
I think I'm using the latest drivers, and have made the suggested edits to txtsetup.sif and dosnet.inf, but I'm clearly missing something.
Can anyone help?

#3878 | infuscomus | ⇗ @greybeard put storahci.reg in your i386 folder of your XP install media
#3879 | greybeard | ⇗ @infuscomus Thanx for the quick reply. I had done that earlier and it didn't seem to help. Will verify, try again, and get back to you.
#3880 | diderius6 | ⇗ @greybeard BSOD 0xc5 is a driver fault. Disable nearly everything in Bios and try install again. Another way is to hit F8 for Safe Boot on last step of XP install Dietmar

#3881

greybeard

⇗ @diderius6
Not sure what to disable in the BIOS. Am using the most recent BIOS with pretty much default settings. Just making sure I can boot to MBR disks. But if you an give me some suggestions about problematic settings, I can try to disable them.
The one thought I had is a potential problem with my boot disk - Samsung EVO SSD. That shouldn't be a problem, right?
I wish I could get to the last boot

#3882 | diderius6 | ⇗ @greybeard The Samsung EVO SSD is no problem, as long as it has 512 Bytes/sector. Disable everything in Bios: Only SATA driver stay enabled Dietmar
#3883 | greybeard | ⇗ @diderius6 OK, will do, and let you know how it works out. Thx.

#3884

greybeard

⇗ @infuscomus
Ok, I placed storahci.reg in the installation folder and the installation script still refused to copy it during the "copying files" phase. I pressed the ESC key to continue.
The installation proceeded normally until it crashed during the "installing devices" phase - Stop 0xD1.
Have any ideas what its trying to tell me?

#3885 | greybeard | ⇗ @diderius6 I disabled everything in the BIOS except SATA, as you suggested - that's a lot of options. I booted into XP to continue the installation. It crashed again while "installing devices" with a Stop: 0xc5 (0xB80187, 0x2, 0x1, 0x8087A5A1). Any other ideas?

## Page 260

#3886 | infuscomus | ⇗ @greybeard try restarting the installation from textmode setup, reformat the drive, something might not have been copied over correctly.
#3887 | diderius6 | ⇗ @greybeard Hit F8 and chose "Safe Boot" before the last start from installing XP before BSOD Dietmar

#3888

gordo999

> Zitat von ⇗ greybeard im Beitrag ¶ #3885

> It crashed again while "installing devices" with a Stop: 0xc5 (0xB80187, 0x2, 0x1, 0x8087A5A1). Any other ideas?

⇗ @greybeard ...an 0xC5 bsod is related to a hard drive error, memory error, or driver error. In this case, it's likely a driver error...a bad driver or one that doesn't work with your system.
Nirsoft has a free blue screen interpreter that will examine the bsod minidump file and advise which driver faulted. I have not used it but you may need to get access to your minidump files from another computer to use it.
⇗ https://www.nirsoft.net/utils/blue_screen_view.html
Loading devices means the installer is loading device drivers. It it's trying to load a driver into a memory space that is already assigned, or isn't available, that could give you the 0xC5 error. You might try a memory test although Windows usually runs one first. Also, do a chkdsk /f from another OS with your disk attached. Do you have a pagefile installed or are you trying to run off straight RAM memory? I am wondering as well whether you are using a modded PAE kernel/HAL. If so, with memory intensive driver loading, maybe more memory is being allocated than what you have. Remember, the mods on this site are experimental in nature. I don't think anyone has claimed each mod will work for every machine.

#3889

greybeard

⇗ @gordo999
Yep, I understand - nothing's guaranteed. I'm just happy that I found this site. Hell, 20 years ago (hmmm, make that 30) I would have joined it the fun. My mind doesn't work that well anymore.
But no, I'm not using any hacked HAL's or anything like that. Just trying to get std WinXP SP3 installed on this Ryzen box. I"m amazed, actually, that you guys have been able to get me this far.
I will try check out that mini dump viewer and see what it tells me.
Thanx!

#3890 | YuriyCN | Please, help me. I need USB 3.0 driver for Intel H110M (100-series) chipset. HardwareID= VEN_8086&DEV_A12F Please give URL where to download working driver for Windows XP (32-bit)?
#3891 | diderius6 | ⇗ @YuriyCN ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128) Dietmar

#3892

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #3891

> Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)

Thanks you!
I did not understand how to install this driver, since I have a other DEV_ID.
Next, should I edit the amdxhc.inf and replace the ID code
%INTELXHC.DeviceDesc% = AMDXHC, PCI\VEN_8086&CC_0C0330
on the ID codes my USB device
%INTELXHC.DeviceDesc% = AMDXHC, PCI\VEN_8086&DEV_A12F
It is right?

#3893 | dencorso | Yes, it is. CC_0C0330 is a class code, meaning any USB 3.0, whatever the DEV code.

#3894

gordo999

> Zitat von ⇗ greybeard im Beitrag ¶ #3889

> Just trying to get std WinXP SP3 installed on this Ryzen box. I"m amazed, actually, that you guys have been able to get me this far

⇗ @greybeard ...I got XP going initially on my Asus B360M 300-series mobo by using the unofficial SP4 upgrade. Be careful if you use it, however. If you don't have a running copy of XP, it requires you to create an integrated (slipstreamed) install disk using your XP install disk and the SP4 upgrade.
I had a disk with XP SP3 already installed and I tried to do a repair install by running the integrated disk till windows starts and you are presented with the choice to install a clean XP version or do an in-place (repair) install. At that point, with the SP4 upgrade integrated disk, you are presented with only two choices (no option to go to a prompt), one of them a clean install and the other an install leaving the files and system alone. I selected the latter, presuming that was a repair install but it wasn't, it actually installed another edition of XP. I did not think you could do that but with my windows directory called WinXP it created a new windows directory called Winxp.0.
Confused the heck out of me at first but once I clued in I realized I had two working versions of XP on the same partition that could be selected at the boot menu (by manipulating boot.ini) and booted independently. I could have had 3 or 4 if I'd wanted to. They all work perfectly fine, except the SP4 version is barebones and lacks the installed files you have on your main installation. It did not solve problems like the LAN and USB3 functionality and I am currently working on finding a way to get a LAN driver working. I could use a plugin card but, hey, that would be cheating. Already did that with my USB ports. :-)
The only reason I mention this upgrade, unofficial or not, is that it got me going. I was stuck trying to insert drivers like the ACPI and iaStor SATA drivers because I was not up to speed on what the guys were doing here. The slipstreamed SP4 upgrade disk managed to bypass all those errors and get XP running on my 300-series mobo. Since then, I have learned how to add the modded ACPI and iaStor drivers from this forum to my initial XP installation, got it running, and even got it activated.
It was helpful to flip back and forth between my original install and the new SP4 install, especially comparing registry entries. Here's a link to instructions for acquiring and integrating SP4 using ntlite. Be careful, if using ntlite, that it is an XP version and running on an xp compatible OS. You can use XP installed in a VM to do the integration but running ntlite on W7 or 10 won't create a slipstreamed disk that works..
⇗ https://ryanvm.net/forum/viewtopic.php?t=10609⇗ https://ryanvm.net/forum/viewtopic.php?t=10609

#3895 | YuriyCN | I installed the driver AMDXHCI_XP_FINAL.rar. Unfortunately, I got error code 10 for the "Intel USB3.1 extensible host controller". My motherboard - Gigabyte GA-H110M-DS2 ⇗ https://www.gigabyte.com/Motherboard/GA-H110M-DS2-rev-10#ov Why did I get an error?
#3896 | diderius6 | ⇗ @YuriyCN Have you set in Bios USB3 "enabled" Dietmar

#3897

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3895

> ...I got error code 10 for the "Intel USB3.1 extensible host controller"....Why did I get an error?

⇗ @YuriyCN ...Error code 10 is a general and normal error for an XHCI, or any other controller in Device Manager when the driver cannot be loaded. No one can tell you why it happened. The guys in the forum are working hard to find out why but there are not always answers for every motherboard chipsets. You may have an Intel chipset but Gigabyte may have implemented it differently. Read the recent post by daniel_k on modifying PCI settings. Also, look into buying a PCIe USB3 add-on card for Win 7 and try to find XP drivers for it. I did that with a VIA chipset on an add-on card. Now it works on both W7 and XP.

#3898 | XPWELL64 | Patching a dsdt.aml is better.

#3899

YuriyCN

diderius6

> Zitat

> Have you set in Bios USB3 "enabled"

When installing Windows 7 with Intel USB 3.0 driver v5.0.4.43 - USB ports work fine!
But, I need to work USB on Windows XP.
Photo BIOS-UEFI.

#3900 | Andalu | ⇗ @YuriyCN try to set "xhci hand-off" on disabled

## Page 261

#3901

Andalu

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #3898

> Patching a dsdt.aml is better.

It would be even better if you could explain "how to do"

#3902

greybeard

⇗ @gordo999
Thx for the detailed reply.
I'm actually making some progress. I thought I could do this while working on my "day job" but decided to give this my undivided attention. Started over with a clean SP3 installation disk and carefully walked through the installation of acpi, storport, and storachi drivers until I actually got to the XP desktop! Yay!!!
But I don't have any USB (mouse) support and have a bunch of yellow warnings in Device Manager complaining about uninstalled drivers. So far, very attempt to add USB drivers has crashed the system with various BSOD's, depending upon the specific driver. Since many have already solved this problem, I'm gonna assume it's a hardware problem on my end (BIOS, chipset, etc.)
I'll give this a serious effort this weekend and let you know how it goes. I'll figure it out - it's just a bleeping computer ...

#3903

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #3900

> try to set "xhci hand-off" on [I]disabled/I]

I set "xhci hand-off" to disabled - no result.

> Zitat

> Legacy USB Support --- > Enabled
> XHCI Hand-off --- > Disabled
> Port 60/64 Emulation --- > Enabled
> USB Mass Storage Driver Support --- > Enabled

Next ... I tried to set all the settings to disabled.

> Zitat

> Legacy USB Support --- > Disabled
> XHCI Hand-off --- > Disabled
> Port 60/64 Emulation --- > Disabled
> USB Mass Storage Driver Support --- > Disabled

Unfortunately,USB does not work, code 10.
Maybe for this driver needs a special USBD.SYS??

#3904 | diderius6 | ⇗ @YuriyCN Set Port 60/64 Emulation --- > Disabled all other USB to enabled Dietmar
#3905 | kukonosau | ⇗ @diderius6 Do you have ACPI for XP 64-bit in Ryzen 3 2200G? Do you have 1050 Ti drivers or Vega 8 drivers?
#3906 | diderius6 | ⇗ @kukonosau Only the acpi.sys here in the forum I have. Most newer compis are unstable under XP 64 SP2 but absolut stable for XP SP3. There are no graphics driver for XP for the 1050 and above card Dietmar
#3907 | kukonosau | Ok. But where is last version ACPI for XP 64-bit? Under Vega 8 graphics also absent drivers? This is integrated cards into processors Ryzen 3 2200G.
#3908 | infuscomus | ⇗ @YuriyCN check if USBD.SYS is in your C:\Windows\System32\driver folder if not copy it across.
#3909 | infuscomus | ⇗ @kukonosau no driver for 2200G Vega 8 graphics for XP are you able to install another separate graphics card?
#3910 | kukonosau | Only GT 710((( 1050 Ti and Vega 8 cannot.

#3911

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #3904

> @YuriyCN
> Set Port 60/64 Emulation --- > Disabled
> all other USB to enabled
> Dietmar

I tried your variant.
Moreover, I tried all 16 variants "Enabled / Disabled" for 4 settings.
AMDXHCI_XP_FINAL.rar driver does not work.
Anyway, error code 10.

#3912

greybeard

> Zitat von ⇗ diderius6 im Beitrag ¶ #3906

> @kukonosau
> Only the acpi.sys here in the forum I have.
> Most newer compis are unstable under XP 64 SP2 but absolut stable for XP SP3.
> There are no graphics driver for XP for the 1050 and above card
> Dietmar

⇗ @diderius6
Whoa! Does that mean that XP64 is unstable for Ryzen2? I'm running a Ryzen 5 2600 on an x370 box and really need XP64 SP2 to work. My plan was to get XP32 to work, just to make sure I understood the process, then switch over to XP64.
Is this a bad plan?

#3913

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #3908

> @YuriyCN
> check if USBD.SYS is in your C:\Windows\System32\driver folder
> if not copy it across.

\driver - no find this folder
\drivers - !!!
After installing the driver, usbd.sys appears in C:\Windows\System32\drivers folder.
See screenshot.
My usbd.sys uploaded here.
YuriyCN has attached files to this post

- ⇗ usbd.zip

#3914 | kukonosau | From post #958 files USBXPSP1.rar copy into system32, and after AMD USB 3.1 drivers v1.0.5.3 WHQL.rar install drivers with device manager.

#3915

infuscomus

⇗ @YuriyCN
I noticed that some files like usbport.sys and usbstor.sys are missing from your C:\Windows\System32\Drivers folder
I have attached a zip of them for you - extract into C:\Windows\System32\Drivers
infuscomus has attached files to this post

- ⇗ usbfiles.zip

## Page 262

#3916 | infuscomus | ⇗ @greybeard XP64 is a real pain in the butt, if you absolutely need to use 64-bit software it's best to use windows 7, much more stable. XP32 is stable on Ryzen with generic AHCI driver patched ACPI driver - I've gotten it working on my ASRock AB350 Gaming K4 with a Ryzen 2700X.
#3917 | greybeard | ⇗ @infuscomus Ok, thanx for that. I was afraid that was what he meant. Damn! Well, I'm gonna give it my undivided attention this weekend and determine a path forward. Sometimes I just hate computers ... On another note, do you have any idea how I can get USB drivers to work in Windows Server 2008? I can get that to install cleanly, right out of the box, but without USB (mouse) support.

#3918

infuscomus

⇗ @greybeard
for AMD Ryzen you can try fernandos driver
32/64bit AMD USB 3.1 Controller and Hub Drivers v1.0.5.3 WHQL
thread:
⇗ USB 3.0/3.1 Drivers (original and modded)
direct link:
⇗ https://www.win-unattended.de/Benutzer/F....5.3%20WHQL.rar

#3919 | greybeard | ⇗ @infuscomus Ok, will do! Thx.

#3920

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #3915

> @YuriyCN
> I noticed that some files like usbport.sys and usbstor.sys are missing from your C:\Windows\System32\Drivers folder
> I have attached a zip of them for you - extract into C:\Windows\System32\Drivers

I unpacked these files into C:\Windows\System32\Drivers folder.
But still, the driver does not work. Error code 10.
What else do I need to do?
kukonosau

> Zitat

> From post #958 files USBXPSP1.rar copy into system32, and after AMD USB 3.1 drivers v1.0.5.3 WHQL.rar install drivers with device manager.

AMD USB 3.1 drivers v1.0.5.3 - This driver not installed through the device manager.
The driver does not contain my hardware ID. It contains AMD codes only.
Are you sure that AMD driver can work on Intel chipset?
My motherboard - Gigabyte GA-H110M-DS2 with Intel H110M chipset
⇗ https://www.gigabyte.com/Motherboard/GA-H110M-DS2-rev-10#ov
My hardware ID = VEN_8086&DEV_A12F

#3921 | infuscomus | ⇗ @YuriyCN now that you have those files placed in the drivers folder try reinstalling the USB 3.0 driver in device manager

#3922

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #3921

> @YuriyCN
> now that you have those files placed in the drivers folder try reinstalling the USB 3.0 driver in device manager

I did so. Does not work.
Are you sure that AMD driver can work on Intel chipset?
These are different manufacturers.

#3923 | infuscomus | ⇗ @YuriyCN you should use the modded AMD driver made by daniel_k, this has been confirmed to work for intel USB 3.0 if your using ACPI you should use the modded ACPI driver too.

#3924

IntiMD

> Zitat von ⇗ greybeard im Beitrag ¶ #3917

> On another note, do you have any idea how I can get USB drivers to work in Windows Server 2008? I can get that to install cleanly, right out of the box, but without USB (mouse) support.

Give these a try, also from daniel_k: ⇗ https://msfn.org/board/topic/180769-inte...s-vista-x86x64/

#3925

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #3923

> @YuriyCN
> you should use the modded AMD driver made by daniel_k, this has been confirmed to work for intel USB 3.0
> if your using ACPI you should use the modded ACPI driver too.

For intel USB 3.0 to work, I additionally have to install modded ACPI driver?
Without modification of ACPI the USB 3.0 driver will not work?
Tell me, what else should I do?

#3926

gordo999

> Zitat von ⇗ greybeard im Beitrag ¶ #3902

> But I don't have any USB (mouse) support and have a bunch of yellow warnings in Device Manager

⇗ @greybeard ...that was anticipated, it's why I suggested having a PS/2 mouse/kbd standing by. If you're desperate for USB functionality, buy a peripheral USB card that has XP drivers available. I bought one with a VIA chipset and found XP drivers on a Czech site. Or try the USB driver from this site. It has not worked on my Asus B360M but I have not tested the most recent version of the driver.
The unofficial SP4 upgrade took care of a lot of the yellow question marks in DM but some of them are not important unless you really need XP running in pristine condition. I only want to use XP for specific applications. I think W7 is the best all-round Windows OS available.
XP is still a good OS but it was a hybrid between 16 bit and 32 bit apps and I found it could freeze or BSOD often with apps not written correctly. It was meant to be backward compatible with W98 and W95. When I first got my 300-series mobo I was told to forget running W7 on it. Much to my surprise, once I got the PS/2 mouse/kbd running, W7 went straight to the desktop on stock drivers on an existing installation on a SATA drive. I was even able to get stable 1920 x 1080 resolution on a super VGA driver from the stock installation. Since then, I have loaded the free W10 OS but I prefer the W7 installation. I had it in mind that XP would be a lot of trouble to get going on the 300-series but it has surprised me how stable it is once the correct drivers are loaded. In that respect, it's a good OS, so why abandon it?
I'll use XP, depending on what I am doing. Some games run only on XP and I have my full Creative XFi card functional on the current install on the 300-series board as well as my NVidia GT 370 video card.

#3927

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3925

> For intel USB 3.0 to work, I additionally have to install modded ACPI driver?
> Without modification of ACPI the USB 3.0 driver will not work?

⇗ @YuriyCN ...without ACPI you cannot get XP to run never mind the USB drivers. Read through the entire thread from the beginning to see what is involved. You don't have to read every post but pick out the parts you need. In fact, research ACPI to see what it is and why it is required.

#3928

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #3927

> without ACPI you cannot get XP to run never mind the USB drivers.

I had BSOD through ACPI, when I had a fall loading Windows XP on the new F20, F21, F22 version UEFI (BIOS). After I downgraded UEFI (BIOS) to version F3, I have no ACPI problems. My Windows XP is loaded without ACPI patches.
Tell me which file you need to modify for ACPI on Windows XP SP3. I do not read English well, I use Google translator.

#3929

greybeard

⇗ @gordo999
Thanx for the help. But I really want to use XP64 for what I'm trying to do.
So with that in mind, I went back to my Windows Server 2008 alternative. It took me all day, but I finally got all the drivers sorted out, and was able to install my backup application. So with the platform issue resolved, it's just about installing applications, validating stability & performance, and configuring things to my liking. It's gonna be a fun 2 weeks.
You guys have been a tremendous help, and I really appreciate it. Nice to find a board with real talent that's willing to help newbies like me. Kinds reminds me of the good old days (80's and 90's) when the industry was young and we were all trying to figure it out. Since I'm back in "technology mode" through the end of the year, I'm willing to help out if I can. My days as a programmer and bit twiddler are over but I'm more than willing to test things for you. Just let me know.
Again, thanx a bunch.

#3930

diderius6

⇗ @YuriyCN
May be, that during downgrade Bios something went wrong.
It is not easy to do this, as they told on the side from Gigabyte.
So, flash newest Bios for your board, add modified acpi.sys
and USB3 will work
Dietmar

## Page 263

#3931

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #3930

> @YuriyCN
> May be, that during downgrade Bios something went wrong.
> It is not easy to do this, as they told on the side from Gigabyte.
> So, flash newest Bios for your board, add modified acpi.sys
> and USB3 will work
> Dietmar

The BIOS (UEFI) version is downgraded via FPT (Flash Programming Tool).
With FPT you can replace any version BIOS with any version BIOS.
Please, give a URL to download modified acpi.sys for Windows XP SP3
and my motherboard Gigabyte GA-H110M-DS2.

#3932

diderius6

⇗ @YuriyCN
This is best acpi.sys until now for XP SP3 based on 5048 vers.
Dietmar
diderius6 has attached files to this post

- ⇗ acpi.rar

#3933 | XPWELL64 | I hate acpi.sys. I'll use ⇗ @Mov AX, 0xDEAD's DSDT patcher at boot time.
#3934 | infuscomus | ⇗ @XPWELL64 why do you hate acpi.sys?

#3935

YuriyCN

For successful installation of AMD USB 3.0 driver on Intel motherboard it is necessary to replace the modified ACPI.SYS. With the original ACPI.SYS you will have an error code 10.
Windows XP SP3 (32-bit)
Motherboard Gigabyte GA-H110M-DS2 (USB 3.0, DDR4, Socket 1151)
Chipset = Intel H110M (100-series)
HardwareID= VEN_8086&DEV_A12F
Mod acpi.rar- ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (263)
Driver - AMDXHCI_XP_FINAL.rar ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)
The USB 3.0 port is already working!!!
Thank you all!

#3936

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3935

> The USB 3.0 port is already working!!!@Thank you all!

YuriyCN ...did you bother to read the title of the thread...'Windows XP32-bit and Server 2003 32-bit on Modern Hardware'? Your chipset came out in early 2017 and it is Skylake compatible. That is NOT what is meant by modern hardware. We know USB works on the Skylake series (200-series...yours is 100-series) in W7 and Intel was likely supplying XP drivers in 2017.
When I first saw your post you were asking us to do everything for you. I was going to ignore you but since Diderius tried to help you I tried to help too. Next time someone shows up asking dumb question, having obviously done no research on their own, I am going to ignore them. In other forums in which I have participated, that has been a requirement, that posters do their own research to show they are trying to learn rather than just leeching the work of others, or asking to have their hand held. It's not my business how things are done at win-raid, so I have nothing to say about it other than I won't be trying to help anyone asking dumb questions, when it's obvious they have taken no time to understand what they are asking.
Besides, I got caught with that one. I should have seen that the chipset was a 100-series and guessed it was at least 3 years old.

#3937

bcwinit

Wow. This gordo999 post is an absolute gem. I felt obligated to register just to comment a bit.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3936

> YuriyCN ...did you bother to read the title of the thread...'Windows XP32-bit and Server 2003 32-bit on Modern Hardware'? Your chipset came out in early 2017 and it is Skylake compatible. That is NOT what is meant by modern hardware. We know USB works on the Skylake series (200-series...yours is 100-series) in W7 and Intel was likely supplying XP drivers in 2017.

USB 3.0 drivers were NEVER provided by Intel for XP. Intel's Sandy Bridge boards had a NEC/Renesas chip on the board, and that supported XP, but once USB 3.0 support was added to the chipset (starting with Ivy Bridge) there weren't any drivers that could be used for USB 3.0 in XP/2003 for Intel-chipset boards without also using a third-party controller.
Additionally, Intel's driver support in general for XP/2003 ceased after Ivy Bridge. There was an early Haswell graphics driver but that's about it as far as I know. Unofficially the AHCI driver can be used with a modified INF on later hardware. In general though anything after Ivy Bridge is most definitely "modern" (not officially supported) as far as XP and 2003 are concerned.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3936

> When I first saw your post you were asking us to do everything for you. I was going to ignore you but since Diderius tried to help you I tried to help too. Next time someone shows up asking dumb question, having obviously done no research on their own, I am going to ignore them. In other forums in which I have participated, that has been a requirement, that posters do their own research to show they are trying to learn rather than just leeching the work of others, or asking to have their hand held. It's not my business how things are done at win-raid, so I have nothing to say about it other than I won't be trying to help anyone asking dumb questions, when it's obvious they have taken no time to understand what they are asking.

Despicable, unforgivable behavior. The posts about USB 3.0 support for Intel hardware are scattered throughout this thread. That YuriyCN even found this thread at all shows that some research was done before posting. Some posts in this thread mention the additional need for a modified acpi.sys, but a lot of them don't mention it at all. Assuming that everyone can sift through thousands of posts, especially if their first language isn't English, to maybe piece together some useful info is not reasonable at all.
YuriyCN asked for help, misunderstood the requirements, came to understand the requirements with the help of responses in the thread, and then kindly and politely posted a thank you message with links to what worked for them. You responded to that by insulting YuriyCN for "asking dumb questions" and complaining while spewing completely false info about Intel driver support in XP/2003.
What YuriyCN wanted help with is very important for XP/2003 users with Intel USB 3.0 controllers on ANY generation of hardware. Since that information is buried in this thread it's very, very normal and helpful to have that information resurface closer to the most recent posts. This is especially true since older posts have solutions that may work but aren't the latest/best ones currently available.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3936

> Besides, I got caught with that one. I should have seen that the chipset was a 100-series and guessed it was at least 3 years old.

Oh, heaven forbid, a chipset from three years ago. Here was me thinking this was a forum friendly to users of both "old" software and "old" hardware and you seem like you'd be happy with a ban on discussions about anything that's what, more than two years old, one year old, three seconds old?
To YuriyCN: Please don't be afraid to ask questions. Please do feel free to try daniel_k's recently released, much newer (but still beta) modified AMD XHCI driver:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (256)

#3938

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #3936

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #3935

> > The USB 3.0 port is already working!!!@Thank you all!

> YuriyCN ...did you bother to read the title of the thread...'Windows XP32-bit and Server 2003 32-bit on Modern Hardware'? Your chipset came out in early 2017 and it is Skylake compatible. That is NOT what is meant by modern hardware. We know USB works on the Skylake series (200-series...yours is 100-series) in W7 and Intel was likely supplying XP drivers in 2017.

You write nonsense. Officially, Intel released drivers for the 75th chipset and older.
For the 80-, 90-, 100-, 200- series, the Intel driver did not exist. I read the forum for a long time.
It was not written that in addition to USB 3.0 you need to install a modified file ACPI.SYS.

#3939

hardware-prefetcher

First: Install the old version of bios mbr win7 BSOD on the lenovo xiaoxin air14 laptop: . Here are the BIOS settings for installing WIN7: .
lenovoxiaoxin air14 laptop hardware:
I download the thread ¶ #3932 acpi attachment and extract it.The thread¶ #3932 acpi.sys overrides the acpi.sys that comes with WIN7,Can WIN7 0x000000A5 BSOD ERRORS be resolved? Notebook is not in my hand now.
Second: If the modified ACPI.sys cannot resolve the WIN7 0x000000A5 error, then what tool do you use to modify ACPI.sys, and where can you modify it to resolve the WIN7 0x000000A5 BSOD? Please give me directions and I will share the results with you if the problem is solved.
WIN7 is still a popular operating system. In the future, you may use WIN7 on hardware around 2019. You will also encounter WIN7 0x000000A5 BSOD. Forum members work together to solve this problem and resist Intel Microsoft. Good luck!

#3940

IntiMD

⇗ @hardware-prefetcher This ACPI.sys mod is destined only for XP/Server 2003 systems only, not for Windows 7, due to their architectural differences they can't be compatible + it might be a pain in the ass to modify it so as to not trip the driver signature enforcement, especially since it's a system file. I recommend creating a separate thread about your problem in the Windows 7 subsection on this forum for more visibility. I'm sure the experts here will be able to help you with that problem (especially canonkong, due to his hard work with the drivers for new AMD devices).
For that Win7 problem of yours with the Ryzen APUs, you have to keep in mind that not all mobos with the Ryzen APUS will work (hope for your sake that it's not the case, or if it is: it can be circumvented), there may be a BIOS update that might solve the BSOD problem amongst other general issues (doesn't need to be mentioned), though i'm not sure that Lenovo would offer that for your laptop, especially since the only drivers that it offers is for Windows 10. (have checked it in the support page of your laptop in lenovo's chinese website).
If you eventually get this to work, I recommend that you install canonkong's package with the APU video + chipset drivers found ⇗ here (use this link from "Driver package download link that can be integrated into the original WIN7 image")

#3941

gordo999

> Zitat von ⇗ bcwinit im Beitrag ¶ #3937

> Despicable, unforgivable behavior. The posts about USB 3.0 support for Intel hardware are scattered throughout this thread.

⇗ @bcwinit ...you seem rather naive as to how technical blogs operate. You have people on here doing cutting edge work to discover how to run XP on newer 300+ series mobos and other people interacting with them trying to understand what they are doing and how to do it themselves. To a man, or woman, since I joined this forum, people trying to learn are doing their own work and being graciously helped by the experts freely with very helpful information. Then someone shows up, almost demanding that the experts do the work for him.
It doesn't work that way. On many technical sites, you won't even get an answer if you show up asking for drivers and immediate solutions, yet one of the experts, diderius, took the time to try to help this guy. In the end, the person in question seemed to scoff that his system does not need USB drivers hence an acpi driver. That's when I clued in that he was not using a motherboard that had the requirements of this forum. I should have clued in immediately since it was a 100-series mobo but I missed it. Maybe he did not want to appear demanding but he should have known that one line requests, when translated into another language, can sound that way.
I belonged to a reversing forum where people would enrol simply to ask for cracks and serials, which is illegal. They were politely told to go do research to demonstrate their understanding of the issue. Others had better intentions but they essentially were asking more experienced reversers to do the work for them. Again, they were politely asked to do further research so they could pose a question that demonstrated they were in the process of learning. I answered YuriyCN twice trying to help him understand and I was very polite. However, the questions he was asking were naive and contradictory. He was complaining that the ACPI driver from this forum was crashing his system then complaining that the USB driver was failing with a code 10 error. Again, I tried to explain politely what a code10 error meant.
YuriyCN did not ask for help that would show he is doing his own work. His first post asked for a link to a driver. When I joined this forum, I started at the beginning of the thread to see what problems were involved and I began reading page by page to gain an understanding of the issue. By the time I started to ask questions, I had a good idea of the issues and I was also reading current posts. So, I had a good idea of when the drivers were being posted. It's easy for me here because I speak English but I have done the same on Russian sites where everything was in Russian. I not only had to translate from Russian I had to further translate the unique meanings Russians give to literal translations of English. In that vernacular, a disk drive becomes a 'screw' and a disk platter becomes a 'pancake'.
I know all about communicating on a site where my language is not the primary language and there are techniques you can use via translators like Google to reasonably ensure your interpretation will be received with some clarity. There are guys on this forum whose native language is German and the forum originates in Germany. There is at least one guy whose native language is Italian. They all manage to communicate effectively and not one of them has ever asked, in my experience, for a link to a driver. All of them are doing their own work to an in-depth level. BTW...my native language is Scottish, a language which translators find almost impossible to decipher. So, lighten up, will you?

> Zitat von ⇗ bcwinit im Beitrag ¶ #3937

> What YuriyCN wanted help with is very important for XP/2003 users with Intel USB 3.0 controllers on ANY generation of hardware.

Maybe so, but he failed to communicate that. Instead, he started by asking pointed questions as to whether people could help him with specific issues that did not apply to his particular chipset. The owner of the forum, Fernando, has come along several times and redirected posts that were not pertinent to the forum to other forums where there might be answers. Therefore, I presume there is a precedent for such an action.
The issues involved in getting XP working on a 300+ series chipset are much different than getting USB 3 drivers to run on any version of any chipset. I know for a fact that Intel recognized early chipsets such as Skylake because it says so right in their setup.exe file. I traced it and I saw the reference to Skylake. In other words, Intel offered x86 drivers for chipsets that were Skylake and before. I also know from reading their release notes that those drivers would run on XP x86 systems.

> Zitat von ⇗ bcwinit im Beitrag ¶ #3937

> Oh, heaven forbid, a chipset from three years ago. Here was me thinking this was a forum friendly to users of both "old" software and "old" hardware and you seem like you'd be happy with a ban on discussions about anything that's what, more than two years old, one year old, three seconds old?

The policies on this forum are none of my businiess and it's obvious that Fernando has offered valuable information that applies to old software and hardware. Furthermore, I have no interest in banning anything, nor could I. I have never been able to stand certain individuals who have tried to take over forums, especially in the newgroups.
You have obviously completely misunderstood my post. I got PO'd because I was politely trying to help the guy in question, thinking he had a legitimate problem adapting XP to a 300+ series chipset, when in fact, he was in the wrong forum. Even at that, I would not have gotten upset had he not so frivolously disappeared with the claim that his stock ACPI was working fine as was his USB. What????? His ACPI and USB suddenly began working on a 300+ series chipset? That's when I looked up his chipset and found it was a 100 series that would operate with drivers up to Skylake.
I wish it was that easy with 300+ series chipsets. I am currently looking at a LAN driver for XP on a 300-series chipset that has 30 exports missing in ndis.sys, the networking interface.

#3942

bcwinit

Another gem. Thanks for doubling down on what made your previous post so disappointing. I love reading this forum and your disdain for others is quite a shame. Also thank you for assuming you have any idea who I am or what my background is.
My favorite bit was probably this:

> Zitat von ⇗ gordo999 im Beitrag ¶ #3941

> I know for a fact that Intel recognized early [USB 3.0] chipsets such as Skylake because it says so right in their setup.exe file. I traced it and I saw the reference to Skylake. In other words, Intel offered x86 drivers for chipsets that were Skylake and before. I also know from reading their release notes that those drivers would run on XP x86 systems

You're still claiming that Intel released USB 3.0 drivers that worked on XP for many chipsets. XP users have been desperate for years for an XHCI driver for Intel chipsets starting with Ivy Bridge and you're acting as if they just weren't bothering to use the ones available. The (brilliantly) modified AMD drivers and ability to use a Vista 5048 ahci.sys are such a big deal because they've made the dream a reality.
I won't waste my life away dissecting your latest post point-by-point just to get yet another junk response, and another, and another. Just be sure to keep posting claims that this is the "wrong forum" for discussion of any issue that isn't your personal 300+ series issue. That will help a lot. Also continue to rudely ignore the first post in this thread in which the OP states acceptable platform options:

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #1

> It would be the best to build a PC based on the Skylake, Kaby Lake, Coffe Lake etc.

#3943

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3938

> @YuriyCN ....You write nonsense. Officially, Intel released drivers for the 75th chipset and older.
> For the 80-, 90-, 100-, 200- series, the Intel driver did not exist. I read the forum for a long time.
> It was not written that in addition to USB 3.0 you need to install a modified file ACPI.SYS.

This is what I wrote: "We know USB works on the Skylake series (200-series...yours is 100-series) in W7 and Intel was likely supplying XP drivers in 2017". I said 'likely'. The point I was trying to make is that 200-series chipsets and earlier were supported by Intel on W7 but not the 300+ series chipsets. I have already modded W7 to run in a very stable manner on a 300-series chipset with USB 3 using modded drivers by Canonkong.
Then I turned my attention to XP on the same 300+ series chipset. It was an entirely different situation. W7 on a SATA hard drive ran to the desktop on stock drivers using a PS/2 mouse/keyboard. I had it running in 1920 x 1080 using stock W7 drivers. With XP, the OS would not even start. The integrated XP SP3 installation disk could not see the OS and before it could load its drivers, I encountered an 0XA5 error. I got past it using an F7 at the F6 prompt asking for storage drivers, only to get an 0x7B when windows started. The modded ACPI driver worked fine for me and another one of Fernandos SATA controller drivers got rid of the 0x7B error.
I thought you were having similar problems but the manner in which you posed your questions was very abrupt with no explanation as to the real problem. I have had no problem understanding posts from people who speak German and Italian and I had no problem understanding your most recent post. So, why were you asking so many short questions without offering more information to explain your problem? You asked for a link to a modded ACPI driver then came back and said it did not work. Then you came back later and said your stock ACPI driver was working fine. I know one thing, if you have a stock ACPI driver that works on XP, on a 300+ series chipset, you are way ahead of the rest of us.
Maybe I have presumed too much in thinking that modern hardware means a 300+ series chipset. It does with W7 on a 'modern' chipset. Sometimes it's easy to confuse the requirements of W7 versus XP. There are exports missing in the XP ntoskrnl that won't allow W7 drivers to be substituted without modification but I do know that Intel supported USB 3 in W7 right up till Skylake, which is a 200-series chipset. Based on that information, I still don't understand what question you were asking. Why were you asking for a link to an ACPI driver when your stock ACPI driver was working and how did your USB suddenly start working? You disappeared with no explanation.

#3944

gordo999

> Zitat von ⇗ bcwinit im Beitrag ¶ #3942

> You're still claiming that Intel released USB 3.0 drivers that worked on XP for many chipsets.

⇗ @bcwinit ...and you are still misquoting me. I did not say at any time that Intel released USB 3 drivers for XP, I said they released x86 drivers that would work on XP. You don't seem to understand what XHCI drivers do, or the relationship between ACPI, PCI, XHCI and the older USB drivers. The XHCI standard is incorporated into some drivers with the older USB 2 driver. If the driver detects a USB 2 device, it uses that chain in the USB stack. If it detects USB 3, it brings in the XHCI driver.
I also admitted in another post that it's easy to confuse the requirements of XP with W7 when working on both systems concurrently. If I thought USB 3 would run on XP I'd have done it long ago and I would not be here wasting my time replying to a lurker who reads the thread and joins to take shots at me. The mistake I made was confusing 'modern chipsets' with only the 300-series mobo and above which is true for W7 but not XP. The W7 OS has USB 3 drivers that will run on certain 200 series chipsets and they were put out by Intel. Furthermore, Asus issues W7 drivers for certain Asus mobos that have chipsets where the manufacturer has its own driver.
I have a USB 3 add-on with a VIA chipset and I am running it in XP using drivers written for XP. So, don't tell me there are no XP drivers for USB 3 devices. There are certainly no USB 3 Windows drivers since Microsoft abandoned USB 3 on XP and W7. There are likely no XP drivers from Intel for modern mobos but that does not mean Intel X86 drivers won't run on certain XP machines. I did not claim those drivers run in USB 3 mode but the XHCI controller was designed to work in conjunction with the USB 2 drivers in the same driver.
As I said, the mistake I made was claiming the 100-series chipset ' using XP' was not part of a modern system. If I had thought there were XP drivers for the 100-series, why was I trying to help the guy with suggestions on ACPI drivers and USB drivers? If I thought there were XP drivers why did I not tell him where to find them? That was not my beef with him, it was simply the way the guy was bugging people to find him a driver then complaining when it did not work, using one liners. At no time did he try to explain his problem or what he was doing to fix it. He simply kept asking people to solve it for him. And please don't bring in language issues. As I said, I have communicated on Russian sites, in Russian, in detail, via Google translator, which is much better today than then. Furthermore, I had to figure out the extensive technical slang Russians use to describe our Western terminology.
Why you are jumping all over the issue is another question. Why have you not joined before and tried to contribute? You have claimed the ACPI driver is the root of the USB problem yet the guy in question now claims to have USB working with his stock ACPI driver. Have you asked him if it is running in USB 3 mode, or have you merely presumed that?

#3945

bcwinit

You really are determined to drag this on. This is unfortunate.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> ...and you are still misquoting me. I did not say at any time that Intel released USB 3 drivers for XP, I said they released x86 drivers that would work on XP."

A matter of semantics at best then. You're claiming they released them but didn't say that they released them. The exact quotes just for context:

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> Intel was likely supplying XP drivers in 2017

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> ...also know from reading their release notes that those drivers would run on XP x86 systems.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> You don't seem to understand what XHCI drivers do, or the relationship between ACPI, PCI, XHCI and the older USB drivers. The XHCI standard is incorporated into some drivers with the older USB 2 driver. If the driver detects a USB 2 device, it uses that chain in the USB stack. If it detects USB 3, it brings in the XHCI driver.

There you go again, assuming what you think I don't know. There's a whole lot in the world that I don't know, including plenty of fine details on this subject, but I'm also not utterly clueless about this subject.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> I also admitted in another post that it's easy to confuse the requirements of XP with W7 when working on both systems concurrently. If I thought USB 3 would run on XP I'd have done it long ago and I would not be here wasting my time replying to a lurker who reads the thread and joins to take shots at me. The mistake I made was confusing 'modern chipsets' with only the 300-series mobo and above which is true for W7 but not XP. The W7 OS has USB 3 drivers that will run on certain 200 series chipsets and they were put out by Intel. Furthermore, Asus issues W7 drivers for certain Asus mobos that have chipsets where the manufacturer has its own driver.

This is an improvement aside from the use of "lurker" as a derogatory term and the irrelevant info about Asus drivers for non-Intel onboard USB 3.0 controllers on a version of Windows outside the scope of this thread. You acknowledging that you were thinking Windows 7 while talking about XP and that you were at least somewhat detached from the reality of USB 3.0 driver support for XP is very much appreciated.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> I have a USB 3 add-on with a VIA chipset and I am running it in XP using drivers written for XP. So, don't tell me there are no XP drivers for USB 3 devices.

I explicitly stated that supported third-party controllers aren't a problem:

> Zitat von ⇗ bcwinit im Beitrag ¶ #3937

> ..there weren't any drivers that could be used for USB 3.0 in XP/2003 for Intel-chipset boards without also using a third-party controller

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> As I said, the mistake I made was claiming the 100-series chipset ' using XP' was not part of a modern system. If I had thought there were XP drivers for the 100-series, why was I trying to help the guy with suggestions on ACPI drivers and USB drivers? If I thought there were XP drivers why did I not tell him where to find them? That was not my beef with him, it was simply the way the guy was bugging people to find him a driver then complaining when it did not work, using one liners. At no time did he try to explain his problem or what he was doing to fix it. He simply kept asking people to solve it for him.

YuriyCN was pretty clear to me. The need for a modified acpi.sys was originally not realized. People say the modified AMD driver should work, it didn't, so why didn't it? Because the modified acpi.sys is also needed. Not nearly enough posts mention that both are required. The modified AMD drivers are very frequently mentioned in complete isolation from ACPI. That's fine for anyone who has been following the thread for months. That's far from ideal for others.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> And please don't bring in language issues. As I said, I have communicated on Russian sites, in Russian, in detail, via Google translator, which is much better today than then. Furthermore, I had to figure out the extensive technical slang Russians use to describe our Western terminology.

Since you brought it up again I'll help with this. You're assuming that your ability to communicate across language barriers via various means must be the same as everyone else. This is unrealistic. Also, as boastful as you are about your abilities in this area, you're still at a loss about some of YuriyCN's messages. Some do require some interpretation to make sense of. For example...

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> You have claimed the ACPI driver is the root of the USB problem yet the guy in question now claims to have USB working with his stock ACPI driver. Have you asked him if it is running in USB 3 mode, or have you merely presumed that?

YuriyCN ("the guy in the question") clearly, after interpretation, stated that the modified acpi.sys had to be used. This is YuriyCN explaining that they weren't having any success before when just using the modified AMD driver:

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3935

> With the original ACPI.SYS you will have an error code 10

This is where you seem to be getting lost:

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3935

> For successful installation of AMD USB 3.0 driver on Intel motherboard it is necessary to replace the modified ACPI.SYS

Every bit of context makes it clear that YuriyCN is saying here that it was necessary to replace the original acpi.sys with the modified acpi.sys. Reading the message literally is a dead-end due to a communication mishap. Reading the message in context the meaning is clear. For confirmation, see YuriyCN's next message which includes this:

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3938

> in addition to USB 3.0 you need to install a modified file ACPI.SYS

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> Why you are jumping all over the issue is another question.

From my perspective it's monumentally good fortune that anyone is dedicating the skill and time necessary to do things like modify drivers for free and for the public. Discouraging the use and appreciation of that work for any reason is not constructive. I felt like this subject was too important to ignore when you insulted YuriyCN after that user succeeded in putting modified drivers to good use.

> Zitat von ⇗ gordo999 im Beitrag ¶ #3944

> Why have you not joined before and tried to contribute?

A combination of having very little time to spare for more than perusing discussions and abysmally poor health that prevents me from regularly doing my own dev work and supporting users of that work. Engaging in support-related activities that are in any way related to the work of others isn't something I have the luxury of doing aside from exceptional situations like this.

## Page 264

#3946 | Fernando | Is this a battle or just a discussion? Please calm down!

#3947

daniel_k

Have been really busy.
Just a quick update: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (128)

> Zitat

> Updated the so called "FINAL DRIVER" with V2 (Dec 19, 2019):
> - revised device check patch
> - applied small bug fix to 32-bit (x86), as seen on newer 153 and later releases. 64-bit is not affected.

Regarding the latest version (276), I've finally managed to fix it, was driving me nuts. It's under final testing and should be released before Christmas.
PS: Please don't send me PM's requesting help. If needed, I contact you. Thanks!

#3948 | infuscomus | ⇗ @daniel_k is the latest version (276) when you release it only for use with intel USB 3.0?

#3949

kukonosau

⇗ @diderius6
Where is USB 3.0 drivers for 15E0, 15E1 for Windows XP x86? I have Ryzen 3 2200G platform. Where is chipset drivers? What is motherboard resources in device manager in system devices? Where is AMD PSP drivers? Also I have unknown device ACPI. How to send screenshots?
kukonosau has attached images to this post ⇗ Photo.PNG

#3950

YuriyCN

I have a trouble with an modified driver.
1. I replaced the file c:\WINDOWS\system32\drivers\acpi.sys with the file that was modified by you.
2. Then I installed the modified USB 3.0 driver through the Device Manager.
At first, after the OS is booted up, USB ports work fine.
Read speeds on USB 2.0 ports up to 40 MB/s, on USB 3.0 ports up to 110 MB/s.
Everything works fine and suits me.
But not for long! After a time (from 3 to 15 minutes), the ports stop working. It is very likely that the voltage was decreased on the ports, because when user inserts a USB flash drive, its LED does not light up. If to restart the computer at the moment, then it hangs toughly when shutting down - even the Reset button on the PC case does not work! Only a complete disconnection from the power supply helps.
My system is Windows XP Pro SP3.
Motherboard - Gigabyte GA-H110M-DS2 (Socket 1151, DDR4)
⇗ https://www.gigabyte.com/Motherboard/GA-H110M-DS2-rev-10#ov
Mouse and Keyboard - PS/2
Is it a problem with modified ACPI or modified USB 3.0?
Please help me.

#3951 | diderius6 | ⇗ @YuriyCN May be, that your USB3 device needs to much power. In this situation, the motherboard stops this USB device after some time. This you can test with an USB3 device with ultra low power consumption Dietmar

#3952

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #3951

> @YuriyCN
> May be, that your USB3 device needs to much power. In this situation, the motherboard stops this USB device after some time.
> This you can test with an USB3 device with ultra low power consumption
> Dietmar

Not. This is a simple flash drive.
The voltage is removed from all USB ports at the same time.
After 3-15 minutes, the USB ports stop working, even if nothing was connected to them.
Can you upload for me all versions of your modifications ACPI and USB drivers in one archive?
I want to try working in different combinations.

#3953

YuriyCN

I have done several experiments and now sending an updated information. A trouble with the stops of USB ports occurs more often if to boot the PC with a USB flash drive already inserted into the port. When one inserts/removes the USB flash drive in an already loaded system - stops happens 10 times less often.
To assurely receive a stops, user must boot a PC with a USB flash drive already inserted into the port. After OS is fully booted up (untill the desktop), you need to remove the USB flash drive and insert it into the neighboring port. In this case, the USB flash drive will be now incorrectly defined in the Device Manager as "Unknown device" with the ID code USB\VID_0000&PID_0000. At the same time, in 100% of cases I get a complete hang of USB interface. Altogether all ports freeze, that is, none of the 6 available USB ports works. When the USB port hangs, the voltage on it does not disappear. But the LED on the flash drive does not light up, since the flash drive is not defined as a device, although the voltage between the "1" and "4" pins of the USB connector - 5 Volt is present (measured with a voltmeter).
Checks were made on two different USB flash drives, connecting them to any of the 6 connectors. The situation is reproducible. My equipment is 100% operational. The problem is either in the USB driver you modified or in the ACPI.SYS file you modified. I ask for help.

#3954 | diderius6 | ⇗ @YuriyCN This behavior "Unknown device" happens on Intel motherboards only with the very first tries of making an USB3 driver for XP. It does not happen with newer USB3 driver for XP SP3 Dietmar

#3955

YuriyCN

> Zitat

> This behavior "Unknown device" happens on Intel motherboards only with the very first tries of making an USB3 driver for XP.
> It does not happen with newer USB3 driver for XP SP3

An "Unknown device" is displayed not for the USB port (Controller and Hub), but for a Flash Drive (or other device) connected to the port. A trouble with the freeze of USB ports occurs more often if to boot the PC with a USB flash drive already inserted into the port.
1) Please, look again at my previous message - it describes how to get this trouble.
2) Can you upload for me all versions of your modifications ACPI and USB drivers in one archive? I want to try working in different combinations this drivers.

#3956

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3950

> ....But not for long! After a time (from 3 to 15 minutes), the ports stop working...

⇗ @YuriyCN ...just a thought. In Device Manager, under the USB section, find the USB 3 hub driver and see if it has a Power Management tab under 'Properties'. If it does, see if it is set to allow the OS to turn off the device for power management. You might also check to see if the individual hub to which the device is connected has a power management feature. You might also look in your BIOS settings to see if the USB ports have power management features that can be turned on or off.
While you are checking the hub driver in Device Manager, under Properties, look under the Details tab. Scroll down to 'Power data' and see what power state is indicated for the device right after you boot then after it loses power. My current power state is set to D0, which means full power. If it is set to any other Dx state, where x = 1,2,3...it means the device has been set to a low power state.

#3957

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #3956

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #3950

> > ....But not for long! After a time (from 3 to 15 minutes), the ports stop working...

> @YuriyCN ...just a thought. In Device Manager, under the USB section, find the USB 3 hub driver and see if it has a Power Management tab under 'Properties'. If it does, see if it is set to allow the OS to turn off the device for power management. You might also check to see if the individual hub to which the device is connected has a power management feature. You might also look in your BIOS settings to see if the USB ports have power management features that can be turned on or off.

Unfortunately this is not possible! In the modified driver, the "Power Management" tab is missing in the properties of "USB 3.0 Hub". I wrote earlier that the voltage in the port is not absent - the voltmeter shows 5 Volts. The LED on the USB flash drive does not light up not because of the absence of 5 Volts, but because of the freezing of the USB port.
diderius6
As a result, the main problem of the modified driver is the freezing of USB ports when Windows XP boots with a device already connected to the USB. Perhaps this is not an issue of the modified USB driver, but a complex problem (for the ACPI + USB bundle). Let me remind you that without installing the upgraded ACPI.SYS, I could not install the USB driver (an error occurred - code 10).
Please send me in one archive all the versions of USB and ACPI drivers that you have available. I want to experiment with installing these drivers in different combinations of versions.

#3958 | diderius6 | ⇗ @YuriyCN Look through this forum Dietmar
#3959 | daniel_k | ⇗ @YuriyCN, try to disable XHCI Hand-off in BIOS. It's the only suggestion I can give you. You are the first person to report this strange behavior.

#3960

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3948

> @daniel_k
> is the latest version (276) when you release it only for use with intel USB 3.0?

Don't have any modern AMD systems system, so can't test.
Anyway, the drivers are "unlocked", so one can try them with any XHCI controller, by editing the device ID in the INF file.

## Page 265

#3961

daniel_k

⇗ @canonkong, can you please sign this simple INF file? Needs a valid certificate for it to be (hopefully) accepted during Windows installation.
All it does is to disable NVME devices by installing a NULL driver. I want this to prevent Windows 8+ from touching my NVME drive and installing its own boot manager etc.
Thanks!

#3962

daniel_k

AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018
- Fixed XP/Server 2003 compatibility by re-adding PoStartNextPowerIrp calls, luckily the code didn't really change after build 145, could find all proper locations for every call. Interesting info:
⇗ PoStartNextPowerIrp - ⇗ Bug Check 0x9F: DRIVER_POWER_STATE_FAILURE
- Removed IoSetDevicePropertyData dependency, only found in Vista and later, doesn't affect functionality.
- Removed BCrypt functions dependencies (Ksecdd.sys), only found in Vista and later and re-added code from build 145.
- Combined hub and controller INFs into a single amdxhc.inf for easier installation and integration.

#3963

canonkong

⇗ @daniel_k
Try it.
SHA1 sign need run the reg file first.
canonkong has attached files to this post

- ⇗ NoNVME.zip

#3964

bcwinit

> Zitat von ⇗ diderius6 im Beitrag ¶ #3958

> @YuriyCN
> Look through this forum
> Dietmar

It's worth mentioning that daniel_k removed the links to the beta/experimental builds of the modified USB 3.0 drivers once the final versions were released. Looking through the forum will not allow anyone to find those alternate versions. I don't know how many there were in total, but there were at least two (AMDXHC_276_NO_USBD.rar and 276BETA.rar) for 1.1.0.0276 which was just updated to final a short while ago as AMDXHCI_XP_276_FINAL.rar.
daniel_k: Please let us know if it's acceptable for others to upload those beta versions as attachments in this thread and if so how you would like them described to prevent confusion with the final builds.

#3965 | daniel_k | ⇗ @bcwinit, the beta versions are really buggy so, as you've already said, to prevent confusion, don't upload them, please.

#3966

bcwinit

> Zitat von ⇗ daniel_k im Beitrag ¶ #3965

> the beta versions are really buggy so, as you've already said, to prevent confusion, don't upload them, please.

Understood. Thank you very much for the quick response.

#3967

Andalu

⇗ @daniel_k ⇗ @YuriyCN
I can confirm that issue. Booting with an USB3 disk inserted, the USB device is not recognized and displayed as 'unknown' in the device manager. Sometimes XP also hangs during boot; shutdown and restart don't work. I tried both XHCI_XP_FINAL_V2 and AMDXHCI_XP_276_FINAL with same results.
The issue disappears replacing 'amdxhc.sys' with the version included in the "¶ amdxhc_pae_fix.rar".

#3968

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #3967

> @daniel_k @YuriyCN
> I can confirm that issue. Booting with an USB3 disk inserted, the USB device is not recognized and displayed as 'unknown' in the device manager. Sometimes XP also hangs during boot; shutdown and restart don't work. I tried both XHCI_XP_FINAL_V2 and AMDXHCI_XP_276_FINAL with same results.

I get the same problem. I wrote the same thing.
The new driver (AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018) does not resolve the problem.

#3969

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #3967

> Booting with an USB3 disk inserted, the USB device is not recognized and displayed as 'unknown' in the device manager. Sometimes XP also hangs during boot; shutdown and restart don't work. I tried both XHCI_XP_FINAL_V2 and AMDXHCI_XP_276_FINAL with same results.

Cold boot (power on) or warm boot (restart)?
Don't have the issue here, but PAE is not enabled.
If my system would be affected by that issue, I wouldn't be able to install XP from an USB drive.

#3970 | daniel_k | ⇗ @canonkong, thanks! Didn't see you edited your message. Will try it. Any chance of signing it with SHA256? Forgot to ask that. Windows 8 accepts the SHA1 sign, Windows 8.1 and Windows 10 don't accept and just ignores the driver. Fixed some mistakes in the INF, please sign both files.

#3971

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #3969

> If my system would be affected by that issue.

Check several times...
Most often freezes when a USB Wi-Fi adapter is connected, but with a USB flash drive - is not always.

#3972

daniel_k

⇗ @YuriyCN and ⇗ @Andalu
My BIOS is patched with a XP friendly ACPI table.
With original ACPI.SYS 5512 SP3, no issues.
With beta modified ACPI.SYS 5048, no issues with USB drives, wi-fi dongle, keyboard and mouse. Cold boot (power on) and restart, no disconnections after 15 idle.
However, WiFi doesn't automatically connect with this ACPI.SYS, which is strange.

#3973

YuriyCN

My BIOS is not patched (original version F3).
With original ACPI.SYS 5512 SP3 - driver is not installed (error code 10).
With any other (modified ACPI.SYS) - driver is installed, but there are problems with booting Windows with USB3 device inserted and also when rebooting and turning off the PC.
The best, most stable driver with file "amdxhc_pae_fix.rar". There are no problems with this file when booting Windows. There were problems when rebooting or turning off the PC - but this rarely happens, maybe 1 time out of 10.

#3974 | infuscomus | ⇗ @YuriyCN So the pae_fix version solves the issue? Do you have the PAE patch applied? try removing it if you do.

#3975

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #3974

> @YuriyCN
> So the pae_fix version solves the issue?

Using file amdxhc_pae_fix.rar partially solves the issue, but not completely. At the moment, this is the best driver option.
I do not understand, why with the original ACPI.SYS I can not install the driver. The driver is normally installed only with the modified ACPI.SYS. Even if, after installing the driver, I return the original ACPI.SYS file back - then after booting Windows again I get a non-working USB.
Replacing the original file with a modified one removes this error. In this forum I found 3 different versions of the modified ACPI.SYS. Which is better to use?

## Page 266

#3976

canonkong

⇗ @daniel_k
Try it.
SHA1 also can work on win8.1/10, but you need run the reg file first.
canonkong has attached files to this post

- ⇗ NoNVME_2.zip

#3977 | YuriyCN | I use PAE patch, because in Windows XP SP3 x86 installed 8GB RAM. The driver with file amdxhc_pae_fix.rar - is much more stable!!! But when the USB port freezes, then see the screenshot.

#3978

Andalu

⇗ @daniel_k
I did some test with different configurations and the behavior can change from one to another.
I installed the same XP iso image from the same pendrive with the following driver/patch/files slipstreamed by nLite:
- Acpi.sys 5048 (SHA-1: 8EF48518B17DAAC4A90632A811FBFDC8183C325B);
- Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006 mod+signed by Fernando;
- NVME OFA driver 1.3;
- WinXPPae2 patch.
No USB3 driver added. In bios the devices not needed are disabled. Mouse connected to the ps/2 port during the setup. I chose the 'ACPI multiprocessor PC' option. The installation ends without errors for all my configurations.
For all usb3 driver versions, the 'AMD USB 3.0 Root HUB' and the 'Intel Extensible USB3.1 Host Controller' are correctly installed.
All the usb3/usb2 devices connected are recognized before a shutdown/restart. At first warm boot (restart), most of the time, even with the only mouse connected to the USB2 (or usb3 port), my pc hangs with a blank screen when the XP logo appears. Same behavior on a cold boot (power on) and so for the following shutdown/restart.
Other times, at first warm boot (restart) after installing the driver, even with the only mouse connected to the USB2 port, XP hangs as before but on the next cold boot (power on) XP boots normally also with the usb2 mouse connected but it is not recognized and considered as 'unknow device' in the device manager. The same for an external drive connected to the usb3 port.
In one case, I got the strangest behavior:
- on the first warm boot (restart) after installing the driver, XP hangs with the usb2 mouse as above;
- on the next cold boot (shutdown) XP boots correctly but the usb2 mouse doesn't work even it is powered (the led is always on); in the device manager the usb2 mouse is not listed;
- on the next warm boot (restart) XP boots correctly but the usb2 mouse doesn't work. It is listed in the device manager as unknow device but not powered. This time XP hangs on shutdown.
At moment, to have XP with USB3 and PAE features fully functional, I need to use a ps/2 mouse only and remember to disconnect any usb device before restarting or 'shutting down and turning on' the pc. For the boards without a ps/2 port I can use the amdxhci.sys from the amdxhc_pae_fix.rar packet. No issues with it in all my configurations. The restart and shutdown also worked correctly (the restart never worked only for the asrock B250-Pro4 that seems 'insensitive' to each driver tried).

#3979 | infuscomus | try removing the PAE patch? maybe that is causing problems
#3980 | daniel_k | ⇗ @canonkong, thank you very much! Now it worked with Windows 8.1 and Windows 10 1909! When I load this "null" driver, NVME drive disappears! The issue was the driver date, Windows seems to ignore version number.

#3981

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #3979

> try removing the PAE patch? maybe that is causing problems

This!
⇗ @YuriyCN and ⇗ @Andalu
If you had followed my discussion with ⇗ @Mov AX, 0xDEAD, you would be aware of all issues the AMDXHC driver causes when PAE is enabled.
The PAE patch works perfectly, but you must have drivers properly written to work with it, which isn't the case of the AMDXHC driver (even with PAE fix, there are many issues).
The AMDXHC driver works fine on 64-bit (x64) and 32-bit (x86) with PAE disabled.
If you really need PAE enabled, get a card with VIA VL805 controller (really cheap) or ASMedia ASM1142, ASM2142 or ASM3142 (more expensive).
Cards with TI and Fresco Logics also should work fine with PAE, but are not that easy to find.

#3982

daniel_k

Did some tests with the available Intel storage drivers to check which ones properly support Standby Immediate command, to avoid drive wear and data corruption when shutting down the computer. See this datasheet from Intel:
⇗ https://www.intel.com/content/dam/www/pu...ology-brief.pdf
This info is from Samsung:

> Zitat

> A count of the number of sudden power off cases. If there is a sudden power off, the firmware must recover all of the mapping and user data during the next power on. This is a count of the number of times this has happened.

To check if the unsafe shutdown happens with a particular driver, see if the SMART attribute with of these names increase, based on the controller's manufacturer:
- Samsung: "POR Recovery Count"
- Phison: "Unsafe Shutdown Count"
- Sandforce: "Unexpected Power Loss Count"
Only RSTe drivers 3.8.1.1006 and later, including my modded 4.7.0.1098 support the Standby Immediate command.
Storahci (from Skullteria) and iaStor (last for XP) don't support it.

#3983

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #3981

> If you had followed my discussion with @Mov AX, 0xDEAD, you would be aware of all issues the AMDXHC driver causes when PAE is enabled.
> The PAE patch works perfectly, but you must have drivers properly written to work with it, which isn't the case of the AMDXHC driver (even with PAE fix, there are many issues).
> The AMDXHC driver works fine on 64-bit (x64) and 32-bit (x86) with PAE disabled.

I delete this post.

#3984

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #3981

> The PAE patch works perfectly, but you must have drivers properly written to work with it, which isn't the case of the AMDXHC driver (even with PAE fix, there are many issues).
> The AMDXHC driver works fine on 64-bit (x64) and 32-bit (x86) with PAE disabled.

Thanks for the clarification. This information will be also useful for users who want to try to have both USB3 and PAE enabled at the same time.

#3985

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #3979

> try removing the PAE patch? maybe that is causing problems

I already knew it was the patch, but my goal was to have both allowed without issues. Now I know this will not be possible and I will have to accept a compromise.

#3986 | daniel_k | Just released ⇗ Intel RSTe AHCI/RAID driver v4.7.0.1117 for Windows XP/Server 2003

#3987

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #3986

> Just released ⇗ Intel RSTe AHCI/RAID driver v4.7.0.1117 for Windows XP/Server 2003

Does this driver support commands for SSD drive on Windows XP, including the TRIM command?

#3988

daniel_k

> Zitat von ⇗ YuriyCN im Beitrag ¶ #3987

> Does this driver support commands for SSD drive on Windows XP, including the TRIM command?

The driver does support TRIM, but getting it to work on XP is another story.
To be honest, as XP doesn't send TRIM commands itself, which would be optimal, I personally wouldn't care about it.
I find that running an utility just to trigger TRIM an annoyance.

#3989

YuriyCN

> Zitat

> The driver does support TRIM, but getting it to work on XP is another story.
> To be honest, as XP doesn't send TRIM commands itself, which would be optimal, I personally wouldn't care about it.
> I find that running an utility just to trigger TRIM an annoyance.

Without the use of TRIM, the SSD disk will wear out more or performance will only decrease? I did not find on this forum a discussion on the use of SSD disks on Windows XP. I think this is important.

#3990 | veselcraft | What about ASRock B450 USB xHCI drivers? I tried to use ⇗ this trick, but it doesn't work, Windows XP Setup from USB shows BSOD with error code 0x0000007B. Hardware ID is 1022-43D5

## Page 267

#3991

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #3981

> The PAE patch works perfectly, but you must have drivers properly written to work with it, which isn't the case of the AMDXHC driver (even with PAE fix, there are many issues).
> The AMDXHC driver works fine on 64-bit (x64) and 32-bit (x86) with PAE disabled.

Dear daniel_k, I'm sorry, I misled you with the latest reviews about the USB driver. Over the past 2 days, I reinstalled Windows several times and did a lot of experimentation. It turned out that the driver "amdxhc_pae_fix" stably works only in the "Windows Server 2003" and "Windows XP + PAE patch" systems. But in Windows XP without the PAE patch, this driver causes the PC to freeze at boot. Hangup does not always happen, but about once per 5 times. Moreover, freezing can occur even when nothing is connected to the port.
Conclusion:
Unfortunately, the universal driver failed. In Windows XP with and without the PAE, we need to use 2 different drivers. I ask you to try to combine functionally two drivers into one. If the result wiil be obtained, I am ready to test.

#3992 | YuriyCN | The main developments of this topic should be placed in the 1st post. Periodically, the 1st post to update. Its hard for users to find information in over than 260 pages.
#3993 | XPWELL64 | Toshiba 1135 Amber Lights[/URL]⇗ @diderius6 ⇗ @Lost_N_BIOS ⇗ @infuscomus ⇗ @Mov AX, 0xDEAD ⇗ @IntiMD Hello Look at my broken Windows XP laptop. How do I fix it? ⇗ Toshiba Satellite 1135 Amber lights

#3994

diderius6

⇗ @XPWELL64
I think the easiest way is to desolder the Bios chip,
program it new with Epromer with Bios file from other notebook
of the same type
Dietmar
PS: I have done this 3 times and always with success.

#3995

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3994

> I think the easiest way is to desolder the Bios chip

⇗ @diderius6 ...just curious, are you using a hot air device for unsoldering/resoldering or a normal soldering iron? How many pins on the chip?

#3996

diderius6

⇗ @gordo999
Until now I soldered only Bios chips with 8 legs. Years ago I soldered other chips with much more pins.
One time I used hot air for desoldering Bios chip, be carefull with your fingers!
It depends, on how the Bios chip can be reached. When there are other components very near,
I use normal soldering iron.
For to put back the chip into the motherboard I always use only normal solder iron
Dietmar
PS: This is not an easy task for everybody. You need a calm hand, good eye and experience in soldering.
I also thought, how I can help ⇗ @XPWELL64 . He could send to me his whole Asus laptop, but I have no business in soldering^^,
so it would be without any garantie.

#3997

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #3996

> PS: This is not an easy task for everybody.

⇗ @diderius6 ...I know, I have been doing it for decades but not much experience with high density SMD devices. I have a mobo apart right now trying to replace mosfets but I need a LAN chip I cannot find anywhere. I am suspicious about all the sites in China claiming to have them.
I bought a stereoscope from Amscope so I could see what I am doing. Also, bought a hot air station and a power supply on which I can limit the current. Very important for checking short-circuit conditions. I asked how many pins you have because it's nearly impossible to use a soldering iron when the pin count gets really high, like 16 pins per side.

#3998 | XPWELL64 | ⇗ @diderius6 The error not comes from bricked bios. Can you find me a solution? Can you look at the photo to find the cable issue? I think it is from cable issue. If there aren't any cable issues, find the missing solder points.

#3999

diderius6

⇗ @XPWELL64
I do not understand your question.
What happened with those cables?
The only error I have had with notebook was with corrupt ram. May be give this a try.
Do you get a picture at boottime on screen?
Because I do not know this Toshiba 1135
try to get a service manual or picture of cables via Google
Dietmar

#4000

diderius6

⇗ @XPWELL64
I take a short look via Google for Toshiba 1135.
This LED changed from green => amber?
If yes, this can be a problem with power.
Disconnect the battery and after this connect only AC adapter,
press power on for 30 seconds
Dietmar

#4001 | XPWELL64 | ⇗ @diderius6 I'll try this method but don't forget to look at my pc. Here are the photos: XPWELL64 has attached images to this post ⇗ IMG_0158.JPG ⇗ IMG_0157.JPG
#4002 | diderius6 | ⇗ @XPWELL64 I think, those cables are the antenna for the pci-e WIFI chip Dietmar ⇗ https://www.youtube.com/watch?v=fo5easyIX0Y&t=19s ⇗
#4003 | XPWELL64 | ⇗ @diderius6 1- I have an external broadcom wireless adapter came from HP pavilion. 2- Can you look at the photo again? Is there any missing cable connection?

#4004

diderius6

⇗ @XPWELL64
I cant see any other disconnected cable.
I am quite sure, that it is a problem with power.
Take the battery out.
After this, press for one minute power on.
Then connect only AC adapter (battery is still out) and press power on
Dietmar

#4005

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4002

> I think, those cables are the antenna for the pci-e WIFI chip

⇗ @diderius6 ...that makes sense they leads are soldered to terminals in the case, where an antenna should be. I think you're right, it's likely a power supply issue.
⇗ @XPWELL64 ...you need to get a service manual (not a user manual) if possible, as Dietmar suggested. Some can be found on the Net if you look carefully. You'll need a Digital Volt Meter (DVM) to measure voltages, especially the output of the AC adapter 'when it is plugged in'. This is not an easy repair, it's not something you can solve over the Net.
A user manual might tell you what the amber light means. I would suspect a power supply issue, a bad hard drive, etc. Listen to the hard drive for sound when you power on. You should hear it 'seeking'...clicking sounds during boot. Some are noisier than others. If it is clicking, and/or, the hard drive LED is flickering, you should get an indication on the screen that it is trying to boot. You might even get beeps. If so, count them and look it up in a user manual as to what the beeps mean.

## Page 268

#4006 | XPWELL64 | ⇗ @gordo999 There isn't any hdd on my laptop.
#4007 | Dibya | Anyone can link me storahci driver of Skulltrail?
#4008 | Andalu | ⇗ @Dibya it's ¶ here ~~~~~~~~~~~~~~~~~~~~~~~~~ Happy New Year to all forum members
#4009 | Dibya | Anyone can link me to timer bug fix patch of hal?
#4010 | KeesoN | Hello. I had some problem after installing Windows Xp 32 bit to my computer. After restarting system i couldn't boot system because hal.dll was corrupted. Can somebody send me link with modified/normal hal.dll for Windows XP 32 bit(or better for 64 bit), i wanna install again windows XP and i hope with modified hal.dll system will boot without problems(I speak in English and Russian). Also i wanna know,everyone could install all needed drivers to their machines.

#4011

gordo999

> Zitat von ⇗ KeesoN im Beitrag ¶ #4010

> Also i wanna know,everyone could install all needed drivers to their machines.

⇗ @KeesoN ...I have XP running on an Asus B360M chipset (300-series), with an i5-8400 processor, with all the features I need. I am running USB through an add-on card (Vantec with VIA chipset and XP drivers) but I have not tried daniel_k's latest USB driver. My Nvidia GT-730 video card is running as well as my Creative XFi audio card. Video is stable at 1920 x 1080.

#4012

gordo999

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #4006

> There isn't any hdd on my laptop.

XPWELL64 ...not familiar with SSDs. Does an SSD not have an indicator light? On my mobo, the LED driver light comes from the mobo, not the disk drive. If your light is connected in your laptop, it should indicate with an SSD plugged in.
Did your laptop come with an SSD or did you add it? If so, check the manual for which light represents the HDD and see if it lights with your SSD connected.

#4013

KeesoN

> Zitat von ⇗ gordo999 im Beitrag ¶ #4011

> My Nvidia GT-730 video card is running as well as my Creative XFi audio card. Video is stable at 1920 x 1080.

So,how you play some games or use some modern programs? Because i use some needed program,that isn't starting on VM

#4014 | diderius6 | I just test on a Lenovo W530 with K2000m 2GB graphik card 3Dmark2001. Under Win 10 64 bit: 25001 Under XP SP3 32 bit: 51841 Waaoh, what a difference Dietmar

#4015

IntiMD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4014

> I just test on a Lenovo W530 with K2000m 2GB graphik card 3Dmark2001.
> Under Win 10 64 bit: 25001
> Under XP SP3 32 bit: 51841
> Waaoh, what a difference
> Dietmar

⇗ @diderius6
Doesn't surprise me considering how since Windows 8 the DirectDraw and DirectX pre-9 (iirc; either pre-9 or pre-8) APIs have been deprecated, thus old games depending on those APIS worked sluggish on Win8 and above compared to Win7.
I wonder what results would be in Win10, if you use the dgVoodoo graphic-layer translator:
⇗ http://www.dege.freeweb.hu/ (stable version)

#4016

gordo999

> Zitat von ⇗ KeesoN im Beitrag ¶ #4013

> So,how you play some games or use some modern programs? Because i use some needed program,that isn't starting on VM

⇗ @KeesoN ...don't understand your question. I use XP only for older games that won't run on W7. I don't run modern apps on XP, you'll have to ask someone who does. I have never tried newer games or apps on a VM because I like the video and sound better in real mode. I use a VM only to run another OS within W7.

#4017 | kukonosau | Do you have B350 chipset drivers on Windows XP x86? And what is motherboard resources in system devices in device manager?
#4018 | kukonosau | GeForce Experience is working in Windows XP GTX 960 and so on today? Doesn't work in GT cards, for example GT 710. But in GTX cards working ShadowPlay?

#4019

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #4017

> Do you have B350 chipset drivers on Windows XP x86? And what is motherboard resources in system devices in device manager?

⇗ @kukonosau ....My mobo is an Asus B360M-C\CSM. The motherboard resources are as follows:
ACPI\PNP0C02\0
ACPI\PNP0C02\1
ACPI\PNP0C02\2
ACPI\PNP0C02\5
ACPI\PNP0C02\IOTRAPS
ACPI\PNP0C02\PCHRE3V
ACPI\PNP0C02\SARESV
I have a full set of 6 processor cores indicated in Device Manager for the i5-8400.

#4020 | YuriyCN | Dear daniel_k, OS - Windows XP Pro SP3 MB - Gigabyte GA-H110M-DS2 I use of the modified USB 3.0 driver included in the "amdxhc_pae_fix.rar". I found a nuance in the work of this driver. If the computer is put into "Standby mode", then after exiting "Standby mode" all USB ports stop working, and any device connected to the port is defined as "Unknown device" with USB\VID_0000&PID_0000. Only reboot helps.

## Page 269

#4021 | daniel_k | ⇗ @YuriyCN You're the first one who was able to wake up a system from standby while running XP. We don't really support Standby as almost all Haswell+ systems have issues with it. Please disable PAE and try my new driver and see if it works properly.

#4022

YuriyCN

Please specify, I must check the "AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018" from your post - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (265)
But specify with what AСPI I should check. I found 3 different versions of the ACPI.SYS. Which one do you recommend to use together with a your USB driver?
I will reinstall Windows XP and check on a clean system.

#4023 | kukonosau | ⇗ @gordo999 Can we install motherboard resources? How to fixing? This is normally? System with motherboard resources is stable working? Where is chipset drivers?

#4024

YuriyCN

OS - Windows XP Pro SP3 VL Professional
MB - Gigabyte GA-H110M-DS2 (Socket 1151, installed 8GB DDR4 RAM)
Keyboard and mouse - PS/2
Test 1: Windows XP SP3 + PAE
USB 3.0 Driver - "AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018" + "amdxhc_pae_fix.rar"
ACPI driver - acpi.sys (239616 bytes)
Result: If the computer is put into "Standby mode", then after exiting "Standby mode" all USB ports stop working, and any device connected to the port is defined as "Unknown device" with USB\VID_0000&PID_0000. In addition to USB, all other devices work flawlessly.
Test 2: Windows XP SP3 (without PAE)
USB 3.0 Driver - "AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018"
ACPI driver - acpi.sys (239616 bytes)
Result: The situation is much worse. After exiting "Standby mode" - nothing works. I get a black screen or BSOD.
Test 3: Windows XP SP3 (without PAE)
USB 3.0 Driver - "AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018" + "amdxhc_pae_fix.rar"
ACPI driver - acpi.sys (239616 bytes)
Result: The situation is like in Test 1. File "amdxhc_pae_fix.rar" does wonders.

#4025 | ap7cesar | Hello: I am new to this forum. How can obtain an iso of windows XP pro 32 bit with usb intel xhci drivers and acpi.sys integrated? I have a clevo laptop and a skylake CPU. Thanks.
#4026 | daniel_k | ⇗ @YuriyCN, thanks for the reports, but as I've said before, getting XP running properly is already a challenge, fixing Standby is completely out of question.

#4027

daniel_k

⇗ @schreiberstein
Hi mate, as your are german, please take a look at this forum:
⇗ https://www.waldbauer.com/vb/showthread.php?t=2149
They have some interesting fixes for issues with NTVDM. Really knowledgeable persons there.
Hope that they can give us some clues as to how to fix it.
When you have some time, please share with them our issues with PAE, tell them it also affects Server 2003.
As far as I remember, you can't even run any DOS app, even in a windowed DOS Prompt, right?
In my case, the issue happens when trying to switch a windowed DOS app to full screen.

#4028

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #4018

> GeForce Experience is working in Windows XP GTX 960 and so on today? Doesn't work in GT cards, for example GT 710. But in GTX cards working ShadowPlay?

⇗ @kukonosau ...I have the Nvidia control panel and Experience working with driver package 340.52. I already had newer drivers working but the setup.exe file in 340.52 reloaded everything without complaining. So now my GT-730 is running with following drivers on XP x86:
NvCplSetupEng.exe version 1.0.3
dbInstaller version 6.14.13,4052
nvdrsdb.bin version 'unknown'
OpenCL.dll version 1.0.0
nv4_mini.sys version 6.14.13.4052
nv4_disp.dll version 6.14.13.4052
nvapi.dll "
nvcompiler "
nvcuda.dll "
nvcuvid.dll "
etc.
re your other question...my Device Manager does not show chipset drivers for the B360 chipset. It only shows PCI drivers, all from Cannon Lake series and what I posted last time. Don't look for chipset drivers, just follow instructions in this thread about loading an acpi.sys driver and a storport driver. I had my XP installation already loaded on a disk from an older Intel mobo. If you are doing a fresh install, follow the instructions in this thread about adding the drivers above to your XP installation disk.
BTW...you will need a PS2 port to operate the mouse and keyboard unless you can get the USB drivers working with daniel_k's USB drivers.

#4029

gordo999

⇗ @daniel_k ...hate to bug you since you are busy. Tried your latest release of the AMD USB drivers on my Asus B360M mobo and it crashed with a BSOD 0x7B. It may be related to the SATA AHCI drivers I am using which came from drivers on the XP SP4 unofficial package. They were issued by Fernando and they work well otherwise. Maybe I need a SATA driver related to your USB issue, since that cured the 0x7B error at boot. I have a Vantec USB add-on card working with a VIA chipset and I can run my mouse and keyboard off that.
The only drivers i have added to get XP going is an acpi.sys version 6.0.5048.0 from this thread and an iaStor.sys version 11.2.0.1006 with a DEV_A352 added to the INF by Fernando. My BIOS has not been modded.You might be happy to hear that my Creative XFi with driver ctaud2k.sys, version 6.0.230.0004-2.3.0000 is working great with all the software goodies working. Just got my Nvidia GT-730 fully operational as well with driver package 340.52.

#4030

YuriyCN

Dear daniel_k,
I am a fan of the old operating systems and of the classic interface therein. After installing Windows 7, it turned out that Microsoft has committed despicable - in all basic (simplified) themes, including my favorite Classic one, composition (2D video acceleration) is disabled. For this reason, the program interface is drawn with large delays / blinking text / stickings. There are no such shortcomings in aero-themes, but its more convenient for me to work in the usual Classic.
To solve this problem, a specialist "EL_Sanchez" made a patch for the DWM.EXE file. After replacing the original file with a patched one, the work of the classic theme is significantly accelerated. Unfortunately, when using the patched DWM.EXE, the window titles become transparent and user must restart the Explorer for correct displaying ot the Taskbar. Can you make a more correct patch for DWM.EXE, which will not have such shortcomings?
More details and patch DWM here: ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7
DWM is already patched:
But this patch is not enough, here are issues:
1. The patch does not enable compositing, but does not disable compositing when switching from Aero to classic. If one restarts the PC, then on the newly loaded classic theme, acceleration no longer works; in short, the fact of switching the theme (aero -> classic) is important.
2. After switching to the classics, the look of the taskbar deteriorates - it becomes pale and translucent. If to restart the explorer process, then the color will return to normal.
But it is difficult to make a correct patch, so that when loading on a classic theme, the acceleration was initially, without switching themes and without restarting the Explorer.exe.
The technical essence of the needed patch:
so that when switching to the classic theme, leave the value of the field of the CDwmAppHost::s_fCompositionEnabledByPolicy class = 1, regardless of the checks. This value is then used to check whether the composition should be enabled.
Can you help with it (CompositionEnabledByPolicy) ?

#4031

daniel_k

⇗ @YuriyCN, seeing the details of that BSOD in the amdxhc.sys 276, I've found a bug.
Can you please retest the drivers? I have also included a PAE fix based on 276 (check PAE_fix folder).
By the way, I've updated the amdxhc_pae_fix.rar, it is now based on the V2 release, found here:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (208)
Regarding the DWM patch, I'll take a look at it when I have more time.

#4032 | daniel_k | ⇗ @gordo999 You mean the BSOD 0x7B as soon as the USB driver was installed on a working XP install? If so, we haven't ever seen this behavior. Otherwise, if you were trying to install XP with the USB driver integrated, something wrong happened during driver integration.

#4033

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4031

> Regarding the DWM patch, I'll take a look at it when I have more time.

1. Thanks you. I will now reinstall Windows XP SP3 and check for new drivers (USB3 + PAE) on a clean system.
2. Regarding the DWM.EXE patch, this is generally the most important patch; without it, the Сlassic theme Windows 7 works without 2D graphic acceleration. A complete set of solutions, consisting of a new version of theme "Classic AE mod 2019_8", a patch for the DWM.EXE file, and a set of programs to accelerate the user interface (including the source code) - ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7

#4034

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #4032

> You mean the BSOD 0x7B as soon as the USB driver was installed on a working XP install?
> If so, we haven't ever seen this behavior..

⇗ @daniel_k ...thanks for reply. I tried the driver installation on a working installation of XP. I already had a yellow exclamation mark from the failed installation of a USB driver by Dietmar and I looked under properties for that failed install and hit 'Update Drivers'. Maybe I should have uninstalled the old drivers first.
What kind of information would help you? I'll send as much as you need. I should point out that I have a set of VIA USB drivers running successfully for a USB3 add-on card. I have not verified USB3 operation but I have a mouse/keyboard running off a unified USB module and I am able to insert thumb drives and read from them.

#4035

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4030

> ... including my favorite Classic one, [b]composition (2D video acceleration) is disabled. For this reason, the program interface is drawn with large delays / blinking text / stickings. There are no such shortcomings in aero-themes, but its more convenient for me to work in the usual Classic.

⇗ @YuriyCN ....maybe I am misunderstanding you. Are you referring to 2-D issues in one application, or in Windows 7 in general? I have W7 running in Classic mode, on the same Asus B360M mobo, with no issues like you describe. I even have W10 running in W7 Classic mode with no issues. I also have XP running in Classic mode with no video problems, everything is running very smoothly with the graphics. I don't use Aero mode because I don't like it.
I don't know what you mean by 2-D mode, could you give more detail and I will check on my system? Is 2-D mode not the normal mode for Windows? I thought 3-D mode applied only to graphics cards.

## Page 270

#4036

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #4035

> I am misunderstanding you. Are you referring to 2-D issues in one application, or in Windows 7 in general?

This is a general Win7 problem.
Please be silent, you write nonsense and confuse thoughts. Study the problem first, for example - ⇗ https://www.neowin.net/forum/topic/10363...-win7/#comments
The basic information, with examples, programs and a patch DWM look here - ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7
Dear daniel_k,
I remember, my PC:
OS - Windows XP SP3 Pro with PAE patch
Chipset - Intel H110M
I tested the proposed 3 variants of drivers. I currently have 4 versions of the amdxhc.sys file.
Driver 0 - a7623c00e10530ad1479b7b29d845412 *amdxhc_0.sys - my old driver
Driver 1 - 377d326e670d69305d1e0636f58956f3 *amdxhc_1.sys - driver from amdxhc_test.rar\PAE_fix\amdxhc.sys
Driver 2 - 093b13195b2b9c9c7b871f6a0b8cb09c *amdxhc_2.sys - driver from amdxhc_test.rar\amdxhc.sys
Driver 3 - 70bf62de81351beadb23d2b01a65e18e *amdxhc_3.sys - driver from amdxhc_pae_fix.rar
All files in 1 archive - ⇗ https://www.upload.ee/files/10958105/Int...ersion.zip.html
Driver 0 - My old driver. It works fine on a loaded system, without complaints. But after exiting the Standby mode into working state - all devices connected to USB ports are defined as PID_0000&VID_0000 (Unknown Device). When user disconnects the device, it disappears from the Device Manager. It turns out that the USB port does not freeze, it senses the fact of connecting to it, but cannot correctly identify the device and defines it as an "Unknown Device". In general, the situation is the same as I described to you earlier.
Your NEW FILES:
Driver 1 - the operation in all cases is completely identical to Driver 0.
Driver 2 - does not work at all on a loaded system, USB devices are not visible. When putting the computer into Standby mode, the PC freezes. Even the Reset button does not work, it is needed to turn off the power.
Driver 3 - the operation in all cases is completely identical to Driver 0.
As a result, none of the proposed drivers works after exiting the Standby mode. We are going the right way. Maybe the problem is not in the USB driver, but in the ACPI.SYS file ??

#4037 | daniel_k | ⇗ @gordo999 Before trying to install the driver, search for amdxhc.sys and amdhub30.sys in the \Windows folder (including subfolders) and delete all found. Now install as usual, if something goes wrong, something else should be causing the issue.
#4038 | daniel_k | ⇗ @YuriyCN, one last try. Please try it if you can. If this doesn't fix it there is nothing else I can do.

#4039

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4036

> Please be silent, you write nonsense and confuse thoughts.

⇗ @YuriyCN ...If you would learn to present the problem correctly in the first place there would be no misunderstanding. This is a forum for XP, not W7. If you are going to whine about non-issues then you can expect people to wonder what the heck you are talking about.
You are the one misunderstanding the problem. If you want true hardware video acceleration, buy a good video card with a fast processor and lots of memory. If the main processor has to do the video as well as the rest of its loads, you might get the undesirable effects you describe. Even with my old Intel processor/mobo I did not experience what you are experiencing and I tried to do you a favour by informing you of that. Neither my W7 or XP installations have the problems you describe. You have something else wrong in your system or you are using an application/game that is placing too much of a demand on your processor.
Besides, daniel_k has indicated he is very busy. Why are you being so rude and demanding as to use up his time asking irrelevant questions about W7? Take your own advice. Go somewhere else and ask questions bout W7.

#4040

YuriyCN

gordo999
It does not depend on the productivity of the PC, even on a modern computer, with a powerful CPU and GPU, you will get problems with 2D performance in any non-Aero themes. To check, do download a simple program, for example 2ip NetMonitor from the website ⇗ https://2ip.ru/download/NetMonitor.exe and become assured that without the DWM patch on the Classic theme - all lines will flicker. But with the DWM patch, the lags disappear.
Similar problems will occur on other programs that do not use double buffering of video output. Another example is the simplest Neutron 1.07 program, you can download it from ⇗ https://neutron.ru.uptodown.com/windows/download or take it from the "Solutions" archive from ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7 Even in the "Task Manager" (built-in from Win 7), the column "CPU load" flashes. There are a lot of such examples...
All cases are united by a trait - programs that do not use double buffering of video output will work slowly in any non-Aero themes (including built-in Classic). Enabling composition through the DWM.EXE patch forces double buffering, and significantly increases 2D GDI performance - removing blinking text labels and speeding up drawing of a 2D interface up to 10 times.
daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #4038

> Please try it if you can. If this doesn't fix it there is nothing else I can do.

I tested new version of the USB driver (amdxhc_test2.rar). Unfortunately, the situation is the same. After using the "Standby" mode, all USB ports stop working normally. Any connected device is identified as an "Unknown device".

#4041

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #4037

> Before trying to install the driver, search for amdxhc.sys and amdhub30.sys in the \Windows folder

⇗ @daniel_k ...sent a reply but it seems to have disappeared. That worked, thank you. Don't know why but there was an amdxhc.sys in the sys32\drivers directory, dated 2016. I deleted it and re-installed and now all USB ports are working.
Thanks for your hard work and help.

#4042

XPWELL64

⇗ @diderius6
Here are two pseudocode examples (From WINDOWS 7 X64 AND WINDOWS XP X86 Intel HD Graphics drivers):
XPWELL64 has attached files to this post

- ⇗ pseudo.zip

#4043

YuriyCN

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #4042

> @diderius6
> Here are two pseudocode examples (From WINDOWS 7 X64 AND WINDOWS XP X86 Intel HD Graphics drivers):

Do you have a driver HD530 graphics (CPU Intel i5-6600) for Windows XP ??
Please share with me.
daniel_k
Dear daniel_k, testing your drivers many times, I found a peculiarity that I had not noticed before. I thought this peculiarity as important, so I decided to write to you. Perhaps the information in "paragraph 2" will help you check the error.
1. If to put the PC into Standby mode with the USB device turned off, then after exiting Standby mode, the USB ports do not work normally. The device connected to the port is defined as an "Unknown Device" and obviously it cannot work normally.
2. But, now attentively!! If the PC is put into Standby mode with a device already connected (for example, a USB flash drive), it turns out that after exiting the Standby mode the flash drive works !!! I tried to open the flash drive - the files are seen, copied, everything works correctly. If to remove it and reinsert it, then it will already be defined as an "Unknown Device" and will stop working. If at the moment when the flash drive is working, connect the second - then the second is already defined as an "Unknown Device" and will not work, but the first will continue normal operation.
Conclusion:
USB can work even after the PC wakes up from standby mode. An important peculiarity is that only a USB device that was already connected to the port at the time of switching to standby mode can continue to work.

#4044 | XPWELL64 | ⇗ @YuriyCN I will mod it for you but you have to wait for the weekend. I'm learning how to reverse engineer drivers as pseudocode
#4045 | YuriyCN | XPWELL64 I will be very glad. I need such a HD530 driver for XP. daniel_k I received additional information that you might be interested in. The ability to correctly return from standby mode is very dependent on the BIOS/UEFI version. I updated the BIOS/UEFI to the latest version of F24 - the PC goes into Standby mode, but when wakes up - I get a black screen and halt. If to roll back the BIOS/UEFI version to the older version F3 that I used before, then returning from Standby mode is normal. In general, for the correct operation of Windows XP, it is advisable to use the old BIOS/UEFI versions.
#4046 | XPWELL64 | ⇗ @YuriyCN What is your issue about Intel HD 530 Windows XP drivers? Can you find the source of error code with dependency walker? Can you give me the dependency name with issue? I can fix it and I will send you a new igxpmp32.sys + inf.
#4047 | daniel_k | ⇗ @gordo999 Glad to know it worked! ⇗ @YuriyCN Glad to know that my "last" driver, although it gives "Unknown Devices", at least it doesn't crashes or hangs (black screens) your PC. Will update the "final" driver. Thanks for testing it. Yes, I know that older BIOS have better XP compatibility, but as most of us dual boot or even multi boot our systems, I think we all agree that it's better to have a BIOS optimized for supported OSes and lose XP Standby.

#4048

daniel_k

⇗ @canonkong
Hi mate!
Can you please sign these INF files?
- Fine tuned NoNVME.inf to support Windows 7 with NVME hotfix in case someone needs it.
- Created a "null" MEI driver, to prevent Windows from installing Intel's crappy driver which is useless for us and prone to security issues.
- Both INFs are future-proof, with a 01/13/2030 date.
Thanks!

#4049

YuriyCN

> Zitat

> What is your issue about Intel HD 530 Windows XP drivers?

Where can I download the HD530 driver for WinXP?
On the official Intel website there is a version for Win7/8/10 only.

#4050

canonkong

⇗ @daniel_k
Signed, enjoy it.
canonkong has attached files to this post

- ⇗ No EMI NVME SIGN.zip

## Page 271

#4051 | XPWELL64 | ⇗ @YuriyCN Please download Dependency Walker and find the issue.

#4052

YuriyCN

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #4051

> @YuriyCN
> Please download Dependency Walker and find the issue.

I need a HD530 video driver to install through the "Device manager".
But I do not have this driver for WinXP. I have nothing to install.
I dont understand how "Dependency Walker" can solve my problem and what exactly should I do?
daniel_k
Today all day I experimented about Windows XP with different versions of BIOS/UEFI. There is a clear dependence: the older the BIOS/UEFI version -- the less problems there are with the installation and operation of Windows XP.
For my motherboard GA-H110M-DS2 there are such BIOS/EFI versions:
F1, F2, F3, F20, F21, F22, F23, F24.
I have 3 CDs with Windows XP installation - a clean installation with integrated SP3 (MSDN image) and 2 disks of different WinXP SP3 builds + upto 2017 updates. On older versions of BIOS/UEFI (F2, F3) - all 3 CD-ROMs are installed and work well. On the latest version F24 - only 1 CD is installed without problems. Unfortunately, the remaining 2 CDs are installed with different issues. For example, on one of the disks, at the first stage of the installation, I had to disable ACPI, otherwise I received a BSOD with error code 0x000000A5.
It would seem that the best option is to leave the old BIOS / UEFI F3 version and not to bother myself. But in the old version there is a big issue - a too large range of addresses (1.8GB) is reserved for devices (reserved memory). As a result, with version F3, in a 32-bit OS, only 2.2GB RAM is seen. I think it is abnormal.
When installing the latest version of F24 - this is not a problem. In 32-bit OC, 3.2GB of RAM is seen (800MB reserved). This is pretty normal, but as I wrote above, WinXP with the new version of BIOS/UEFI works worse. Do you have experience of finding and fixing the size of the Reserved Memory Area for devices in the BIOS/UEFI of the GA-H110M-DS2 motherboard?

#4053

IntiMD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4048

> - Created a "null" MEI driver, to prevent Windows from installing Intel's crappy driver which is useless for us and prone to security issues.

Wouldn't it be reinventing the wheel with that? ;)
If i do recall correctly the intel chipset inf files (at least in fernando's AiO) had already a null MEI/HECI inf to just fix that yellow bang.

#4054

daniel_k

⇗ @canonkong
Thank you very much!
⇗ @YuriyCN
I'm used to patch the DSDT table of Gigabyte BIOS.
If you are comfortable with flashing a modified BIOS, I can patch the DSDT table of your GA-H110M-DS2 for improved XP compatibility. Just let me know.

> Zitat von ⇗ IntiMD im Beitrag ¶ #4053

> If i do recall correctly the intel chipset inf files (at least in fernando's AiO) had already a null MEI/HECI inf to just fix that yellow bang.

My INF file has 52 device IDs.
Comparing with Fernando's pack, there are only 11 matches.
Most devices needing an actual MEI driver are not included in the Chipset driver, so no, I'm not reinventing the wheel.

#4055

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4054

> I'm used to patch the DSDT table of Gigabyte BIOS.
> If you are comfortable with flashing a modified BIOS, I can patch the DSDT table of your GA-H110M-DS2 for improved XP compatibility. Just let me know.

My MB: Gigabyte GA-H110M-DS2
⇗ https://www.gigabyte.com/Motherboard/GA-H110M-DS2-rev-10#ov
BIOS/UEFI version F3 works best for Windows XP. Please, patch this version.
⇗ https://download.gigabyte.com/FileList/B...110m-ds2_f3.zip

#4056 | XPWELL64 | ⇗ @YuriyCN There is red mark on the Dependency with issue.
#4057 | XPWELL64 | I''m currently working on Intel HDMI Audio for windows xp.
#4058 | XPWELL64 | ⇗ @canonkong ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD ⇗ @YuriyCN I'm learning reverse engineering. After that, I can patch the intel gpu drivers for debug. ⇗ @infuscomus I found 6.8 version of ida pro w/hex rays decompiler. I got used to IDA so I deleted relyze. There isn't any guide for Relyze. I found an XP compatible IDA Pro (not freeware). Relyze is not popular disassembler. I also prefer ollydbg because It is more basic than IDA.

#4059

YuriyCN

XPWELL64
IDA Pro with crack:
v6.5 - ⇗ https://rutracker.org/forum/viewtopic.php?t=4802739
v6.8 - ⇗ https://rutracker.org/forum/viewtopic.php?t=5129253
v7.0 - ⇗ https://rutracker.org/forum/viewtopic.php?t=5459068
v7.2 - ⇗ https://rutracker.org/forum/viewtopic.php?t=5748289
Hello daniel_k
I sent you a link to the binary of my BIOS version F3, that WinXP works best with. I ask to patch this file, and to reduce the amount of memory reserved for devices. Or is it a difficult task, and here is a high probability of breaking down the PC due to incorrect BIOS patching?

#4060 | XPWELL64 | ⇗ @YuriyCN I will patch vista drivers. Do you want to install vista? It is easier to patch it.

#4061

XPWELL64

⇗ @diderius6 ⇗ @canonkong
Vista driver comparison between original 1st and 2nd gen and 2nd and 3rd gen cpus:
For 1st and 2nd gen cpus:

    loc_180037F83:
    mov     [rsp+28h+arg_0], rbx
    call    memset
    mov     rbx, rdi
    mov     dword ptr [rdi+350h], 8086h
    mov     dword ptr [rdi], 16B8h
    add     rdi, 16B8h
    mov     [rbx+2C0h], rdi
    add     rdi, 480h
    mov     rcx, rbx
    mov     [rbx+288h], rdi
    add     rdi, 68h ; 'h'
    mov     [rbx+2B8h], rdi
    add     rdi, 370h
    mov     [rbx+2A8h], rdi
    add     rdi, 140h
    mov     [rbx+298h], rdi
    add     rdi, 5E8h
    lea     rax, [rdi+2000h]
    mov     [rbx+16A8h], rdi
    mov     [rbx+708h], rax
    call    sub_180037E50
    test    eax, eax
    jz      short loc_180038031

For 2nd and 3rd gen cpus:

    loc_180048D93:
    mov     [rsp+28h+arg_0], rbx
    call    memset
    mov     rbx, rdi
    mov     dword ptr [rdi+7C8h], 8086h
    mov     dword ptr [rdi], 1E50h
    add     rdi, 1E50h
    mov     [rbx+740h], rdi
    add     rdi, 480h
    mov     rcx, rbx
    mov     [rbx+708h], rdi
    add     rdi, 68h ; 'h'
    mov     byte ptr [rbx+7C0h], 1
    mov     [rbx+738h], rdi
    add     rdi, 368h
    mov     [rbx+728h], rdi
    add     rdi, 140h
    mov     [rbx+718h], rdi
    add     rdi, 628h
    lea     rax, [rdi+2000h]
    mov     [rbx+1E40h], rdi
    mov     [rbx+0BD0h], rax
    call    sub_180048C60
    test    eax, eax
    jz      short loc_180048E48

`480h 68h 140h` are same. Are they from 2nd gen cpus?

#4062 | YuriyCN | Why daniel_k stopped visiting this forum. He has not been online since January 14. We worry, who has the information?

#4063

Duke Solo

Hi guys!
Is it possible to run up windows xp 32bit on gigabyte B450M motherboard?
I have tried acpi.sys from post 2225, and some other, but unsuccesfull - i've got BSOD A5 (0x3
also i've tried ISO (⇗ https://piratebay.surf/torrent/34952867/...ition_2019.11.1) with same result
BIOS is CSM Enabled, but version is F41, software downgrade seems impossible...

#4064 | infuscomus | ⇗ @daniel_k ⇗ @diderius6 BSOD A5 0x3 any ideas?

#4065

YuriyCN

> Zitat

> Is it possible to run up windows xp 32bit on gigabyte B450M motherboard?
> I have tried acpi.sys from post 2225, and some other, but unsuccesfull - i've got BSOD A5 (0x3
> also i've tried ISO (⇗ https://piratebay.surf/torrent/34952867/...ition_2019.11.1) with same result
> BIOS is CSM Enabled, but version is F41, software downgrade seems impossible...

Read carefully what I wrote earlier.
In a standard way, the BIOS downgrade is blocked.
Use Intel Flash Programming Tool (FPT) for downgrade to older versions.

> Zitat

> Today all day I experimented about Windows XP with different versions of BIOS/UEFI. There is a clear dependence: the older the BIOS/UEFI version -- the less problems there are with the installation and operation of Windows XP.
> For my motherboard GA-H110M-DS2 there are such BIOS/EFI versions:
> F1, F2, F3, F20, F21, F22, F23, F24.
> I have 3 CDs with Windows XP installation - a clean installation with integrated SP3 (MSDN image) and 2 disks of different WinXP SP3 builds + upto 2017 updates. On older versions of BIOS/UEFI (F2, F3) - all 3 CD-ROMs are installed and work well. On the latest version F24 - only 1 CD is installed without problems. Unfortunately, the remaining 2 CDs are installed with different issues. For example, on one of the disks, at the first stage of the installation, I had to disable ACPI, otherwise I received a BSOD with error code 0x000000A5.

## Page 272

#4066 | infuscomus | ⇗ @YuriyCN Duke Solo has an AMD B450 motherboard, so using Intel Flash Programming Tool (FPT) for downgrade wont work for him.

#4067

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #4066

> @YuriyCN
> Duke Solo has an AMD B450 motherboard, so using Intel Flash Programming Tool (FPT) for downgrade wont work for him.

Versions from the Intel website for my Intel H110M chipset also did not work.
I used this version - ⇗ http://www.mediafire.com/file/p66jhts7cf...pt_DOS-Z170.zip
Sorry, I didnt pay attention that this is AMD.

#4068 | diderius6 | ⇗ @infuscomus We need to know the whole BSOD A5 (0x00000003, xxx,yyy,zzz) for the AMD Gigabyte B450M motherboard. In the meantime, test acpi.sys from outer space ) in post 3219 Dietmar
#4069 | XPWELL64 | ⇗ @canonkong Can you mod the Windows XP 32 bit Intel HD graphics?

#4070

gordo999

> Zitat von ⇗ Duke Solo im Beitrag ¶ #4063

> I have tried acpi.sys from post 2225, and some other, but unsuccesfull - i've got BSOD A5

@DukeSolo ...how did you insert acpi.sys into XP? You can't do it directly otherwise the system file checker will replace it. You need to do it offline, from an external OS, like a system with XP and W7 dual-booted and W7 as the boot drive..
I ran SPF and it removed the modded acpi.sys. I had to find where it got it's files from and insert the modded acpi.sys offline so that when SPF tried to replace the file it used the modded acpi.sys

#4071 | XPWELL64 | ⇗ @diderius6 A user named ⇗ @canonkong on this forum doesn't listen us. I told him to mod the XP 32 bit and Vista 64 bit driver but he didn't reply. I think he should stop only working on Win7 and start working on XP and Vista 32 bit graphics drivers.
#4072 | canonkong | @ XPWELL64 I have no experience in modifying XP and Vista systems. One is that they have a long history, and the other is that they not have any effective drive source. I toke a lot of time to modify the drivers for win7 and win8.1 because they are more people use.
#4073 | XPWELL64 | ⇗ @canonkong But Vista drivers looks same as 7 drivers because of 64 bit architecture.

#4074

gordo999

> Zitat von ⇗ canonkong im Beitrag ¶ #4072

> I have no experience in modifying XP and Vista systems.

⇗ @canonkong ...You did a good job with the W7 USB driver for modern chipsets (eg. B360M). It worked on mine and I have all of my USB ports working on W7. Thank you. Thanks to ⇗ @daniel_k, I have all my USB ports working on XP as well on the same chipset.

#4075

daniel_k

⇗ @YuriyCN
I have been busy.
For safety reasons, I always check the BIOS before and after modification with UEFITool_NE, to see if there are any warnings, as this version does additional verification that the "regular" UEFITool doesn't do.
There are some messages or warnings we need to be careful with, I believe.
See these screens:
⇗ ⇗
⇗ @Lost_N_BIOS, are those messages critical when modifying the BIOS or they can be ignored?

#4076 | YuriyCN | ⇗ @daniel_k Maybe my motherboard GA-H110M-DS2 has a hidden menu in BIOS/UEFI with advanced options? If this menu is available, please unlock advanced menu for BIOS/UEFI version F3.
#4077 | infuscomus | ⇗ @diderius6 can we solve the ACPI BSOD when using XP in a KVM VM? I would like to be able to have the option to use XP inside KVM with hardware passthrough in the future once CSM is fully removed from UEFI in the near future.
#4078 | diderius6 | ⇗ @infuscomus What is the exact ACPI BSOD in the KVM VM? And is it always the same BSOD, not depending on which machine this VM is running Dietmar
#4079 | infuscomus | ⇗ @diderius6 the BSOD is A5 0x0000014 It's the same on BSOD on any physical machine running KVM, it does not matter which hardware your physical machine has, so I think the problem must be inside the ACPI code of KVM hypervisor itself
#4080 | diderius6 | ⇗ @infuscomus Please write the exact ACPI BSOD, something is missing Dietmar

## Page 273

#4081 | infuscomus | ⇗ @diderius6 i posted the BSOD earlier in post #3132 ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (209)

#4082

diderius6

0x14 : ACPI_PNP_RESOURCE_LIST_LENGTH_TOO_LARGE
The current buffer that ACPI was parsing
⇗ @infuscomus
This BSOD means:
1.Variable: The buffer's tag
2.Variable A pointer to a variable that contains the ULONGLONG length of the buffer
3.Variable ACPI could not parse the resource descriptor. The length exceeds MAXULONG.
Have you tried also the acpi.sys from outer space? This seems to be a strange error. When all are 64 bit, how can this happen
Dietmar

#4083 | Duke Solo | Guys, regarding AMD B450 chipset. I have tried acpi.sys from post 3129 with same result. SFC is completely disabled (zero file list method). Exact BSOD is 0xA5 (0x3,0x895741E4,0xC0000034,0x494E495F)

del-1

diderius6

Hi,
a little bit off topic,
but has anybody here in the forum has been able to install Win98SE with all drivers on a IBM ThinkPad T43 laptop with discrete graphic card x300?
If yes, I think this would be the only notebook,
where everything works from win98 to Win10^^
Dietmar

#4084 | infuscomus | ⇗ @diderius6 outer space same error If you not afraid of using linux, you can setup KVM yourself to confirm the result.

#4085

XPWELL64

⇗ @diderius6
Method (_INI, 0, Serialized) // _INI: Initialize
{
TBPE = One
OSYS = 0x07D1
If (CondRefOf (\_OSI, Local0))
}
What does it mean? I modified OSYS = 0x07D1 from 0x07D9

#4086

diderius6

⇗ @XPWELL64
This change the versionsnumber back to 8 numbers, I think from Win7 to NT4?
Which OS belongs to which OSYS number is described at the beginning in DSDT.
I think, the number has to be changed at other places also.
But do this only, if you are sure what this changes are doing
Dietmar

#4087 | XPWELL64 | ⇗ @diderius6 0x07D1 This is XP!!!!!!!!!!!!

#4088

XPWELL64

⇗ @diderius6
I found that why Vista can run on ACPI on newer PCs Please read this text has taken from Microsoft (maybe it is wrong).The website says Windows operating systems return 0xFFFFFFFF if the argument to the _OSI method specifies an earlier version of Windows. For example, Windows 7 returns 0xFFFFFFFF for both "Windows 2009" (Windows 7) and "Windows 2006" (Windows Vista). Windows 7 equals 0x07D9.
0x00000000 if the operating system does not support the version in the argument.
0xFFFFFFFF if the operating system does support the version in the argument.

#4089

Andalu

XP seems don't work on asrock H310M-HDV. I tried both a fresh installation and the image restoring from a working XP with no success. I got the A5 BSOD for all the acpi sysfiles found on this forum except for this ¶ acpi.sys for which I got the 7B error.
Any suggestion?

#4090 | XPWELL64 | ⇗ @Andalu Did you try DSDT.aml patching? I don't prefer ACPI.sys because of more bugs such as bsod at installation, ACPI specific issues. Use the ⇗ @Mov AX, 0xDEAD's dsdt patcher at boot time. Search this term to google and follow the steps. You have to try at least two times to finish installation with custom acpi.sys.
#4091 | Andalu | ⇗ @XPWELL64 It is the first time that I am unable to install XP due to an acpi error. Unfortunately, I have never been able to understand how to use the ⇗ @Mov AX, 0xDEAD's dsdt patcher or another dsdt patching method. In the past all my attempts have been unsuccessful
#4092 | XPWELL64 | ⇗ @Andalu ⇗ @Mov AX, 0xDEAD tells you all steps here: ⇗ https://msfn.org/board/topic/179059-acpi...r-at-boot-time/

#4093

Andalu

⇗ @XPWELL64
thank you for the link. I had read this similar thread of ⇗ @Mov AX, 0xDEAD:
⇗ http://reboot.pro/topic/22051-acpi-patcher-at-boot-time/ (at the moment not reachable)
I'm still stuck at step 4)
from the point 5) and following I have many difficulties to understand how to proceed
Please keep in mind that I am still unable to modify a dsdt table. I never found any guide on the net.

#4094

diderius6

Hi,
I just do USB boot to XP SP3 on a ThinkPad T43 via SSD.
This is much faster than the original IDE harddisk^^.
Now I try to install really every OS (NT4, win95, win98, Linux..) on this nice machine
Dietmar
⇗

#4095 | XPWELL64 | Where did you find it? I will buy an Intel g31 because there is a new motherboard. I don't like second hand unless I get it from the most trusted store.

## Page 274

#4096

gordo999

Just wondering which version of HAL I should be using on XP? I have an Asus B360M, with an Intel 300-series chipset. Just noticed that my HAL version in system32 is hal.dll ver. 5.1.2600.5687. I am using a modded acpi.sys from this blog and it works fine but should I be using a different HAL?
Everything is working much better than expected except I still have no LAN drivers. Have full USB, no BSODS. I am running an AM10 USB Cisco wireless adapter and I can get on the Net, but all of my browsers run very slow and are not usable. Internet Explorer ver 8 runs good enough to do some basic downloads but Firefox and Opera 36 wont run at all. Had older versions of Firefox and Opera before but same problem.
My NVidia GT - 730 works fine for games but the other day while using windbg the NVidia driver nv4_disp.dll crashed part way through a debug session. Error 0x50 which is related to a memory problem. My memory is good. There are so many NVidia driver packages I don't know which one to use. My current is 340.52. Read about a modded nv4_disp that is available, does anyone know anything about this?

del-2

diderius6

Hi,
hard job to install Win98SE with all needed drivers on the ThinkPad T43.
But now I have them all: Lan, sound, USB2, grafikdriver which works only after an *.inf modifikation for the Radeon mobility x300
Dietmar
PS: I miss only a good browser^^..
⇗

del-3

dencorso

> Zitat von ⇗ diderius6 im Beitrag ¶ #del-2

> PS: I miss only a good browser^^..

Not anymore. Get Retozilla: ⇗ https://msfn.org/board/topic/174987-retr...comment=1175917

del-4

IntiMD

> Zitat von ⇗ dencorso im Beitrag ¶ #del-3

> > Zitat von ⇗ diderius6 im Beitrag ¶ #del-2

> > PS: I miss only a good browser^^..

> Not anymore. Get Retozilla: ⇗ https://msfn.org/board/topic/174987-retr...comment=1175917

Either that or Opera 10.70 build 3488 for vanilla 98 (w/o KernelEx)
⇗ https://retrosystemsrevival.blogspot.com...windows-95.html
here's a nice compendium of browser and the old OS compatibility:
⇗ https://www.vogons.org/viewtopic.php?f=24&t=12102

del-5

gordo999

> Zitat von ⇗ IntiMD im Beitrag ¶ #del-4

> Either that or Opera 10.70 build 3488

⇗ @IntiMD ...I am running Opera 9 for certain functions on W7 but it does not work well on many sites. For some reason, none of my browsers will run well on XP with the 300-series chipset. Sadly, Internet Explorer 8 is the only one that function half decently. I'm wondering if it has something to do with the lack of a network driver. There is also the possibility that I messed something up in the registry. I had to convert all references to the D:\ drive, where I had XP installed, to C:\. I don't want to do a fresh install because I have so many old apps loaded on XP and reloading them would be a nightmare. Looking at a repair install but that leads to other issues, like getting all the updates re-loaded.

del-6

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #del-2

> hard job to install Win98SE with all needed drivers

@diderius6... Dietmar...are you aware of the work done by the late R. Loew with win98? Google 'r.loew windows 98' and see what comes up. If you can't find anything I can get a Wayback Machine link for you.
Just found it:
⇗ https://archive.org/search.php?query=creator%3A%22Rudolph+R.+Loew%22

#4097 | juk777 | I welcome you, dear! Prompt, please, the worker acpi.sys for Windows XP x64 on Ryzen... Thanks...
#4098 | MVoloshin | Hello, could you give me the links to most stable modded acpi.sys and storahci.sys versions, please?

del-7

diderius6

⇗ @dencorso
I tried a lot of browsers for Win98 SE.
The best one is the one you told about, Retozilla.
It is fast and shows every website.
But on youtube it cant show videos, I think because of HTML5.
But for daily use just just looking news,
Retozilla can be used in 2020:))
Dietmar

#4099 | diderius6 | ⇗ @MVoloshin Take a look at post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (255) Dietmar

#4100

gordo999

> Zitat von ⇗ genieautravail im Beitrag ¶ #3822

> XP displayed a message sayng that the USB hub doesn't have enough power for running the device...

⇗ @genieautravail you could try an external USB hub that supplies its own power. The output current is independent of the input current from the USB port.

#4101

ruthan

Hello,
thanks all for this work, especially Diderius6+Daniel+ MovAX0xDEAD , i started with XP on Z370 (GB Aorus ultra gaming) (Z170 was easy) almost 2 years ago, later i tested Daniels moded bioses. I remember when i after zillion tried made Xp install on with with automated install because even PS/2 port where not working.. and later managed to integrate network drivers and connected through vnc or remote desktop and slowly made thinks working to make possible actually used machine..
Well as maybe some know my goal, is multiboot gaming machines, i made some fastest and as possible DOS with PCI Sound to Windows 7 x64 machine(max is X58/ X79), i have on every machine Linux (or more of them) too and on main ones have Mac OS too.
Gaming is important because otherwise you can just use virtualization(real one - Vmware Workstation/Fusion), which is working quite good for non gaming stuff. I spend also some time with Unraid, where you can passthrough videocard to guest. Its working, but has lots of disadvantages.. and only main advantage - you can run on one machine multiple - machines in parallel without rebooting. I dont follow last 2 years progress but there wasnt possible to simply switch USB devices, so i needed lots of cables and KVM switches.
Main difference which is generation my goal, is that you need much more PCI-E slots to have some special devices for target os. So you need multiple videocards (XP support ends with Geforce 9xx), sounds card, disk controllers and every saved slot big victory (good placement you components because videocards are often is 2 slots.. is quite puzzle game). So for example make integrated lan in XP matters.
From gaming perspective is XP 64 dead end, so im not interested.
I read whole thread, here are my notes, sorry for lenght, but it was lenghty reading too, so im giving you your own medicine:)
1) This thread is behemoth, can some make some Wiki or at least some Google shared docs with some main info and keep there links to all important and proven working patches? Its disable by Forum rules, we can make at least some mega summary post amd the start of some thread.
Maybe we can add some collection of lastest XP drivers or something like that.
2) What you thing about X299 platform, there is lots of Z370 / Z390 users, but there are even more power CPUs (yeah nosier too, you need water cooler) and much more PCI-E lines 16 vs 28/44 - what is great epecially for multiboot machine, when you need 2/3 parallel GPUs and M.2 disk are PCI-E eaters too.
3) Why PAE matters? If you have really adjusted system with lots of apps, from my experience PAE mode (old Dibya patch) with more than 3.X GB of RAM is much
smoother and there is less micro freezes, when is working.
And believe me that i have 2 quite loade and fully configured system images ~15 years old (Z97,X99,X58,it ran on AM3,FM2,Z170,X99 too), second 12 years old (Coffelaked now) XP installs, which survived lots of CPU and MB changes (P2P and P2V tools are you friend, low level guys will tell that its just sysprep for dummies, but i dont need to do everything on lowlevel.). Because i really hate that you must reinstall it because of problem.. bla, bla.. and proven that there is other way, when there is will.
If you think that for DOS PCI audio, you just need PCI slot (there are still Z370 MBS with PCI slot), you are wrong, there are details:
⇗ https://www.vogons.org/viewtopic.php?f=62&t=24769
⇗ https://www.vogons.org/viewtopic.php?f=46&t=63773
4) If im not wrong, there are still not intel 218,219? It means that - 217 is ok? On MSFN, BearnWindows tried simply mod *.inf - no luck too. Some MB have Killer 2500 lan adapters (i read that depends on revision, which ones are ok?), can at least their drivers could be fixed for WinXP?
5) Other thing which make XP line mode problematic, manage someone get 3 monitors working (Nvidia 9xx cards supports i thing up 4 monitors)? I can manage do get working only 2 in XP, regardless of card, i thing that is Nvidia driver limitation.
6) There is lot of USB talk, but anything about USB firmware (and we are on win-raid:), at least for addon USB3 cards there are newer firmware, maybe this sometime could make a difference? BTW i dont see here much talk about NEC and Reneses USB3 cards they are working too in WinXP.
7) Is in some Device manager screenshots are both ACPI multi procand MPS multi proc.. Its it ok?
8) There was some Win98 talk, there main problem are really videocards drivers,because only very old cards are supported - you need some PCI-E gen1 - Geforce 6xxx (Geforce 7 even with Rloew patch is lost cause for gaming,Geforce 5 PCI-E / PCI are rare) or Radeon X300-X850 and even them are too modern for some games. Other problem is that at least some newer MBs (Z370) simply throw away PCI-E gen1 cards support and cant boot with them, simply behave as these cards are not pluged in.
If someone can fix it, or find some new MB, which is still suporting them, it would be nice.
If dont want mess with forcing OS to disable some gpu make other primary, what is half working (infamous dual dual stunt). You need Gigabyte or HP O.E.M MBs which are only ones which has in bios primary GPU slot selection - so you can make bios profiles per OS and with multiple display cables and monitor inputs or hdmi switches you can make it working fine.
Only other solution and probably only possible future.. unless some direct GPU Passthroug of whole GPU to virtual machine is drive new open source GPU drivers from the scratch.
New video cards have enough horsepower that you can waste u dunno 95% of its performance and even that performance would be greater that Win98 fastest videocards. Im a bit dissapointed that there are lots open source Linux graphics drivers, graphical API translators etc..but nothing for Win98.. ve have only generic 2D drivers, without any Direct3D/OpenGL support, i thing that is possible to write them.
Otherwise there is lots of urban legends about that Win98 are not supporting PCI-E, its just lie - if you have drivers, its working at least - videocards, storage controllers and Nics can work.. Chipset drivers - for modern MBs, are not exists, but you dont need them, if want just have right names for devices are some null drivers (Lone Crusader made some package).
You really need only storage drivers - unless you get generic 2MB/s transfers.. btw lost of disk benchmarks for Win98 just reporting non senses, just copy files.
Rloews Sata and AHCI drivers (i tested them at least with Z170) are working fine, dont forget that in Win98 you have to enable DMA for every disk usually manually otherwise again - 2MB/s "fun".
9) Managed someone to boot modern Mac OS through Grub2, or only way is still Clover and other Mac specific bootloaders? rEFIfind alone is hell from my point of view.
10) There some MBs without PS/2 and its USB issue, there some some cheap PCI/ PCI-E cards, would be possible make them working with XP installer?
11) Regarding of 900 MB RAM in XP instead of 3 GB, i had this problem with some MSI X99 board (no moding or special ACPI needed).. Its just bad Bios design, there is some like memory map or areas and they are just made for much modern OS.. and make these problem with XP.
Details are here:
⇗ https://msfn.org/board/topic/176845-xp-p...-available-why/
In some supermicro manuals you can even find details, who these areas are designed on some MB, so it could be adjusted if you can mess with EFI code, unless is connected with bad HW design too.
There is lots of claims that is GPU related, but i thing that is miskate, i did lot of testing that and usable memory was always the same regardless of used videocard.
12) DOS full screen hang its on Nvidia present even in Win98 - its never fixed old bug, i thing that you can simulate it even with classic vanilla XP install on old supported HW.
13) If someone care about last just supported without moding XP MB its B75, where PCI DOS sound is still working and it already has EFI (XP im booting in legacy mode) and primary videocard slot selection in case of Gigabyte. For installation you just need switch in bios storage controller to IDE.
14) Dos with Win98 even with 3dfx can be now covered quite good with PCem emulator,
and there is even progress on Vmare Dos SB16 emulation:
⇗ https://www.vogons.org/viewtopic.php?f=62&t=69314
And you never know what QEMU will bring to table.. its probably most ambitious SW project with all its supported architectures.. but it strungle with missing Windows GUI and other things for years.
15) If searching some ultimate multiboot NIC, its Broadcom 5721 gigabit NIC, which is running from Win98-Win10, Linux too, unfortunately no MacOS afaik (i thing that it could be added to universal driver, but i wasnt able to reach author -
⇗ https://www.tonymacx86.com/threads/fakep...17#post-1887882 ), there are Mac OS Broadcom suppoted NIC, but this one is not added. On some MBs, is working even in pure Dos with native packet drivers (MS dos networking stack is crapp).
16) BTW Has someone working 10Gbit NIC with WinXP?
17) If want make install more smooth there nice cheap (<10$) ASM PCI-E 106x storage controllers, which IDE bios too, so you can bypass AHCI stuff install XP and care about storage controllers(Fernando drivers) later and have fallback possiblity.
18) I have bad memory, but for those who are still using CDs, im sure XP install worked fine with Rufus, Yumi or Sardu. ISO was loaded into ramdisk before installation. Im using same way for Win98 installs too.
19) Other not discussed problem here is non System GPT disk access from XP, its handy for share data. Im using paid Paragon GPT loader for it for years, its working fine, with most of disk controllers.

#4102 | genieautravail | ⇗ @genieautravail you could try an external USB hub that supplies its own power. The output current is independent of the input current from the USB port. No more issue with the latest release of WinXPPAE !

#4103

YuriyCN

Windows XP SP3 + Intel RSTe AHCI/RAID driver v4.7.0.111 ⇗ Intel RSTe AHCI/RAID driver v4.7.0.1117 for Windows XP/Server 2003
1TB HDD drive (SATA 2):
Read speed = 100-110 MB/s; Write Speed = 80-100 MB/s
250GB SSD drive (SATA 3):
Read Speed = 180-200 MB/s; Write Speed = 85-90 MB/s
Windows 7 SP1
1TB HDD drive (SATA 2):
Read speed = 110-120 MB/s; Write Speed = 90-100 MB/s
250GB SSD drive (SATA 3):
Read Speed = 490-500 MB/s; Write Speed = 420-430 MB/s
Why does the SSD drive slow down on Windows XP?
Is it possible to increase disk performance?

#4104

diderius6

Hi,
I just succeed to install Win7 with all drivers, USB, sound, lan, wlan, grafik
on the nice notebook IBM T43 thinkpad.
Now I am going to Win 8.1 where I notice a problem with drivers for the IDE harddisk,
until now no solution
Dietmar
PS: On the Pentium M 770 you can enable the NX memory protect bit, which I think is necessary from >=win8.

#4105

AbdullahTrees

Hello Guys!
I've installed Windows XP SP3 on a 2012 Laptop (HP Envy m6-1105dx) as I'm using it as a semi-portable retro-arcade machine. By using driverpacks and Easy2Boot, I've managed to make my system 90% usable. Everything works; from Graphics to Sound to Networking, and the speed is quite good too. There's just one problem: The laptop has 4 USB ports, 3 USB 3.0 ports and 1 USB 2.0 port. Only the USB 2.0 port works, and I'm trying very hard to install USB 3.0 drivers so I can at least use the USB ports like a USB 2.0 port for things like a keyboard and mouse, but to no avail.
According to Device Manager: Other Devices > USB Controller(Yellow Question Mark)
Hardware ID: PCI\VEN_1022&DEV_7812&SUBSYS_18A6103C&REV_03\3&2411E6FE&0&81
Hardware ID: PCI\VEN_1022&DEV_7812&SUBSYS_18A6103C&REV_03\3&2411E6FE&0&80
I've found drivers for my system from ⇗ here (USB 3.0/3.1 Drivers (original and modded)), pointed out to me by Fernando and IntiMD, but after following the instructions on the page (who knows, maybe I messed up somewhere?), I successfully installed the drivers for the Controllers, but I find no devices which accept the drivers in the folder 'for Hub'. The end result is that I have two unknown devices...
Other devices > [Yellow Question Mark] Unknown Device > Device Instance ID: AMDUSB30\ROOT_HUB30\4&8A736FC&0
Other devices > [Yellow Question Mark] Unknown Device > Device Instance ID: AMDUSB30\ROOT_HUB30\4&A1279A9&0
But I can't find drivers for these two. I tried searching DriverPacks with the Devices Instance ID, but it gives an error saying that the installation failed ⇗ cause the .inf file was made for Windows 95 or later (which doesn't make sense cause Windows XP IS after Windows 95). I'd appreciate any and all help on this issue: It's so frustrating to have a perfect Windows XP Setup with just one major flaw, unusable USB ports... Thanks in Advance :D

#4106

diderius6

Yesssa,
now I succeed to install win98SE, XP SP3, Win7, Win8, Win8.1, win10 32 bit from November 2019 on
the Thinkpad T43.
The problem was, that only Win7 likes to stay on the IDE harddisk together with XP.
When XP with ntldr is gone, you can install win10 on the IDE harddisk
Dietmar
EDIT: Seems, like I was happy to early: At the end of the Win10 installation the compi crashes with
Irql not less or equal, hm..

#4107 | Zix | Is there anywhere all latest required files in one bundle? Id like to try on Ryzen, thank you all

#4108

IntiMD

⇗ @AbdullahTrees
⇗ https://www3.zippyshare.com/v/Njphl3Sp/file.html
Replace the original inf file from the 'for Hub' folder with the one in the link. The reason why this strange error happens is that there were no entries for NT 5.1 in original inf.
Let me know if this works, and if it was enough to make it work and behaves stable, then it would be nice to let Fernando know so as to update the pack (or alternatively add a modified package alongside it)

> Zitat von ⇗ diderius6 im Beitrag ¶ #4106

> Yesssa,
> now I succeed to install win98SE, XP SP3, Win7, Win8, Win8.1, win10 32 bit from November 2019 on
> the Thinkpad T43.
> The problem was, that only Win7 likes to stay on the IDE harddisk together with XP.
> When XP with ntldr is gone, you can install win10 on the IDE harddisk
> Dietmar
> EDIT: Seems, like I was happy to early: At the end of the Win10 installation the compi crashes with
> Irql not less or equal, hm..

⇗ @diderius6 What exact Pentium M Dothan CPU model does this laptop have? In thinkwiki it is to be said that bunch of CPU models doesn't report the PAE and NX flags support, even though the core is said to support said flags.

> Zitat

> Physical Address Extension (PAE)
> Most modern Linux distributions use PAE kernels which will fail to boot if this feature is not present in the CPU. The Dothan core is said to support PAE even though it doesn't report the feature to the operating system. As a workaround, kernel parameter forcepae can be used to successfully use PAE-kernels on any Dothan core.
> All second generation Dothan models with a 533 MHz FSB and some newer model first generation Dothan cores with a 400 MHz FSB do report PAE and NX in their CPU flags. All others must use the workaround.
> Note: As a direct result, when the CPU flag PAE and NX (No eXecute, the XD-Bit) is not reported, 32-Bit-Windows starting with Windows 8 will also not run (Windows doesn't have a forcepae option), leaving 32-Bit Windows 7 the last supported Windows operating system on Pentium M CPUs before the second generation Dothan core.
> source:⇗ https://www.thinkwiki.org/wiki/Intel_Pentium_M_(Dothan)

You might also want to fool around with the other supported Windows 10 builds (especially the LTSC or LTSB ones: 2019 (1809), 2016 (1607) and 2015 (1507); Check these links for comparision of each editions: ⇗ https://old.reddit.com/r/Windows10LTSC/wiki/comparison + ⇗ https://forums.mydigitallife.net/threads...019-ltsc.79358/; Worth lurking the entire LTSC wiki on reddit. nice unofficial knowledge base)

#4109

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4106

> The problem was, that only Win7 likes to stay on the IDE harddisk together with XP.
> When XP with ntldr is gone, you can install win10 on the IDE harddisk

⇗ @diderius6 ....Dietmar, the problem seems to be with the EFI BIOS used by W10. It will allow W7 to be dual booted but not XP. My W10 installation initially used a BCD boot system but somehow, while playing with it, I converted it to an EFI bios. Now I am looking for a way to convert back to a BCD boot system. IF W10 is BCD-based it should allow a dual or triple boot with XP, would it not?
I use separate drives for each OS. I have not yet tried to triple boot them from the same boot menu and I don't care if I do. I am currently dual booting W7 and W10, and when I need XP, I unplug W7 and W10 while running XP by itself.
Here's an article that talks about this situation.
⇗ https://neosmart.net/wiki/easybcd/dual-boot/windows-xp/installing-second/

#4110

diderius6

⇗ @IntiMD ⇗ @gordo999
I have the Pentium M 770, 2.13 GHz with FSB533 (TDP: 27 W), with XD-Bit.
I put all UEFI away during install.
Now I think, the BSOD very late during install of Win10 vers. 1909
belongs to this special Win 10 32 bit version.
Win 8 pro 32 bit I can install without problems on the T43, see photo
Dietmar
⇗

## Page 275

#4111

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4110

> Now I think, the BSOD very late during install of Win10 vers. 1909
> belongs to this special Win 10 32 bit version.

⇗ @diderius6 ...I am trying to install ver 1909 right now as an update on an old laptop. Don't have BSOD but it complains about my system being on a USB device. Research tells me it's likely related to old updates being incomplete and one solution is to run the W10 troubleshooter for Windows Update. It did find issues.

#4112

XPLives

⇗ @Fernando, ⇗ @Lost_N_BIOS
--- Win-Raid moderator attention needed ---
This XP / 2003 32-Bit thread is already bloated enough to not include 98SE posting.
Off topic thread/posts must be moved to where it will be much easier to find and flourish.
Move the following posts to the proper designated thread:
OS related Topics » DOS/Windows 3.X/9X/ME - Retro Gaming
⇗ DOS/Windows 3.X/9X/ME - Retro Gaming
New thread title of start post #4084 to be #1:
Post #1 (original #4084)
Installing 98SE to Windows 10 - ThinkPad T43
Creator:
Diderius6
All Posts below to be relocated:
Post #1
#4084 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4095 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4098 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4099 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
Post #5
#4100 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4101 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4102 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
#4105 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
Post# 9
#4108 | RE: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
My Dencorso 2 cents $0.02.
XPLives
EDIT by Fernando: I have partly done what you requested. The previous posts #4084, 4095, 4098-4102 and 4105 have been moved into a separate thread named "[How to] Install Win98 onto a ThinkPad T43" within the Sub-Forum "DOS/Windows 3.X/9X/ME - Retro Gaming". Regarding the other posts you have listed I am unsure, because they are about other Windows Operating Systems as well.

#4113

ruthan

Well i personally liked it more before only with space moderation.. sometimes wild is better. I though about why such thread is no elsewhere in positive way.. for example on MSFN.. and it was because of lack of moderation.
I dont mind few post about quantum computers here etc. I dont modere anything, unless some vulgar posts. That attitude to judge someones posts and telling him that some post is not good enough, it dont feel right to me.
Try to clean 4000 post thread, good luck.

#4114

Fernando

> Zitat von ⇗ ruthan im Beitrag ¶ #4113

> I dont modere anything, unless some vulgar posts. That attitude to judge someones posts and telling him that some post is not good enough, it dont feel right to me.

Nobody told anybody, that his/her post(s) are not good enough, but each Forum member should pay attention, that his/her contribution matches the title of the thread and the title of the related Sub-Forum.
A Forum visitor, who wants to know how to get Win98 installed onto a modern PC/notebook, will probably not search within this thread.

#4115

XPLives

⇗ @ruthan

> Zitat von ⇗ ruthan im Beitrag ¶ #4113

> Well i personally liked it more before only with space moderation.. sometimes wild is better. I though about why such thread is no elsewhere in positive way.. for example on MSFN.. and it was because of lack of moderation.
> I dont mind few post about quantum computers here etc. I dont modere anything, unless some vulgar posts. That attitude to judge someones posts and telling him that some post is not good enough, it dont feel right to me.
> Try to clean 4000 post thread, good luck.

In your original post, "1) This thread is behemoth, can some make some Wiki or at least some Google shared docs with some main info and keep there links to all important and proven working patches? Its disable by Forum rules, we can make at least some mega summary post amd the start of some thread.
Maybe we can add some collection of lastest XP drivers or something like that."
You were complaining about the thread being a behemoth which I do not disagree. The XP thread which was previously not titled "Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware" but later I suggested it to be renamed to the current thread title. But In addition, the thread posts was around 2500 then and I wanted to help separate the thread into searchable sub-topics at the time which it could be broken into such as ACPI, USB 3.0, and a few others I forget at the moment. However since the moving of such messages required moderator access it would not be possible as well as voiced opposition from Dencorso and Diderius6 said it would kill the thread so I was unable to do what you had hoped and why the thread is the way it is currently. So unfortunately this burden you are expressing cannot be resolved. I no longer have the time to carefully dissect it properly and it has since then bloated to 4000 messages. So if you had wanted the proper separation of the thread into a more readable and manageable form for users that time seems to have passed when you were away. :(
Had more users spoken up in support of me fixing the thread properly what you asked for would have happened. Sorry is all I can say.
The moving of those 98SE OS type messages is good as even other OS threads could use activity. It is already tough enough for a newcomer to read through 4000 messages to get the necessary information they wanted. As for the off topic post about quantum computers if it is a single post I'm sure it will slip by and probably not a huge issue. But since the series of 98SE related posts and followups began in rapid succession it was better to suggest moving it into the appropriate OS sub topic that was already created and available over a year ago to be used should more follow up posts related to the same 98SE topic be added to that topic would be surely welcomed there. There was a danger that more follow up 98SE type posts would continue to be added into the XP / 2003 thread. Why make it harder for newcomers to now have to sift through both 98SE and XP messages? Now it is properly relocated by Fernando people can find and post more on the same topic as much as they want. So only small preventative measures can be done if caught early than waiting weeks/months when hundreds of posts have happened. This time it was caught early enough.
Also your post should have been moved too but there was XP related comments so I assume Fernando decided it was in the middle and left it there. Since I had intended to respond to your post regarding the 98SE subject to prevent adding more bloated messages to the XP thread now I cannot. I might try and quote those parts of the message and post in the 98SE subtopic for you.
I do disagree that MSFN does not moderate their own threads. I've seen plenty of messages posted there in the wrong topic moved or deleted. In fact I think they are more stringent on this. It's also possible they have become more relaxed on this because most of the moderators are funding the donations to keep that site alive. But I've seen them ban people who don't follow the rules so I disagree again they don't pay attention.
2) X299 should work with XP 32-Bit. The XP Pro 64-Bit would require a modded ACPI.sys or BIOS MOD. Again this is speculation based on how Z370 works which is newer than X299.
3) PAE. Just use the standard XP 32-Bit and Ramdrive software or use Server 2003 32-Bit with proper PAE memory access. Don't mess with the hacks unless you don't intend it to be used on a stable 24/7 system or just used for non serious nature.
4) i-218 I believe driver exists. i-219 No luck.
5) Try using nVidia and AMD (1 card each). Should avoid driver conflict. Although I noticed last AMD driver causes problem with nVidia cards BSOD.
6) Just use USB 3.0 PCIe card if you can afford. You can try modded USB 3.0 driver from DK but ymmv on stability/functionality.
7) Not sure why both. Usually either MPS or ACPI is shown.
8) Will address in a 98SE post for you later.
9) Can't answer no hackintosh experience yet.
10) Not sure what you are asking here can you rephrase? All I can say is PS/2 Keyboard Port on Rear Motherboard you should be fine.
11) This is caused by the integrated Intel HD Graphics Shared Memory setting.
12) Will address in a 98SE post for you later.
13) B75 should be Ivy Bridge so Z77 should be similar - Which cards did you test? -- This may need to be expanded further and address in a 98SE post for you later.
14) Working on making V5 work on Coffee Lake not emulated.
15) Realtek NIC has MAC OS driver too.
16) No haven't looked. Try looking for earliest PCIe 10Gb NIC released.
17) Could not get it to recognize internal PCIe SATA card. You had success?
18) Just stick to SATA optical disc drive. USB will create possible issues and USB 4.0 will most likely.
19) Paragon no longer sells this product. Also if I remember correctly you cannot boot off the drive over 2TB in size correct?

#4116

diderius6

Hi,
I just install Win10 32 bit version 1507,
which is the very first one from summer 2015. It installs without any problem on the Thinkpad 43.
When you take a look at the differences in those Win10 versions,
oha, they changed a lot, see
⇗ https://en.wikipedia.org/wiki/Windows_10
Even needed ram size has changed from 1 GB => 2 GB
and free space on harddrive from 16 GB => to 32 GB
and support for older CPUs is gone
Dietmar
PS: 3Dmark2001 shows always maximal values only under XP SP3, no matter what other OS tell..
⇗
This 1507 version of win10 32 bit is not slow on this compi from feeling!
EDIT: On a T42 with Pentium M 735 processor 1.7 GHZ (Dothan) it is not possible to install any Win10 32 bit.
Very first in the setup process via DVD it claims, that you have to use a processor with RAM > 4GB PAE enabled.

#4117

ruthan

> Zitat von ⇗ Fernando im Beitrag ¶ #4114

> > Zitat von ⇗ ruthan im Beitrag ¶ #4113

> > I dont modere anything, unless some vulgar posts. That attitude to judge someones posts and telling him that some post is not good enough, it dont feel right to me.

> Nobody told anybody, that his/her post(s) are not good enough, but each Forum member should pay attention, that his/her contribution matches the title of the thread and the title of the related Sub-Forum.
> A Forum visitor, who wants to know how to get Win98 installed onto a modern PC/notebook, will probably not search within this thread.

Well, you are the boss, i undestand what are of saying.. but it has theory and praxis problems.. or at least clash of few good ideas and intentions.. Some small adjustment you my original sentence would be not good enough for this thread :) That is how i actually meant it.
For example there were some Diderius post about notebook bios downgrading.. and you can say that its not WinXP related, but in wider context i was important to know, its progress because it blocked some XP fixing progress.
Or now, i would like to post some lines about MacOS and Win98, because its part of my multiboot projects which are related to XP too, because all OSes has to work on machine and it has some consequences and synergii.. Boot how to multiboot problem divide to OS related threads? I never would be only about 1 OS, you can say that you can make whole other thread.. but most of the info this would be related to some OS, in this case to XP.
I simply trying to say pleas dont try to overmoderate it.. it was nice. I can speak for other, but there people as me which are quite sensitive to it and love much openness, freedom as is possible.
End of philosophy intermission.

#4118

ruthan

⇗ @XPLives
1) I wasn't complaining.. i thing that i described reality, that is why there are lots of new people, which are repeatly asking the same, because they dont want to spend at least day to read all messages.
I thing that some summary document with link to this discussion will not kill this thread i think it could help, i personally have problem to keep track all files and and i had to same them to my system with number of post, where it they were posted.. There were also some replacements to not use old files, which is not bad idea, but it made tracking even worse.
I thing that bigger question is who will create such document, its few hours of work for first version and some additional work later.. I was probing if there is not big opposition to it at first.
MSFN - i would say that is more professional.. with good and bad thing that comes with that.. i like it less professional, less strict at least in my inner feeling.. i often a bit under pressure even with its file uploads limit (i dunno if this the same), but i was 5/10 MB per user and all posts.. and there was some problem to include Dropbox pictures to post to bypass it.
2) That my idea too, but i would love to hear some success story, before i would again first lemming to try it, it could be quite expensive.
3) PAE as wrote old Dibya PAE patch, hack.. how you name it, made system smoother (maybe less swapping, maybe memory resource management worked differently - i dunno design details).. and less stable too, yeah im greedy so i would like to have bough, or lets say both alternatives to choose from Boot.ini. Ramdisks are nice, but for me smooth system is much better.
4) Some link would be nice (ideal material for that wiki:), otherwise its shame that manufacturers in specs are wring just Intel Gigabit, usually no details..
5) Ok thanks for info, i dont have enough slots and i bit afraid how games will reacts.. because there is probably nothing like OS level utility to make some videocard primary for games.. it has also some noise and power negatives.. if there is no way to make it running on 1 card or 2 nvidias, i will pass. I know some bios have some multi monitoring through iGPU, but it also seems as lots of hassle.. like optimus on Notebooks. I dunno if it ever worked in XP. If im not wrong Intel bough for it Lucid Virtu or something like that and it wasnt success story.
6) Too much shortcuts - what is "DK but ymmv on stability/functionality".. one card, integrated Intel would be nice, because almost anybody have it like Realtek HD and NIC. Otherwise i like ASM cards, they where working on XP with even MB, even before modding, but i found only hard with 2 USB ports (i dunno how much hassle is use USB3 hub?) Opposite are Nec/Renesas cards.. i saw one with 4 USB ports, 1 internal and even with USB3 header for frontpanel.. I never saw ASMedia card with lots of ports.
10) Newer MBs without any PS/2 ports.. its new trend. But there are some PCI-E PS/2 cards.. but i dunno if they are working within some happy scenarior or just some chinese ebay not working stuff, it they are legit.. it would nice to make them working with WinXP installation and OS.
11) I would like to see some proof.. for example i had it X99.. if my memory is working there is not even integrated iGPU within 5960X which i had. I tried lots of external videocards, even some few MBs PCI-E and i still had 900 MB and some Supermicro manual.. for which i dont have now link, really the end explained why, there are some memory areas / spaces.. and they are in 4GB zones, because nobody counted with 32 bit OS usage, i thing that this problem was present even with 32 bit Linux.
13) I already linked Vogons thread about it.. there is my compatibility sheet in addition and Kamerat chipset vs videocards matrix (quite few test results are from me) - there are in these threads. For such only need MB boards, are only 2 working lines of cards.. Yamaha 7x4 and Aureal Vortex 1/2 nothing else.
⇗ https://docs.google.com/spreadsheets/d/1...c2xhYKK4l0/edit
⇗ https://docs.zoho.com/sheet/published.do...04bf92a9209e034 // Multiple tabs - as in Excel.
⇗ https://www.vogons.org/viewtopic.php?f=61&t=61044 // My ultimate thread about that, lots of bla, bla..:)
14) V5 - do you need Vooodoo 5 - in some PCI variant?
15) Intel too, even USB- Realtek lans.. but i never tough that its good idea had two 2 nics in machine with connected cables.. which are not in some team etc.. because was afraid what they would be stealing of connection and switching.. but yeah its true, that you can disable them in Windows, in Linux you can blacklist one too.. Im not only sure about router mac address to force static ip address.. if you can 2 Mac address to 1 static ip - i thing that minimally some routers not allow it.
16) There are some old Intels 10Gbit for servers, but they are i a bit expensive on ebay 50-100$ to just try, but once there would be cheaper 10Gbit router, it would make sense.. were stuck with 1Gbit for how much 15 years or so?
17) I never had problem there, its like SCSI, just connected only disc on it and it booted like from on board IDE port.. At least some Z97 MBs, had some controller even integrated on board.. these were fancy times - where on MBs were multiple USB3 controllers from different vendors and 2 storage controllers. I still have Z97 Asrock Extreme 4 MB machine with such combo and Marwell controller.. which is even booting from M.2 in PCI-E slots and its able to make 2500 MB/s, on board M.2 slot is limited to 1GB/s. its storage controller lovers paradise.
18) I did lots of reinstall so multi booting USBs (Sardu was first i thing which massively did it) are great with CDs i always a bit afraid that problems is connected with some reading errors.
19) AFAIK i read somewhere that Paragon guys are some ex Russian military guys which back in time made some Russian Dos or something like that.. Try to mail them, they will probably bundle it to some other product. XP cant boot from GPT, it needs MBR. I had this issue always connected with EFI, because it came with same time, i thing that EFI is needed to boot form GPT, there are if im not wrong some work around.. same as for M.2 boot for MBs which are not working it. agent_x007 on Vogons.. i thing had something like boot clover from some flash to boot M.2.. I saw him in this thread too.
Im just using GPT loader for data disk and here 4 TB disc is working fine.

#4119 | ruthan | ⇗ @diderius6 Nice, if remember correctly somewhere around 16xx version, MS just ditched silently AGP support and maybe other stuff..
#4120 | diderius6 | ⇗ @ruthan The whole chipline Pentium M was canceled on newer win10 versions, see ⇗ https://msfn.org/board/topic/177957-unsu...comment-1156627 Dietmar

#4121

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4117

> I never would be only about 1 OS, you can say that you can make whole other thread.. but most of the info this would be related to some OS, in this case to XP.

⇗ @ruthan ...since I joined this thread, not very long ago, the focus has been on getting XP working on 'modern systems'. From my understanding it's not just about XP itself. I got into a disagreement with one poster over what 'modern' meant and I realized afterward that my focus had been too narrow. So, I understand your point.
On the other hand, ⇗ @diderius6 has spent 99.99% of his time focused on modding files for XP on modern systems, as have the other regulars in this thread, and he has done great work. He has also tried to make the modded files work on different XP systems then he branched out slightly to try it on W7 and W98 systems. In my opinion, he has earned the right to introduce off-topic discussion if he feels like it, and when he has done so, it has a been brief. In general, no one has gone off-topic most of the time.
I can understanding ⇗ @Fernando narrowing the focus. I mean, look at the length of the thread just focusing on the topic. It could get totally out of control if the focus was lost. I was attracted to the group because I understood the difficulty of getting XP to run on a modern system like my Intel B360 chipset. I had been told it could not be done and I am amazed how easily it could be done with a modded ACPI and Storport driver. The process of development of the modded drivers has come from certain guys focusing for lengthy periods at a time on the problems. Had this group been open to a general discussion on XP on any system, I don't think that would have happened nearly as quickly.

#4122

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4118

> I wasn't complaining.. i thing that i described reality, that is why there are lots of new people, which are repeatly asking the same, because they dont want to spend at least day to read all messages.

⇗ @ruthan ...that's pretty well what I did and I did it because I have belonged to a reversing group for 15 years who won't even talk to you unless you demonstrate that you have educated yourself on the subject.
I am not speaking through my hat. I am currently involved in trying to mod files from a reversing POV and it can get frustrating real fast. There is a steep learning curve and even though I have experience with import tables it's like learning a new language when you start dealing with export tables and two different OSs. I am spending hours and hours just researching and to hear you complain about having to read through this entire thread a bit amazing. Not knocking you, just wondering how you can learn anything about this topic without doing that. I can't count the number of times I have been forced back to the bottom of the hill to start climbing a steep learning curve. That's why I have little patience for those who show up asking for links without showing any other rinterest or ability in the field.
Over the years, I have noticed new people showing up at our reversing site asking for cracks, which we don't do. We do reversing for the joy of it but we are willing to help newbies who want to learn. The next step up from those asking for cracks is people who want a quick fix for a crack. They are willing to do a minimal amount of work but they want everything right now. We won't help them till they show they have done the work and are stuck on a certain point.
It bugs me personally when people suddenly show up asking for links. It's not like you need to read the entire thread, most of the links required are in the last third of the thread. You could skim through those pages and find not only the links, but why they work and what to watch for. I mean, why should the experts in here, and I am not one of them, feel obliged to stop what they are doing to produce links for those to lazy too dig for themselves. It amazes me that the experts do take the time to supply the links, showing they are dedicated people. I also find it rude to make such requests without otherwise participating in the group.
I learned by doing. The first time I fired XP up on my 300-series chipset, I got nothing. It's what I expected.Then I graduated to an 0XA5 error which I learned was related to an ACPI problem. One of the modded ACPI files from this group fixed that. Then I graduated to an 0x7C error which turned out to be a SATA driver issue. Another modded driver from here fixed that. Typically, what you get from people demanding links to modded files is them coming back complaining about other errors and how to fix them. In other words, they have no idea what they are doing and need someone to hold their hands and lead them through it.
I don't even mind doing that much of the time provided that person is capable of helping themselves. Many are not and it gets tedious going over and over the same subject when you know that person has little interest in learning, or helping themselves. In other words, you need to distinguish the leechers from those willing to learn by doing their own work. I would suggest that reading through this thread to get a grasp of what is going on is a good start. You can skim through it, no need to read each and every post.

#4123 | Illen | Regarding the whole UEFI booting topic, this looks like a very interesting project: ⇗ https://github.com/maharmstone/quibble A custom Windows UEFI bootloader (made by the developer of WinBtrfs project), it is compatibe with each Windows version from XP to latest 10 (both x86 and x64). The list of planned features looks interesting as well. It is in early state at this point, and might not work in some cases, but still I think it is definitely worth a mention.

#4124

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4121

> > Zitat von ⇗ ruthan im Beitrag ¶ #4117

> > I never would be only about 1 OS, you can say that you can make whole other thread.. but most of the info this would be related to some OS, in this case to XP.

> @ruthan ...since I joined this thread, not very long ago, the focus has been on getting XP working on 'modern systems'. From my understanding it's not just about XP itself.

Gordo999, yes you are a newcomer in a sense so you "missed" a lot of history of how these XP threads began. I'll try to summarize it as best as I can.
Originally I was the only one who created the early XP threads relating to installing XP on SkyLake Z170 and later Modern Hardware on Win-RAID. This was way back in 2017. Other than the larger XP thread
"[Guide] Integration of Intels AHCI/RAID drivers into a Windows XP/W2k3/W2k CD"
by Fernando on how to install the SATA modified drivers there was no presence. In fact there was no specific OS Sub-Group then. I asked Fernando to create them and I gave him the names to use and he obliged:
This is how the "OS related Topics" Sub-forum was born. Part of the reasoning was MSFN did not have a DOS dedicated category and most topics there were not actually geared towards gaming. I focused more on the technical part of getting XP installed on Modern Hardware here and simplifying it. There was no real gaming discussion. Only recently I renamed my older topics because the large XP thread kind of took place of that and I've started to refocus back to gaming because all this technical stuff can get boring after 3 years.
[OS related Topics]
Windows 8-10/Server 2012-2019
Windows 7/Vista/Server 2008
Windows XP/2000/Server 2003
DOS/Windows 3.X/9X/ME - Retro Gaming
The thread you now know as "Windows XP/2000/Server 2003" was meant to be the new name of the thread I was going to reorganize properly that would have addressed an outline on the first post and links to specific important posts. The original name of the thread was actually a post created by: deSSy2724 called "Windows XP SP3 32bit and modern PC parts". It was a random user who came and posted for help.
What happened later was diderius6 and Mov AX, 0xDEAD began switching it into an ACPI discussion. Later diderius6 used it as a dumping ground on his ACPI research. I think around 1500 Messages time it shifted to USB 3.0.
This is the point where I had asked Fernando to separate the thread but it was not done so it continued and bloated to around 2500. At this point I asked again and unfortunately due to Dencorso's opposition and Diderius6 saying it will kill the thread it was not done.
So while a post or two off topic may be okay it would make better sense to post it into a whole new thread on the material that way it's not making the congestion worse for new users to read through assuming it began taking a life of its own into hundreds of posts on 98SE in a week within the XP thread.
There was a lot of Windows 98 discussion in a series of post and there is already a dedicated Sub-Forum for it called "DOS/Windows 3.X/9X/ME - Retro Gaming" which would a better fit for them and "NONE" of the original posts were deleted but moved.
So stop harshing "Fernando" about his decision. And please remember Fernando is retired. Had I waited for it to bloat to 100 message or more it would be too much work for him. If I was the moderator I would have done it transparently. I asked him or LNB to move it because the last two times I asked Fernando when they were not done early enough and allowed to continue to explode and often times we now find comments on "where is this driver" kind of post quite often. Had I had user support on fixing it this new Main thread would probably be around 1600 messages instead of 4000+ and the others topics USB 3.0 and others would have their own thread and the 1st post of the intended renamed "Windows XP/2000/Server 2003" thread would have had a 1st post that addressed all these issues you Gordo999 and Ruthan wanted oi find files easier. So quit complaining about a few posts being moved regarding 98SE. This is a preventative measure and they weren't deleted and no one is stopping you or anyone from posting more content relating to 98SE there. It's also much easier to follow and Diderius6 can post more updates as he is the "creator" of that moved thread so he could change the 1st post into a guide for the Thinkpad T42 if he chose to later.
The biggest problem with the current thread "Windows XP/2000/Server 2003" was I was not able to split it into different threads and use the 1st post to create an outline. I wanted both Diderius6 and Mov AX, 0xDEAD to write a guide on the modding BIOS process to fix the ACPI issues that other users could follow. And later Daniel_K could have created his own thread for modding USB 3.0 drivers and how to do it.
I know for some it's more interesting to just accept a modified driver and test it but to me this isn't good enough. But I'm more interested in how to do it myself and maybe improve upon it should one day these people are no longer here due to death or just not visiting any longer others can continue modifying it or this technique will be lost.

> Zitat von ⇗ gordo999 im Beitrag ¶ #4121

> On the other hand, @diderius6 has spent 99.99% of his time focused on modding files for XP on modern systems, as have the other regulars in this thread, and he has done great work. He has also tried to make the modded files work on different XP systems then he branched out slightly to try it on W7 and W98 systems. In my opinion, he has earned the right to introduce off-topic discussion if he feels like it, and when he has done so, it has a been brief. In general, no one has gone off-topic most of the time.
> I can understanding @Fernando narrowing the focus. I mean, look at the length of the thread just focusing on the topic. It could get totally out of control if the focus was lost. I was attracted to the group because I understood the difficulty of getting XP to run on a modern system like my Intel B360 chipset. I had been told it could not be done and I am amazed how easily it could be done with a modded ACPI and Storport driver. The process of development of the modded drivers has come from certain guys focusing for lengthy periods at a time on the problems. Had this group been open to a general discussion on XP on any system, I don't think that would have happened nearly as quickly.

So while Diderius6 and many others have earned to right to post off topic stuff you also have to know when it should be moved so it doesn't get into a situation where it is harder to separate the posts without disturbing other posts. For example a lot of the issues when people attach file to posts or links to other post numbers could be affected if these groups of 98SE related posts were moved much much later.
If this thread was only 30-50 messages in size maybe nothing would have been done. You have to recognize it is now over 4000 posts in size and how long it will take for a new user to sift through that and if they don't understand English as their first language how much longer it will take.

> Zitat von ⇗ gordo999 im Beitrag ¶ #4121

> I got into a disagreement with one poster over what 'modern' meant and I realized afterward that my focus had been too narrow. So, I understand your point.

You're probably referring to YuriyCN. He's a very stubborn and persistent user and was here in the beginning when my XP threads were born. He wanted the USB 3.0 ports working but even at the time the best recommendation was to use a USB 3.0 PCIe card to solve his problems. And I wondered why hasn't he simply bought one during the 2 years since then till now. Hopefully the DK driver he's using is working well for him but I really don't know how reliable it is for him.
The term "Modern" meant Z170+. That was the intent back then when I wrote "Modern" in the XP thread titles. So he is correct in posting to still finding help with his Z170. It doesn't mean it has to be a Z370/Z390. In fact I suppose if you really wanted to know what I considered modern it would be SkyLake, Kaby Lake, and Coffee Lake and whatever next gen Intel puts out in 2020. But today the meaning is anything that XP can't be installed to and work properly with ACPI. I originally had XP threads targeted for SkyLake, Kaby Lake, and then Coffee Lake.
So the thread you know as "Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware" is incomplete in the way I had intended. The new name was left on it instead of reverting it back to the original deSSy2724 thread called "Windows XP SP3 32bit and modern PC parts".
Now you have your answer as to what "Modern" meant and to stop blaming Fernando as if he did not listen to me in the beginning there would be NO XP THREADS to complain about! In the beginning I also did a lot of redirecting to this site to drive traffic as best as I could. It seems to have paid off and eventually diderius6 began posting frequently here and also advertising the threads. But it was a real slow start for a long time.
XPLives

#4125

ruthan

> Zitat von ⇗ Illen im Beitrag ¶ #4123

> Regarding the whole UEFI booting topic, this looks like a very interesting project: ⇗ https://github.com/maharmstone/quibble
> A custom Windows UEFI bootloader (made by the developer of WinBtrfs project), it is compatibe with each Windows version from XP to latest 10 (both x86 and x64). The list of planned features looks interesting as well.

State - proof of concept, no real list of features, but big todo list and donate link.. - Im skeptic.

## Page 276

#4126

XPLives

@Ruthan

> Zitat von ⇗ ruthan im Beitrag ¶ #4118

> @XPLives
> 1) I wasn't complaining.. i thing that i described reality, that is why there are lots of new people, which are repeatly asking the same, because they dont want to spend at least day to read all messages.
> I thing that some summary document with link to this discussion will not kill this thread i think it could help, i personally have problem to keep track all files and and i had to same them to my system with number of post, where it they were posted.. There were also some replacements to not use old files, which is not bad idea, but it made tracking even worse.
> I thing that bigger question is who will create such document, its few hours of work for first version and some additional work later.. I was probing if there is not big opposition to it at first.
> MSFN - i would say that is more professional.. with good and bad thing that comes with that.. i like it less professional, less strict at least in my inner feeling.. i often a bit under pressure even with its file uploads limit (i dunno if this the same), but i was 5/10 MB per user and all posts.. and there was some problem to include Dropbox pictures to post to bypass it.
> 2) That my idea too, but i would love to hear some success story, before i would again first lemming to try it, it could be quite expensive.
> 3) PAE as wrote old Dibya PAE patch, hack.. how you name it, made system smoother (maybe less swapping, maybe memory resource management worked differently - i dunno design details).. and less stable too, yeah im greedy so i would like to have bough, or lets say both alternatives to choose from Boot.ini. Ramdisks are nice, but for me smooth system is much better.
> 4) Some link would be nice (ideal material for that wiki:), otherwise its shame that manufacturers in specs are wring just Intel Gigabit, usually no details..
> 5) Ok thanks for info, i dont have enough slots and i bit afraid how games will reacts.. because there is probably nothing like OS level utility to make some videocard primary for games.. it has also some noise and power negatives.. if there is no way to make it running on 1 card or 2 nvidias, i will pass. I know some bios have some multi monitoring through iGPU, but it also seems as lots of hassle.. like optimus on Notebooks. I dunno if it ever worked in XP. If im not wrong Intel bough for it Lucid Virtu or something like that and it wasnt success story.
> 6) Too much shortcuts - what is "DK but ymmv on stability/functionality".. one card, integrated Intel would be nice, because almost anybody have it like Realtek HD and NIC. Otherwise i like ASM cards, they where working on XP with even MB, even before modding, but i found only hard with 2 USB ports (i dunno how much hassle is use USB3 hub?) Opposite are Nec/Renesas cards.. i saw one with 4 USB ports, 1 internal and even with USB3 header for frontpanel.. I never saw ASMedia card with lots of ports.
> 10) Newer MBs without any PS/2 ports.. its new trend. But there are some PCI-E PS/2 cards.. but i dunno if they are working within some happy scenarior or just some chinese ebay not working stuff, it they are legit.. it would nice to make them working with WinXP installation and OS.
> 11) I would like to see some proof.. for example i had it X99.. if my memory is working there is not even integrated iGPU within 5960X which i had. I tried lots of external videocards, even some few MBs PCI-E and i still had 900 MB and some Supermicro manual.. for which i dont have now link, really the end explained why, there are some memory areas / spaces.. and they are in 4GB zones, because nobody counted with 32 bit OS usage, i thing that this problem was present even with 32 bit Linux.
> 13) I already linked Vogons thread about it.. there is my compatibility sheet in addition and Kamerat chipset vs videocards matrix (quite few test results are from me) - there are in these threads. For such only need MB boards, are only 2 working lines of cards.. Yamaha 7x4 and Aureal Vortex 1/2 nothing else.
> ⇗ https://docs.google.com/spreadsheets/d/1...c2xhYKK4l0/edit
> ⇗ https://docs.zoho.com/sheet/published.do...04bf92a9209e034 // Multiple tabs - as in Excel.
> ⇗ https://www.vogons.org/viewtopic.php?f=61&t=61044 // My ultimate thread about that, lots of bla, bla..:)
> 14) V5 - do you need Vooodoo 5 - in some PCI variant?
> 15) Intel too, even USB- Realtek lans.. but i never tough that its good idea had two 2 nics in machine with connected cables.. which are not in some team etc.. because was afraid what they would be stealing of connection and switching.. but yeah its true, that you can disable them in Windows, in Linux you can blacklist one too.. Im not only sure about router mac address to force static ip address.. if you can 2 Mac address to 1 static ip - i thing that minimally some routers not allow it.
> 16) There are some old Intels 10Gbit for servers, but they are i a bit expensive on ebay 50-100$ to just try, but once there would be cheaper 10Gbit router, it would make sense.. were stuck with 1Gbit for how much 15 years or so?
> 17) I never had problem there, its like SCSI, just connected only disc on it and it booted like from on board IDE port.. At least some Z97 MBs, had some controller even integrated on board.. these were fancy times - where on MBs were multiple USB3 controllers from different vendors and 2 storage controllers. I still have Z97 Asrock Extreme 4 MB machine with such combo and Marwell controller.. which is even booting from M.2 in PCI-E slots and its able to make 2500 MB/s, on board M.2 slot is limited to 1GB/s. its storage controller lovers paradise.
> 18) I did lots of reinstall so multi booting USBs (Sardu was first i thing which massively did it) are great with CDs i always a bit afraid that problems is connected with some reading errors.
> 19) AFAIK i read somewhere that Paragon guys are some ex Russian military guys which back in time made some Russian Dos or something like that.. Try to mail them, they will probably bundle it to some other product. XP cant boot from GPT, it needs MBR. I had this issue always connected with EFI, because it came with same time, i thing that EFI is needed to boot form GPT, there are if im not wrong some work around.. same as for M.2 boot for MBs which are not working it. agent_x007 on Vogons.. i thing had something like boot clover from some flash to boot M.2.. I saw him in this thread too.
> Im just using GPT loader for data disk and here 4 TB disc is working fine.

1) First I didn't say it would kill the thread. But at the time Diderius6 said it would kill the thread but no further explanation of what he meant.
Also the messages are now 4000+ and all these things would be easier if the thread could be separated properly once then a proper 1st page could have been done for each thread. For example ACPI, USB 3.0, et cetera could be moved out and let the main body remain for more general XP troubleshooting help. And trust me had I been able to fix the thread at 1500 messages total I think it would have been much easier. There are too many ongoing life issues right now to devote to it any further. The best I could do was create specific threads of files that I tested that works to make it easier to find. For example DK's ACPI. The person that normally would have handled it has retired. (Fernando). And LNB is already I assume pretty busy with everything else that happens on Win-Raid. The only suggestion I had at the time was to get temporary moderator rights to fix it as fast as I could. So at the moment no matter how much we want something then it's dragged on too long/late to fix it now.
MSFN interface I don't like as much to use compared to here.
2) Well don't do it. X299 runs too hot for fanless. X99 is a better project.
3) Server 2003 is very stable. I think XP is stable too just depends if you need more memory for programs where it suffers. I haven't yet gone the Dibya patch yet.
4) I know some prefer to use onboard rather than internal NIC. If slot real estate is an issue then get USB ethernet instead.
5) Better to get an older graphics card that works in DOS->98SE>XP and use one card only if possible. Less headaches. Set up a separate newer machine for XP->W10 for higher performance.
6) Asmedia lacks 4 port cards which is kind of limiting.
DK = Daniel_K
ymmv = another way of saying test it out and see what happens.
10) PCI-E PS/2 cards are a waste. You have to install the driver to use them. Buy one and see if it is true. I think they will NOT work without the driver installed first.
>>>11) I would like to see some proof.. for example i had it X99.. if my memory is working there is not even integrated iGPU within 5960X which i had. I tried lots of external videocards, even some few MBs PCI-E and i still had 900 MB and some Supermicro manual.. for which i dont have now link, really the end explained why, there are some memory areas / spaces.. and they are in 4GB zones, because nobody counted with 32 bit OS usage, i thing that this problem was present even with 32 bit Linux.<<<
I tried Haswell Xeon CPU in XP (no iGPU). I seem to recall having lots of memory same as Ivy Bridge or more since no iGPU. I will have to double check again sometime. X99 I have not tested maybe list the Make Model you bought tested this? This is a future project of mine.
13)Yamaha 7x4 and Aureal Vortex 1/2
Yes but can either of these cards boot up and play Sound Blaster digitized voice in native DOS not inside 9X Command Prompt window.
And what is the newest Intel / AMD chipset tested to work?
14) Only PCI versions are worth trying but I noticed a lot of PCI cards do not work properly in new motherboards (sound cards) are an example. There is an AGP to PCIe mod / adapter I heard for V5 6000.
15) Realtek ones seems to have better OS support and cost less. There is a dual ethernet port version I saw on eBay if you need team.
>>>16) There are some old Intels 10Gbit for servers, but they are i a bit expensive on ebay 50-100$ to just try, but once there would be cheaper 10Gbit router, it would make sense.. were stuck with 1Gbit for how much 15 years or so?<<<
Which is the Intel Model for it? I'll see if I can find it cheaper.
>>>17) I never had problem there, its like SCSI, just connected only disc on it and it booted like from on board IDE port.. At least some Z97 MBs, had some controller even integrated on board.. these were fancy times - where on MBs were multiple USB3 controllers from different vendors and 2 storage controllers. I still have Z97 Asrock Extreme 4 MB machine with such combo and Marwell controller.. which is even booting from M.2 in PCI-E slots and its able to make 2500 MB/s, on board M.2 slot is limited to 1GB/s. its storage controller lovers paradise.<<<
Link to Make Model you bought that works. You just plug the card in and no need to change BIOS settings and boots up on card?
18) Yeah I gave up on USB method for SkyLake+. Corrupted a 2TB external USB hard drive that I left connected somehow when it wasn't the target. Nightmare data recovery. Optical disc is the safest for newbies.
19) Sticking to MBR still. Best compatibility for legacy OS installations. Maybe one day Windows 11 GPT only installation I will dedicate to GPT.

#4127

Illen

> Zitat von ⇗ ruthan im Beitrag ¶ #4125

> State - proof of concept, no real list of features, but big todo list and donate link.. - Im skeptic.

I assume you can offer a better solution then.

#4128 | schreiberstein | Folks, have you heard about this? A brand new open source bootloader for Windows from XP to 10: ⇗ https://github.com/maharmstone/quibble Cheers, schreiberstein

#4129

ruthan

> Zitat von ⇗ Illen im Beitrag ¶ #4127

> > Zitat von ⇗ ruthan im Beitrag ¶ #4125

> > State - proof of concept, no real list of features, but big todo list and donate link.. - Im skeptic.

> I assume you can offer a better solution then.

This is not good argument.. i dont have to build own car to say that some future promise of some new shinny car are not too much believable.. I have even some training it in fortune telling, i backed some failed Kickstarter projects :)
Do you remember guy which were promising modern Intel HD drivers for XP almost in whole this thread..i can you promise lots of things, if you will send me some donates:)

#4130

Illen

> Zitat von ⇗ ruthan im Beitrag ¶ #4125

> This is not good argument.. i dont have to build own car to say that some future promise of some new shinny car are not too much believable.. I have even some training it in fortune telling, i backed some failed Kickstarter projects :)

I'm not arguing, I'm just waiting for your ideas. Since it seems like you've straight rejected it without even trying, I assumed you've a much better solution. Not sure what is going on here, but last time I was here, this thread was about experimenting, testing, and simply trying to get things working, not criticizing open source projects from a cover...

> Zitat von ⇗ schreiberstein im Beitrag ¶ #4128

> Folks, have you heard about this?
> A brand new open source bootloader for Windows from XP to 10:
> ⇗ https://github.com/maharmstone/quibble
> Cheers,
> schreiberstein

It was mentioned few messages ago, thanks anyway.

#4131

Illen

> Zitat von ⇗ ruthan im Beitrag ¶ #4125

> Do you remember guy which were promising modern Intel HD drivers for XP almost in whole this thread..i can you promise lots of things, if you will send me some donates:)

This is not how things work, you first make and share it, so the interested users can look at the sources or try it and if they like/appreciate it, they might consider a donation. There are freely available bootloader binaries for anyone to try, you are not forced to donate him anything. Mark Harmstone is known from making a Btrfs driver for Windows, and i can assure you, making IFS drivers isn't an easy task at all.

#4132

XPLives

> Zitat von ⇗ schreiberstein im Beitrag ¶ #4128

> Folks, have you heard about this?
> A brand new open source bootloader for Windows from XP to 10:
> ⇗ https://github.com/maharmstone/quibble
> Cheers,
> schreiberstein

For the moment you can still install DOS all the way up to Windows 10. So you would be losing DOS, Windows 3.1, 9X, 2000 if you go this route. If this is targeting UEFI only systems when the BIOS no longer available then maybe this will be interesting down the road to test out.

#4133

ruthan

> Zitat von ⇗ Illen im Beitrag ¶ #4130

> I'm not arguing, I'm just waiting for your ideas. Since it seems like you've straight rejected it without even trying, I assumed you've a much better solution. Not sure what is going on here, but last time I was here, this thread was about experimenting, testing, and simply trying to get things working, not criticizing open source projects from a cover...

I have not idea here, im waiting if someone else would be guinea pig:) I already doing too much stuff too deeply, i just like to game on everything so i have pretty big scope - today i can mess with XP, tomorrow can mess with old Amiga or Power Mac, next day with some old console modding.
There are people which really into XP architecture and boot loading. I just expressed my feeling based on project description, i could be wrong, of course. If description would be better, i would consider to try it myself, even when im not expert.
BTW i saw article about this project later on Phoronix, which has track record to inform about lots of fancy stuff, but are in reality lets say at least problematic, because of Linux enthusiasm. Other web sites are informing that is something working / done, Phoronix has articles that 2 more instruction and card would be OpenGL X.Y version capable for these 2 instruction you can wait and wait.. or informing over something which Michael never personally tested and info is just some authors PR reprint.. So im skeptic.

#4134

ruthan

To some more practical stuff? I have one annoying EFI feature for my multi booting, that is that boot order in Gigabyte bios is not part of bios profiles.. When i do specific boot order for profile and just ignored.
So when want to boot some OS just by changing bios profile, i have also change boot device order.. otherwise it will boot with wrong settings for wrong OS.. i would have to handle it through bootloader like Grub2 - which can its limits too - there is time count down to make a choice.. or machine will not booting into OS- when is started by Wake on Lan magic packet, without input.. i cant boot Mac OS through it (DOS, Win3-Win 10 and all Linux, BSD and Androidx86 are bootable from Grub2).
I wonder boot order is part of bios profiles for other manufactors?
There is also report that for someone else are PCI-E gen1 cards working with Z370 (Geforce 6600) + Ryzen - good news, is it could be also Gigabyte problem, or particular MB problems.. or depend on exact card. I tested Geforce 7600, 8400 and Radeon X800. When i place working card into 2nd, 3rd slot.. and select primary videocard slot to option to its slot (Gigabyte feature), im still getting picture on primary videocard, when i boot with it.. And check Win 10/7 device manager, there is not any new device, it act like there is just empty slot, PCI-E gen 1 cards are completely ignored. When i contacted Gigabyte i got classic - dont try to ask for support of 10+ years old videocard response, that is untested and unsupported.. but Gigabite 1st line of support in almost impregnable.
Good news is that Geforce 750TI (fanless) in 3rd long PCI-E slot is working with present modded files along site with Geforce 1070 (Win7+, MacOS and Linux), as XP GPU, i cant say that is was not working with unmounted files, but i had at the time Geforce 970, so no XP special GPU was needed.

#4135

ruthan

⇗ @XPLives
2) Fanless computers are my big hobby too, i hate to sit beside noise computer or console.. it mess with my concentration to work, game, watch movies etc. But im realistic in this.
But fanless X99 would be touch, unless you will cripple CPU power - X99 was nice for 8 cores CPU - which had 140 TDP, too much any stock Fan cooler, they can make 95W at best.
Here is X99 cpu list with TDPs:
⇗ https://www.msi.com/Motherboard/support/...G-7#support-cpu
You can get 2.0-2.5 GHz slimmer with 6/8 cores, or can get 3.GHz but only 4 cores - ie Haswell-EP E5-2623 v3 (105W) TDP.
X299 is quite similar - 140-160W. I had this problem even with Z370 - with 8700K (95W) it was possible to keep it no reasonable noise with some Noctua <800 PRM fans, but when i upgraded to 9990K - (in specs 95W, but in reality it has up to 165W TDP limit, Intel needed to win, there are lots articles about that:
⇗ https://www.anandtech.com/show/13544/why...ected-tdp-turbo
I had to move to water cooling and because Z370 was not realy designed for that i had to cap some PLx limits to lesser TDP, because otherwise VRM reported up to 120C+ even with fan near of them, i havent nerve to push it further. I know that Gigabyte MBs arent too much good at electric HW level, but when i bough my HW, it was highest possible MB. This was fixed with Z390.
So in reality X299 wouldnt be big difference for me from cooling perspective.
3) Server 2003 - ok its stable, but what about games compatibility, even when you have that - im reporting itself like XP hack? I want to use XP mainly because of problematic XP era games + programs and this could kill whole idea.
4) USB NIC - For WinXP, MacOS and Linux they are fine. Unfortunately these (most of them has Realtek chip) are still not in Linux kernel, was they are not working without heavy modding with Android x86. I spend lots of time with Win 98 USB Lan adapters, i even i thing got right one with is compatible with Win 98 (AX88772_772A), but i never got them working with newer MBs.. but rLoew had some working with other MBs. I think that could be problem with my ultimate Win98 install i has some networking issues even with PCI-E networking.. i had for example Broadcom 5721 working fine there, but after i mess with USB adapters, i wanst able to make them work any more.. I tried adapter to pass through Win98 virtual machine, no luck too. But made Win98 USB sound cards working - but also what some issues, when i was able to reach state of system when they worker for sounds, but not for music and i wasnt able to go back, even with lots of debugging and help of MSFN people.
5) On X58/X79 can run really everything from Dos to Win10.. with multiple videocards per OS.. only number of slots is limit and there are also some PCI-E extender and PCI adapters. Anything newer means no native DOS with sound, no DOS games under Windows 98 (PCI sound cards are still fine in native Win9x games).. unless have still LTP port and LPT2/3OPL for music.. but it still means no games sound, unless have has adlib mode..
More details i already posted to Win98 thread.
I tested it only on Z170, but i thing that on Z370 (if im not wrong even some reported success here) - you can get working sound, network and .. 3D graphics at least with PCI card and if for someone is Geforce 6, with with PCI-E cards.
Of course some PCI videocars are better for dos too.. Otherwise Dos results of new cards and platforms are mixed bug, i have thread and sheet about it:
⇗ https://www.vogons.org/viewtopic.php?f=63&t=62586
⇗ https://docs.zoho.com/sheet/published.do...49606de568c62b9
10) PS/2 addon on cards.. make them working in TextMode install would be real deal, later can still help some people with Intel only USB3 ports, which are not able to make new patches working. I order some USB2 PCI-E controller, which was recommended here, but i never tested one, so far was using Asmedia / Nec (aslo know as Renesas) / Etron USB3 cards for XP.
There are also some LPT cards, maybe they can work with LPT2/3OPL for Dos, it would be probably the same, if with driver and newer OS..
13) Yamaha 7x4 and Aureal Vortex 1/2
FX and FM is fully working as wrote up to X58/X79, about AMD you can find it in Kamerats matrix - VIA chipsets are newest, intel is much more compatible.
16) 10 Gbit - based on some inf files.. Intel X540-T1, Intel X540-T2 should be winners.. now probably eBay prices will go higher:)
17) ASM106x in IDE mode XP install. My bad memory.. Im not really sure, it worked with vanilla SP3, it i had to integrate ASM 106x driver through nLite - which could be done quickly. If you were look for unofficial XP iso with already bundled newer drivers or just pack for integration to your vanilla CD.. it almost always had Asmedia and Marwell drivers included.
Important thing is flash from DOS old IDE boot to controller.. because it comes with AHCI bios in 99% cases.. and its not some inteligent controller, where you can switch between IDE and AHCI mode just in some utility at boot time.
19) If we would be able to boot XP from NVME and GPT, i can get rid of MBR finally. and only use it for Win98 dedicated small drive. 3 primary partitions + extended partion is nighmare - i have quite few of Linux distros on exntended partitions and .. quite a lot Partitions and Imaging softwares - still has bugged extented partition support.
My OS drivers on my machines looks like this - lots of partitions, but less disk as possible, lots of people like os per disk, or use multiple partitions for 1 linux distro i dont. I remember that, my SteamOS - one partition mod was quite successful, becuase default install was 5 or 6 partition madness :)
⇗

#4136

schreiberstein

Haha, I did not see that post. Sorry.
⇗ @XPLives
Well, you can just use two disks, one with MBR and one with GPT and UEFI and then select which one to use at boot.
We still have the choice - and aside from recent Apple computers, I have not heard of mainboard manufacturers getting rid of CSM / BIOS, but I did not check.
I think the future will be a bare metal hypervisor solution, or even just a Linux KVM with GPU and PCI-E passthrough. The performance will probably be even better since the Linux kernel can utilize modern architectures much better in the background and the emulated I/O will also be a speed increase. GPU passthrough effectively means : NO UI LAG.
Cheers,
schreiberstein

#4137

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #4124

> So stop harshing "Fernando" about his decision. And please remember Fernando is retired.

⇗ @XPLives ...thanks for the history but I think you have misunderstood me. I support Fernando's decision and I know he is retired and does not need headaches. I admire Fernando, I am not taking shots at him.

> Zitat von ⇗ XPLives im Beitrag ¶ #4124

> Now you have your answer as to what "Modern" meant and to stop blaming Fernando as if he did not listen to me in the beginning there would be NO XP THREADS to complain about!

Once again, I am not blaming Fernando for anything, I'm on his side. I appreciate your history tour and you're right, I am a newcomer and likely speaking out of turn. If so, I apologize. However, I'm glad this thread has an XP focus.
Furthermore, I am used to the politics than goes on in some forums. I don't want to stick my nose in where it does not belong and I don't want to get into political discussions. You are right, it was YuriCN with whom I had the disagreement but I dropped it abruptly rather than turn it into a flame war.
Thanks again, for your explanation.

#4138

AbdullahTrees

> Zitat von ⇗ IntiMD im Beitrag ¶ #4108

> @AbdullahTrees
> ⇗ https://www3.zippyshare.com/v/Njphl3Sp/file.html
> Replace the original inf file from the 'for Hub' folder with the one in the link. The reason why this strange error happens is that there were no entries for NT 5.1 in original inf.
> Let me know if this works, and if it was enough to make it work and behaves stable, then it would be nice to let Fernando know so as to update the pack (or alternatively add a modified package alongside it)

Thanks, now my Unknown Device has an appropriate name, but the installation failed...
I replaced the .inf with the .inf that was inside the WHQL 'for Hub' folders...
And as far as stable goes, I wasn't really mentioning it as I just wanted to get the USB ports working, but I'm now having abnormal shutdowns ever since I installed the drivers in the 'For Controller' folder, the system sometimes gives a BSOD (DRIVER_POWER_STATE_FAILURE) and at other times it yields a screen like this
⇗
Not exactly what I'd call stable... I think this is due to having a controller driver but not having Hub drivers, and I hope the situation will sort itself out when I find the right hub drivers....
Thanks in Advance, looking forward to any more advice/files you can send me...

#4139 | ruthan | I found my old XP install log - so im now that for USB installation - i was using YUMI - ⇗ https://www.pendrivelinux.com/yumi-multiboot-usb-creator/ Im not sure about other notes - its saming that USB installers are using firadisk image and on it its txtsetup.oem - where is list of drivers which have to load from this image, through F6,F7 - if is in stall image already integrated Firadisk - this will fail - Im not really sure, if i used this or not, which my automatized Nlite installer (but i still have that image, if someone know what to check within).

#4140

diderius6

Today I make a big step forward,
to install any OS from win98, xp SP3, win10 on one laptop,
the Thinkpad T43.
I get a Kingston mSata 480 GB drive and an IDE to mSata adapter from Delock.
Big problem for me was, that I always could only enable 137 Gbyte on this mSata => IDE harddisk.
Even with neweste Bios no chance, also not with win10. The harddrive was always shown as a 128 Gbyte disk.
But now I flash a new modded Bios T43p-1YET65WW_SLIC2.1_no_1802_no_2010.iso and voila,
there is the full mSata disk with 480 Gbyte.
Write and read speed is at the limit of IDE 100, about 93 MByte/s
compi feels fast for any OS
Dietmar
EDIT: I make a copy of whole Bios before I flash, because there is always a risk!
⇗
diderius6 has attached files to this post

- ⇗ T43p-1YET65WW_SLIC2.1_no_1802_no_2010.rar

## Page 277

#4141

ruthan

Other thing which could help. I searched for cheap ebay USB3 to Nvme disk adapter, lots of adapter are only false advertisement M.2 Sata.. which are not working with NVME disk.
This one is working fine..~15 bucks
⇗
Its nice when you want to work with M.2 NVME disc on machine without enough M.2 slots, or when you dont want to place it inside.. or just need clone some other disc to M.2 NVME.
Something like case would be nicer, but i already tested quite few of them.. and its really hit and mis, if device is really NVME.

#4142 | Andalu | XP installs fine on the asus prime Q370M-C/CSM too. On five cards of the Intel 200/300-series chipsets that I tried the only one where I can't install XP remains the asrock H310M-HDV where I got the acpi A5 BSOD in almost all my attempts ...mystery.
#4143 | YuriyCN | Intel RSTe AHCI/RAID driver v4.7.0.1117 + PAE with FIX128 v0.48 = BSOD crashes with STOP code 0x0000000A sometimes (approximately 1 time out of 5-10) when starting Windows. Intel RSTe AHCI/RAID driver v4.7.0.1117 + PAE with WinXPPAE 2.0 = Starting Windows OK, but crashed GS CABer.

#4144

diderius6

After next *.inf mod in the legacy Vista 32 bit graphik driver 10-2-mobile_legacy_vista32-64_dd_ccc_mod.exe
I succeed to install every driver (sound, IDE HD, lan, wlan, grafik with full 3D support) for win98, xp SP3 and win10 32 bit
on the nice Lenovo T43p (T43 also) notebook.
Interesting, if there is any other notebook, where this can be done,
Dietmar
PS: The *.inf mod T43p is adding this line
"ATI MOBILITY FireGL V3200" = ati2mtag_M24, PCI\VEN_1002&DEV_3154
⇗

#4145

ruthan

Wow - if 3D is working in Win98 - can you run 3Dmark here? Do you thing that its possible to make other ATI PCI-E cards working? Last officially supported are X300-X850 line - Catalyst 5.8 to 6.2 driver, for 6.2 is driver name (6-2_wme_dd_cp_30314.exe) . I would be really nice to add.. for example X1300-X1950 line support or even later.
In XP is possible to use (officially) up to Radeon 3850, which even has AGP variant..

#4146

IntiMD

⇗ @AbdullahTrees Safe for me to say that these drivers contrary to what the requirements said aren't compatible with XP nor XP x64 at all. Fernando needs to fix that in the usb3 megathread.
In the meantime try testing whether the 1.1.0.0145 (2013-02-26) drivers work for XP/Win2K03 (they should, but let's make sure). Uninstall the non-working drivers beforehand.
IntiMD has attached files to this post

- ⇗ WinXPUSB3AMD2013.zip

#4147

diderius6

⇗ @ruthan
As wished, here it is. May be, other ATI PCI-e cards can be enabled too with *.inf mod,
but I have none^^,
Dietmar
PS: By the way, on the same compi T43p under XP SP3 3Dmark gives 11720 (!) points.
And win98 gets more points than win10^^.
⇗

#4148

YuriyCN

I found 2 ACPI.SYS files with the same size (239616 bytes) and the same internal version, but the contents of the files are different. The difference is only in a few places, 2-4 bytes were patched. I am sending you these 2 files in the archive -
Link removed by Fernando
Which of these files do you recommend to use?
EDIT by Fernando: Download link removed (publication of modded *.SYS files are not allowed here)

#4149

AbdullahTrees

> Zitat von ⇗ IntiMD im Beitrag ¶ #4146

> @AbdullahTrees Safe for me to say that these drivers contrary to what the requirements said aren't compatible with XP nor XP x64 at all. Fernando needs to fix that in the usb3 megathread.
> In the meantime try testing whether the 1.1.0.0145 (2013-02-26) drivers work for XP/Win2K03 (they should, but let's make sure). Uninstall the non-working drivers beforehand.

OHHH MYYY GOD!!!! Thank you so much for these drivers, ⇗ @IntiMD !!! Now I have 4 functional USB ports on my laptop, although I'm not sure whether the speed is USB 3.0 or 2.0 as I don't have a USB 3.0 device, hehe.
*never thought I'd be able to get this far, not a single Unknown Device!*
As for system stability, it has improved the second I uninstalled the non-functional USB 3.0 WHQL drivers, and now my PC can shutdown without BSODs. There's just one teeny-tiny problem though that I figured out: I can't hibernate or even go on standby. When I go to hibernate, 'Preparing to Hibernate...' shows, and the screen even goes dark, but all of a sudden an asterisk error pops up.
And going to standby freezes the computer at 'Preparing to standby...'
Although this is now a minor issue rather than a major one, I'll still actively ask for help and fix it as much as possible, as it is quite important... Makes me wonder what else could there be that is out of order due to these drivers...
Thanks in Advance,

#4150

IntiMD

> Zitat von ⇗ AbdullahTrees im Beitrag ¶ #4149

> > Zitat von ⇗ IntiMD im Beitrag ¶ #4146

> > @AbdullahTrees Safe for me to say that these drivers contrary to what the requirements said aren't compatible with XP nor XP x64 at all. Fernando needs to fix that in the usb3 megathread.
> > In the meantime try testing whether the 1.1.0.0145 (2013-02-26) drivers work for XP/Win2K03 (they should, but let's make sure). Uninstall the non-working drivers beforehand.

> OHHH MYYY GOD!!!! Thank you so much for these drivers, @IntiMD !!! Now I have 4 functional USB ports on my laptop, although I'm not sure whether the speed is USB 3.0 or 2.0 as I don't have a USB 3.0 device, hehe.
> *never thought I'd be able to get this far, not a single Unknown Device!*

Good to know that these drivers have worked perfectly fine! It's kind of weird why there was a NT5.1.1 mark at the controller drivers but no mark at the hub drivers, whereas the drivers weren't intended at all for NT 5.1 in the latest "xp-compatible" drivers offered, but nevertheless it works fine now.
As such, it would be nice for ⇗ @Fernando to include these drivers from post no. 4146 (¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (277)) into the USB3 megathread as confirmed working on XP.
As of that hibernation problem, it doesn't have to be the cause but you might want to try the modded acpi.sys drivers ⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
Make sure that you backup the original acpi.sys just in case.

#4151

AbdullahTrees

> Zitat von ⇗ IntiMD im Beitrag ¶ #4150

> Good to know that these drivers have worked perfectly fine! It's kind of weird why there was a NT5.1.1 mark at the controller drivers but no mark at the hub drivers, whereas the drivers weren't intended at all for NT 5.1 in the latest "xp-compatible" drivers offered, but nevertheless it works fine now.
> As such, it would be nice for @Fernando to include these drivers from post no. 4146 (¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (277)) into the USB3 megathread as confirmed working on XP.
> As of that hibernation problem, it doesn't have to be the cause but you might want to try the modded acpi.sys drivers ⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
> Make sure that you backup the original acpi.sys just in case.

How exactly does someone backup drivers? I could copy the acpi.sys file, but a surely part of a driver also includes messing with .inf files and changing stuff in the registry... Is copying the acpi.sys file enough?

#4152

IntiMD

> Zitat von ⇗ AbdullahTrees im Beitrag ¶ #4151

> > Zitat von ⇗ IntiMD im Beitrag ¶ #4150

> > Good to know that these drivers have worked perfectly fine! It's kind of weird why there was a NT5.1.1 mark at the controller drivers but no mark at the hub drivers, whereas the drivers weren't intended at all for NT 5.1 in the latest "xp-compatible" drivers offered, but nevertheless it works fine now.
> > As such, it would be nice for @Fernando to include these drivers from post no. 4146 (¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (277)) into the USB3 megathread as confirmed working on XP.
> > As of that hibernation problem, it doesn't have to be the cause but you might want to try the modded acpi.sys drivers ⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
> > Make sure that you backup the original acpi.sys just in case.

> How exactly does someone backup drivers? I could copy the acpi.sys file, but a surely part of a driver also includes messing with .inf files and changing stuff in the registry... Is copying the acpi.sys file enough?

Make a copy of the original. Rename the copy as "acpi.bak". Overwrite the unmodified acpi.sys file with the modified one from DK_ACPI\64 folder in the archive.
It's up to you to find out whether replacing acpi.sys was just enough to fix the problem.

#4153 | YuriyCN | I delete this post.
#4154 | ruthan | ⇗ @YuriyCN Is there difference between reboot and cold start? Are using Fastboot UEFI settings? From my experience reboot is now pure equivalent of cold start and some registry could be still filled with old bad data, fastboot it complicated even more, because reset even less devices.

#4155

YuriyCN

> Zitat von ⇗ ruthan im Beitrag ¶ #4154

> @YuriyCN
> Is there difference between reboot and cold start? Are using Fastboot UEFI settings? From my experience reboot is now pure equivalent of cold start and some registry could be still filled with old bad data, fastboot it complicated even more, because reset even less devices.

It does not depend on fastboot UEFI settings.
I use fastboot = disabled. But I tried enabled / disabled, no difference.

## Page 278

#4156

AbdullahTrees

> Zitat von ⇗ IntiMD im Beitrag ¶ #4152

> Make a copy of the original. Rename the copy as "acpi.bak". Overwrite the unmodified acpi.sys file with the modified one from DK_ACPI\64 folder in the archive.
> It's up to you to find out whether replacing acpi.sys was just enough to fix the problem.

Thanks for the link, I did what you said, aaaand this is what happened.
⇗ BSOD 0x0000007E
I was surprised you told me to copy the acpi.sys in the 64 folder, seeing as I use Windows XP SP3 32-bit, but then I tried using the acpi.sys from both of the folders, and none of them worked, they give a BSOD after the 'Windows XP splash screen with blue progress bar' ends.
Awaiting your response...

#4157

IntiMD

⇗ @AbdullahTrees Damn, my bad! For some weird reason thought that you were using the 64-bit edition. My mistake indeed.
So when you copied from the (now right) 32 folder the acpi.sys file and replaced the original one (after previously backing the original file up) with the modded one, it went BSOD? In this case it seems that this acpi.sys mod that you tried seemed to not be compatible with the laptop. What I would do now is to restore the original unmodified acpi.sys.
After restoring it, let's give this other "outer space" acpi.sys a try: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (215) (only x86 version, which should now suit you fine)
As always keep the backup of the original unmodified acpi.sys just-in-case and replace the file with this outer-space one.

#4158 | diderius6 | Here are the last and best acpi.sys for 32 and 64 Bit, for Intel and AMD Dietmar EDIT by Fernando: Attachments removed (publication of modded *.SYS files are not allowed here)
#4159 | YuriyCN | Intel RSTe AHCI/RAID driver v4.7.0.1117 + PAE patch with FIX128 = BSOD crashes with the code 0x0000000A sometimes (approximately 1 time out of 5-10) when starting Windows.

#4160

Andalu

⇗ @YuriyCN
I'm using the Intel RSTe AHCI/RAID driver v4.7.0.1117 + WinXPPAE 2.0 + USB3 driver modded. I started XP really many times (I'm doing some test with HD and SSD drives) but I never got any BSOD on my system (Asus Q370 and i5-8400 Coffee Lake).
I can confirm that the boot with the Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006 modded by Fernando is fastest than the RSTe AHCI/RAID driver v4.7.0.1117 (it takes half the time) and also the performances are better than the v4.7.0.1117 in all cases, even with the write cache enabled.

#4161

AbdullahTrees

> Zitat von ⇗ IntiMD im Beitrag ¶ #4157

> @AbdullahTrees Damn, my bad! For some weird reason thought that you were using the 64-bit edition. My mistake indeed.
> So when you copied from the (now right) 32 folder the acpi.sys file and replaced the original one (after previously backing the original file up) with the modded one, it went BSOD? In this case it seems that this acpi.sys mod that you tried seemed to not be compatible with the laptop. What I would do now is to restore the original unmodified acpi.sys.
> After restoring it, let's give this other "outer space" acpi.sys a try: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (215) (only x86 version, which should now suit you fine)
> As always keep the backup of the original unmodified acpi.sys just-in-case and replace the file with this outer-space one.

Okay, Windows didnt crash this time when I switched the acpi.sys, but it gave me a very wierd error at logon that was basically telling me that it couldn't log into my local account cause something was accessing it and thus made a temporary account for me: all changes made to it would be lost on shutdown. No idea why changing acpi.sys would cause something like this to happen, but other than that, no perceivable difference, still couldn't hibernate on the new acpi.sys.
⇗ @diderius6 :O are those for me? But my system doesn't have Ryzen, it is an AMD A10-4600M APU with Radeon(tm) HD Graphics... So which one from the 3 you uploaded should I try (I guess I'll try all 3 later when I have time...)

#4162

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4160

> @YuriyCN
> I'm using the Intel RSTe AHCI/RAID driver v4.7.0.1117 + WinXPPAE 2.0 + USB3 driver modded. I started XP really many times (I'm doing some test with HD and SSD drives) but I never got any BSOD on my system (Asus Q370 and i5-8400 Coffee Lake).
> I can confirm that the boot with Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006 modded by Fernando is fastest than the RSTe AHCI/RAID driver v4.7.0.1117 (it takes half the time) and also the performances are better then the v4.7.0.1117 in all cases, even with the write cache enabled.

1) With the driver v4.7.0.1117: the initial stage of loading Windows XP takes 3-4 seconds longer than when using the driver "v11.2.0.1006 mod Fernando". At the very beginning of the booting up, when 3 dots run under the logo, with the driver v11.2.0.1006 they run 1 time and Windows continues to boot, and with version v4.7.0.1117 they run 4-5 times and only then the booting up continues.
2) With the driver v11.2.0.1006 mod Fernando: if a DVD drive is connected, the LED HDD flashes periodically (1 time per second), even when the system is idle and there is no access to either the SSD or the DVD. Why is "HDD activity" displayed when the system is idle? But with version v4.7.0.1117 - no problem, LED is not blinking.
3) Please copy the files below (from your installed system) to one archive and send me:
c:\WINDOWS\system32\drivers - full directory, all files
c:\WINDOWS\system32\hal.dll
c:\WINDOWS\system32\ntkrnlpa.exe
c:\WINDOWS\system32\ntoskrnl.exe

#4163

Fernando

⇗ @IntiMD:

> Zitat von ⇗ IntiMD im Beitrag ¶ #4150

> As such, it would be nice for @Fernando to include these drivers from post no. 4146 (¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (277)) into the USB3 megathread as confirmed working on XP.

Why should I add these old AMD drivers to the thread about the latest/best USB 3.0/3.1 drivers?
Users, who want to install Windows XP nowadays will/ should look for suitable drivers within this Sub-Forum.

#4164

IntiMD

> Zitat von ⇗ Fernando im Beitrag ¶ #4163

> @IntiMD:

> > Zitat von ⇗ IntiMD im Beitrag ¶ #4150

> > As such, it would be nice for @Fernando to include these drivers from post no. 4146 (¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (277)) into the USB3 megathread as confirmed working on XP.

> Why should I add these old AMD drivers to the thread about the latest/best USB 3.0/3.1 drivers?
> Users, who want to install Windows XP nowadays will/ should look for suitable drivers within this Sub-Forum.

If there's no need to add them in the megathread then at least the "usable with WinXP" part should be removed in the H-Series section, so as to not mislead others.

#4165 | AbdullahTrees | ⇗ @IntiMD I'd like to ask where you found the USB 3.0/3.1 drivers that worked for XP, I'm curious. I wouldn't have ever found them by myself, cause the ones I were getting from DriverPack weren't working

#4166

IntiMD

> Zitat von ⇗ AbdullahTrees im Beitrag ¶ #4165

> @IntiMD I'd like to ask where you found the USB 3.0/3.1 drivers that worked for XP, I'm curious. I wouldn't have ever found them by myself, cause the ones I were getting from DriverPack weren't working

Found it in drp.su:
* lurked by the hardware identificators
* downloaded the zip file which actually didn't contain the pure drivers but rather the self-extractable exes from samlab
* extracted the 2 nt5 exes by 7-zip; uniextract2 would work fine too.
* while the inf files were identical in both of those nt5 (XP) exes, the 64-bit one contained the 64-bit drivers in both 64 and 32 bit folder and the 32-bit one contained the 32-bit drivers in both 64 and 32 bit folder.
* in order to fuse it into one, just like it was in pure drivers from the usb3 megathread, i just replaced the 64-bit folder with the 64-bit drivers and the 32-bit folder with the 32-bit drivers. The root files (inf, msi, cat) were intact.
* assembled into a zip file, then i attached that driver for you.

#4167 | Andalu | ⇗ @YuriyCN 1) here the same (total boot time on mechanical hard drive: 42 seconds with driver v4.7.0.1117 and 21 seconds with the driver v11.2.0.1006) 2) not so frequently, one time on 4/5 seconds 3) pm

#4168

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #3631

> WinXPPAE 2.0, a small utility to patch all kernel and hal files, supporting all languages and versions 5512 (SP3) and later:
> What's new:
> - thanks to @Mov AX, 0xDEAD, now includes HAL patches for ACPI Timer fix and proper memory management from Server 2003.
> - creates backups files (.bak) automatically
> ..............................................
> ..............................................

When using WinXPPAE 2.0, there are several problems that without this patch do not exist.
For example:
1) GS CAB'er with a patch does not start. Without a patch WinXPPAE this application works fine. Surprisingly, when using FIX128 v0.48, I got memory >4GB and normal work of GS CAB'er. The investigation revealed, that the problem is the hal.dll file (internal name halmacpi.dll) patched using WinXPPAE 2.0. When HAL.DLL patching with FIX128, the GS CAB'er works fine.
WinXPPAE 2.0 - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (243)
gs_caber v1.1.5.7 - ⇗ https://www44.zippyshare.com/v/gjEdpzi4/file.html
FIX128 v0.48 - ⇗ https://www58.zippyshare.com/v/w4gsnb89/file.html
2) CHKDSK of the Flash drive connected via USB port stops working. CHKDSK is launched from the standard Explorer menu (see screenshot). At the very beginning, the scan freezes and the Explorer.exe process crashes. Without WinXPPAE 2.0, the CHKDSK works fine.
USB 3.0 driver (for Intel H110M) - ⇗ https://www104.zippyshare.com/v/NFOp8yLv/file.html

#4169

genieautravail

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4168

> When using WinXPPAE 2.0, there are several problems that without this patch do not exist. For example:1) GS CAB'er with a patch does not start. Without a patch WinXPPAE this application works fine. Surprisingly, when using FIX128 v0.48, I got memory >4GB and normal work of GS CAB'er. The investigation revealed, that the problem is the hal.dll file (internal name halmacpi.dll) patched using WinXPPAE 2.0. When HAL.DLL patching with FIX128, the GS CAB'er works fine.WinXPPAE 2.0 - Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (243)gs_caber v1.1.5.7 - ⇗ https://www44.zippyshare.com/v/gjEdpzi4/file.htmlFIX128 v0.48 - ⇗ https://www58.zippyshare.com/v/w4gsnb89/file.html2) CHKDSK of the Flash drive connected via USB port stops working. CHKDSK is launched from the standard Explorer menu (see screenshot). At the very beginning, the scan freezes and the Explorer.exe process crashes. Without WinXPPAE 2.0, the CHKDSK works fine. USB 3.0 driver (for Intel H110M) - ⇗ https://www104.zippyshare.com/v/NFOp8yLv/file.html

About CHKDSK, I have the same problem with an USB 3.0 external hard drive but with FIX128 not WINXPPAE...

#4170

YuriyCN

> Zitat von ⇗ genieautravail im Beitrag ¶ #4169

> About CHKDSK, I have the same problem with an USB 3.0 external hard drive but with FIX128 not WINXPPAE...

CHKDSK does not work that with WinXPPAE 2.0, that with FIX128.
GS CAB'er does not work with WinXPPAE 2.0, but with FIX128 it works fine.

## Page 279

#4171 | Andalu | ⇗ @YuriyCN chkdsk works correctly here with WinXPPaePatch 2.0 while GS CAB'er doesn't start giving a memory error. I haven't tried the fix128 0.48 patch yet.

#4172

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4171

> @YuriyCN
> chkdsk works correctly here with WinXPPaePatch 2.0 while GS CAB'er doesn't start giving a memory error.
> I haven't tried the fix128 0.48 patch yet.

CHKDSK
Maybe this is not WinXPPaePatch 2.0 problem, but USB driver bug in PAE mode... Please, check CHKDSK works when using my USB driver - ⇗ https://www104.zippyshare.com/v/NFOp8yLv/file.html
GS CAB'er
This is a 100% HAL.DLL problem patched with WinXPPaePatch 2.0.
I replaced HAL.DLL with a non-patched file (or patched with FIX128) and the GS CAB'er - worked.

#4173

Andalu

⇗ @YuriyCN
Sorry, I can't download from zippyshare, I got the 403 forbidden error message. Probably my ISP has blocked the access to this site and I don't want use a VPN to bypass the block. I downloaded previously the GS CAB`er via google search. What USB3 driver you are using? Is not an AMD USB3 driver attached on this thread?
About the WinXPPaePatch 2.0, daniel_k had said some time ago that it will never be a perfect patch and the issues are always possible. I think that a compromise can be accepted. In another system I'm using the chinese PAE patch that works fine (but, for example, the format command hangs always) but i must use a PCI card to have the usb3 function. And I will probably be forced to use the same PCI card on my new Coffee Lake system.

#4174 | IntiMD | ⇗ @Andalu not him but here's the driver zip file in particular. Check attachments. EDIT by Fernando: Attachments removed (publication of modded *.SYS files are not allowed here)

#4175

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4173

> @YuriyCN
> Sorry, I can't download from zippyshare, I got the 403 forbidden error message. Probably my ISP has blocked the access to this site and I don't want use a VPN to bypass the block. I downloaded previously the GS CAB`er via google search.

Please, check CHKDSK works when using my USB driver.
All files in one archive (fix128v48.zip + gs_caber_1.1.5.7.zip + USB3_WinXP_x86_PAEfix.zip)
EDIT by Fernando: Attachments removed (publication of modded *.SYS files are not allowed here)

#4176

Andalu

⇗ @IntiMD
thanks ;)
⇗ @YuriyCN
I confirm that chkdsk also works correctly with the amdhub30.sys (SHA-1: 60CD2A15EC1DA4E30E806AB69D24B5865260C17E) and amdxhc.sys (SHA-1: 1AE2108E29A528EFDA7F7497952298A406991E21) included in the "USB3_WinXP_x86_PAEfix.zip" packet.
⇗
gs_caber_1.1.5.7 doesn't work anyway. I tried fix128v48 on the fly :) and I got the "Fix Hal: crap" message. I'll try again in the next days.

#4177

daniel_k

⇗ @YuriyCN
There is nothing wrong with my WinXPPAE 2.0.
GS CAB'er crashes here with a fully updated ISO including all updates and hotfixes and NO PAE patch.
Doesn't matter if I unpack the .exe with upx -d, still crashes. UPX itself is packed and works just fine.
But you can fix it by setting Compatibility to Windows 98 / Windows ME, then GS CAB'er runs just fine.
Regarding Scandisk, as I've said before, the modded Intel drivers (based on amdxhc) has issues with PAE, even with "PAE fix" the USB controller hangs if there is intense disk activity.
Anything that touches devices plugged in any of the Intel USB ports are prone to issues if PAE is enabled. For use with PAE, you need an external USB3 card, this is mandatory.

#4178

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4176

> @YuriyCN
> I confirm that chkdsk also works correctly with the amdhub30.sys (SHA-1: 60CD2A15EC1DA4E30E806AB69D24B5865260C17E) and amdxhc.sys (SHA-1: 1AE2108E29A528EFDA7F7497952298A406991E21) included in the "USB3_WinXP_x86_PAEfix.zip" packet.
> gs_caber_1.1.5.7 doesn't work anyway. I tried fix128v48 on the fly :) and I got the "Fix Hal: crap" message. I'll try again in the next days.

1) Your FLASH drive (disk D:) connected via USB port? Judging by the screenshot, you are checking the system drive (SATA).
2) FIX128 must be installed on the original (non-patched system). Installing FIX128 after WinPAE is not possible.

#4179

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4177

> @YuriyCN
> GS CAB'er crashes here with a fully updated ISO including all updates and hotfixes and NO PAE patch

GS CAB'er is really an application with strange problems. For example, for me, GS CAB'er also crashes on Windows XP SP3 Eng installed with clean MSDN image, but works fine on the pirated WinXP RUS build.
After patch hal.dll (with WinXPPAE 2.0) GS CAB'er application stops working, but after patch with FIX128 it works fine. I replaced only the hal.dll file separately and determined the dependency of GS CAB'er from the hal.dll.

#4180 | ruthan | I wonder is trim partition related, or whole disc related? Because in Adata SSD toolbox i see only whole driver, no specific partition..

#4181

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4177

> @YuriyCN
> Regarding Scandisk, as I've said before, the modded Intel drivers (based on amdxhc) has issues with PAE, even with "PAE fix" the USB controller hangs if there is intense disk activity.
> Anything that touches devices plugged in any of the Intel USB ports are prone to issues if PAE is enabled. For use with PAE, you need an external USB3 card, this is mandatory.

I did some experiments and realized what was happening. First you must install the driver from the archive USB3_driver_Intel_100-series\ USB3_WinXP_x86_PAEfix then replace amdxhc.sys only. This file located in patch - c:\WINDOWS\system32\drivers
All necessary files in the attached archive.
My experiment results:
1. With file USB3_driver_Intel_100-series\1\amdxhc.sys - working Standby mode, but not working CHKDSK
2. With file USB3_driver_Intel_100-series\2\amdxhc.sys - CHKDSK works fine!!! But in 50% of cases Windows freezes at boot !! And when you exit the Standby mode, I get a black screen or BSOD:
EDIT by Fernando: Attachments removed (publication of modded *.SYS files are not allowed here)

#4182

Andalu

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4178

> 1) Your FLASH drive (disk D:) connected via USB port? Judging by the screenshot, you are checking the system drive (SATA).
> 2) FIX128 must be installed on the original (non-patched system). Installing FIX128 after WinPAE is not possible.

You are right, my mistake (grrr... damn hurry). I tried againg using the two file systems included in the "USB3_WinXP_x86_PAEfix.zip" and effectively 'chkdsk' doesn't work for the USB drives with the WinXPPAE 2.0 patch. I also installed the FIX128 0.48 patch and 'chkdsk' works normally.
But, at the same time, I can confirm that with amdxhc.sys (SHA-1: 6717C1872E9A53A1B8D2822E968A8228E3A67182) and amdhub30.sys (SHA-1: 653B25F98F70BA6CBFAADB0F5D61E9D69F507D4F) 'chdsk' also works correctly with the WinXPPAE 2.0 patch installed:
⇗

#4183

ruthan

> Zitat von ⇗ daniel_k im Beitrag ¶ #4177

> @YuriyCN
> Regarding Scandisk, as I've said before, the modded Intel drivers (based on amdxhc) has issues with PAE, even with "PAE fix" the USB controller hangs if there is intense disk activity.
> Anything that touches devices plugged in any of the Intel USB ports are prone to issues if PAE is enabled. For use with PAE, you need an external USB3 card, this is mandatory.

Do you thing that this problem could be solved in future, its new discovery, or known thing? Its someone looking into or its just dead end. Would it be more safe disable whole on board Intel USB3 at all?
For external USB3 controllers do you recommend old vendor drivers, or new ones modded from this thread? I have Asmedia a NEC ones.

#4184

daniel_k

> Zitat von ⇗ ruthan im Beitrag ¶ #4183

> Do you thing that this problem could be solved in future, its new discovery, or known thing? Its someone looking into or its just dead end. Would it be more safe disable whole on board Intel USB3 at all?

Can be solved if one manages to successfully patch some of the PAE friendly drivers listed below. I've tried, but gave up.

> Zitat

> For external USB3 controllers do you recommend old vendor drivers, or new ones modded from this thread? I have Asmedia a NEC ones.

ASMedia and TI work because their drivers were written by MCCI, properly supporting PAE.
VIA and Fresco Logic work because their drivers were written using WDF. The KMDF runtime takes care of PAE.
Etron driver PAE compatibility is unknown.
Renesas (NEC) has the same PAE issues. Up to socket FM2, AMD licensed Renesas IP, so basically all USB3 controller used were basically from Renesas.

#4185 | ruthan | Thanks for info. One more question i already installed you Intel USB3 drivers, how complety get rid of them, it thing that uninstall device in Device manager is not good enough?

## Page 280

#4186 | daniel_k | ⇗ @ruthan Uninstall from Device Manager, then delete the following files: \Windows\System32\Drivers\amdhub30.sys \Windows\System32\Drivers\amdxhc.sys

#4187

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4184

> Can be solved if one manages to successfully patch some of the PAE friendly drivers listed below. I've tried, but gave up.

I think this problem can be solved, because there are 2 drivers each of which works partially correctly.
Intel USB 3.0 driver operation with the WinXPPAE 2.0:

#4188

bcwinit

> Zitat von ⇗ daniel_k im Beitrag ¶ #4177

> Anything that touches devices plugged in any of the Intel USB ports are prone to issues if PAE is enabled. For use with PAE, you need an external USB3 card, this is mandatory.

> Zitat von ⇗ daniel_k im Beitrag ¶ #4184

> Renesas (NEC) has the same PAE issues. Up to socket FM2, AMD licensed Renesas IP, so basically all USB3 controller used were basically from Renesas.

Just for reference, it doesn't seem to be enabling PAE itself that's the problem but rather the use of more RAM than the typical ~3.2GB limit (which ensures all addresses for drivers stay in a 32-bit range). This applies to 32-bit editions of Server 2003 that support 4GB or more of RAM and of course to patched XP 32-bit installations.
I've been using the Renesas/NEC controllers for over six years without any issues with PAE enabled and 6GB, then 8GB, then 16GB of RAM. Windows was not patched to allow more RAM to be used. Instead, a RAM drive that supports unmanaged memory (which requires that PAE be enabled) as well as page files at boot is used to make more then ~3.2GB available to Windows. This makes the entire "virtual memory" space consist of physical memory, although Windows is oblivious so it always reports ~3.2GB in the system info. It may not be the most elegant solution, and the performance isn't quite as good as it would be without the need for RAM-to-RAM paging to make use of all of the RAM, but it's perfectly stable and far better than having less RAM and any amount of page file capacity on an HDD/SSD.

#4189

YuriyCN

bcwinit
You can write this information on the forums for lamers. Here are specialists of a higher level, they all know this very well. It solves complex problems by patching the OS or drivers.
daniel_k
I went over several variants of the patched amdxhc.sys file and I didnt get normal operation with any of the files. In some cases Windows hangs when booted in PAE mode, in others the transition to standby mode does not occur, in others CHKDSK does not start on a flash drive, in others the device does not appear (defined as "unknown device") if Windows boots with a device already connected into the USB port.
In general, each file has its own issues during work, but there is not a single option for everything to work simultaneously. If possible, I ask you to modify amdxhc.sys so that the driver works stably in the system when using the PAE mode (either through WinXPPAE 2.0 or FIX128).

#4190

bcwinit

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4189

> bcwinit
> You can write this information on the forums for lamers. Here are specialists of a higher level, they all know this very well. It solves complex problems by patching the OS or drivers.

For clarity, my post wasn't targeted at daniel_k as if he didn't know what I was saying already. It was a general response with supplementary info since his posts made it sound like an absolute that PAE mode itself is a problem for the modified AMD xHCI driver and the NEC/Renesas xHCI driver.
I'm happy to write information on the forum for anyone, "lamer" in your opinion or not, who may be interested in testing or normally using daniel_k's modified AMD xHCI driver with little or no risk of the stability problems that you've been reporting.
There will always be more people reading than posting in a technical thread like this, and if some of them just want to use a driver they found here and get on with life that shouldn't be a problem.

#4191 | ppm007 | were can I get WINXPPAe 2.0

#4192

YuriyCN

> Zitat von ⇗ ppm007 im Beitrag ¶ #4191

> were can I get WINXPPAe 2.0

Here - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (243)

#4193

IntiMD

⇗ @YuriyCN You have to realise though that daniel_k has taken down the attachments containing the PAE patch for reasons that might be solely known to him (due to stability reasons or more further work on it?). A friend of mine still has it in his storage so if he finds it, I'll reupload it.
CC:⇗ @ppm007

#4194

daniel_k

I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.
Additionally, as WinXPPAE was completely written by me, I've decided not to make it available here anymore. I hope you respect my decision and do not upload it here anymore.
In the next days, all of my modded drivers and WinXPPAE will be available at MDL Forums' Windows XP / Older OS section (forums.mydigitallife.net). The Admin gave me his OK.

#4195 | daniel_k | ⇗ @bcwinit I knew about the RAM disk option, but what we are discussing here is the PAE as it is, as supported by Server 2003 Enterprise/Datacenter.

#4196

IntiMD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.
> Additionally, as WinXPPAE was completely written by me, I've decided not to make it available here anymore. I hope you respect my decision and do not upload it here anymore.
> In the next days, all of my modded drivers and WinXPPAE will be available at MDL Forums' Windows XP / Older OS section (forums.mydigitallife.net). The Admin gave me his OK.

Alright, those are your modifications and it's your choice on how they're being distributed after all. At least something good came out of that situation - MDL has a larger userbase so you and your projects would be noticed more. Wish you luck on it.

#4197

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.
> Additionally, as WinXPPAE was completely written by me, I've decided not to make it available here anymore. I hope you respect my decision and do not upload it here anymore.
> In the next days, all of my modded drivers and WinXPPAE will be available at MDL Forums' Windows XP / Older OS section (forums.mydigitallife.net). The Admin gave me his OK.

This forum is dedicated to updating drivers, but you cannot post modified files on it. That's bullshit?
Please, then upload the files to free file hosting services with a long shelf life, but leave only the URL here. I really want to see a modified AMDXHC.SYS (for Intel Motherboard) in which there is a working CHKDSK with PAE mode.

#4198

Andalu

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4197

> ......I really want to see a modified AMDXHC.SYS (for Intel Motherboard) in which there is a working CHKDSK with PAE mode.

wasn't this image enough?
⇗

#4199

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4198

> ⇗

I do not have files with such MD5 hash.
Please, send me your amdhub30.sys and amdxhc.sys.

#4200 | infuscomus | ⇗ @YuriyCN I have these, should I PM you?

## Page 281

#4201

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #4200

> @YuriyCN
> I have these, should I PM you?

He has already got them ;)

#4202

Fernando

> Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.

Just for clarification:
Only attached or linked drivers, whose *.SYS file code has been altered, will be deleted by the Win-RAID Forum team (to avoid any problems with the manufacturer of the original driver).

#4203

daniel_k

My last post here. Please read this:
INTEL END USER SOFTWARE LICENSE AGREEMENT
IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
THE FOLLOWING NOTICE, OR TERMS AND CONDITIONS SUBSTANTIALLY IDENTICAL IN NATURE AND EFFECT, MUST APPEAR IN THE DOCUMENTATION ASSOCIATED WITH THE INTEL-BASED PRODUCT INTO WHICH THE SOFTWARE IS INSTALLED. MINIMALLY, SUCH NOTICE MUST APPEAR IN THE USER GUIDE FOR THE PRODUCT. THE TERM "LICENSEE" IN THIS TEXT REFERS TO THE END USER OF THE PRODUCT.
LICENSE. Licensee has a license under Intel's copyrights to reproduce Intel's Software only in its unmodified and binary form, (with the accompanying documentation, the "Software") for Licensee's personal use only, and not commercial use, in connection with Intel-based products for which the Software has been provided, subject to the following conditions:
(a) Licensee may not disclose, distribute or transfer any part of the Software, and You agree to prevent unauthorized copying of the Software.
(b) Licensee may not reverse engineer, decompile, or disassemble the Software.
(c) Licensee may not sublicense the Software.
(d) The Software may contain the software and other intellectual property of third party suppliers, some of which may be identified in, and licensed in accordance with, an enclosed license.txt file or other text or file.
As you can see, 99.99% of all software available here is theoretically being distributed/modified against Intel's EULA.
Even the Coffee Lake mod is a clear case, as they weren't originally intended for use with non-certified boards.

#4204

Fernando

⇗ @daniel_k:
Here is my statement:

1. Simple text files with the extension *.INF or *.OEM are documents, but no software.
2. All drivers, whose *.INF or *.OEM files have been customized by me, are offered with the suffix "mod+signed by Fernando" to make it absolutely clear, who is responsable for the customization.
3. Intel knows about my "mod+signed" drivers. Intel employees themselves have recommended to use them, if the original driver doesn't support the specific Intel device.

#4205

ruthan

I returned to my Gigabyte Z370 XP project with new discoveries, previously i machine installed only in MPS mode.. and i had problem with some not working MB devices,
because of not enough resources.
Daniel long time ago, fixed my F13 bios.
I changed MPS in device manager to ACPI just through load other driver - it survived reboot, all exclamation marks on system devices are no gone, what is good.. Second Geforce 750 Ti is working with original Nvidia install what is also good.
I used new acpi file and timer fixed, btw what timer tester should report,
its running by im not sure about result.
Before Intel USB3 fixes, i had Asmedia USB 3 working at least in MPS mode, with vanilla Asmedia drives. I have 2 Asmedia USB 3 controllers - on board and external.
Now i have strange problems, that Asmedia USB3 is not more working i tried new and old drivers.. Controller driver is fine, hub driver is also fine, but there is some composite USB device, which reports the error.
No USB3 device detected, same NEC USB3 external (72001, i updated firmware to last). I tried to force driver for it, but always getting that driver package is now include any driver for my devices.
In more modern OSes all its working.
This would be still quite ok, because my MB is supporting Y P/S2 cable (i tested thing also without it), but problem is that PS/2 keyboard is not working too, its working in bios, in grub and in WinXP boot menu, but not start OS booted.
I can see Standard PS/2 and mouse and keyabord device in Device manager, but bough has exclamation marks.
But OS seems to running fine, i can connect through remote desktop and do stuff.
I tried new modded Intel USB3 driver, also no luck, so i uninstalled it and deteleted files.. I through that i would able to completly disable Intel USB3 controller, i disable all 4 its BIOS settings, but its still detected. Maybe its disabling only onboard Asmedia controller.
I also have M.2 NVME which is not visible in Windows XP, its working fine in Windows 10. When i install in the same slot M.2 Sata its working fine.
Im not using any PAE patch. I have 2.5 GB of 32 GB available, what is still usuable..
Other strange thing that there is not Fernando Controller device which at at least in past was present, but just some PCI Device..
Here is list of unknow devices, i wonder about intel one? Its some managed controller? I tried to force NVME driver from Diderius on it.. but again, inf not include drivers for this device.. So its not probably NVME device.
When i translate with name is some something like simple communication for PCI bus.
Sitovy adapter - its Intel 219 Lan.
Radic videa - its second GPU - 1070 for Win7+.
Radic USB - means USB controller.
Sound is working fine, no bluescreens in 2D, Opera working fine for internet.
Any idea? Sorry for missing error codes (next time after weekend), im no by that machine now.. Maybe we can write some batch files to report filesizes, dates or versions of all installed important files, is someone now how to do it.. to post logs here, to make things cleaner.. Because without it as debugging very wild guessing.
⇗
⇗
⇗
⇗

#4206

YuriyCN

> Zitat von ⇗ Fernando im Beitrag ¶ #4204

> @daniel_k:
> Here is my statement:
> 1. Simple text files with the extension *.INF or *.OEM are documents, but no software.
> 2. All drivers, whose *.INF or *.OEM files have been customized by me, are offered with the suffix "mod+signed by Fernando" to make it absolutely clear, who is responsable for the customization.
> 3. Intel knows about my "mod+signed" drivers. Intel employees themselves have recommended to use them, if the original driver doesn't support the specific Intel device.

Dear developers, send these companies in the ass. Please collect all your modifications in one archive so that we can download and use. It is very important that nothing is lost. You make modifications due to the fact that companies did not write drivers for old operating systems. This is a global conspiracy, everyone is forcibly transferred to Windows 10, but many like the old OS (Windows XP, Windows 7).
EDIT by Fernando: Unacceptable message has been striked through by me.

#4207

Fernando

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4206

> Please collect all your modifications in one archive so that we can download and use.

The Win-RAID Forum team will not allow anybody to attach or link such archive within this Forum.
We do not want to risk, that this web site has to be closed due to an intervention of any chipset manufacturer.

#4208

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4198

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #4197

> > ......I really want to see a modified AMDXHC.SYS (for Intel Motherboard) in which there is a working CHKDSK with PAE mode.

> wasn't this image enough?

I tested this driver. I confirm, no problems! It really works with CHKDSK.
But this driver is very unstable in PAE mode:
1. A device connected to a USB port is not detected in 50% ("Unknown Device" in Device Manager)
2. Windows often freezes when starting or shutting down

#4209

Andalu

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4208

> I tested this driver. I confirm, no problems! It really works with CHKDSK.
> But this driver is very unstable in PAE mode:
> 1. A device connected to a USB port is not detected in 50% ("Unknown Device" in Device Manager)
> 2. Windows often freezes when starting or shutting down

No issue here with that driver for both points you mentioned. I tried many times with 6 usb devices (4 external USB3 2.5" hard drive and 2 pendrive) connected at same time with no problems as well as the restart and the shutdown have always worked correctly.
Different behavior when XP boots with an usb device already inserted in any usb2/usb3 port, but you are already aware of that.
I don't know if a workaround can be found to bypass this problem, maybe to delay the USB3 driver loading during the XP boot could be a way?
For the moment, my Renesas/Nec pci-ex to USB3 card solved this issue.

#4210

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4203

> My last post here.....

I'm sad to read this. It's a big loss for the forum.
Thanks so much for your great work

#4211

YuriyCN

I solved the previously described problem.
USB 3.0 driver forIntel 100-series - ⇗ https://www33.zippyshare.com/v/EmUcBIrn/file.html
Windows XP SP3 RUS LWOS v2 build 20.02 - ⇗ https://yadi.sk/d/u4G9oQajqTSeGQ this build with updates to February 2020.
Integrate USB 3.0 driver with nLite - ⇗ https://www.nliteos.com/download.html
As it turned out, you need to use this USB 3.0 driver with WinXP updated to 2020. On a clean MSDN image of WinXP SP3 - CHKDSK did not work with this driver. But on the WinXP LWOS (LWGAME, nCore project) with updates 02.2020 - CHKDSK works fine, including PAE mode!

#4212

Andalu

⇗ @YuriyCN
I tried the ISO updated at february 2020 but the problems seem to be unresolved, al least here.
I only added the acpi.sys (sha-1: 8EF48518B17DAAC4A90632A811FBFDC8183C325B) and the Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006 modded by Fernando to the ISO image with nLite. The XP installation ends normally.
I applied the WinXPPae 2.0 patch and installed the amdxhc.sys driver (sha-1: 61711270A0BF0AFC3AFC71047FE8F32643D6FD54). On restart, with no USB device connected to the board, XP boots normally and the whole ram has been correctly recognized. But the system hangs always on shutdown. Furthermore, with an USB device already connected to the USB3 port, XP boots correctly but the same usb device is not recognized as has always happened. I also tried with the amdxhc.sys (sha-1: 1AE2108E29A528EFDA7F7497952298A406991E21) with the same results.
The chkdsk utility has always worked, at least it.

#4213 | YuriyCN | We need to find a normal, most updated distributive of Win XP, integrate all the drivers and put it in public. Most people do not understand how to install the system on modern PCs. It's time to create ready solutions. For Russian-speaking people, I recommend using the "Windows XP SP3 RUS LWOS v2 build 20.02" - ⇗ https://vk.com/topic-28391636_35530104
#4214 | ruthan | Someone here mentioned that intel-218 drivers is working in XP, can someone pleas working driver?
#4215 | infuscomus | ⇗ @Andalu ⇗ @YuriyCN I made a windowsXP Ryzen edition - it's on pirate bay if you want to try it

## Page 282

#4216

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #4215

> @Andalu @YuriyCN
> I made a windowsXP Ryzen edition - it's on pirate bay if you want to try it

Unfortunately, the "Windows XP Ryzen edition" did not install on my Intel motherboard with the H110M chipset.
Please clarify how it is done "ACPI timer fix (thanks to daniel_k)"?? Where can I read about this information? What is the essence of the changes?

#4217 | Andalu | ⇗ @infuscomus I have not a Ryzen system. Thanks anyway ;)

#4218

infuscomus

⇗ @YuriyCN
how far into XP setup did you get? did you get past textmode setup?
any BSODs?
I'm not entirely sure how the hal timer fix works, ask ⇗ @diderius6 or ⇗ @daniel_k if you want to know how it works
I dug through the thread and found this one -
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)
I'm sure there is a newer version somewhere in the thread though
⇗ @Andalu
I tried to include fixes for intel Z100/200/300 systems in this too, I don't have an Intel system myself so I'm not sure if they work.

#4219

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> In the next days, all of my modded drivers and WinXPPAE will be available at MDL Forums' Windows XP / Older OS section (forums.mydigitallife.net). The Admin gave me his OK.

⇗ @daniel_k ...Thanks for all your good work. Will keep an eye open at mdl.

#4220

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #4218

> @YuriyCN
> how far into XP setup did you get? did you get past textmode setup?
> any BSODs?
> I'm not entirely sure how the hal timer fix works, ask @diderius6 or @daniel_k if you want to know how it works
> I dug through the thread and found this one -
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)
> I'm sure there is a newer version somewhere in the thread though

Text mode settings were successful. Next, the files are copied and the first reboot. Everything is fine. Further installation in graphical mode and again everything is ok. Then the second reboot and already at the 3rd stage of the installation I get BSOD. That is, the installation reaches almost completion.
The BSOD code was 7B as with unsuitable AHCI SATA drivers, but there are drivers, because the 1st and 2nd stages went fine. I tried to additionally enable the obviously working AHCI SATA Fernando mod driver - but this did not help. Therefore, I refused your assembly and took another from the LWGAME | NCORE project and integrated all the drivers into it. As a result, everything was normal.

#4221 | infuscomus | ⇗ @YuriyCN Do you know which driver setup used initially? was it the intel driver or storahci?

#4222

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #4221

> @YuriyCN
> Do you know which driver setup used initially? was it the intel driver or storahci?

I do not know. But some driver was definitely used. If there is no AHCI SATA driver, then we get a 7B BSOD at the 1st stage of installation. But I got a BSOD in stage 3. You need to figure out what happens in the final stage of installation.

#4223

ruthan

I wrote about this long time ago, but i wanst able to find the link:
X58-DOS (with real sound card sound)/Win98SE/WinXP/Win7/Win10 X58 machine, its not "real" multiboot because of you need some card exchanges for oses, i trying to make it working without it
⇗ https://www.vogons.org/viewtopic.php?f=25&t=56460
You can find here something about how to make NVME disk working without bios support through Clover
Update:
Funny is games speed comparision with 8700K, if you which that this X58 machine is slow.. you will suprised:
⇗ https://www.youtube.com/watch?v=skV9exEDM3w

#4224 | gordo999 | Something odd in my XP setup. I used the modded acpi.sys from this site to get XP going. It always failed with an 0XA5, indicating an acpi issue and the mod got it going. Recently, I did a repair install and the installer put the original acpi.sys back in the drivers folder. The system still boots with the original acpi.sys. Go figure!!!

#4225

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #4218

> I tried to include fixes for intel Z100/200/300 systems in this too, I don't have an Intel system myself so I'm not sure if they work.

I tried the ISO on my Q370 system:
- textmode setup ok;
- 1st reboot: first step of the GUI setup ok;
- 2nd reboot: XP hangs on a blank screen with only the mouse cursor visible but locked.
No changes on the next restart/shutdown.

#4226 | infuscomus | ⇗ @Andalu can you move the cursor? or is it completely frozen? I might look at removing the USB 3.0 files during setup, if that turns out to be the issue.
#4227 | Andalu | ⇗ @infuscomus the cursor is completely frozen even if the ps/2 mouse is powered. I only used the usb stick with the iso image, no other usb device connected to the board.
#4228 | ruthan | I have exactly same problem not not working input.

#4229

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #2751

> https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa5--acpi-bios-error ...

⇗ @daniel_k ...if you're still around. Had not noticed this post before but it is of interest to me. I fixed my 0xA5 errors using the acpi.sys file but I have noticed other BIOS-related errors, like when I tried to use a Cannon Lake INF package in an attempt to update my B360 chipset driver base. The INF contains all the correct hardware IDs for my chipset.
I put the error down to an older XP system not being aware of the newer BIOS on my B360-based motherboard. It does not make sense that my current BIOS is incomplete because it runs W10 and W7 without complaint. Therefore the problem seems to be in the ACPI components enumerating the BIOS.
Can you offer some advice on that? What XP components enumerate the BIOS? In my XP registry, there is a registry hive in HKLM\System\CurrentControlSet\Hardware that is only loaded when the system is live. It contains information about the BIOS. The data must be valid since it is loaded live from BIOS therefore the ACPI enumerating software must be incapable of reading it correctly.
ps. just occurred to me that the older enumerating software is looking in the wrong place for information in the newer BIOS. It would seem I need to use newer enumerating software.

#4230 | infuscomus | ⇗ @Andalu can i send you a copy of paragon rescue kit and a working XP install image? restore the image and see if it's working?

## Page 283

#4231 | Andalu | ⇗ @infuscomus no problem ;)
#4232 | Andalu | ⇗ @ruthan my mouse issue occured only during the XP installation with that specific ISO image. Never happened before with a ps/2 mouse for other ISO images. About your problem, have you already checked the bios settings? Is there the ps/2 emulation for keyboard and mouse?
#4233 | ruthan | Its gigabyte bios there some legacy usb and port 60 something, should they be enabled or disabled?

#4234

Andalu

> Zitat von ⇗ ruthan im Beitrag ¶ #4233

> Its gigabyte bios there some legacy usb and port 60 something, should they be enabled or disabled?

Your mouse/keyboard issue seems to be a bios related but I don't have your same board so I can't give you an exact suggestion. You have to go by attempts. The usb legacy should be always enabled. Have you also tried to set the "emulation of I/O ports 64h and 60h" on enabled and the 'fast boot' entry on disabled?

#4235 | ruthan | Yeah fast boot is disabled.. there is no any PS/2 specific settings.
#4236 | YuriyCN |
#4237 | infuscomus | ⇗ @Andalu Hi, I PMed you paragon rescue kit and an XP image.

#4238

Andalu

⇗ @infuscomus
I tried the ISO on my asus Q370:
at first attempt, I got the 0xA 'IRQL not less or equal' BSOD.
Replacing the acpi.sys with another mod version, XP boots normally but keyboard and mouse, both connected in two different ps/2 ports, don't work anyway (also in safe mode), even if their leds are on. There are no entries in the asus bios that can be related to the ps/2 emulation or similar.
Same behavior on the asrock B250, also with ps/2 emulation enabled in the bios.
Some drivers seem to be missing.

#4239 | infuscomus | ⇗ @Andalu any luck with USB ports? or not working? also, which acpi.sys did you use? - there are so many it's hard to keep track.

#4240

Andalu

⇗ @infuscomus
I have tried six other different versions of acpi.sys (5048 and 6666), same behavior.
No luck also using the usb mouse. Most probably the usb will work but my system needs to search and install the related drivers and with no input device I can't do anything. I'm always stuck at this point:
⇗

#4241 | ruthan | ⇗ @Andalu i was here, there is solution.. yoy need to make automated instalation, or integrated network drivers and enable remote desktop connection in nlite.. after that you can work with machine.. Or maybe you can just enable Remote desktop through some registry value..
#4242 | infuscomus | ⇗ @Andalu It's asking to install the PCI bus driver? you hardly ever see that! as ruthan said, If you have network access to it you can access it remotely and do the driver installation there. or otherwise, you can get a PCIE USB 2.0 card, connect everything to that and restart XP setup over again from scratch.

#4243

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #4238

> ...both connected in two different ps/2 ports, don't work anyway (also in safe mode), even if their leds are on. There are no entries in the asus bios that can be related to the ps/2 emulation or similar.

⇗ @Andalu ....Do you have PS/2 emulation? If so, you need emulation turned off when you have physical ports? Also, is your BIOS set for ACPI or legacy? Is CSM turned on?
I have never had a problem with PS/2 on my B360 chipset. I have two physical ports and both the mouse and keyboard always work.

#4244

Andalu

⇗ @infuscomus ⇗ @ruthan
thanks for your suggestions but I don't have both the network access to my system and a PCIE USB 2.0 card. I don't need to go deeper. Besides, it was just a test and it is not sure that XP can work 'perfectly' with that iso as expected, even with the drivers installation. At moment, I can be satisfied how pae and usb3 work simultaneously on my system. Of course, I needed to use a PCIE USB3 card to avoid PAE issues.
⇗ @gordo999
in the bios (asus makes no effort to improve it) there is not ps/2 emulation; both csm and legacy are enabled.
I never had those problems before, mouse and keyboard don't work only with that ISO.

#4245

ruthan

For these who dont follow our Win98 on modern system.. i only want to report that LInux - KVM - PCI-e / PCIe video cards passthrough + PCI sound cards is proven as working (you can use virtualized sound card too, but it has its flaws, or maybe USB one too - untested with Qemu, but tested with real Win98). Vitual Realtek 8139 is working too.
So all is ready to for using Windows 98 on any HW with device pass through virtualization support (for Intel:vt-d, for AMD: AMD-V ) on any desktop MB (i will not test it with laptors, but there are some external PCI / PCI-e boxss which you work too - ), where you have some free slots, if are willing to install Linux (other OSes dont support card passthrough) to some partition (30GB) to make it working, except initial setup, you could after ignore Linux part of its, its could be used just as "fancy bootloader" for you Win98 machine.. you course can pass through cards for WInXP, WIn7 and Wi10 too, its much let hassle.
Proof:
⇗ Windows 98SE on Modern Hardware (6)
Guide:
⇗ Windows 98SE on Modern Hardware (6)

## Page 284

#4246

gordo999

⇗ @Andalu ...your no mouse/keyboard problem is a tough one but you may find the answer in the ISO i386 directory in the txtsetup.sif file. It's a text file that can be loaded in a text editor. On one of my disks it lists [Mouse] as follows:
[Mouse]
msps2 = "Microsoft Mouse Port Mouse (includes BallPoint)",files.i8042,i8042prt
lgps2 = "Logitech Mouse Port Mouse",files.i8042,i8042prt
msinp = "Microsoft InPort Bus Mouse",files.inport,inport
msbpser = "Microsoft BallPoint Serial Mouse",files.sermouse,sermouse
lgser = "Logitech Serial Mouse",files.sermouse,sermouse
none = "No Mouse or Other Pointing Device",files.none,""
mouhid = "USB Mouse",files.mouhid,mouhid
msser = "Microsoft Serial Mouse",files.sermouse,sermouse
ps2 = "Mouse Port Mouse",files.i8042,i8042prt
sermouse = "Serial Mouse",files.sermouse,sermouse
USB = "USB Mouse",files.mouhid,mouhid
Also,
[Keyboard]
STANDARD = "XT, AT, or Enhanced Keyboard (83-104 keys)",files.i8042,i8042prt
kbdhid = "USB Keyboard",files.kbdhid,kbdhid
USB = "USB Keyboard",files.kbdhid,kbdhid
Make sure yours has not become corrupted somehow. It's unlikely that corruption would affect only the USB and PS/2 mouse and keyboard, however, but there may be something like the error I found after using nlite. Under the section [SetupData] it had listed my defaultdrive as being on the D:\ drive instead of C:\. It's actually supposed to be listed as DefaultPath=\WINDOWS, with no drive letter because earlier in the section SetupSourcePath = "\" is declared. That presuming your windows directory is called windows.
Also, you might check the setupapi.log on your installation. You can view it offline from another OS or use a boot disk like the modern Hiren's boot disk. The older ones won't boot into on a modern chipset since they are based on Win XP. Just thought that I may be able to mod one of their old disk with the newer acpi and sata drivers. :-)
It should tell you what problems it encountered during setup. Mine is located in the windows directory. Do a search for mouse and keyboard and check each reference. It claims to have found "PNP0F03" in c:\windir\inf\msmouse.inf. Make sure your line corresponds to your actual windir and that msmouse.inf is in the INF directory. It also lists PNP0F13 for compatible mouse drivers.
Same with keyboard.

#4247 | Opanje123 | Hello! I need to install Windows XP32 on motherboard N3160N-D3V. BIOS recognizes hard drives, but gives an error "Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key". I tried to integrate the drivers AHCI in WinXP, but did not help :(
#4248 | ruthan | This means that your computer is not starting from boot cd / usb there you have win xp install.. So you have wrong boot order, or bad media etc..
#4249 | Andalu | ⇗ @gordo999 thanks for info and help but I can't access to the i386 folder because I don't have the ISO image. I have restored an XP image saved from another system, so I can't verify the txtsetup.sif file. In the setupapi.log everything about the driver installation and the paths of the keyboard and mouse seems to be correct. But it does not matter ;)

#4250

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #4249

> In the setupapi.log everything about the driver installation and the paths of the keyboard and mouse seems to be correct. But it does not matter ;)

⇗ @Andalu ...the only other thing coming to mind is an IRQ conflict. Two devices are trying to use the same IRQ, or possibly trying to access the same memory. Modern chipsets with an apic should not have that problem but sometimes there are several devices sharing the same IRQ.
The only practical way to check that with an offline machine is to move cards around in your PCI slots, or remove all cards except those you need, like the video driver. Here's a brief article outlining the idea using the registry.
⇗ https://helpdeskgeek.com/how-to/manage-irq-settings-windows/
You can access the registry in the offline machine from the registry of an online machine. Highlight Hkey_Local_Machine then look under the File menu at top of screen. Press Load Hive and direct it to %windir%\system32\config on offline machine. For the case in the article above, you would select the system hive in that directory then name it something unique like offline_system. It will show up under the HKLM key as offline-system. Then you can edit it as required. Remember to Unload it before shutting down regedit.

#4251 | Andalu | ⇗ @gordo999 Thank you again for your post, I will keep your valuable advice for a future need. I preferred to let that ISO go because, as already reported, while solving the mouse and keyboard problem, I'm not sure to avoid other issues related to the same ISO.
#4252 | Marwan | Hello ... I own a Lenovo g50_30 laptop. Can I install Windows XP on it? Are there drivers for it?

#4253

Fernando

⇗ @Marwan:
Welcome to the Win-RAID Forum!
I have moved your request into this already existing thread, where you can find a lot of information.
My answer to your question: Yes, it is possible to install Windows XP onto your laptop.
Good luck!
Dieter (alias Fernando)

#4254

gordo999

> Zitat von ⇗ Fernando im Beitrag ¶ #4253

> Yes, it is possible to install Windows XP onto your laptop.
> Good luck!Dieter (alias Fernando)

⇗ @Fernando ....it not only works, it works very well, thanks to you and the guys in the thread. I was told initially that it was impossible.
BTW...are you aware of 'right to repair' legislation in Europe. I have been advised that certain countries have enacted legislation giving consumers the right to have old equipment repaired. That's all I know. If it's correct, I am wondering how that might be extended to the right to have an OS like XP maintained by Microsoft.

#4255

YuriyCN

NVIDIA GeForce iCafe Graphics Driver 368.91 for XP 32bit
Supported cards:
Driver - ⇗ http://cn.download.nvidia.com/Windows/iC...ternational.exe
GeForce 1000 series:
GTX 1080, GTX 1070, GTX 1060
GeForce 900 series:
GTX TITAN X, GTX 980 Ti, GTX 980, GTX 970, GTX 960, GTX 950
GeForce 700 series:
GTX TITAN Z, GTX TITAN Black, GTX TITAN, GTX 780 Ti, GTX 780, GTX 770, GTX 760 Ti,
GTX 760, GTX 750 Ti, GTX 750, GTX 745, GT 740, GT 730, GT 720
GeForce 600 series:
GTX 690, GTX 680, GTX 670, GTX 660 Ti, GTX 660, GTX 650 Ti BOOST, GTX 650 Ti, GTX 650,
GTX 645, GT 645, GT 640, GT 630, GT 620, GT 610, 605
GeForce 500 series:
GTX 590, GTX 580, GTX 570, GTX 560 Ti, GTX 560 SE, GTX 560, GTX 555, GTX 550 Ti, GT 545, GT 530, GT 520, 510
GeForce 400 series:
GTX 480, GTX 470, GTX 465, GTX 460 v2, GTX 460 SE v2, GTX 460 SE, GTX 460, GTS 450, GT 440, GT 430, GT 420, GT 415

#4256 | ruthan | ⇗ @YuriyCN: Is somewhere real confirmation that its really working with Geforce 10xx?

#4257

YuriyCN

For NVIDIA (Windows XP):
nVidia Geforce iCafe Expresso 368.91 WHQL Desktop driver
Notes: ⇗ https://drivers.softpedia.com/get/GRAPHI...91-for-XP.shtml
Driver: ⇗ http://cn.download.nvidia.com/Windows/iC...ternational.exe
For AMD RADEON (Windows XP):
2015.09.30 version 300.100 - icafe-winxp-9.00.300.3010-beta1-br294594-sep24.exe
AMD Radeon HD 5000 Series
HD5450 / HD5550 / HD5570 / HD5750 / HD5770 / HD5830 / HD5850 / HD5870
AMD Radeon HD 6000 Series
HD6450 / HD6570 / HD6670 / HD6750 / HD6770 / HD6850 / HD6870 / HD6950 / HD6970
AMD Radeon HD 7000 Series
HD7750 / HD7770 / HD7850 / HD7870 / HD7950 / HD7970 / HD7990
AMD Radeon R9/R7 200 Series
R5 230 / R7 240 / R7 250 / R7 250X / R7 260X / R9 270 / R9 270 1024 SP / R9 270X / R9 280 / R9 280X
AMD Radeon R9/R7 300 Series
R7 360 / R9 370 1024 SP / R9 370X
All AMD Radeon APU Series
HD7480D / HD7540D / HD7560D / HD7660D / HD8370D / HD8470D / HD8570D / HD8670D / R7 series
Notes: ⇗ https://web.archive.org/web/201808170741...fe-unified.aspx
Driver: ⇗ http://radeon.ru/drivers/amd/xp/icafe-wi...94594-sep24.exe

#4258 | Andalu | It's a shame there is nothing to do for a RX550 to work in XP

#4259

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4256

> @YuriyCN: Is somewhere real confirmation that its really working with Geforce 10xx?

⇗ @ruthan ....if you mean is XP working with GeForce 10xx, I can only confirm that XP works fine with the driver 368.91. I had no trouble loading my GT-730 drivers and all the extras even though I did not remove the earlier GeForce driver set. The installation asks you if you want to do a fresh install.
What you have to watch is that the entire 368.91 package downloads, otherwise the installation will stop and claim there are files missing. I don't know how that is possible since the package comes zipped with an exe extension. However, my first d/l of the package had several files and folders missing. I suggest you download whatever package you need from Nvidia's site.

#4260 | ruthan | If you mean that this driver is working with Geforce 730 is nothing.. important is 10xx, i thing that if it would work we would know, it would be big thing.. This looks just like bugged release notes, probably through some copy/paste.. I checked some Guru3D thread about this release, there wasnt any positive info..

## Page 285

#4261 | IntiMD | ⇗ @ruthan IIRC the xp package doesn't even have the relevant HWIDs for 10xx gen in the .infs, and even if you add them and try to force the install on them, best case scenario would be 2d acceleration available but lack of 3d acceleration. worst case scenario it would fail to install the driver at all.

#4262

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4260

> If you mean that this driver is working with Geforce 730 is nothing.. important is 10xx

⇗ @ruthan ....from the 368.91 release notes....
"Supported cards :
GeForce 1000 series:
GTX 1080, GTX 1070, GTX 1060..."
If the 368.91 drivers support the GT-730 on XP they should support the 10xx series. Why would they not? What errors do you get when you try to load the 368.91 package? Does it install but the 10xx series card does not work? If so, I'd say your XP installation is not working correctly. You may have wrong or missing chipset drivers.
There was issue with the acpi driver before daniel_k fixed it. I don't recall the details but apparently it did not show the display driver. You might want to research that.
It took me several attempts to get 'different' driver packages loaded. The installer complained of missing files. When I finally got the proper package from Nvidia, with a good download, the good file had many more folders and files than the bad one. The good one loaded immediately with no errors and the GT-730 is working very well.
Sorry...I did not check to see which motherboard/chipset you have. Mine is an Intel B360 300-series chipset. I have presumed, apparently incorrectly, that the reference to 'modern' chipsets in the title of this thread means really new chipsets like the 300-series. XPLIVES had to straighten me out on that so maybe I spoke too soon.

#4263

gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4262

> You may have wrong or missing chipset drivers.

⇗ @ruthan ...here's an example of what I mean. Recently, I did a repair install on my XP installation using an XP install disk slipstreamed with SP3. My Nvidia card and my Creating Xfi card were working before the repair install but after the driver packages for both could not find the Nvidia or Xfi cards. That was because the XP SP3 drivers lacked the proper chipset drivers for my 300-series B360 chipset. The PCIe ports were not being enumerated correctly.
I got them back again by slipstreaming the unofficial XP SP4 update with the XP SP3 disk. Somewhere in the SP4 update they have chipset drivers for my B360 chipset. I don't think they are drivers for the hardware ID but for the compatible hardware ID. With those chipset drivers installed the Nvidia and Creative boards started working again.
BTW...the SP4 unofficial update has SATA drivers signed by Fernando, so Harkaz, who created the SP4 updater, knows about these things. I did have to reinsert the ACPI mod by daniel_k to get around the 0XA5 ACPI error during installation. I also had to fix the unattend in nlite to allow the installation to stop at the point where a repair install is available. If it's marked as a full unattend it will not allow a repair install but will allow a parallel XP installation, which doesn't help a lot unless you want a clean install.
Another point to note. Anyone trying a repair install of XP should be sure to remove Internet Explorer first. It can be done in Add/Remove Hardware under add/remove Windows components. Otherwise the installtion will go into a loop in the final stage. You can also reboot into safe mode at that point and remove IE then.

#4264 | ruthan | Chipset doesnt matter.. Geforce 730 using same chip logic as Geforce 9xx card, 10xx is new architecture.. to make it working you need at least some new code.. Because Nvidia want to save some time and money they didnt wrote that code.. and unless someone hack their drivers it will never work. If it would work, we would have lots of success stories and videos around.. but we have only some release notes mistake.

#4265

XPLives

⇗ @Fernando

> Zitat von ⇗ Fernando im Beitrag ¶ #4202

> > Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> > I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.

> Just for clarification:
> Only attached or linked drivers, whose *.SYS file code has been altered, will be deleted by the Win-RAID Forum team (to avoid any problems with the manufacturer of the original driver).

Fernando, what caused this change of thinking? I seemed to recall many drivers were modified and uploaded here as far back or earlier than 8-1-2019. I assumed that somehow your site had some German immunity since your Intel SATA drivers seemed to be allowed although no sys modification and when diderius6 and daniel_k uploaded their modified files I assumed you were okay with it then or it was allowed due to some oversight being a German site.
What happened since then that caused this sudden enforcement?
Were you alerted by any of the driver companies directly to take them down? And if so which ones?
Most of the XP drivers that are modified seem to be defunct and no longer updated or old enough that no one really cares about anymore or as you put it once a 20 year old OS that no one has time for anymore so at best there is no profit involved for those companies as most have shifted towards Windows 10 drivers only.
Anyhow I'm just wondering what transpired as it seems starting February 29th, 2020 a lot of these files have been taken down. I think a lot of the continued popularity of this thread could be attributed to diderius' and daniel_k's contributions to this massive thread involving their files for newer systems.

#4266

XPLives

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #4203

> My last post here. Please read this:
> INTEL END USER SOFTWARE LICENSE AGREEMENT
> IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
> THE FOLLOWING NOTICE, OR TERMS AND CONDITIONS SUBSTANTIALLY IDENTICAL IN NATURE AND EFFECT, MUST APPEAR IN THE DOCUMENTATION ASSOCIATED WITH THE INTEL-BASED PRODUCT INTO WHICH THE SOFTWARE IS INSTALLED. MINIMALLY, SUCH NOTICE MUST APPEAR IN THE USER GUIDE FOR THE PRODUCT. THE TERM "LICENSEE" IN THIS TEXT REFERS TO THE END USER OF THE PRODUCT.
> LICENSE. Licensee has a license under Intel's copyrights to reproduce Intel's Software only in its unmodified and binary form, (with the accompanying documentation, the "Software") for Licensee's personal use only, and not commercial use, in connection with Intel-based products for which the Software has been provided, subject to the following conditions:
> (a) Licensee may not disclose, distribute or transfer any part of the Software, and You agree to prevent unauthorized copying of the Software.
> (b) Licensee may not reverse engineer, decompile, or disassemble the Software.
> (c) Licensee may not sublicense the Software.
> (d) The Software may contain the software and other intellectual property of third party suppliers, some of which may be identified in, and licensed in accordance with, an enclosed license.txt file or other text or file.
> As you can see, 99.99% of all software available here is theoretically being distributed/modified against Intel's EULA.
> Even the Coffee Lake mod is a clear case, as they weren't originally intended for use with non-certified boards.

It's not entirely clear but were you notified to not upload your modified drivers from one of the driver companies or was it Fernando only?
I naturally and incorrectly assumed that the site being in Germany had some sort of immunity than if it were based in the United States which is why when diderius6 or yourself uploaded modified files I thought it was allowed.
This may not matter now being your last post here. But at the time I was considering to split this main thread into ACPI, USB 3.0, and XP Pro 64-Bit threads when it was around 2500 messages aside from the diderius6 and dencorso objections one major factor that played into me not splitting the thread had to do with you. When I realized the connection of where I had seen your name before involving your work on the Creative Labs drivers it gave me further pause and ultimately decided even though it would have been a lot of work and doable maybe with Lost_N_Bios' help it may have in some way jeopardized your own work or momentum on the drivers.
I had not yet had time to create my own XP dedicated forum site (maybe one day) but as long as you can continue your work and archive it on your own site or elsewhere I'm sure it will be continually appreciated. If you are able to write a guide on how to learn and perform these ACPI and USB 3.0 modifications it would probably help further the progress of it. I know trying to do this as a solo mission probably is a huge undertaking but perhaps others could then take up the slack and expand the efforts you've contributed thus far. As a fellow Asian as well as long you are able to persist you can accomplish your goal.

#4267

Fernando

⇗ @XPLives:
Here is my statement:

1. As Admin of this Forum I am responsable for everything, what is published here. It is my duty to take care about the adherence of the Copyright rules. Otherwise I risk, that the Forum will be closed by the related authority.
2. Nothing would have happened from my side, if the driver modder had given just the information within the Forum, that interested users may send him/her a PM.
3. The Copyright rules are world wide valid. So there is no "German immunity" regarding its adherence.
4. It makes a big difference, whether a Copyright violation is "allowed" or just "tolerated" by a certain chipset manufacturer.

5. > Zitat von ⇗ XPLives im Beitrag ¶ #4265

   > What happened since then that caused this sudden enforcement?

   It took some time until I had recognized, that some users had linked or attached modded drivers, whose hex code and digital signature had been manipulated. As soon as I had realized that, I did what my duty as Forum Admin is.
   Additional problem: The users of the related drivers got not even the information,
   a) that the driver itself (= *SYS file) has been modified and
   b) who had done the modifications.

6. > Zitat von ⇗ XPLives im Beitrag ¶ #4265

   > Were you alerted by any of the driver companies directly to take them down?

   Yes, but I will not publish the name of the Company.

#4268 | YuriyCN | According to Newtons Law 3, the force of action is equal to the strength of the reaction. They will receive a similar blow from consumers in response. Soon the time will come when users will stop buying Windows 10, remaining on the old OS, which is much simpler, more convenient and do not have unsolicited functionality.
#4269 | Outbreaker | If Linux gets more and more gaming support it will be soon by by for Windows. POP_OS! is a good example off improving the gaming experience on Linux. I would even pay 10% more for a Game that has a good native Linux support.

#4270

schreiberstein

Hey there!
After my GTX 780 died, I refrained from experimenting with bare-metal Windows XP on my Gigabyte Z390 Designare.
It wasn't a good experience overall anyway. My focus shifted to PCI-passthrough via KVM virtualization on Linux - But I was unable to pass through graphics cards to non-UEFI Windows guests (e.g. Windows XP i386).
I purchased a NEC based PCI USB 2.0 which worked in the native UEFI environment (during boot) and I was able to pass that to a Windows 10 guest.
However, there were so many IRQ/IOMMU group conflicts that I decided not to pursue this any longer.
(A KVM virtualized Windows XP guest starts in a split second though. Really really impressive, especially when compared to bare metal performance and boot time)
I would now be interested in building an AMD Ryzen X570 based system, paired with an AMD Radeon 7970 or 7950 (supports both Windows XP and latest MacOS, as well as Windows 10 compatible Adrenaline drivers).
Loosely following this thread, I have noticed that some folks on here are already on this platform. Is there any brand I should avoid or favor?
I'd like to ask about your experience with it, especially in comparison with other Intel systems.
Is compatibility better? At least the Windows 7 compatibility seems outright better. My Z390 board has this weird stutter-effects on Windows 7, regardless of what GPU I use.
Since I have an external box for traditional PCI cards, I would primarily use the NEC based USB2 chip for USB keyboard and mouse.
I would be thankful for any suggestions.
Cheers,
schreiberstein

#4271

gordo999

> Zitat von ⇗ schreiberstein im Beitrag ¶ #2946

> ⇗ @diderius6 ...I have just installed this *** HAL.dll and intelppm on my XP system and voila...This magically fixed all web browsers and some obscure game demos from 2005 that I attempted to run.

⇗ @diderius6 ... ⇗ @schreiberstein ...Just want to confirm that I had the same success using hal and intelppm. I had not paid much attention to those files and was having issues running Firefox on XP and with direct3D issues on games. The games would play sound fine but the video would stall so much the games became unplayable.
I am happy to report my Firefox browser now works perfectly and my games as well. Congratulations to all you guys who worked on this and thank you kindly. I should mention my system uses an Asus B360M with the Intel B360 chipset and an Intel i5-8400 processor. I am using an Nvidia GT-730 video card with a Creative Xfi extreme music sound card.

#4272

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #4270

> Hey there!
> After my GTX 780 died, I refrained from experimenting with bare-metal Windows XP on my Gigabyte Z390 Designare.
> It wasn't a good experience overall anyway. My focus shifted to PCI-passthrough via KVM virtualization on Linux - But I was unable to pass through graphics cards to non-UEFI Windows guests (e.g. Windows XP i386).
> I purchased a NEC based PCI USB 2.0 which worked in the native UEFI environment (during boot) and I was able to pass that to a Windows 10 guest.
> However, there were so many IRQ/IOMMU group conflicts that I decided not to pursue this any longer.
> (A KVM virtualized Windows XP guest starts in a split second though. Really really impressive, especially when compared to bare metal performance and boot time)
> I would now be interested in building an AMD Ryzen X570 based system, paired with an AMD Radeon 7970 or 7950 (supports both Windows XP and latest MacOS, as well as Windows 10 compatible Adrenaline drivers).
> Loosely following this thread, I have noticed that some folks on here are already on this platform. Is there any brand I should avoid or favor?
> I'd like to ask about your experience with it, especially in comparison with other Intel systems.
> Is compatibility better? At least the Windows 7 compatibility seems outright better. My Z390 board has this weird stutter-effects on Windows 7, regardless of what GPU I use.
> Since I have an external box for traditional PCI cards, I would primarily use the NEC based USB2 chip for USB keyboard and mouse.
> I would be thankful for any suggestions.
> Cheers,
> schreiberstein

AMD has better DOS compatibility. Intel has better XP compatibility. Those were the most significant.
As for why your GTX 780 died could be due to old age/overheating from dirty fans.
Radeon 7000 HD series is pretty ancient but if it does XP and Mac OS natively then you should choose that than nVidia 700 or 900 series.
A GT 730 might be a better card for Intel system for fanless solution on the cheap for XP. Mac OS if can be made to work then this would be a good fanless hackintosh hybrid.
Not sure about Windows 7 stuttering problem. Most likely ACPI is no longer compatible on Z390 and needs a BIOS Mod. If it doesn't stutter in Windows 10 then you have your answer.

#4273

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #4272

> Not sure about Windows 7 stuttering problem. Most likely ACPI is no longer compatible on Z390 and needs a BIOS Mod. If it doesn't stutter in Windows 10 then you have your answer.

⇗ @XPLives ....The Z390 is a more expensive version of my B360. I have no issues with stuttering in W7 and have had no problems with it at all once the chipset drivers were updated and the USB driver from canonkong was installed. My GT-730 has worked on W7 from the start as well as my Creative Xfi extreme music card. I had W7 USB 3 running on an add-on card with a VIA chipset before installing the canonkong drivers.
With XP, I was getting complaints from XP that my i5-8400 processor had issues. Video on games would stutter and stop randomly and hitting the escape key often recovered from the stalls. No browser would run 100%. With Firefox 52, I got it to run by keeping the task manager open. Firefox would not respond to mouse clicks till I had clicked the mouse on task manager...go figure.
All of those problems cleared up when I installed hal and intelppm from this site.

#4274

XPLives

⇗ @gordo999
Sounds like using those 2 files will have the same effect as the BIOS Mod.
Go ahead and add a link to the proper post you found each driver. I'll have to check if these files fix any anomalies you had on my own system.
List which games would stutter and stop randomly before applying the two files.
When I have more time I will investigate this. For the moment I haven't used Firefox yet on the Z370. Mainly browsing on Ivy Bridge.
EDIT by Fernando: Unneeded fully quoted post and blank lines removed (to save space and for a better readability).

#4275

schreiberstein

⇗ @XPLives
I bought it used a few months prior to using it as my daily driver.
And then it just died with artifacts. It was clean and I did not game for more than an hour with it in total.
Then it just crashed my Mac system while doing some light text editing work.
Now, I cannot load the drivers or the system will hang. I attempted underclocking the RAM and core by replacing the BIOS, but I think the VRAM is bad.
Even in VESA mode I have artifacts that seem to be caused by bad video RAM.
I have lost my faith in Intel platforms. People advised me that I should go with a Pentium 4 / 775 system with i865 chipset for Windows 98 retro stuff, but I had nothing but problems with this Intel garbage. Same for other Intel based machines. Meanwhile, all my Socket 939 / AM2 machines are rock steady whenever I drag them out my basement. They POST very quickly, detect all attached drives, etc. Given that the AMD Vanilla hackintosh community is doing very good process, I think I will ditch Intel altogether in the foreseeable future.
Cheers,
schreiberstein

## Page 286

#4276

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #4274

> Sounds like using those 2 files will have the same effect as the BIOS Mod.
> Go ahead and add a link to the proper post you found each driver.

⇗ @XPLives ...it was post #2942 ..... ¶ #2947
Games were Myst 3 Exile and Myst 5 End of Ages. The first was barely playable but froze all the time requiring a reboot of the game. Myst 5 would not even start since it had no mouse at the page where you select New Game, etc. The video and sound was fine till that point just no mouse. Hal and intelppm fixed both.

#4277 | Outbreaker | Can someone send me the latest USB 3.0 driver files, acpi.sys ffile, Generic SATA/AHCI driver files and the WinXPPAE.EXE file?

#4278

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4276

> > Zitat von ⇗ XPLives im Beitrag ¶ #4274

> > Sounds like using those 2 files will have the same effect as the BIOS Mod.
> > Go ahead and add a link to the proper post you found each driver.

> @XPLives ...it was post #2942 ..... ¶ #2947
> Games were Myst 3 Exile and Myst 5 End of Ages. The first was barely playable but froze all the time requiring a reboot of the game. Myst 5 would not even start since it had no mouse at the page where you select New Game, etc. The video and sound was fine till that point just no mouse. Hal and intelppm fixed both.

I had downloaded this before but never used it. I redownloaded it now to do a later test. I know one nVidia demo I tested did not work correctly with DK_ACPI.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)
Don't think I have Myst 3 Exile and Myst 5 at least off hand. Might be in one of my storage boxes. Any others games fixed?

#4279

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #2942

> PS: Here are the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem.

Please specify which timer problems are you talking about?

#4280 | ruthan | Look at these threads, it was before patches: ⇗ https://msfn.org/board/topic/178240-winx...comment-1161108 ⇗ https://msfn.org/board/topic/178110-xp-o...comment-1169100
#4281 | POE_UK | You can use EASY2BOOT to make a bootable usb XP drive, however i strongly advise against doing this, during installation EASY2BOOT installs very dodgy storage drivers that cause nothing but problems, including XP picking up on the fact that the install has been tampered with, a £10 optical drive and a good CDR disc is the way to do it.
#4282 | YuriyCN | When using hacked hal.dll and intelppm.sys from the halplusintelppmXPSP3.rar, I get an increase in the performance of my SSD drive from 180-190 MB/s to 250-260 MB/s. I have not noticed any other changes, so I recommend this patch for use - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)

#4283

YuriyCN

Additional tests in Performance Test 8.0 showed, that using hacked hal.dll and intelppm.sys improves performance:
SATA SSD = + 30%
CPU = +3%
2D = +5%
3D = 0%
Memory = 0%

#4284

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #2942

> @daniel_k @schreiberstein
> Here are the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem.

Hello diderius6!
In your message ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) from Sat Oct 12, 2019 6:26 pm you proposed to use "the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem", and you attached the "halplusintelppmXPSP3.rar" archive with these files.
Please answer a few questions:
1) Could you please write in more detail what the essence of this patch is, what problem does it solve?
2) What hardware is it intended for?
3) Is the latest version of the corrected files attached to the message, or do you have a newer one?

#4285 | Andalu | ⇗ @YuriyCN Did you solve the issues encountered some time ago using the USB3 drivers and WinXPPae2 together?
#4286 | YuriyCN | Yes! This problem were resolved when I use WinXP with updates to 2018. On the clean MSDN image WinXP SP3 - the problems were not solved. Apparently, the reason was in some kind of sys-file and after the update was decided by itself.

#4287

Andalu

⇗ @YuriyCN
Good news from you too then
On my system, both USB3 driver and WinXPPae /all work without the issues recognized some time ago for the updated and not updated ISOs.
I solved the issues by replacing the existing hal.dll with the version of the package "halplusintelppmXPSP3.rar" and amdxhci.sys with the version of the package "amdxhc_pae_fix.rar". So far I have not encountered any other problems.
Here the screenshot referred to my updated system started with 6 USB devices already connected to the board and 'chkdsk' and 'format' fully functional (firefox also works with no mouse input stumblings):
⇗

#4288

YuriyCN

Hello diderius6!
In your message Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) from Sat Oct 12, 2019 6:26 pm you proposed to use "the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem", and you attached the "halplusintelppmXPSP3.rar" archive with these files.
Please answer a few questions:
1) Could you please write in more detail what the essence of this patch is, what problem does it solve?
2) What hardware is it intended for?
3) Is the latest version of the corrected files attached to the message, or do you have a newer one?

#4289

ITriedOkay

Hello, is it still possible to request a modded ACPI.SYS for my PC?

> Zitat von ⇗ Outbreaker im Beitrag ¶ #4277

> Can someone send me the latest USB 3.0 driver files, acpi.sys ffile, Generic SATA/AHCI driver files and the WinXPPAE.EXE file?

Check your PMs.

#4290 | infuscomus | ⇗ @ITriedOkay have you tried the existing modded acpi.sys?

## Page 287

#4291 | ITriedOkay | ⇗ @infuscomus Yes... I tried ⇗ DK's version and ¶ Dietmar's version. No luck with either.
#4292 | infuscomus | ⇗ @ITriedOkay I'll PM you one last version - ⇗ @diderius6 called it the "outer space" version. If that doesn't work then we can only hope ⇗ @diderius6 comes back here one day to help you with it.
#4293 | ITriedOkay | The outer space version didn't work, the PC just goes into a black screen... The default acpi.sys yields this exact stop error: STOP: 0x000000A5 (0x00000011, 0x00000008, 0xF72D0240, 0x20160527)
#4294 | infuscomus | ⇗ @ITriedOkay curious that you got a black screen, it may yet still work have you integrated the outer space acpi.sys into your XP install media?
#4295 | ITriedOkay | It's not an install media actually, it's a VHD that has Windows XP pre-installed, which I boot directly on PCs. ⇗ This page will give you more information on how I'm doing this... I can already replace ACPI.SYS inside it with ease, if this is what you're asking.
#4296 | infuscomus | ⇗ @ITriedOkay Thats an unusual setup, I'd prefer booting off a physical drive myself. your XP installation might not be setup to use ACPI properly I'll PM you some XP install media to test

#4297

YuriyCN

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4293

> The outer space version didn't work, the PC just goes into a black screen... The default acpi.sys yields this exact stop error:
> STOP: 0x000000A5 (0x00000011, 0x00000008, 0xF72D0240, 0x20160527)

5 versions of the modified file ACPI.SYS + original version
The BEST version - ACPI+USB(all versions)\ACPI.SYS\acpi_1 (the best).sys
⇗ https://www67.zippyshare.com/v/bsNhCGhi/file.html

#4298 | infuscomus | ⇗ @YuriyCN your upload forgot to include the USB 3.0 Hub driver, and the inf file for installing the driver too.

#4299

Pill Monster

> Zitat von ⇗ Andalu im Beitrag ¶ #4210

> > Zitat von ⇗ daniel_k im Beitrag ¶ #4203

> > My last post here.....

> I'm sad to read this. It's a big loss for the forum. Thanks so much for your great work

Just saw this.
I sent DK a pm earlier & wondered why he hadn't responsed. Dunno what happened but it's a shame. Hope he returns

#4300 | ruthan | All lowlevel guys are gone for long time, because of forum copyright policy..

#4301

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #4298

> @YuriyCN
> your upload forgot to include the USB 3.0 Hub driver, and the inf file for installing the driver too.

This is the USB3 driver for modern Intel motherboards 100, 200, 300 - series. In theis archive driver for Windows XP and a separate patched file for PAE mode - ⇗ https://www34.zippyshare.com/v/JbI6WPAU/file.html

> Zitat von ⇗ ruthan im Beitrag ¶ #4300

> All lowlevel guys are gone for long time, because of forum copyright policy..

Please, give me the forum URL where the experts went.

#4302

gordo999

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4293

> STOP: 0x000000A5

⇗ @ITriedOkay ...0xA5 is an ACPI error. Maybe your system file checker is replacing the one you insert with the original. If so, you have to insert ACPI offline. On my system XP is on its own disk and I can start W7 and hot plug XP. Then I can insert a file like ACPI.sys from W7 without SFC replacing it.
I am presuming your system is running, maybe it's not. You can bypass the acpi error using the installation disk. Run the installation and when you see the prompt to hit F6 to load drivers, hit F7 instead. I hit it several times to be sure. The installation should run cleanly to the point where it asks you to hit R to enter repair mode. Don't go past that point, use F3 or whatever is indicated to get out of there. At least that will tell you if your system is good to that point.
BTW...if you do reach the point where you can hit R to enter repair mode, you will reach a command prompt. You might be able to insert the modded acpi from there. If you change directory to %windir%\system32\drivers, look at the size of acpi and compare it to the size of the modded acpi. They should be the same if you inserted it properly to the right directory.
If you get an 0x7F error before the R prompt, you have a problem with the SATA driver.
BTW...I have not seen a description of your system. Can you supply that?

#4303

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4300

> All lowlevel guys are gone for long time, because of forum copyright policy..

⇗ @ruthan ...it's not the forum copyright policy, it's the threats the low level guys received directly from Intel, I think it was. Daniel_k told us that. Fernando is just trying to follow a policy that will appease Intel.
I don't think anyone knows where the guys have gone.

#4304

ruthan

Well, i read here other version story - that Fernando was harassed by some unknown company, so he changed / forced policy, what piss off Daniel and other guys, but i can be wrong.
I wouldnt be surprised if it would be Intel or MS.
Is loss for everyone except maybe some layers and bullies, its like right to repair things.
If understand it correctly problem is that drivers had to have some security signature to work (Microsoft thing).. and maybe Intel or others vendors were not ok, that some modified drivers were signed as original Intel or whatever ones..

#4305

ITriedOkay

⇗ @YuriyCN
The acpi_1 file didn't work, the screen still goes black.
⇗ @gordo999
I get the BSOD with XP's default acpi.sys only, as for all the modded acpi.sys files I tried (which I have inserted offline) I just get a black screen.
Perhaps I need to elaborate more on ¶ my previous post... I'm not using XP as my main OS, it's simply a portable pre-installed image that I boot up directly on my PC and others. The steps to create it are briefly explained inside the spoiler:
1. Install XP in a virtual machine, on a fixed ⇗ VHD image. Disable pagefile, hibernation, and system restore.
2. Inside the XP machine, install ⇗ the SVBus driver like you would install a SCSI/RAID driver.
3. Through Device Manager, for all IDE and System devices that use a branded driver (e.g. Intel), update them to use XP's generic drivers. Restart the machine when necessary.
4. Shut down the machine, and copy the VHD to a USB stick with ⇗ GRUB4DOS 0.4.5c installed.
5. Boot from the USB, GRUB4DOS will start, mount the VHD to RAM and boot from there. After mounting is complete the USB can be removed.
I have booted this image countless times on several PCs, including modern-ish PCs (~2015) with no problem. I only faced the ACPI issue when I tried booting on my new laptop which was manufactured in 2019. FWIW the laptop is a Dell G5 5590.
⇗ @infuscomus
I think XP is setup correctly, see my reply to gordo above. The problem probably lies with my hardware being "non standard"... For example I tried installing Windows 7 at first and it didn't detect any of the internal drives, so I installed Windows 10 and the setup went fine. A similar case is possible with the ACPI and XP.

## Page 288

#4306

infuscomus

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4305

> For example I tried installing Windows 7 at first and it didn't detect any of the internal drives

^
this
XP likely has the same issue
we do have a generic AHCI storage driver for XP now - but I've never tried replacing it on an existing install, only new installs, so i'm not 100% sure how to install it on an existing system.
also, since you are getting A5 BSOD, you will still need the patched ACPI driver aswell.

#4307 | diderius6 | ⇗ @infuscomus You can change very easy to the generic STORAHCI driver, when you copy the needed files and run the *.reg patch to the registry via a second compi Dietmar

#4308

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #4303

> it's not the forum copyright policy, it's the threats the low level guys received directly from Intel, I think it was. Daniel_k told us that. Fernando is just trying to follow a policy that will appease Intel.
> I don't think anyone knows where the guys have gone.

It is unlikely that these threats came from Intel... Most likely from Microsoft. Intel still sells its hardware, and Microsoft transfers everything to Windows 10. Users who stay on Windows XP and Windows 7 - Microsoft are across the throat.

#4309

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #4307

> @infuscomus
> You can....
> Dietmar

In your message ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) from Sat Oct 12, 2019 6:26 pm you proposed to use "the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem", and you attached the "halplusintelppmXPSP3.rar" archive with these files.
Please answer a few questions:
1) Could you please write in more detail what the essence of this patch is, what problem does it solve?
2) What hardware is it intended for?
3) Is the latest version of the corrected files attached to the message, or do you have a newer one?

#4310

AddFun

I tried moving my successful WinXP 32bit install from a Ryzen/X370 machine (thank you guys!) to a Z390/CoffeeLake machine. Surprisingly, the system/OS booted that XP cloned partition just fine. Problem is USB. I get to desktop and have no control. Supposedly this motherboard has dedicated USB2 ports but they are handled by the same Z390 chipset. This Z390 motherboard has no PS/2 ports. So, now the system boots and sits on the desktop and I cant do much. I have the latest (I think) amdxhc, amdhub30, etc files sitting in their respective directories but still no USB3.0. The New Hardware wizard pops up but I cant interact with it. Shouldn't USB auto config and self install?
Other than complex scripting tools, batch files, etc, how would you guys recommend I proceed? Install seems to be as stable and bootable as the Ryzen clone, just no USB3.0 (no KB/mouse). What am I missing?

#4311

ruthan

> Zitat von ⇗ AddFun im Beitrag ¶ #4310

> Other than complex scripting tools, batch files, etc, how would you guys recommend I proceed? Install seems to be as stable and bootable as the Ryzen clone, just no USB3.0 (no KB/mouse). What am I missing?

Someone wrote that you have to enable in port 60-64 USB feature, you can try it, otherwise solution, would be to buy USB-2 PCI-E addon card.

#4312

usa1ec

> Zitat von ⇗ AddFun im Beitrag ¶ #4310

> I tried moving my successful WinXP 32bit install from a Ryzen/X370 machine (thank you guys!) to a Z390/CoffeeLake machine. Surprisingly, the system/OS booted that XP cloned partition just fine. Problem is USB. I get to desktop and have no control. Supposedly this motherboard has dedicated USB2 ports but they are handled by the same Z390 chipset. This Z390 motherboard has no PS/2 ports. So, now the system boots and sits on the desktop and I cant do much................

Try installing this OS Windows XP SP3 RUS (update 02.2020 for Intel MB) - ⇗ https://yadi.sk/d/NWO5uafRjjsT2Q
Unfortunately, it is the Russian version of Windows XP SP3 with update feb 2020, but it integrates all the drivers necessary for a modern Intel motherboard + ACPI mod driver + SATA AHCI driver + USB 3.0 driver + PAE patch >4GB RAM.
During installation, the "Component Registration" stage will take a long time, during which (silent mode) the following are installed: Microsoft Visual C ++ x86 Redistributable (2005 + 2008 + 2010 and 2019, all editions), MSXML 4.0 Parser, Flash Player v32, DirectX 9 (June 2010), Microsoft .NET Framework (version 2.0 + 3.0 + 3.5 + 4.0). The component registration phase will take 15-20 minutes and this is normal! OS was tested on the Gigabyte GA-Z170-D3H motherboard (Intel Z170 chipset, LGA-1151 socket, i7-6700K processor, 8 cores @ 4GHz, 16GB RAM DDR4).

#4313 | AddFun | Tried that option before hand. No go. I have to figure somekind of way to automate driver install and skip the New Hardware wizard. Does WinXp have undocumented features or registry switches to enable unattended driver/device install post OS install?
#4314 | usa1ec | Try to install Windows XP SP3 RUS (update 02.2020 for Intel MB) - ⇗ https://yadi.sk/d/NWO5uafRjjsT2Q from the CD/DVD disc. If everything works, then take the drivers from it and integrate it into any English image with nLite.
#4315 | ITriedOkay | ⇗ @infuscomus I did try the AHCI driver but it's useless to me because my XP image boots entirely in RAM, it does not need any HDD. ⇗ @AddFun You can disable the "Found New Hardware" wizard using the method outlined ⇗ here (assuming you have SP3 which should have ⇗ this hotfix installed). Note that the driver that you want auto-installed should be somewhere XP can look, for example, the drivers folder in windows... Give it a try?
#4316 | infuscomus | ⇗ @ITriedOkay Try switching to a different RAMDisk driver - I've noticed with RAMDisk drivers that they all will only work on some systems but never on all. There are 3 RAMDisk drivers I know of - Imdisk, Firadisk, WinVBlk For ACPI A5 BSOD switch back to the outerspace ACPI driver since it didn't give you a BSOD

#4317

Pill Monster

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4315

> @infuscomus
> I did try the AHCI driver but it's useless to me because my XP image boots entirely in RAM, it does not need any HDD.

Please disconnect all your HDDs and boot up. Post results here. ;)

#4318

ITriedOkay

⇗ @infuscomus
I did use Firadisk and WinVBlock in the past years, until SVBus was released and turned out much better. But I'll try both of them again (with the outerspace acpi) and report back.
ImDisk does not apply in this situation because it's only usable from inside windows.
⇗ @Pill Monster
I'm using a laptop, disconnecting the internal HDDs from it will be extremely difficult if not impossible. FWIW almost every laptop I booted this image on, XP did not detect the internal HDDs but still ran fine... It's fairly safe to say that the HDDs are not the problem.

#4319

gordo999

> Zitat von ⇗ AddFun im Beitrag ¶ #4310

> Problem is USB. I get to desktop and have no control. Supposedly this motherboard has dedicated USB2 ports but they are handled by the same Z390 chipset.

⇗ @AddFun ....I got XP USB going on the B360 (same chipset class as Z390) using daniel_k's AMD USB drivers. Alternately, you can buy an add-on USB card and find XP drivers. For W7, I used Canonkong's USB drivers.
I use an add-on card with a VIA chipset and I found XP drivers on a Czech site. Now I have all my mobo USB ports running on XP as well as the VIA chipset ports. I only have 3 USB3 ports on the card but I use a powered 7 port USB extender run from one of the VIA ports. It's important than an extender have it's own power.

#4320 | ITriedOkay | ⇗ @infuscomus Neither Firadisk nor WinVBlock worked, as I suspected. Same result as SVBus.

## Page 289

#4321 | infuscomus | ⇗ @ITriedOkay can you try doing a normal XP install from scratch to a HDD/SSD on your system?

#4322

ITriedOkay

⇗ @infuscomus
Ok, I modified an XP ISO to use the outerspace acpi.sys and got a black screen after "Setup is starting", then the PC rebooted.
In case I made a mistake, that was my process:
1. Using cmd (on Windows XP) I ran the command makecab acpi.sys on the outerspace acpi.sys file, obtained a ACPI.SY_ file.
2. Using PowerISO, I replaced the old ACPI.SY_ in the I386 folder on the XP ISO with the one I just obtained.
3. Booted from the modified ISO.

#4323

infuscomus

⇗ @ITriedOkay
Oh! I see now!
PowerISO doesn't write the ISO boot record for XP correctly - it can do it but it's a bit of a hassle
instead use a program called nlite
⇗ https://www.nliteos.com/download.html
after downloading nlite
first extract the contents of the XP ISO into a folder
e.g.
C:\XPISO
next replace the existing ACPI.SY_ in C:\XPISO\I386 with the one you already made with makecab earlier
next extract SP3.CAB
C:\XPISO\I386\SP3CAB
replace the acpi.sys in C:\XPISO\I386\SP3CAB with the modded version and then rebuild with makecab
replace SP3.CAB with modded SP3.CAB
next open nlite
point nlite to C:\XPISO as source
click next
click bootable ISO then next
click make ISO
click next
click finish

#4324

Pill Monster

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4308

> > Zitat von ⇗ gordo999 im Beitrag ¶ #4303

> > it's not the forum copyright policy, it's the threats the low level guys received directly from Intel, I think it was. Daniel_k told us that. Fernando is just trying to follow a policy that will appease Intel.

> It is unlikely that these threats came from Intel... Most likely from Microsoft. Intel still sells its hardware, and Microsoft transfers everything to Windows 10. Users who stay on Windows XP and Windows 7 - Microsoft are across the throat.

Or Microsoft may be concerned with keeping a lid on the 20yr lie that to make use of over 4GB of memory, VM or physical, , required an upgrade to Server 2003 While at the same time Intel is concerned the public will find out their $2500 36bit Xeon was the only horse in the stable which could use over 4GB until C2D.
Meanwhile, in AMD64 land.....:P
Intel & MS still pay Wikipedia editors to misleading the public over that topic. Russonivich's statement blaming driver issues was just a marketing spin.
FWIW Do you guys know who Geoff Chappell is, or heard of him?
@Itriedok:
I was being a smart ass :P

#4325

Pill Monster

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4318

> @Pill Monster
> I'm using a laptop, disconnecting the internal HDDs from it will be extremely difficult if not impossible. FWIW almost every laptop I booted this image on, XP did not detect the internal HDDs but still ran fine... It's fairly safe to say that the HDDs are not the problem.

I was just being a smartass. :P
Ramdisks are basically....snake oil
Kinda like PrimoCache does same job as Windows File System cache.
But hey prove me wrong... :)

#4326

Pill Monster

> Zitat von ⇗ ruthan im Beitrag ¶ #4300

> All lowlevel guys are gone for long time, because of forum copyright policy..

I'm seriously sorry to hear that. On sites such as this one forum members with real technical knowledge are nothing but an asset, whatever their field.
Without them the community dies..

#4327

gordo999

> Zitat von ⇗ ITriedOkay im Beitrag ¶ #4322

> Ok, I modified an XP ISO to use the outerspace acpi.sys and got a black screen after "Setup is starting", then the PC rebooted.

⇗ @ITriedOkay ...My experience after 'Setup is starting', when things went wrong, was a BSOD with an 0x7F. That was related to the SATA drivers.
I am presuming you have started the installation disk from boot, watched the drivers loading, then setup has reached the stage where it is ready to install XP. In other words, the modded acpi has gotten you past the original stage where you got the 0XA5 error.

#4328

YuriyCN

diderius6
In your message ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) from Sat Oct 12, 2019 6:26 pm you proposed to use "the hacked hal.dll and intelppm.sys for XP SP3, which solve the timer problem", and you attached the "halplusintelppmXPSP3.rar" archive with these files.
Please answer a few questions:
1) Could you please write in more detail what the essence of this patch is, what problem does it solve?
2) What hardware is it intended for?
3) Is the latest version of the corrected files attached to the message, or do you have a newer one?

#4329 | infuscomus | ⇗ @YuriyCN see here ⇗ What exactly is the hal timer problem?

#4330

XPLives

⇗ @gordo999, ⇗ @ruthan

> Zitat von ⇗ gordo999 im Beitrag ¶ #4303

> > Zitat von ⇗ ruthan im Beitrag ¶ #4300

> > All lowlevel guys are gone for long time, because of forum copyright policy..

> ⇗ @ruthan ...it's not the forum copyright policy, it's the threats the low level guys received directly from Intel, I think it was. Daniel_k told us that. Fernando is just trying to follow a policy that will appease Intel.
> I don't think anyone knows where the guys have gone.

What / Which "Low Level" guys are you referring to that we have/had?
And where are these posts you are referring to that Daniel_K had said this?
The only thing I know is Fernando mentioned some company contacted him but did not mention what company nor mention specifically what driver (assuming it was a driver) or what file was the source of the complaint if it pertained to that. It would have been helpful if Fernando could notify me privately what company had the dispute originated and in regards to what was the exact issue as maybe some deal could have been worked out to buy/lease the source code or whatever was in dispute rather it just die there not knowing what happened and pissing everyone off. It's unclear what triggered the problem or if an alternate solution could be reached through negotiations with said company or companies.
And Daniel_K is missing so no idea if he was contacted first or Fernando about this to find helpful answers on what really happened and what was the timeline of events.
As for the assumptions made:

> Zitat von ⇗ ruthan im Beitrag ¶ #4304

> Well, i read here other version story - that Fernando was harassed by some unknown company, so he changed / forced policy, what piss off Daniel and other guys, but i can be wrong.
> I wouldnt be surprised if it would be Intel or MS.
> Is loss for everyone except maybe some layers and bullies, its like right to repair things.
> If understand it correctly problem is that drivers had to have some security signature to work (Microsoft thing).. and maybe Intel or others vendors were not ok, that some modified drivers were signed as original Intel or whatever ones..

It's doubtful it came from Intel as he didn't really work on Intel related drivers that were really essential or relevant and if they were concerning any of the Intel SATA drivers you don't even need those newer versions to install XP as the older ones work just fine or using Fernando's version. I find the simplicity of the older versions much easier to deal with than the newer bloated ones. And if anything Intel would benefit from his work selling more CPUs from more people willing to buy their CPUs to run older an OS on. Why stir up trouble and lose more sales over some dead drivers?
It's also doubtful it came from Microsoft as there are plenty of other drivers that fix problems with their OS being outdated and no longer supported that they would care. Even Fernando's slightly modified AHCI files didn't cause a problem and I'm assuming he's been doing this for over a decade. And even the "attempted" PAE fix for XP no one really used except maybe 1-5 people if I were to guess and even that patch had flaws and bugs and Server 2003 was already working perfectly so there was no need for it or for Microsoft to even care about XP running in a buggy state.
To them XP is dead and has been since 2014 or even earlier in 2009. Or if you go by their last service pack - Service Pack 3 (5.1.2600) / April 21, 2008 would be the last time Microsoft truly cared about XP in regards of support. Today they are more focused on Windows 10 domination and working to rid all users of Vista / Windows 7 / Windows 8.X off all their machines to even worry about a dead OS like XP. Even Windows 2000 is basically abandonware at this point. XP is just a cartoony GUI with more dependencies added with an annoying Windows activation that didn't exist with Windows 2000 and earlier.
I do suspect one company from a monopoly standpoint but why that company would even care baffles me if it were that one as none of their products currently support XP and would only benefit them. There is another company I also suspect since I know their work and what they are capable of but that's the only company I think that could strike a deal with if it was that exact one that contacted him/Win-Raid. Without knowing the exact details no one knows what happened as a happy solution could have been negotiated with more information.
Even after all that's said and done why any of those companies even cared about XP today is even more baffling if they are no longer are making updated drivers or products for XP or making any profit from it when they could negotiate a deal instead and generate something from nothing. And imagine if it was related to a driver they could perfect their own source code and make a better product.

#4331

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #4330

> And Daniel_K is missing so no idea if he was contacted first or Fernando about this to find helpful answers on what really happened and what was the timeline of events.

⇗ @XPLives ...see the following page, message 4203. Also 4194, a page or so before. Reading between the lines I'd say someone from Intel is behind this.
Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (281)

#4332

Zucker2k

I've been reading this thread for the last two days and going in circles trying, unsuccessfully, to install XP on my skylake laptop. So, before I totally give up on this seemingly impossible dream of running a lean OS on my laptop, I want to pitch a question to the knowledgeable folks on here:
1. Is it possible to install Windows XP on an HM170 chipset laptop (Intel Mobile Skylake)?
2. Does everything I need to make a successful install available online, or do I have to mod certain files myself?
All responses appreciated. Thank you.

#4333

AddFun

I was able to install it on a Ryzen system last year (after about 10-12 tries and various revisions of ACPI/AHCI drivers and what not). Then I moved the install to a Intel system. It's not a perfect science and there isn't a cooked/streamlined ISO provided that will accomplish this for you. (a tip, do NOT download any password protected "driver packages" or OS ISOs, from here or elsewhere, since its a common way to bypass malware scans since about, oh, 1998.)
That said, my Intel clone is still not working fully since my motherboard is USB only (no PS/2 or serial) so "technically" I have a WinXP system working on a modern intel system minus any interactivity. (I boot to desktop just fine)

#4334 | infuscomus | ⇗ @Zucker2k I sent you a PM with some tips

#4335

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4331

> > Zitat von ⇗ XPLives im Beitrag ¶ #4330

> > And Daniel_K is missing so no idea if he was contacted first or Fernando about this to find helpful answers on what really happened and what was the timeline of events.

> @XPLives ...see the following page, message 4203. Also 4194, a page or so before. Reading between the lines I'd say someone from Intel is behind this.
> Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (281)

*****
Post #4194
Wed Feb 26, 2020 8:59 pm (Last edited: Wed Feb 26, 2020 9:10 pm)

> Zitat von ⇗ daniel_k im Beitrag ¶ #4194

> I was asked to delete all of my modified 3rd party drivers to avoid copyright issues here. I've been told that in the near future, all modified files that are copyrighted will be deleted.
> Additionally, as WinXPPAE was completely written by me, I've decided not to make it available here anymore. I hope you respect my decision and do not upload it here anymore.
> In the next days, all of my modded drivers and WinXPPAE will be available at MDL Forums' Windows XP / Older OS section (forums.mydigitallife.net). The Admin gave me his OK.

*****
Post #4203
datumFri Feb 28, 2020 5:42 pm (Last edited: Fri Feb 28, 2020 5:43 pm)

> Zitat von ⇗ daniel_k im Beitrag ¶ #4203

> My last post here. Please read this:
> INTEL END USER SOFTWARE LICENSE AGREEMENT
> IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
> THE FOLLOWING NOTICE, OR TERMS AND CONDITIONS SUBSTANTIALLY IDENTICAL IN NATURE AND EFFECT, MUST APPEAR IN THE DOCUMENTATION ASSOCIATED WITH THE INTEL-BASED PRODUCT INTO WHICH THE SOFTWARE IS INSTALLED. MINIMALLY, SUCH NOTICE MUST APPEAR IN THE USER GUIDE FOR THE PRODUCT. THE TERM "LICENSEE" IN THIS TEXT REFERS TO THE END USER OF THE PRODUCT.
> LICENSE. Licensee has a license under Intel's copyrights to reproduce Intel's Software only in its unmodified and binary form, (with the accompanying documentation, the "Software") for Licensee's personal use only, and not commercial use, in connection with Intel-based products for which the Software has been provided, subject to the following conditions:
> (a) Licensee may not disclose, distribute or transfer any part of the Software, and You agree to prevent unauthorized copying of the Software.
> (b) Licensee may not reverse engineer, decompile, or disassemble the Software.
> (c) Licensee may not sublicense the Software.
> (d) The Software may contain the software and other intellectual property of third party suppliers, some of which may be identified in, and licensed in accordance with, an enclosed license.txt file or other text or file.
> As you can see, 99.99% of all software available here is theoretically being distributed/modified against Intel's EULA.
> Even the Coffee Lake mod is a clear case, as they weren't originally intended for use with non-certified boards.

*****
Gordo999,
I read those previous messages before left by Daniel_K and never saw any direct connection. Although you can make the assumption there is some connection there. My thoughts are it was not from Intel because Fernando's modified SATA AHCI driver files never got taken down from Intel's demands. Daniel_K never contributed heavily with Intel modified drivers where they should chase after him directly. He did however modify the AMD USB 3.0 driver but nothing about that driver relates to Intel in any way and the device ID descriptions still to refer to AMD USB devices not Intel when installed.
The reason why I believe Daniel_K brought up the Intel license agreement was because he was making a point that Fernando's Intel modified drivers were allowed but his own modified drivers for some other company were not. I don't think he was finger point at Intel as being the complainer nor do I see any reason why Intel would complain since they already abandoned XP in every possible way since Ivy Bridge. Once they dropped the Intel HD Graphics driver support for XP for Haswell and later it became clear Intel didn't care and as soon as SkyLake was introduced killing off the eHCI ports was another axe to the head of XP making it tougher to use Intel USB ports for installing legacy OS more problematic.
So no I don't agree it came from Intel unless Daniel_K or Fernando verifies this. Since the Intel Chipsets have a higher % compatibility with XP versus AMD I find it less likely Intel would care about some driver modified for XP and as you know there was never a Intel USB 3.0 driver ever developed by Intel for 2K or XP so there is nothing there for Intel to complain about regarding Daniel_K. The only other DK modification of interest was a later version of the Intel RST SATA driver that I don't use because it requires two files instead of one. I find the simplicity of the older driver preferable. If Intel really cared about Daniel_K modifying this particular driver I wouldn't care as the older drivers work much better in my opinion. And there has been no possibility of hacking/modifying any later Intel HD graphics driver to work in XP thus far. I'm sure if it could be done Intel "might" be concerned if they really were against XP being installed on Coffee Lake and later chipsets. I don't see that happening and it is preferable to use a discrete graphics card instead due to better performance than any integrated Intel HD Graphics. Intel is in the business of selling CPUs and the compatibility is better than AMD when it comes to XP so I see no reason Intel would be against more users preferring to buy their CPUs to install a legacy OS. Even if Intel shut down Daniel_K's work it would have no impact. Fernando's modified SATA AHCI driver still exists so nothing has changed.

## Page 290

#4336

XPLives

⇗ @Zucker2k

> Zitat von ⇗ Zucker2k im Beitrag ¶ #4332

> I've been reading this thread for the last two days and going in circles trying, unsuccessfully, to install XP on my skylake laptop. So, before I totally give up on this seemingly impossible dream of running a lean OS on my laptop, I want to pitch a question to the knowledgeable folks on here:
> 1. Is it possible to install Windows XP on an HM170 chipset laptop (Intel Mobile Skylake)?
> 2. Does everything I need to make a successful install available online, or do I have to mod certain files myself?
> All responses appreciated. Thank you.

Without knowing what problems you encountered no one can troubleshoot without any visual proof of your problem.
But if I were to guess no laptop from SkyLake onward should work with XP. This could be due to the Intel USB 3.0 ports issue so you will eventually get stuck somewhere unable to use the mouse, touchpad, or keyboard. Second it might be using a UEFI BIOS with no CSM support. If these two obstacles exist then most likely XP cannot be successfully installed.
I would try something simpler to verify if it can even install a legacy OS on SkyLake laptop. If you can install FreeDOS onto SkyLake that would be a good indicator if your laptop has CSM support or not. If you can't boot to DOS at all then it's a dead end.
I also do not have anything newer than Ivy Bridge for laptops so I cannot test anything to confirm if SkyLake will work or not.
The other main issue even if you get it to install on your SkyLake laptop is why? What purpose are you using it for?
If it is meant for gaming then you are simply screwed. Nothing after Ivy Bridge laptop's have any XP capable driver for their graphics. It will most likely be 2D and very sluggish with the built in XP standard VGA driver. If you're not using the SkyLake laptop for any XP 3D graphics gaming then you are better off using Windows 7 or 10 and use some kind of Virtual Machine to run XP inside.
If you attach screen shots of your BSODs or what problems you are facing maybe some users here can walk you through getting it to work.

#4337 | XPLives | ⇗ @Pill Monster 2000 Advanced Server already had > 4GB memory support. And standard XP Pro 32-Bit could utilize above the 4GB range for a Ramdrive so it wasn't completely neutered. But what is the model number of this supposed $2500 36-Bit Xeon?

#4338

XPLives

⇗ @schreiberstein

> Zitat von ⇗ schreiberstein im Beitrag ¶ #4275

> @XPLives
> I bought it used a few months prior to using it as my daily driver.
> And then it just died with artifacts. It was clean and I did not game for more than an hour with it in total.
> Then it just crashed my Mac system while doing some light text editing work.
> Now, I cannot load the drivers or the system will hang. I attempted underclocking the RAM and core by replacing the BIOS, but I think the VRAM is bad.
> Even in VESA mode I have artifacts that seem to be caused by bad video RAM.
> I have lost my faith in Intel platforms. People advised me that I should go with a Pentium 4 / 775 system with i865 chipset for Windows 98 retro stuff, but I had nothing but problems with this Intel garbage. Same for other Intel based machines. Meanwhile, all my Socket 939 / AM2 machines are rock steady whenever I drag them out my basement. They POST very quickly, detect all attached drives, etc. Given that the AMD Vanilla hackintosh community is doing very good process, I think I will ditch Intel altogether in the foreseeable future.

Yeah that GTX 780 died because it was used and runs hot. Get a GT 710 or GT 730 if you want a fanless XP set up. As for your Hackintosh situation I can't help there if only certain graphics card work well for such a setup. If a GT 710 or GT 730 gets Hackintosh support then you are gold.
As for AMD go with a 990FX if you want the last best compatible for XP. You don't need a P4 for 98 retro stuff. I managed to get it working on Ivy Bridge which is way more powerful. Although Z370 could and does work but not recommended or easily done.

#4339

schreiberstein

⇗ @XPLives
Hey there!
I pulled the trigger and ordered myself one of these Chinese X99 motherboards (HUANANZHI X99-F8, Intel Xeon E5-2620 v3 (will probably upgrade later, ...) from AliExpress.
The reason why I did this is that all modern AMD ZEN based CPUs (Ryzen, Threadripper, ...) have a faulty implementation of the VME instruction set that make it unusable for NTVDM, Windows 98 DMA I/O among many other legacy things. It does not even work properly in a VM. This is true as of April 2020. Do not believe any false information that it had been "addressed". If you look into the forums, you see that it is still not working correctly. I am NOT getting myself into this mess, just because some RGB-tooting ga*mers drool over more FPS or faster 7zip results. Once these issues have been addressed, it will be worth consideration.
I did some experiments with an Intel Haswell Desktop motherboard I have (Intel DQ87PG, M-ATX, two PCI slots) with an i5.
Windows XP naturally ran without any of these annoying issues I encountered on Intel Z390.
In addition to that, the chipset still supports IDE-mode SATA, which had been completely removed from Skylake-era chipsets.
RLOEW Windows 9x AHCI driver works very well with that. You can leave AHCI enabled, but the driver depends on the IDE functionality being present in the chipset itself.
The "driver" will change some register values and switch back to IDE mode, while allowing to use up to 6 ports and DMA and seems to be more polished than just using IDE legacy mode from BIOS.
The system works quite well, so I figure it should be the same with an X99 based system.
Sadly, X99 seems to be a ticking time-bomb. Most motherboards die after a few years of use, from what I have read. Getting an X99 system is nearly as expensive as buying a new, much faster Ryzen or Intel Desktop system.
These Chinese motherboards seem to work reliable, are available at a low price and do not have any unnecessary gimmicks or marketing BS.
And they are FRESH. No 7 year old solder joints.
Since my desk is littered with KVM switches and cables, I will just use this machine to be my dedicated Windows machine.
I am considering REBELLION against all this modern stuff. I hate this constant change. I hate Mac OS Catalina for removing 32-Bit app support. I hate Windows updates and them breaking stuff.
There is NO REASON your app needs to be 300 MB large and consume 1 GB of memory when an older version just consumes 30 MB.
I hate these new PC cases, Aluminium sh*t, acrylic glass, LIGHTZZZ, PSU at the bottom (like the new gamerz in their bedroom gamez), no drive cages, ...
I also ordered an ATI FireGL V7100 (Basically a PCI-Express dual-DVI ATI Radeon X800 XT 256MB - also Dual-Link DVI support on (at least?) one of the ports) which is compatible with Windows 98 / ME, 2000, XP, ...
I might be getting an AMD Radeon HD 7950 or something similar for more modern systems and switch between the cards in UEFI BIOS, if it is possible.
You are right. The GeForce GTX 780 was not the best candidate for a long lasting desktop system.
Maybe I should have a look at a 730 or something.
I will keep you posted.
Cheers,
schreiberstein

#4340 | Zucker2k | ACPI issues. I did manage to install 32bit XP (haven't tried x64, yet). Anything ACPI crashes, so I settled on the i486 and with that option only one core is active in bios. Edit: With the kind help of @Infuscomus, of course.
#4341 | Mov AX, 0xDEAD | Hi guys After long winter/spring hibernation i back to do xp fun, now time for usb3+pae problem, i did tests with many vendors drivers and found ONE, that work at first sight, after couple of days i will public report
#4342 | infuscomus | ⇗ @Mov AX, 0xDEAD welcome back!
#4343 | ruthan | ⇗ @Mov AX, 0xDEAD Great, welcome back! My hardware is ready.. there are lots of enthusiastic testers, but we where short of developers in last months.
#4344 | Andalu | ⇗ @Mov AX, 0xDEAD nice to see you here again
#4345 | diderius6 | ⇗ @Mov AX, 0xDEAD Nice to see you again. I think, hibernation is not good for brain;)) Dietmar
#4346 | diderius6 | Few days ago I noticed, that Google does not translate a lot of websites now with the Firefox browser under XP SP3. There is a new browser basilisk for XP, which is based on last Firefox , can show HTML5 and translates websites correct Dietmar ⇗ https://o.rths.ml/basilisk/basilisk52-g4...d316c8-xpmod.7z

#4347

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #4337

> 2000 Advanced Server already had > 4GB memory support.

⇗ @Pill Monster ...it was not true memory support as we would expect on a 64-bit system with 64 Gb RAM. They used the extended memory as a form of virtual memory. Rather than paging out RAM to disk, they were paging it into higher memory regions because the paging works faster in RAM than on disk.
PAE is a processor-based paging system. It does not enable more RAM for normal use, it has extended address features that can address addresses higher than 4 GB but for a pagefile system only. It's not possible to access RAM beyond 4GB using 32-bits. PAE has a very limited ability to store addresses beyond 4GB but it cannot address them directly by normal means.
PAE works with the memory manager to enable memory 'page swapping' to memory beyond 4GB. I don't know enough about this to agree or disagree with your point that the RAM beyond 4GB should have been made available to normal Windows users. I suspect that maybe you're right. I do know that RAM page swapping is required because 4GB is not enough for running an OS like XP with more than a trivial app like Notepad running. So, RAM pages get swapped (paged) to disk. With PAE, they get swapped to RAM beyond 4GB.
The question for me is how do you use PAE when it is enabled? You would need an app written to address it and another system module to run with the memory manager to use it. Server 2003 has that system module but as far as I know it is not available in a normal Windows OS. Maybe you could adapt it to run on a normal system, I don't know.
To be realistic, if you want to address 64 GB of RAM directly you need a 64-bit system. PAE relies on a 36 bit address capability and trickery.
This is similar to the old EMS/EMM memory managers with DOS. They found ways to swap memory out to external memory cards but those cards were never directly under DOS control. DOS could only address 640K RAM and with a bit of trickery, they managed to extend it to 1 MB.

#4348

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4341

> After long winter/spring hibernation

⇗ @Mov AX, 0xDEAD ...thanks for all your previous work and welcome back.
I saw your article on kernel debugging with XP using Net or USB. I have been trying with a serial connection via a USB to serial adapter (on a target with a B360 chipset with 2 serial ports), with the USB end at the W7 host. I've had it working well with W7 to W7 and W7 to W10 but so far, not with W7 to XP. Of course, it has currently stopped working altogether.
With Hyperterminal, I can send files both ways using the USB to serial adapter with XP as target but I have noticed recently that in windbg k-mode, the data goes to the target fine but gets corrupted from target to host. I am trying to get a good serial analyzer to find out why. The one I have is crippled.
When I first set this up, it did not work at all. Then I found a problem in the dual-booting system with W7 and W10. When I fixed it, k-mode debugging worked fine on both W7 and W10. I did not try it on XP at the time. Since I have upgraded W10 to 1909, it no longer works on W10 nor on W7. I was able to restart either W7 or W10 and have them break shortly after boot, then I could either trace or run the targets to the desktop. At the desktop, I was able to load and debug another app.

#4349

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4345

> Nice to see you again.

⇗ @diderius6 ...nice to see you too, and thanks for your previous work. Good to see ⇗ @infuscomus as well, although he has been around a bit more. Now if ⇗ @daniel_k would change his mind and come back,

#4350

Mov AX, 0xDEAD

Here tests of USB3.0 vendor's drivers in AIDA64 disk benchmark (linear reading test) on integrated USB3.0 Intel controler (H110/SUNRISEPOINT southbridge, DEV_ID=A12F):
4GB RAM Mode:
AMD 1.1.0.0145: works well
AMD 1.1.0.0276: not tested yet
ASMedia 1.16.58.1 (MCCI Based): looped LED activity on flashdrive, benchmark show no progress
Etron 0.119: hardcoded to max 16 enumerated ports, usb2.0 ports works, driver works well only after install, after reboot windows hangs on loading logo
Fresco Logic 3.6.9 (WDF based): works well, hardcoded to max 8 enumerated ports (intel controllers have 20+ ports, usb3.0 ports enumerated from 17+)
Intel 5.0.4.43 (Win7 backport): dont work, root hub is not enumerated
NEC/Renesas 2.1.39: dont response to inserted devices in ports
NEC/Renesas 3.0.23: not tested yet
Texas Instruments 1.16.3 (MCCI Based): hangs after some flashdrive activity
VIA 4.40 (WDF based): VIA HUB driver cannot start properly, hub driver hardcoded to max 16 enumerated ports
PAE/8GB RAM:
AMD 1.1.0.0145 dma64: works well (need amdxhci_adresscalc_fix)
AMD 1.1.0.0145 dma32: hangs after some flash drive activity + motherboard hangs when windows shutdowning (even hardware reset doesnt work after, motherboard instead do power cycle down-up)
Etron 0.119: not works, constant high load on cpu, windows get BSOD at shutdown
Fresco Logic 3.6.9.0 (WDF based): works well on some Intel controllers, on VIA not works properly

## Page 291

#4351 | infuscomus | ⇗ @Mov AX, 0xDEAD I've got daniel_k's AMD 1.1.0.276 if you want to test that too

#4352

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4350

> PAE/8GB RAM:
> AMD 1.1.0.0145: hangs after some flash drive activity + motherboard hangs when windows shutdowning (even hardware reset doesnt work after, motherboard instead do power cycle down-up

Did you test with the 'amdxhc.sys' (SHA-1: 1AE2108E29A528EFDA7F7497952298A406991E21) from amdxhc_pae_fix.rar package and
the 'hal.dll' (SHA-1: 98026788984C5BA10644C0E451DD0D69A5F67A90) from the halplusintelppmXPSP3.rar package?
With these two files I no longer had similar issues ...at least for the moment
The Fresco Logic 3.6.9.0 driver does not install on my Q370 'real' system, not even via the 'have disk' option.
Can I try another way to install it?

#4353

diderius6

⇗ @Andalu
Can you please write a list with the SHA-1 numbers and the name of all files,
that you change from a normal XP SP3 install => XP SP3 with no limit of 4GB ram,
because I want to test real XP SP3 PAE also and I have a lot of motherboards
Dietmar

#4354

Andalu

⇗ @diderius6
Original files extracted from "en_windows_xp_professional_with_service_pack_3" iso:

    hal.dll		9146F89ECDC5F219A1F950D111330154FB508724
    halaacpi.dll	1F7BD1B7F695B84ABA47085619264CB28A27AE46
    halacpi.dll	43789EE6D9012AAF17B66C48D411A7D99778EF3E
    halapic.dll	FC8D17BE2612F9E0336BEB1B5B7E6BABBA225185
    halmacpi.dll	3CF2DD019633D45680B9CC93667143885D186828
    halmps.dll	72C7DA8F58886303BE9B17A5F9F472C741A11993
    ntkrnlmp.exe	6851C32E87B9992CF39C548554999DFA748B81C2
    ntkrnlpa.exe	0DB6A938A0224B5B69CDAF87ADC5AE4584538B13
    ntkrpamp.exe	508BAD3E4B6E1F2417D1639B8CDD3DF123FCB67E
    ntoskrnl.exe	CBB20AD29D7050282FE33A0D695C20C61C4CF533

Patched files with "/all" option (ntkrnlmp.exe and ntkrpamp.exe not yet renamed):

    hal.dll		020F03ED6B133765C879ADF248ED3D2D99109BD3
    halaacpi.dll	C7FBAF343C827E8A2F0BC9E30148F06697A3C86B
    halacpi.dll	AA6FC0C1AB163BCC55CC3CBAD368D3D6D3D9DC51
    halapic.dll	BA833399B2BBB51163AE702E7EC9D44F07F90589
    halmacpi.dll	BE202C78DBF4D59880AA6A9430BE05D4156D6764
    halmps.dll	30B791B03FBB67E0AC73E5B741DF950AEDF5CDF4
    ntkrnlmp.exe	1D17006333B45CF0A6C509977BEE0578DC36D5AB
    ntkrnlpa.exe	87ACB046620DDF80520F61B623BE793ED4414903
    ntkrpamp.exe	EFE2C3194AC3CF267E74B4942C42013C23CED2D6
    ntoskrnl.exe	D5A5D90ADE1D53150973742544EE39BC09C85BFD

Files renamed:

    ntoskrnl.exe	1D17006333B45CF0A6C509977BEE0578DC36D5AB
    ntkrnlpa.exe	EFE2C3194AC3CF267E74B4942C42013C23CED2D6

#4355 | diderius6 | ⇗ @Andalu Thanks a lot! Dietmar PS: By the way I will make small joke (idea from ⇗ @daniel_k ) to change disk.sys XP SP3 => Server2003 because via this way you can work with GPT disks.
#4356 | Andalu | ⇗ @diderius6 You're welcome I had already read about your intention for a new project, now I am pleased to see that it is starting

#4357

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4350

> Here tests of USB3.0 vendor's drivers in AIDA64 disk benchmark (linear reading test) on integrated USB3.0 Intel controler (H110/SUNRISEPOINT southbridge, DEV_ID=A12F):
> PAE/8GB RAM:
> AMD 1.1.0.0145: hangs after some flash drive activity + motherboard hangs when windows shutdowning (even hardware reset doesnt work after, motherboard instead do power cycle down-up)

Driver "AMD 1.1.0.276" + РАЕfix in amdxhc.sys = all works fine on DEV_ID=A12F

#4358

Andalu

In my test on a board with an H110 chipset, in addition to the amdhxc.sys (SHA-1: 1AE2108E29A528EFDA7F7497952298A406991E21), it was also necessary to use the patched hal.dll as already happened for the other motherboards with 200 and 300 series chipsets that I have tried so far. Using the patched amdhxc.sys only, here's what happens if I run the chkdsk command for a removable disk drive:
⇗
So, in my case, I need to use both patched files to avoid the USB3 issues.

#4359 | mull | AMD USB 3.0 driver 1.1.0.145 can emulated CD-ROM on a USB flash drive install xp

#4360

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4357

> Driver "AMD 1.1.0.276" + РАЕfix in amdxhc.sys = all works fine on DEV_ID=A12F

> Zitat von ⇗ Andalu im Beitrag ¶ #4352

> Did you test with the 'amdxhc.sys' from amdxhc_pae_fix.rar package?
> With these two files I no longer had similar issues ...at least for the moment

amdxhc_pae_fix+hal_pae_fix not solve problem with amd driver, daniel_k many times told about it, controller still hangs. You can get this problem with 99% probablity running aida64 benchmark in special "no low mem" mode of windows. This test mode was made specialy to test software/drivers to work in pure PAE mode with 64 bit bus adressing (this mode require minimal 5Gb of installed RAM), amd failed this test :(
Description from DDK help:
The /nolowmem parameter loads the operating system, device drivers, and all applications into addresses above the 4 GB boundary, and directs Windows to allocate all memory pools at addresses above the 4 GB boundary.
just copy in boot.ini existing line and add at end :
xxxx="WinXP PAE NOLOW" /fastdetect /PAE /NOLOWMEM

#4361 | Andalu | ⇗ @Mov AX, 0xDEAD the USB controller hangs in "no low mem" mode here too. I was hoping to find myself in that 1%

#4362

Duke Solo

> Zitat von ⇗ gordo999 im Beitrag ¶ #4349

> > Zitat von ⇗ diderius6 im Beitrag ¶ #4345

> > Nice to see you again.

> @diderius6 ...nice to see you too, and thanks for your previous work. Good to see @infuscomus as well, although he has been around a bit more. Now if @daniel_k would change his mind and come back,

Regarding daniel_k, EULA requirements cannot apply to those who did not accept them. It's simple.
Just imagine, car manufacturers will forbid to disassemble them in your own garage :)

#4363

Andalu

⇗ @Mov AX, 0xDEAD
It took me a while, but I may have figured out what your intentions might be. If that's the case, it would be a great goal to achieve ;)
So, hoping to have effectively understood the meaning of your posts, below my tests with PAE/64GB RAM on a real Q370 machine in "no low mem" mode:
- AMD 1.1.0.0145: the usb controller hangs after some flash drive activity during and after the aida64 benchmark. XP hangs on shutdown.
- Fresco Logic 3.6.9.0 (FL1100 chipset): doesn't response to inserted devices in ports even if not in low mem mode. Explorer.exe hangs as well as the shutdown. So I didn't need to try the aida64 benchmark.
- Via 6.1.7600.5601 (VL805 chipset) (hardcoded to max 8 enumerated ports): works fine.
- NEC/Renesas 2.1.39 (0720201 chipset) (hardcoded to max 16 enumerated ports): works fine as for via card.
Here the screenshot for the Via card:
⇗
Let me know if I need to do any more tests to see if the PAE can work effectively without issues (and especially if I didn't understand anything ).

#4364

diderius6

I changed disk.sys and partmgr.sys from XP SP3 => Server2003 SP1 32 bit 5.2.3790.1830 (srv03_sp1_rtm.050324-1447)
I can boot normal with those 2 changed files XP SP3 via MBR harddisk.
Always I take a look, that indeed those 2 files are loaded and not the old ones because of recovery of the XP SP3 5512 files.
But when I assign a letter with AOMEI to a 4 TB sata harddisk, formatted with GPT (via gparted 31),
on reboot the compi hangs
Dietmar
EDIT: It is not enough for to get GPT support in XP SP3 to change disk.sys and partmgr.sys.
By the way, partmgr.sys from WinServer2003 works only together with disk.sys from WinServer2003,
but both together can be used for XP SP3, but still no GPT support.

#4365

Mov AX, 0xDEAD

I found source of nonworking AMD usb3 driver in standart dma64 mode (no response to inserted devices in ports). This is fail of programmers, they made classic mistake with dropping HIGH part of 64 bit adresses.
they did this:

    xor ebx, ebx
    .....
    mov     ecx, [esi+458h] ; esi+458h = store of 64bit adress
    mov     eax, [esi+28h]
    mov     [eax], ecx ; low part
    mov     [eax+4], ebx ; dropped high part, zeroes.....

right code must be:

    mov     ecx, [esi+458h]
    mov     eax, [esi+28h]
    mov     [eax], ecx
    mov     ecx, [esi+45Ch] ; HIGH part of 64bit
    mov     [eax+4], ecx ; no more zeroes

After this fix driver(tested on 1.1.0.0145, 276 has same mistake) works in pae mode same like in nonpae mode, also pass "/nolowmem" mode.
Requirement: 1) hal_pae_fix 2) remove force_dma32 from driver, this "force" no more need. If you want keep dma32, driver still cant work properly in this mode under PAE
p.s. force_dma32 mean "and dl, 1=> and dl,0"

## Page 292

#4366 | diderius6 | ⇗ @Mov AX, 0xDEAD Waaoh, does this mean, from now I can use XP SP3 with RAM > 4GB without any restrictions? Can you please write a short list, which files I have to change for ACPI Multiprocessor on XP SP3 and ram>4gb, have a nice day Dietmar
#4367 | Mov AX, 0xDEAD | Andalu, thanks for report about of your hardware tests, i have only via card, but still cant start via or nec driver on intel hardware

#4368

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4366

> @Mov AX, 0xDEAD
> Can you please write a short list, which files I have to change for ACPI Multiprocessor on XP SP3 and ram>4gb

amdxhc.sys, new code will not fit old bytes, so you need find free space (at end on PAGE segment, extend it to 7e00 size)
change original bytes to "call my_patch nop nop....."
my_patch:

    Patch_DeviceContext proc near
    mov     eax, [esi+28h]
    mov     ecx, [esi+458h]
    mov     [eax], ecx
    mov     ecx, [esi+45Ch]
    mov     [eax+4], ecx
    retn
    Patch_DeviceContext endp

#4369 | Andalu | ⇗ @Mov AX, 0xDEAD what? You've already reached the goal? That's great!!!!! How to make this great finding easily accessible even for an ordinary mortal like me?

#4370

infuscomus

⇗ @Mov AX, 0xDEAD
is CFF Explorer an OK tool to extend the PAGE section? or is there a better solution?
in hexadecimal this patch would be?
look for

    8B 8E 58 04 00 00 8B 46 28 89 08

insert this on the end

    8B 8E 5C 04 00 00

so it's

    8B 8E 58 04 00 00 8B 46 28 89 08 8B 8E 5C 04 00 00

is this correct?

#4371 | ruthan | I wonder, isnt possible just create some *.exe utility which would check or target file crc is right and insert that HEX code inside? If it would be possible we can easily share and such patches and without any copyright violation. I know that rLoew patches worked this way.
#4372 | IntiMD | If you guys are wondering, daniel's finished moving his stuff to MDL (xp subsect)

#4373

Pill Monster

> Zitat von ⇗ XPLives im Beitrag ¶ #4337

> @Pill Monster
> 2000 Advanced Server already had > 4GB memory support. And standard XP Pro 32-Bit could utilize above the 4GB range for a Ramdrive so it wasn't completely neutered.
> But what is the model number of this supposed $2500 36-Bit Xeon?

Possibly you misunderstood me?
With

> Zitat

> "XP Pro 32-bit could utilize above the 4GB range"

- 4GB range of what?
Licensing caps aside, the maximum amount of RAM supported by XP is exactly equal to the maximum amount of RAM supported by the CPU, less hardware reserved.
XP Pro x86 officially supports 64GB of RAM.
RAM drives utilizing "hidden memory" I label snake oil because there are no hidden addresses that can be seen by RAM disk software but not the CPU.
RAM disks reside in something called a section object, the OS sees part of this section object - the WS partition. The CPU sees all of it and maps data in and out of the process view using pointers.
XP natively supports 36bit addressing using pae (Page Address Extension). Pae adds 4 bits to an address - two Page Table Directories and a PTD pointer.
Until SP2 enabled was the default boot mode. Hence why XP Pro x86 is not called XP Pro 32-bit.
PS the pm I sent you a few days ago was meant for another user.

> Zitat von ⇗ XPLives im Beitrag ¶ #4337

> But what is the model number of this supposed $2500 36-Bit Xeon?

I guess you had to be there.
⇗

#4374

infuscomus

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> XP Pro x86 officially supports 64GB of RAM.

^
source?
it's a 32-bit OS so it would've only ever officially supported 4GB of RAM

#4375 | diderius6 | Here is the link for all what you need for full USB3 on RAM > 4GB, thanks a lot for help Dietmar ⇗ https://forums.mydigitallife.net/threads...hardware.81607/ PS: I also think, that GPT on XP will work today just with small modification of my attempt.

#4376

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #4375

> Here is the link for all what you need for full USB3 on RAM > 4GB,
> thanks a lot for help
> Dietmar
> ⇗ https://forums.mydigitallife.net/threads...hardware.81607/

> Zitat von ⇗ diderius6 im Beitrag ¶ #4375

> PS: I also think, that GPT on XP will work today just with small modification of my attempt.

Another great goal achieved in such a short time???
That's great news!!!

#4377

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4370

> @Mov AX, 0xDEAD
> 8B 8E 58 04 00 00 8B 46 28 89 08 8B 8E 5C 04 00 00
> is this correct?

no, new code is bigger than old bytes

    open amdxhc.sys in any PE Editor
    look for PAGE segment
    it has virt_size=7DA2 raw_size=7E00, so we have 7E00-7DA2=5E free bytes in file ("in memory" size still 7DA2!)
    change virt_size to 7E00, now segment size "in memory" equal to size in file
    then look where ending original segment, virtual adress 39DA2
    so in virtual range 39DA2-39E00 you can store new proc Patch_DeviceContext
    in orginal code change 8B 8E 58 04 to call Patch_DeviceContext
    remain original bytes change to nops (90 90 ...)

#4378

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4369

> @Mov AX, 0xDEAD
> How to make this great finding easily accessible even for an ordinary mortal like me?

learn ASM+IDA+PE Editors, DIY

#4379

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4378

> learn ASM+IDA+PE Editors, DIY

there is the real possibility that I can take a lifetime to learn and above all the certainty that I will not live until a hundred years
However, I think I will start shortly

#4380

diderius6

I just succeed soso, to make a GPT harddisk work in XP SP3.
First, now I use the original very last versions of disk.sys and partmgr.sys from Server2003 (5.2.3790).
I notice, that a harddisk with GPT and 4 TB cant be given a device letter D in XP SP3.
Then I use a brandnew 2TB harddisk and format it with Gparted(vers 31) to GPT.
After struggeling with again crazy XP changes drivers back to original ones,
I rename in
C:\WINDOWS\system32\dllcache disk.sys => diskORI.sys
partmgr.sys => partmgrORI.sys
But even this is not enough, because the drivers are also in
C:\WINDOWS\Driver Cache
so I also rename whole folder
C:\WINDOWS\Driver Cache => C:\WINDOWS\DriverORI Cache
With AOMEI I can see now the 2 TB GPT disk. Now I can give via AOMEI this harddsik the letter D.
With cristalDiskmark5 I run a benchmark on this D:\ GPT disk, shows 201MB/sec.
And also in "Datenträgerverwaltung" in XP SP3 this GPT harddisk is now shown with letter D.
But the harddisk is still not shown as normal, I can only see C:\ , no D:\ there,
even I just run chkdsk on it, strange..
Dietmar
PS: I just see in registry, that only the name for Dosdevices is given for D:
but no Volume name.
Is here somebody, who knows how to give a Voulume name also for D: ?
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
"\\??\\Volume{2ad81ab8-86fd-11ea-b51b-806d6172696f}"=hex:4a,10,32,10,00,00,10,\
00,00,00,00,00
"\\DosDevices\\C:"=hex:4a,10,32,10,00,00,10,00,00,00,00,00
"\\DosDevices\\D:"=hex:44,4d,49,4f,3a,49,44,3a,80,cd,ad,f7,de,12,27,43,bb,74,\
90,10,9e,69,07,66
EDIT2: Yes, diskpart shows the same, no Volume for the GPT disk.
I just copy Moorhuhn:)) via comandline to GPT disk D:\ and this works.
EDIT3: With diskpart of win10 I found, that for some strange reasons the Volume on this GPT disk is marked as hidden.
But with diskpart of win10 I cant clear this attribute, diskpart gives message: Object wurde nicht gefunden, brr..
Now I am formatting this HD new with GPT under Geparted (vers 31).
⇗
⇗
diderius6 has attached files to this post

- ⇗ GPTforXPSP3.rar

## Page 293

#4381

Virgus

Hello everybody
I just found this post by reading Reboot.pro forums and I got really excited to the idea of having finally a "Resurrected XP edition"!
I'm not skilled enough unfortunately to dig into disassembly work but I'd like to contribute somehow.
In these years I collected some tweaks about extending RAM up to 128 Gb. I'm currently using the MOD to use 64Gb and I'm currently using it on my 8GB Laptop. I hope this zip might be useful for the project somehow (the original links might have been expired but I collected everything possible) !
I have a recent HP workstation and also a Dell i7 both with 32Gb and I'd love to be able to do some tests if you could point me to a summary of what's needed to install XP on one or both these machines. I'm not a pro like you, but I'm not a newbie either.
Cheers and thanks for the great news!
V.
Virgus has attached files to this post

- ⇗ Windows XP PAE Patches.zip

#4382

diderius6

Yessssssaaaa, I got it
GPT support under XP SP3.
Until now only for harddisks <= 2TB, but who knows:))..
Crazy, with win10 it was not possible to get rid of the hidden mark for the Volume.
So I format whole disk new with Gparted (version31),
chose as partitionstable GPT and NTFS as filessystem, nothing more(!).
And voila, now everything is ok
Dietmar
⇗

#4383 | ruthan | Paragon GPT loader - not free support bigger disk than 2TB, im using 4TB ones, so its breakable.

#4384

diderius6

⇗ @ruthan
Yes, I know, I have.
But because now, no other files are used, you can do boot from this GPT harddisk without any UEFI.
In next days I try the S4e method, for to have an XP SP3 bootet and running from a GPT disk
Dietmar
PS: May be for S4e it is just enough, to fake the SIGNATURE in the first 512 Byte of the GPT disk, hihi..
EDIT: From Wikipedia
In operating systems that support GPT-based boot through BIOS services rather than EFI, the first sector may also still be used to store the first stage of the bootloader code, but modified to recognize GPT partitions.

#4385

gordo999

Something I am missing here with the excitement about PAE. From the Intel manual:
"Physical Address Extension. Physical addresses greater than 32 bits are supported: extended page table entry formats, an extra level in the page translation tables is defined, 2-MByte pages are supported instead of 4 Mbyte pages if PAE bit is 1".
I think there is a typo here, I think they mean 4 Kbyte pages, not 4 Mbyte pages. Standard memory pages are 4Kbytes.
Normally the memory manager swaps memory pages of 4K from physical memory to the swap file on disk. With PAE, they have increased that page file size to 2MB. One problem... the memory manager is run by the Windows operating system not the processor, where PAE is enabled or disabled. In other words, it is ntoskrnl in XP that controls the memory manager. If it is written to use 4k pages in memory, how are you going to enable the 2MB pages made available by PAE without having a driver to work in conjunction with the memory manager? And how are you going to tell the XP memory manager to use RAM above 4GB.
User apps don't know anything about this page file swapping and it's not clear to me if the XP ntoskrnl knows anything about swapping pages to the RAM above 4GB in 2MG pages. As I understand it, W2003 32-bit does it using extra drivers supplied by Microsoft that enhance the ability of the memory manager. How is the extra memory going to be used? How is it going to be accessed?
Maybe there's something I am missing.

#4386

diderius6

I just test the PAE for XP SP3.
Thank you soso much to ⇗ @Mov AX, 0xDEAD and ⇗ @daniel_k :))!!
All works, USB3, USB2, on Asmedia, all Intel, USB mouse, as you can see on photo.
Until now no BSOD, no strange behavior.
I use the patched amdxhci.sys vers. 1.1.0.145.
This is the Intel board Asrock z370 fatality k6 with 32 GB ram, all avaible now in XP SP3.
And still the GPT harddisk is there;).
This XP SP3 boots via nvme from the Intel Optane 905P.
This is unbelievable fast, for example editing photos or Mathematica. Much faster than win10.
The Intel Optane 905P nvme device needs no trim at all. It is just a better device than any other SSD (but expensive).
With the WinXPPAE patch I patch original halmacpi.dll ver. 5512 and the ntkrpamp.exe version 5.1.2600.7581 .
Dietmar
PS: I try a small joke: I have an hacked ntldr with no 512 MB limit for ram boot of XP SP3 via ewf.
I am really courious, if this will run with a lot of RAM :)) now.
⇗

#4387 | Andalu | ⇗ @diderius6 Have you already tried the aida64 linear benchmarking in /lowmem mode?

#4388

diderius6

⇗ @Andalu
Until now not.
Is this possible with the free aida64 version,
have a nice day
Dietmar
EDIT: I am just running the test with linear reading from Intel USB3. All seems ok, benchmark is now running 12 min there.
But I noticed the first not good effect: When you plug in any USB device, it is recogniced at once.
But when you plug, unplug, plug, unplug, .. suddently the device on the Intel USB is not recogniced any longer.
This does not happen with the Asmedia driver 1.16.55.1 on the Asmedia USB3 ports
Dietmar
⇗

#4389

Andalu

⇗ @diderius6
I asked you because the same happens here with new amd drivers on plug, unplug, plug etc.
EDIT:
It just happened again, this time already during the first 'plugging' operation, on the sixth removable drive connected.
Both "my computer" and "computer management" hang. The system needs to be manually restarted.
I'm using the hal.dll from the hal_pae_fix package (SHA-1: 8CBEC120FEB93D855AB1ED6FAD9A8D8223CC0E9A)

#4390

diderius6

I switched off the power save function in the USB hubs.
Now the behavior is a little bit other:
One and the same USB stick now you can put in every USB slot plug, unplug.. as often as you want,
is always recogniced.
But when you use after this another USB stick, it is not recogniced and also then the first stick not.
So, may be it depends on the sleeping functions of XP. Because with time, it last from at once to about 5 sec,
until the stick is recogniced
Dietmar
PS: A BSOD I do not notice. And no crash when shut down. Only in the case of not recogniced USB stick "unknown device" is shown under USB in Device Manager.
EDIT: The same error for the amdxhci 145 driver happens also in non PAE mode (Ram <=4GB), means without the patched ntoskrnl.exe and hal.dll.
EDIT2: The amdxhci 276 vers. shows exact the same behavior as the 145.

#4391

Mov AX, 0xDEAD

¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation of my previous post/reports/patches in ONE place, also included community patches/solutions (excluding AMD-related)
p.s. forum's html styles are bad, so probably you need override setting with Stylish/Stylus, this is my example, code and spoiler sections no more limited to fixed width:

    td.sidebar {
        width: 160px !important;
    }
    .hpm_spoiler {
        width: auto !important;
    }
    pre {
        width: auto !important;
    }
    .codelines {
        margin: 0px !important;
    }
    .bbcode_code,
    .codeblock {
        padding: 0px !important;
    }

#4392

Andalu

I have tried one more time my Via pciex to usb3 card (VL805 chipset - 4 usb3 ports - driver 6.1.7600.5601) in /lowmem mode, PAE /64GB and aida64 linear reading test:
all worked correctly even if I plugged, unplugged, plugged, unplugged etc. up to 6 removable devices for many times during the benchmarking which lasts just over 7 minutes.
Unfortunately, I got the error code 10 - "this device cannot start" when I tried to install the via driver also for the usb hub although the xhci driver installs correctly for the intel usb3 controller (DEV_ID: A36D)

#4393

diderius6

The ewf.sys filterdriver does not like PAE mode^^.
When I do USB-boot of full XPSP3 from a write protected USB3 stick (works only for FAT32 :))),
it asks, wether the original files are used and to put in the XP installations CD.
I cancel this question. Ram is shown <4GB even with the PAE files
and ewfmgr C: shows with the hacked ntldr, that in normal mode you can use 683 MB for the RAM-overlay,
and in safe mode 750 MB,
Dietmar

#4394

gordo999

Interesting article on PAE, DEP. and AWE. When PAE is enabled, DEP is automatically enabled. That COULD be a problem since DEP disables writing to a certain portion of memory. AWE is the feature used in server 2003 to page memory into extended memory beyond 4 GB.
DEP can be disabled using the /EXECUTE switch in boot.ini.
⇗ https://docs.microsoft.com/en-us/windows...dress-extension
Apparently Microsoft allowed access to memory > 4GB in XP SP1 but discontinued it because it messed up certain drivers, like on some games. If it was enabled, then maybe studying the SP1 ntoskrnl might reveal how to enable it again. If the idea is to emulate the server 2003 x86 access to RAM > 4GB, maybe studying the AWE feature might reveal how it's done.
A good article by Mark Russinovich on Windows memory in general, including virtual memory. Please note that the source is wayback machine and as you click on each link you need to wait while wayback transfers to another region. It gives a 302 error but below that error it shows that it is redirecting.
⇗ https://web.archive.org/web/201201010945...21/3092070.aspx

#4395 | Mov AX, 0xDEAD | Fresco USB3 v3.6.9 driver on VIA Controller don't work properly: 1) programmers made searching xECP structs with bug (patch: 0x22ad2 F4->EC), all usb3 ports was not enumerated 2) even after proper enumeration, driver make constant pauses at transfer, speed down to zero

## Page 294

#4396

diderius6

⇗ @Mov AX, 0xDEAD
Today I make a test with the 145 amdxhci USB3 driver.
I will set in Registry and in their *.inf file Loadordergroup=System Reserved and start=0,
also for usbstor.sys and the amd hub.
Another try is, to make use of the original intelppm.sys for to clearify, if the problem is really the sleepingstate of USB for this driver
Dietmar

#4397 | Andalu | ⇗ @diderius6 in my tests I have always used the original intelppm.sys

#4398

diderius6

To set Group=System Reserved and start=0 does not help for the amdxhci USB3 driver.
I noticed, that there is no Energy Save switch for the AMD USB 3.0 Root Hub,
only in all the other Hub
Dietmar
PS: Long time ago I found in the registry of XP SP3 a switch, where you can disable or enable any Energy Save for any device.
But until now I do not find it again.
EDIT: I found the switch and I put here content of the *.reg file for to reach this. But it does also not help.
Microsoft describes exact this problem for USB devices, when they are connected, disconnected and connected again, exact
as this happens with the amdxhci driver.
⇗ https://support.microsoft.com/en-us/help/817900
This problem occurs because of a race condition in the Selective Suspend feature of the USB hub driver. The Selective Suspend feature is designed to suspend the USB hub to efficiently maintain battery power. However, the Selective Suspend feature sometimes may not correctly wake up the USB hub.
EDIT2: "Save remove" of the USB device also not helps. Uninstalling of the USB driver not helps, Hub2 and HUB30 are shown as unknown devices after new install.
EDIT3: With my settings now, I can change about 20 times all different USB devices before "not recognice" starts.
May be, only BIOS mod can help, as we have done before, do get rid off loong Integers for USB3 device for sleepingstates.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USB]
"DisableSelectiveSuspend"=dword:00000001

#4399 | Andalu | ⇗ @diderius6 even adding that setting, not much has changed here. The issue has already occured on the seventh removable drive connected: ⇗ "My computer" and "computer management" are completely blocked. Even the "device manager" does not correctly display the devices which are no longer powered.

#4400

diderius6

⇗ @Andalu
This problem stays also for me, only crash I dont have.
But the sleeping states of the USB hub are the reason for this behavior.
Next I try the z390 dark board. In its Bios, there is the Intel xhci device not mentioned.
And this will give a hint, if modding Bios can help
Dietmar
EDIT: The behavior on the Z390 EVGA dark board is exact the same. I check, that I have flashed the 0.92 version of the Bios.
Because only in Bios vers 0.92 is the xhci Intel USB device not mentioned in Bios.
So, the not awake of the USB hubs depends not on the xhci entry in BIOS.
On the z390 dark board with my settings I also can change about 20 times any USB device, before recognizing stops.
At once, when recognizing has stopped, the USB mouse does not work any longer and also the USB stick not.
On the z390 Dark board I can deinstall and install the amdxhci driver new on running XP SP3 after norecognice happend and then again all USB works,
is recogniced about 20 times.

#4401

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #4400

> @Andalu
> On the z390 Dark board I can deinstall and install the amdxhci driver new on running XP SP3 after norecognice happend and then again all USB works,
> is recogniced about 20 times.

I am using this USB3 driver. On my H110 motherboard, this driver works without BSOD crashes,
without any problems with PAE mode (16 GB RAM).
⇗ https://www.upload.ee/files/11579304/USB...PAEfix.zip.html

> Zitat von ⇗ Andalu im Beitrag ¶ #4397

> @diderius6
> in my tests I have always used the original intelppm.sys

When using a patched intelppm.sys, I get an increase of CPU performance up to +2..3%;
and +10...15% in increase of "Intel RSTe AHCI/RAID driver v4.7.0.1117".
As well as the use of patched hal.dll gives + 30% increase in "Intel RSTe AHCI/RAID driver v4.7.0.1117" performance,
but does not affect the CPU. More details - ⇗ What exactly is the hal timer problem? (3)

#4402

Andalu

⇗ @diderius6
here I don't get always the same behavior, I went from one!! to max 16 times before recognizing stops.
I've seen that my system doesn't like a particular usb3 flash drive: when inserted into a USB2 port it is not recognized and identified as unknow device.
When connected to a usb3 port it is recognized without any problems.
Installing a different amd usb3 driver version on running XP after norecognize happened doesn't help.
Here a screenshot, I never seen that icon for a flash drive :)
⇗

#4403 | diderius6 | ⇗ @Andalu This may have another reason. This behavior I have seen from an USB device, who needs too much current. This symbol I have never seen, looks like somebody put something on a screen;)) Dietmar

#4404

Andalu

> Zitat von ⇗ YuriyCN im Beitrag ¶ #4401

> I am using this USB3 driver. On my H110 motherboard, this driver works without BSOD crashes,
> without any problems with PAE mode (16 GB RAM)

even for me that driver worked without problems, however, according to Mov AX, 0xDEAD ¶ here, you should check the PAE >4GB in /lowmem mode while performing the linear test with aida64. In my case, I was able to verify that the USB controller stops working so I was not within the 1% chance of the block not happening

#4405 | Andalu | ⇗ @diderius6 the problem is that I didn't touch anything, that icon suddenly appeared I'm using the Q370 board only for tests. Only three programs installed. It doesn't even have an internet connection. Another similar flash drive that comes from the same packet, doesn't have the same issue

#4406

diderius6

⇗ @Andalu
Hihi, it is a Windows setup Icon.
Published on September 13th 2016 by Yakov .P.
Released under the Release to Public Domain license.
Icon for Windows XP, Vista and 7.
Dietmar

#4407 | Andalu | ⇗ @diderius6 never seen before, my system went crazy after too many usb recognitions

#4408

Mov AX, 0xDEAD

I continue to torment usb3 drivers, now i try backport integrated Windows 8 drivers (after imports fixes), these drivers require
WDF 1.11, this version wasn't released for Windows XP/2003(???), so need imports fix too, last ported version is 1.11.9200
Win8 Beta M1 - works in VMWare, on real hardware need disable check `MaxScratchpadBuffers==0 (jz .text:00016C1B => jmp)`
on Intel controller driver&hub start, no recognition to any inserted devices
on VIA controller driver&hub start, integrated usb2 hub recognized as UNKNOW DEVICE (0000,0000), no recognition to any inserted devices
Win8 Beta M2 - on real hardware driver recognizes inserted devices only on usb2 ports, devices in usb3 ports started with error code 10, in aida benchmark any flash storages hangs
Win8.0 - works on Intel & VIA hardware, PAE also works
Win8.1 - ...

#4409

diderius6

⇗ @Mov AX, 0xDEAD
Nice idea to try with Win8, Win8 backport works also for the STORAHCI driver. Problem there is WDF.
Another way would be, to find out, why after several connect<>disconnect the amdxhci USB3 driver stops working.
Because this does not happen with the H110 board (Skylake), it seems to depend on the kind of the Intel USB controller in the Coffee Lake chipsets (z370, z390)
Dietmar
Why did Intel release two Windows * 7 USB 3.0 eXtensible Host Controller (xHCI) drivers?
There are two different Intel® chipset platforms available for Windows 7. Each platform has its own USB 3.0 xHCI driver:
Intel® 7 Series / C216 Chipset Family
Intel® 8 Series / C220 Chipset Family / 4th Generation Intel Intel® Core Processor U-Series Platform I / O
EDIT: Maybe, it is possible to backport DriverVer=05/11/2017, 5.0.4.43 from Intel. This is a NEW version (V2) of the 5.0.4.43 Intel USB3 driver for Win7 32 bit.
I just see, that you test it for the H110 (Skylake) board. But maybe it works for coffeelake /kabylake.
"Intel 5.0.4.43 (Win7 backport): dont work, root hub is not enumerated"

#4410 | Andalu | I'm aware that I'm talking about a different kind of power supply connection, but with my VIA PCIEX to USB3 card I didn't have no issue in "no low mem" mode and PAE >4GB while at the same time the aida linear test was in progress. If there was a way to install this driver also for the intel controller :)

## Page 295

#4411

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4409

> I just see, that you test it for the H110 (Skylake) board. But maybe it works for coffeelake /kabylake.
> "Intel 5.0.4.43 (Win7 backport): dont work, root hub is not enumerated"

backported driver works in win8 on h110, also works in vmware winxp, so there is complex incompatibility, same code on real winxp hardware works diferent.
intel driver is BIG driver, 820kB vs etron 75kB, but it is our last hope

#4412

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4410

> VIA PCIEX to USB3 card I didn't have no issue in "no low mem" mode and PAE >4GB while at the same time the aida linear test was in progress. If there was a way to install this driver also for the intel controller :)

VIA driver always works in PAE, even in vmware, but with intel hardware it has some trigger, hub driver get external command to unload. i still do not found who and when set this command
p.s. on my system driver has two problems:
- several seconds after booting no devices recognized, further no problems
- Sagem adsl modem cannot works properly in bulk usb mode

#4413

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4412

> p.s. on my system driver has two problems:
> - several seconds after booting no devices recognized, further no problems
> - Sagem adsl modem cannot works properly in bulk usb mode

Just tried, no problems both when the 4 usb removable drives are already plugged during the booting and when connected after XP booting.
What is your adsl modem issue?

#4414

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4413

> What is your adsl modem issue?

USB ADSL Modem has software switch to work in ISO or Bulk mode, in Bulk mode it loss connection after some time, in ISO no loss.
But ISO mode is slow and considerably eats cpu, this mode intended for mouse/keyboards with rare events, for mass tranfers bulk mode is preffered. In same time flash storages always works in bulk mode and haven't problem on VIA hardware/driver.
On intel hardware/driver same modem works in bulk mode prefectly.

#4415 | Andalu | ⇗ @Mov AX, 0xDEAD So, the best way out is to find a driver for the intel controller :) Can it be a power management issue? P.S: the usb adsl modem that i could try is an old model, no bulk or ISO mode, only a low quality connection :(
#4416 | infuscomus | ⇗ @Mov AX, 0xDEAD there is a symbols file for the texas instruments USB 3 driver - could that be of use to make a good USB 3 driver?

#4417

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4416

> there is a symbols file for the texas instruments USB 3 driver - could that be of use to make a good USB 3 driver?

.pdb helps only with reversing
to make good driver someone need write it in C language from scratch or port leaked win8/10 driver (sources are not full)

#4418 | reactosuser7 | This could be useful to test as an experiment to ReactOS (if you don't know about it is an Open Source Windows XP/Server 2003, still under development) . Thanks so much for this post!

#4419

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4409

> Intel® 8 Series / C220 Chipset Family / 4th Generation Intel Intel® Core Processor U-Series Platform I / O

@diderius ...you have to be careful with the Intel description. For example, they talk about both the 8th generation processor and the 300-series chipset. The 300-series chipset will work with the 8th gen processor but not all 300-series chipsets work with the drivers for the the 300-series.
For example, my B360 chipset is not listed on the 300-series list of compatible chipsets and it does not work natively with the driver. In fact, the installer rejects my chipset. I had to reverse the setup file to get it to load, only to get a code 10 error.
It was daniel_k's AMD driver that finally worked on my B360 chipset. I have all mobo ports working as well as VIA add-on card using XP drivers for the VIA card I found on the Net.

#4420 | YuriyCN | I noticed that the clock on my computer is not very accurate. In 1 day, time goes forward by almost 57-58 seconds!! The computer is turned on for about 12-14 hours a day. Could this problem be caused by the intelppm.sys (fix timer) or is it a bad quartz resonator on the motherboard (BIOS)?
#4421 | Mov AX, 0xDEAD | ¶ updated info about USB3 Win8 Beta M2 driver

#4422

Pill Monster

> Zitat von ⇗ gordo999 im Beitrag ¶ #4347

> > Zitat von ⇗ XPLives im Beitrag ¶ #4337

> > 2000 Advanced Server already had > 4GB memory support.

> @Pill Monster ...it was not true memory support as we would expect on a 64-bit system with 64 Gb RAM. They used the extended memory as a form of virtual memory. Rather than paging out RAM to disk, they were paging it into higher memory regions because the paging works faster in RAM than on disk.
> PAE is a processor-based paging system. It does not enable more RAM for normal use, it has extended address features that can address addresses higher than 4 GB but for a pagefile system only. It's not possible to access RAM beyond 4GB using 32-bits. PAE has a very limited ability to store addresses beyond 4GB but it cannot address them directly by normal means.
> PAE works with the memory manager to enable memory 'page swapping' to memory beyond 4GB. I don't know enough about this to agree or disagree with your point that the RAM beyond 4GB should have been made available to normal Windows users. I suspect that maybe you're right. I do know that RAM page swapping is required because 4GB is not enough for running an OS like XP with more than a trivial app like Notepad running. So, RAM pages get swapped (paged) to disk. With PAE, they get swapped to RAM beyond 4GB.
> The question for me is how do you use PAE when it is enabled? You would need an app written to address it and another system module to run with the memory manager to use it. Server 2003 has that system module but as far as I know it is not available in a normal Windows OS. Maybe you could adapt it to run on a normal system, I don't know.
> To be realistic, if you want to address 64 GB of RAM directly you need a 64-bit system. PAE relies on a 36 bit address capability and trickery.
> This is similar to the old EMS/EMM memory managers with DOS. They found ways to swap memory out to external memory cards but those cards were never directly under DOS control. DOS could only address 640K RAM and with a bit of trickery, they managed to extend it to 1 MB.

Page file or swapping does not allow access to over 4GB RAM. I will respond in more detail in some time..
To access 64GB of RAM requires an x64 processor. PAE according to Intel is a CPU with more than 32bits data bus, (so 36bit in practical terms). Xeon had 36, but Atlon64 had 40 address and 40 data.
⇗ @gordo999 I think you accidentally misquoted me - I did not say Advanced server had >4Gb Memory support that was XP Lives who said that...:)
Anyway >4GB doesn't imply 64bit as you suggest. It could mean 36 bit or 40bit or 48bit.

#4423

gordo999

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4422

> Page file or swapping does not allow access to over 4GB RAM. I will respond in more detail in some time.....

⇗ @Pill Monster ...That's what I am trying to say. Normal page swapping with the XP memory manager is done using 4K pages and it is done to disk. It is a pure 32-bit system. PAE allows the size of the page files to increase in size by increasing the memory addressing space by 4-bits, to 36 bits. However, the normal x86 XP memory manager is not designed to work with PAE to access RAM > 4GB directly.
To use memory beyond 4GB meaningfully, you need extra drivers that work in conjunction with the memory manager, a system called AWE (Advanced Windowing Extensions). Another name often used for PAE (Physical Address Extension) is Page Address Extension. I think that's a better description of what PAE does, it increases the page size available to the memory manager and allows the pages to be stored in the extra RAM beyond 4GB. However, if an app is not written to use such features, I don't see how PAE alone will allow access to extra RAM on a normal 32-bit system.
How the system uses PAE to access RAM > 4GB is not clear to me. It appears you can use PAE to install a RAM disk but, as I understand it, a Ramdisk requires separate software/drivers to run it. Here's a link to people discussing this problem and one mentions what I suggested about the old DOS systems that software is required to 'trick' apps into thinking they had more memory. The EMM memory manager did it using a small area of DOS RAM to map memory to an external memory card.
⇗ https://superuser.com/questions/292207/i...sing-windows-xp
"Exceeding the 4GB cap is harder. It requires playing addressing tricks of the sort that used to be required in the days of 16bit systems. I have heard tales that it's possible to break this barrier in 32bit XP, but it requires much more than a simple registry edit. IIRC, the limit is compiled into the operating system directly. To get around it, you have to find a specific .dll file from a 32bit Server 2003 machine and use it to replace the equivalent file on your Windows XP machine. For this to work, the file has to be modified so that XP won't reject it and you have to use volume shadow copy to get it to replace the existing file. I don't remember and can't find the link now for which file you need or how to modify it. After this is accomplished, you should be able to make the same settings to 32bit XP that you can to Server 2003 to allow the higher memory cap. Of course, such a change is highly unsupported and violates your license agreement".

#4424 | ruthan | What about games compatibility, are all XP games running on Windows 2003, some just report that its not XP and refuse to install / start? Also XP still has some XP support, what about Win2003?
#4425 | Gelip | I tested WinXP SP2 x86 on a real computer - Thin Client Igel 4210 (VIA C7 CPU, AWARD 6.00PG BIOS) using UEFI32 emulator DUET and it works in UEFI + CSM: PC is old but bios UEFI32 is modern

## Page 296

#4426

diderius6

⇗ @Gelip
Waaooh, this is really cool:))!! Please describe step by step,
which files you used and the preparing of everything.
What about Graphik card and 3D?
Also very interesting, if nvme boot via the UEFI Bios files is now possible,
for a compi, which never heard anything about nvme before in its life;)
Dietmar
PS: Is there a special reason, why you use XP SP2?
Can you disable CSM in Bios for this kind of UEFI boot of XP?

#4427

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #4426

> Waaooh, this is really cool:))!! Please describe step by step,
> which files you used and the preparing of everything.

As for the UEFI32 emulator, you have to compile it from sources - I used these: ⇗ vector-edk
How to build and what you need is described inside: ⇗ ReadMe.txt - you need Visual Studio 2005 and WinDDK 3790.1830
You can prepare a DUET pendrive with ⇗ CreateBootDisk.bat or with this installer: ⇗ Tianocore Uefi Duet Installer
When it comes to preparing WinXP x86 you need the files winload.efi and bootmgfw.efi from the test version of Vista Beta Longhorn 6.0.5219.0
To WINDOWS\system32 you copy winload.efi and to FAT32 pendrive file bootmgfw.efi (I changed the name to WinXP.efi ) and to the root directory of the pendrive the boot.ini file by adding the /usenewloader option.
Now just boot your compi from this pendrive - that's all

> Zitat von ⇗ diderius6 im Beitrag ¶ #4426

> What about Graphik card and 3D?

Igel has a VIA UniChrome S3 card integrated and after the driver installation 3D works.
I don't have a motherboard with legacy or UEFI 32-bit bios with a PCIe connector so I don't know but with WinXP x64 I tested AMD Radeon HD6450 and HD7450 so it will probably work with WinXP x86 as well.
P.S. I will be testing WinXP x86 with the UEFI32 DUET emulator on ThinkPad X61, IdeaPad S10e and Igel with old PCI S3 Trio, Virge and Matrox cards

> Zitat von ⇗ diderius6 im Beitrag ¶ #4426

> Also very interesting, if nvme boot via the UEFI Bios files is now possible,
> for a compi, which never heard anything about nvme before in its life;)

I think that there should be no problem if there are WinXP drivers. I recently bought a mSATA drive for the ThinkPad X220 and it works without problems in WinXP SP2 x64: ⇗ mSATA test on X220

> Zitat von ⇗ diderius6 im Beitrag ¶ #4426

> PS: Is there a special reason, why you use XP SP2?

In SP3 I do not like the service of network connections - it works differently than in SP2.

> Zitat von ⇗ diderius6 im Beitrag ¶ #4426

> Can you disable CSM in Bios for this kind of UEFI boot of XP?

No, UEFI32 or UEFI64 emulator does not work on computers with UEFI bios. Works only on legacy bios computers. In the video there is a test with Igel 4210 which has bios AWARD 6.00PG. The DUET emulator also works in the Qemu virtual machine - on this video tested DUET UEFI64:
In VirtualBox, VMware and MS VPC not work.

#4428

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #4423

> However, the normal x86 XP memory manager is not designed to work with PAE to access RAM > 4GB directly

- winxp has pae kernel, only in this kernel available physical memory above 4gb, pae kernel can map > 4GB directly
- when progs allocating more memory, manager through pae choose it from any physical place (0-36GB), then map this physical piece to prog's local adress space (old dos EMM trick, in emm window size was fixed 64K, in ZX Spectrum 128 window was 16 kb)
- one process can't allocate more 2Gb of ram (3Gb if /3gb switch enabled), kernel limited to 2Gb (1Gb if /3gb switch enabled)
- AWE is software API same as EMM INTxx, applications can have many "windows" at same adress in local adress space and fast switch between
- 3rd RAM Disk software "we can access above 4gb!" is not magic, they also uses windows and switch from one to other when file stored in different window

#4429

Levvon

More than 4 years ago I already posted this information on the Ru-Board.com Forum, but it turned out to be unclaimed.
Loading Windows XP from GPT disks and accessing space beyond 2.2 TB are possible.
The only limitation is that the system and boot partitions must be entirely within the first 2.2 TB.
Method #1 (unreliable due to errors in the Paragon drivers)
It consists in creating HybridMBR using gdisk (GPT fdisk) and using the driver 'gpt_loader.sys' (Paragon GPT Loader).
HybridMBR is created using gdisk (GPT fdisk) in a special way, so that the BIOS or UEFI of the computer interprets hybrid disk partitioning as MBR and the loaded operating system already as GPT, thanks to the gpt_loader.sys driver (Paragon GPT Loader). For 32-bit driver version 8.0.1.0 there are patches [@hardwarefetish.com] that fix BSOD and high RAM consumption but do not fix file system corruption problems. Driver versions newer than 9.0.5.x are not suitable because they report that "This driver version doesn't support hybrid disk partitioning". Drivers can be extracted from the installers of Paragon GPT Disk Manager or Paragon HFS + for Windows.
Instructions for creating a HybridMBR:

- of the 3 available partitions (the 4th slot is used for protective partition) in HybridMBR it is enough to specify only the system and boot partitions;
- it is not necessary to specify the remaining partitions in HybridMBR because Paragon GPT Loader driver will subsequently provide access to them;
- DO NOT accept the offer of the utility to place a protective partition with the identifier 0xEE in the first slot created by HybridMBR;
- DO NOT allow the utility to mark the remaining space with another additional protective partition with the identifier 0xEE.

Method #2 (reliable, meets the UEFI Specification)
It consists in using a special ProtectiveMBR from the SYSLINUX v4.x+ distribution which converts GPT to NormalMBR on-the-fly in the RAM.
Like Method #1 these actions are performed directly on a loaded Windows XP operating system.

- for Windows XP SP3 (32-bit) disable Windows File Protection and in the 'system32\dllcache' and 'system32\drivers' folders replace the 'disk.sys' and 'partmgr.sys' files with similar files from Windows Server 2003 SP2 (32-bit) with GPT support;
- create HybridMBR as described in Method #1 but additionally assign the Legacy BIOS Bootable attribute to the system partition GPT which corresponds to the active partition in HybridMBR;
- on top of the newly created HybridMBR create a NEW HybridMBR with ONLY ONE protective partition with the identifier 0xEE exactly on active bootable partition space (in this case, HybridMBR will be a true ProtectiveMBR);
- from the distribution of SYSLINUX v4.x and newer execute the command 'syslinux.exe -m -f C: gptmbr.bin', where 'C:' is the letter of any partition on the target disk.

Proof Video:
vimple.co/8614e295604f4cfd9b0045f6422619d9
Reproduction Kit:
upload.ee/files/11625492/WinXP_GPT.zip.html

#4430

ruthan

Thanks, its nice source of info.
But Syslinux is much less used by Linux distros than Grub + change whole disk partition tables, means re-installation of others OSes or some migration etc. It looks problematic, time consuming etc, unless someone will create some conversion tool and even than, it would probably generate problems with standard partitioning tools.
So best scenario is probably keep XP only disk with 1 partition and in that case you still can keep it legacy, until we will get UEFI only bioses, or is there any other advantage to migrate it to EFI bootable HDD?
For me personally XP GPT main advantage would be in possibility add XP parition to GPT disk with lots of others GPT partitions without any special partitioning to get rid of special XP or MBR disks.. and boot every OS from one NVME drive..

#4431

Levvon

> Zitat von ⇗ ruthan im Beitrag ¶ #4430

> But Syslinux is much less used by Linux distros than Grub + change whole disk partition tables, means re-installation of others OSes or some migration etc. It looks problematic, time consuming etc, unless someone will create some conversion tool and even than, it would probably generate problems with standard partitioning tools.

Method #2 is as simple as possible and does not require the installation of third-party bootloaders, including SYSLINUX. The method only uses the ProtectiveMBR from the SYSLINUX distribution. The code of this ProtectiveMBR turns the GPT-table into NormalMBR-table on-the-fly in the RAM and does not affect the real MBR on the disk. You can use any relevant tool for installing ProtectiveMBR, not necessarily 'syslinux.exe'.

> Zitat von ⇗ ruthan im Beitrag ¶ #4430

> For me personally XP GPT main advantage would be in possibility add XP parition to GPT disk with lots of others GPT partitions without any special partitioning to get rid of special XP or MBR disks.. and boot every OS from one NVME drive..

That is exactly what I am proposing. If Windows XP is cloned/copied to an existing partition of GPT disk then only step 2 (exclusively with respect to setting the attribute Legacy BIOS Bootable to XP partition) and step 4 of Method #2 should be performed.

#4432

diderius6

⇗ @Levvon
Nice idea:))!!
Can you please write a Tutorial, step by step, what you have to do for to boot XP SP3 from a GPT harddisk.
I tested disk.sys and partmgr.sys (last versions from Winserver 2003 32 bit) and they work with GPT under XP SP3.
Have you tested, if this method can be used for to do UEFI boot of XP SP3 32 bit,
have a nice day
Dietmar

#4433 | Mov AX, 0xDEAD | ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (294) ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware updated info about generic Microsoft USB3 driver from Windows 8 We have another working USB3 driver for Windows XP !

#4434

diderius6

⇗ @Mov AX, 0xDEAD
Waaaoooohhhh:))..
This is a nice big step forward for future XP.
I tested today the modded AMD USB3 driver in MPS Multiprocessor Mode (means without any acpi)
but the same happened, not recognicing any USB device after some plug<>unplug.
So, I am very curious to test your modded Win8 USB3 driver for XP,
have a nice day
Dietmar

#4435

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4433

> updated info about generic Microsoft USB3 driver from Windows 8
> We have another working USB3 driver for Windows XP !

I am pleased that a new USB3 driver has appeared.
Where can I download this driver to test it?

#4436

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4434

> but the same happened, not recognicing any USB device after some plug<>unplug

AMD driver probably is not generic as we assumed, there is nothing to say more. I think i can trace this issue if reproduce it sometime

#4437

diderius6

⇗ @Mov AX, 0xDEAD
I just make a test with the last version from ⇗ @daniel_k AMD USB3 driver on the nice Gigabyte H110M-2SH board.
I notice there also the plug <> unplug problem, even it is z170 (Skylake).
There, the board crashes after no USB device is recogniced any longer via the AMD driver.
I also noticed, that with a connected USB device, you can work as long as you want with the AMD USB3 driver,
I test this with linear read from AIDA64 many times one after the other. But AIDA64 crashes, when you connect, disconnect a lot of times other USB devices while AIDA64 is running
Dietmar
PS: Tomorrow I set up a Windbg session, may be it gives an advice for the USB3 crash.

#4438 | ruthan | ⇗ @Levvon Thanks i understand it in highlevel, but we need some step by step tutorial how to do that some step are not clear to me.
#4439 | infuscomus | ⇗ @Mov AX, 0xDEAD can you show us how you made your windows 8.0 USB 3.0 driver?
#4440 | Levvon | Windows XP @ GPT Proof Video: vimple.co/8614e295604f4cfd9b0045f6422619d9 Reproduction Kit: upload.ee/files/11625492/WinXP_GPT.zip.html

## Page 297

#4441

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4439

> can you show us how you made your windows 8.0 USB 3.0 driver?

same like usual - replacing mismatch imports to equivalents in original ms files
there about 7 files, i also made wdf 1.11 library compatible with Windows XP (convert Io(Dis)ConnectiInterruptEx->Io(Dis)ConnectiInterrupt, take code from DDK's intex.lib)

    wdf01000.sys v1.11.9200.20755 (win8_ldr.130621-1504)
     EtwRegister
     EtwUnregister
     EtwWrite
     PoGetSystemWake
     PoSetSystemWake
     IoConnectInterruptEx
     IoDisconnectInterruptEx

    WdfLdr.sys 1.11.9200.16384 (win8_rtm.120725-1247)
    patched to load WDF01_W8.SYS

    usbd.sys 6.2.9200.16384 (win8_rtm.120725-1247)
    _cookie_constant

    WppRecorder.sys 6.2.9200.16384 (win8_rtm.120725-1247)
    _cookie_constant

    USBXHCI.SYS 6.2.9200.16384 (win8_rtm.120725-1247)
     _cookie_constant
     EtwActivityIdControl
     EtwEventEnabled
     EtwRegister
     EtwUnregister
     EtwWrite
     IoGetDevicePropertyData
     IoQueueWorkItemEx
     IoSetDevicePropertyData
     KdRefreshDebuggerNotPresent
     KeGetProcessorIndexFromNumber
     KeQueryActiveProcessorCountEx
     KeQueryDpcWatchdogInformation
     wcsncpy_s
     ZwAlpcConnectPort
     ZwAlpcSendWaitReceivePort

    UCX01000.SYS 6.2.9200.16384 (win8_rtm.120725-1247)
     cookie_constant
     EtwActivityIdControl
     EtwRegister
     EtwUnregister
     EtwWrite
     IoQueueWorkItemEx
     KdRefreshDebuggerNotPresent
     KeGetCurrentProcessorNumberEx
     ObfDereferenceObjectWithTag
     ObfReferenceObjectWithTag

#4442 | Mov AX, 0xDEAD | I've got reports about increasing speed with win8 usb3 driver - i think this is auto enabled UASP mode Original drivers from manufacturers offer separate utils to enable uasp mode (VIA UAS Client or ASUS USB 3.0 Boost), speed after also increasing

#4443

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4437

> I notice there also the plug <> unplug problem, even it is z170 (Skylake).
> There, the board crashes after no USB device is recogniced any longer via the AMD driver.

yesterday i played with "plug <> unplug", after some time no more devices was recognized (last inserted detected as unknow device in d3 state), changing driver on live OS to fresco or win8 doesnt recover controller. Suprise from fresco because i know it do force reset and power cycle on all ports on loading, so seems controller even can't reset properly after touching by amd' hands (
No BSOD, no errors, just ports hangs, very hard to investigate...

#4444 | unique1188 | ⇗ @deSSy2724 off topic, but, this thread has almost 300 pages and this will be #4444 post. I am curious, is your PC ready and running as you first intended to build? ⇗ @Mov AX, 0xDEAD what part of Uzb do you come from if I may ask?

#4445

diderius6

This is the original driver for 32 bit from AMD for the Zeppelin Chipset x570.
This driver recognices only on each second boot any USB device
Dietmar
PS: But we have ⇗ @Mov AX, 0xDEAD :))..
diderius6 has attached files to this post

- ⇗ AMD2000068Zeppelin32BIT.rar

#4446

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4445

> This is the original driver for 32 bit from AMD for the Zeppelin Chipset x570

"Unoriginal" fake signed by "Edgard Roberto Viera/Riolin Limited" )
p.s. It is Etron v0119 usb3 driver with replaced IDs from Etron to Intel

> Zitat von ⇗ unique1188 im Beitrag ¶ #4444

> @Mov AX, 0xDEAD what part of Uzb do you come from if I may ask?

offtop: Tashkent city

#4447

Illen

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4442

> I've got reports about increasing speed with win8 usb3 driver - i think this is auto enabled UASP mode
> Original drivers from manufacturers offer separate utils to enable uasp mode (VIA UAS Client or ASUS USB 3.0 Boost), speed after also increasing

Windows 8 xHCI stack supports UASP, but to make any use of it, you also need uaspstor.sys and a storage device that supports it.

#4448

Zucker2k

> Zitat von ⇗ Levvon im Beitrag ¶ #4440

> Windows XP @ GPT
> Proof Video:
> vimple.co/8614e295604f4cfd9b0045f6422619d9
> Reproduction Kit:
> upload.ee/files/11625492/WinXP_GPT.zip.html

This deserves its own own thread. Well done!

#4449

Mov AX, 0xDEAD

I've found my little mistake in Win8 USB3.0 driver, please patch USBXHCI.SYS:
1) FF15E4B00300B001897E70=>897E70FF15E4B00300B001
2) 85338C33=>85338F33
3) recalc checksum
4) final sha1=c6d35c456e5b011603fae67472bf1a4aacf61b42
No more patches need, so driver now STABLE, let' name it as BETA1

#4450

Pill Monster

> Zitat von ⇗ gordo999 im Beitrag ¶ #4423

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #4422

> > Page file or swapping does not allow access to over 4GB RAM. I will respond in more detail in some time.....

> @Pill Monster ...That's what I am trying to say. Normal page swapping with the XP memory manager is done using 4K pages and it is done to disk. It is a pure 32-bit system. PAE allows the size of the page files to increase in size by increasing the memory addressing space by 4-bits, to 36 bits. However, the normal x86 XP memory manager is not designed to work with PAE to access RAM > 4GB directly.
> To use memory beyond 4GB meaningfully, you need extra drivers that work in conjunction with the memory manager, a system called AWE (Advanced Windowing Extensions). Another name often used for PAE (Physical Address Extension) is Page Address Extension. I think that's a better description of what PAE does, it increases the page size available to the memory manager and allows the pages to be stored in the extra RAM beyond 4GB. However, if an app is not written to use such features, I don't see how PAE alone will allow access to extra RAM on a normal 32-bit system.
> How the system uses PAE to access RAM > 4GB is not clear to me. It appears you can use PAE to install a RAM disk but, as I understand it, a Ramdisk requires separate software/drivers to run it. Here's a link to people discussing this problem and one mentions what I suggested about the old DOS systems that software is required to 'trick' apps into thinking they had more memory. The EMM memory manager did it using a small area of DOS RAM to map memory to an external memory card.
> ⇗ https://superuser.com/questions/292207/i...sing-windows-xp
> "Exceeding the 4GB cap is harder. It requires playing addressing tricks of the sort that used to be required in the days of 16bit systems. I have heard tales that it's possible to break this barrier in 32bit XP, but it requires much more than a simple registry edit. IIRC, the limit is compiled into the operating system directly. To get around it, you have to find a specific .dll file from a 32bit Server 2003 machine and use it to replace the equivalent file on your Windows XP machine. For this to work, the file has to be modified so that XP won't reject it and you have to use volume shadow copy to get it to replace the existing file. I don't remember and can't find the link now for which file you need or how to modify it. After this is accomplished, you should be able to make the same settings to 32bit XP that you can to Server 2003 to allow the higher memory cap. Of course, such a change is highly unsupported and violates your license agreement".

> Zitat

> @Pill Monster .[quote]..it was not true memory support as we would expect on a 64-bit system with 64 Gb RAM. They used the extended memory as a form of virtual memory. Rather than paging out RAM to disk, they were paging it into higher memory regions because the paging works faster in RAM than on disk.
> PAE is a processor-based paging system. It does not enable more RAM for normal use, it has extended address features that can address addresses higher than 4 GB but for a pagefile system only. It's not possible to access RAM beyond 4GB using 32-bits. PAE has a very limited ability to store addresses beyond 4GB but it cannot address them directly by normal means.

OK, I'll respond as best I can without writing a thesis.... but this is not an easy topic to cover, and I suck at explaining anything technical. I'll post some links though. :)
The first thing you should be aware of is that the material published on MSDN (particularly the old site) or any MS or Intel related sites pertaining to memory relate almost exclusively to and is heavily biased toward Intel.
During the time period we are talking about Intel were trying to drive AMD into the ground with Microsoft's full co-operation and they almost succeeded.... but that's another story in itself.
AMD before K8 & Intel up until C2D (Intel64) used segmented memory (2GB kernel 2GB userspace). AMD64 (Athlon64 onward) with 40bit capability used a flat memory model. From Athlon64's release until Core Two Duo Intel and AMD CPU's handled memory management differently. Athlon64 supported 128GB RAM (actually more but MS don't officially support more than what they've tested ). SuperUser isn't a great source either. If anything check Stack Overflow, the info there is more reliable....different category of users.
A process lives in a virtual world inside the OS which lives in a virtual world inside the CPU - like a box within a box. What's fundamental to this is the CPU handles all address translation. The CPU is only part of the entire system with direct access to RAM, the CPU alone (with exception of a small part of the kernel) knows how much RAM is installed. Not the OS or any process.
Say you have XP installed on Phenom II with 32GB of RAM - def no need for a pagefile. What happens is when the process requests some data the first time it's mapped into memory and process view by the x64 CPU.
When the process reaches it's 4GB working set limit & requests data the CPU pages in the data and moves some other page from user to kernel (kernel is outside process view). That unmapped page is kept in RAM & the next time the process requests the same data it's already in RAM so the CPU TLB does a page table walk to find where in ram that data is then maps it back into process view. This is called page replacement policy....

> Zitat

> PAE works with the memory manager to enable memory 'page swapping' to memory beyond 4GB. I don't know enough about this to agree or disagree with your point that the RAM beyond 4GB should have been made available to normal Windows users. I suspect that maybe you're right. I do know that RAM page swapping is required because 4GB is not enough for running an OS like XP with more than a trivial app like Notepad running. So, RAM pages get swapped (paged) to disk. With PAE, they get swapped to RAM beyond 4GB.

I guess the simplest answer is that a 32bit processor has a 4GB limit, but an x64 (40, 48,52bit & so on) doesn't. The 4GB limitation is a hardware limitation of x86 (32bit) hardware.
That's all. It is not by design an Operating System limitation.

> Zitat

> The question for me is how do you use PAE when it is enabled? You would need an app written to address it and another system module to run with the memory manager to use it. Server 2003 has that system module but as far as I know it is not available in a normal Windows OS. Maybe you could adapt it to run on a normal system, I don't know.

Well as I mentioned applications have no knowledge or are even aware of RAM.

> Zitat

> To be realistic, if you want to address 64 GB of RAM directly you need a 64-bit system. PAE relies on a 36 bit address capability and trickery.
> This is similar to the old EMS/EMM memory managers with DOS. They found ways to swap memory out to external memory cards but those cards were never directly under DOS control. DOS could only address 640K RAM and with a bit of trickery, they managed to extend it to 1 MB.

This is not the case. Also 64bit is a misnomer anyway since last I checked the most any CPU can access is 57bit. The "x86" & "x64" part of Operating System's name is the support for either x86 or x64 CPU architecture. It's not memory support.
⇗ @gordo999 please check this link, it should be very helpful..
⇗ https://www.geoffchappell.com/notes/wind...ense/memory.htm

#4451

Pill Monster

> Zitat von ⇗ deSSy2724 im Beitrag ¶ #5

> 1. So, basically...... XP 32bit can only be installed to the MBR partition and nothing can change that BUT with help of 3rd party tools like this one (link below), XP can read/access other GPT partitions and I should be able to install programs/games normally to that GPT partitions, right?
> ⇗ https://www.paragon-software.com/de/tech...nts/gpt-loader/
> 2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?
> 3. What is actually the disadvantage if I disable ACPI (desktop PC)? Would my CPU work always with full speed and never downclock when idle (Intels Turbo Clock technology) or what?. Is ACPI disabled system-wide (BIOS) or can it be only disabled for specific OS-es?
> 4. @Mov AX, 0xDEAD
> Are you trying to say that this user from this thread has ACPI disabled or what? How did he managed to install XP 32 bit with Coffe Lake MBO/CPU?
> ⇗ Windows XP 32bit SP3 now working with Z370 motherboard and Coffe Lake CPU

3rd party is usually best option when you want to do something that MS don't want you to do. ( Seriously).
for example GPT partitions can easily be cloned despite what MS library says. Just not with MS software.
Same with XP support for GPT, it's really up to ASmedia or Jmicron not MS
Also - are you guys with issues using the vanilla XP? Last night I checked tpb and only SP3 was listed. No SP1

#4452

infuscomus

I'm trying to get Mov Ax 0xDEAD's USB 3 driver to load during XP texmode setup.
Trying to start by getting KMDF 1.11 to load by adding them to txtsetup.sif,
wdfldr8.sys - loads fine
wdf01_w8.sys - fails to load, says "wdf01_w8.sys is corrupt"
I must've missed something - but the only dependencies I can see for wdf01_w8.sys are hal.dll ntoskrnl.exe and wdfldr8.sys
the driver loads just fine booted into windows

#4453

Mov AX, 0xDEAD

ported driver has original win8 bug:
In case of connection "storage->external hub->port on MoBo" when you safe remove storage, it will marked as yellow and wait for ejecting. But driver cannot detect physical ejecting and will show this phantom storage until you do some with this hub, insert or eject something to any ports. Win10 driver doesnt have this bug, Win8.1 not tested
Maybe its bug of firmware/chips in external hub, i dont know...

#4454

diderius6

⇗ @infuscomus
You can also try to build one txtsetup.oem for all the files and make a try with Nlite
Dietmar
PS: I notived, that USB boot is not possible. All drivers are loaded after first boot stage.
When you force them to boot earlier, USB boot hangs.
I think, this happens because of needed KMDF.

#4455

diderius6

I am just running a Windbg session on the ASRock Fatal1ty Z370 Gaming K6 board
for the modded AMD USB3 1.1.0.0145 driver.
After plug<>unplug USB hangs,
I got message from windbg
watchdog!WdUpdateRecoveryState: Recovery enabled.
And usbstor.sys is unloaded
Unloaded modules:
b83e0000 b83e7000 USBSTOR.SYS
b83d8000 b83df000 USBSTOR.SYS
b8328000 b832f000 USBSTOR.SYS
During a search with google they wrote:
"you have a
driver that's failing on a power transition to D0."
Dietmar

## Page 298

#4456

diderius6

For to set up a really good version of the Windbg session for XP SP3,
first I solved the timer problem for the checked version halmacpi.dll for XP SP3 and the normal checked ntkrpamp.exe.
Nice, works:))!
Now I get such a lot of output
Dietmar
diderius6 has attached files to this post

- ⇗ DebugXPSP3.rar

#4457

diderius6

Yepp, I can fix exact the timepoint,
when the USB device crashes. And direct before crash, the USB stick goes down D0 => D3 .
Dietmar

>     Wed
>      May  6 17:42:45.981 2020 (UTC + 2:00): Break repeatedly, break Once,
>     Ignore, terminate Process, or terminate Thread (boipt)? i
>     i
>     Wed May  6 17:42:45.981 2020 (UTC + 2:00):
>     Wed May  6 17:43:00.434 2020 (UTC + 2:00): RTL: Ignoring attempt to delete a pinned atom (c009)

>     0: kd> !devnode 0 1 usbstor
>     Dumping IopRootDeviceNode (= 0x8b974dc8)
>     DevNode 0x8b91ddb0 for PDO 0x8b91df10
>       InstancePath is "Root\LEGACY_USBSTOR\0000"
>       ServiceName is "USBSTOR"
>       State = DeviceNodeRemoved (0x312)
>       Previous State = DeviceNodeStarted (0x308)
>       Problem = CM_PROB_DEVICE_NOT_THERE

>     0: kd> !devnode 0x88d79e30
>     DevNode 0x88d79e30 for PDO 0x88c989e8
>       Parent 0x8b7eaed8   Sibling 0000000000   Child 0000000000
>       InstancePath is "USB\Vid_0000&Pid_0000\5&290e4c81&0&17"
>       State = DeviceNodeInitialized (0x302)
>       Previous State = DeviceNodeUninitialized (0x301)
>       StateHistory[02] = DeviceNodeUninitialized (0x301)
>       StateHistory[01] = DeviceNodeInitialized (0x302)
>       StateHistory[00] = DeviceNodeUninitialized (0x301)
>       StateHistory[19] = Unknown State (0x0)
>       StateHistory[18] = Unknown State (0x0)
>       StateHistory[17] = Unknown State (0x0)
>       StateHistory[16] = Unknown State (0x0)
>       StateHistory[15] = Unknown State (0x0)
>       StateHistory[14] = Unknown State (0x0)
>       StateHistory[13] = Unknown State (0x0)
>       StateHistory[12] = Unknown State (0x0)
>       StateHistory[11] = Unknown State (0x0)
>       StateHistory[10] = Unknown State (0x0)
>       StateHistory[09] = Unknown State (0x0)
>       StateHistory[08] = Unknown State (0x0)
>       StateHistory[07] = Unknown State (0x0)
>       StateHistory[06] = Unknown State (0x0)
>       StateHistory[05] = Unknown State (0x0)
>       StateHistory[04] = Unknown State (0x0)
>       StateHistory[03] = Unknown State (0x0)
>       Flags (0x00000030)  DNF_ENUMERATED, DNF_IDS_QUERIED
>       CapabilityFlags (0x00005402)  DeviceD2, WakeFromD0,
>                                     WakeFromD2, HardwareDisabled

>     0: kd> !devnode 0 1 amdxhc
>     Dumping IopRootDeviceNode (= 0x8b974dc8)
>     DevNode 0x8b7ee5b8 for PDO 0x8b85be50
>       InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\3&11583659&0&A0"
>       ServiceName is "amdxhc"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b7eaed8 for PDO 0x8b856918
>         InstancePath is "AMDUSB30\ROOT_HUB30\4&556f44c&7"
>         ServiceName is "amdhub30"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8b6942d0 for PDO 0x8b662b20
>           InstancePath is "USB\Vid_174c&Pid_2074\5&290e4c81&0&3"
>           ServiceName is "amdhub30"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x8b693008 for PDO 0x8b66a890
>           InstancePath is "USB\Vid_174c&Pid_3074\5&290e4c81&0&23"
>           ServiceName is "amdhub30"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>            DevNode 0x88d79e30 for PDO 0x88c989e8
>           InstancePath is "USB\Vid_0000&Pid_0000\5&290e4c81&0&17"
>           State = DeviceNodeInitialized (0x302)
>           Previous State = DeviceNodeUninitialized (0x301)
>     DevNode 0x8b91f578 for PDO 0x8b91f6d8
>       InstancePath is "Root\LEGACY_AMDXHC\0000"
>       ServiceName is "amdxhc"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)

>     0: kd> !devnode 0 1 amdhub30
>     Dumping IopRootDeviceNode (= 0x8b974dc8)
>     DevNode 0x8b7eaed8 for PDO 0x8b856918
>       InstancePath is "AMDUSB30\ROOT_HUB30\4&556f44c&7"
>       ServiceName is "amdhub30"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b6942d0 for PDO 0x8b662b20
>         InstancePath is "USB\Vid_174c&Pid_2074\5&290e4c81&0&3"
>         ServiceName is "amdhub30"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8b693008 for PDO 0x8b66a890
>         InstancePath is "USB\Vid_174c&Pid_3074\5&290e4c81&0&23"
>         ServiceName is "amdhub30"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x88d79e30 for PDO 0x88c989e8
>         InstancePath is "USB\Vid_0000&Pid_0000\5&290e4c81&0&17"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>     DevNode 0x8b91f7d0 for PDO 0x8b91f930
>       InstancePath is "Root\LEGACY_AMDHUB30\0000"
>       ServiceName is "amdhub30"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)

#4458

diderius6

May be, we can hack ntoskrnl,
for to overcome the problems with the AMD USB3 driver.
The sentence is in ntoskrnl RTL atom.c
Dietmar

    NTSTATUS
    RtlDeleteAtomFromAtomTable(
        IN PVOID AtomTableHandle,
        IN RTL_ATOM Atom
           )
    {
        NTSTATUS Status;
        PRTL_ATOM_TABLE p = (PRTL_ATOM_TABLE)AtomTableHandle;
        PRTL_ATOM_TABLE_ENTRY a, *pa;

           RTL_PAGED_CODE();
        if (!RtlpLockAtomTable( p )) {
            return STATUS_INVALID_PARAMETER;
                   }
        try {
            Status = STATUS_INVALID_HANDLE;
            if (Atom >= RTL_ATOM_MAXIMUM_INTEGER_ATOM) {
                a = RtlpAtomMapAtomToHandleEntry( p,
                                                  (ULONG)(Atom & (USHORT)~RTL_ATOM_MAXIMUM_INTEGER_ATOM)
                                                                                           );
                if (a != NULL && a->Atom == Atom) {
                    Status = STATUS_SUCCESS;
                    if (a->Flags & RTL_ATOM_PINNED) {
                        KdPrint(( "RTL: Ignoring attempt to delete a pinned atom (%x)\n", Atom ));
                                                              Status = STATUS_WAS_LOCKED;        // This is a success status code!
                                           }
                                   else
                    if (--a->ReferenceCount == 0) {
                        a = RtlpHashStringToAtom( p, a->Name, &pa, NULL );
                        if (a != NULL) {
                            if (pa != NULL) {
                                *pa = a->HashLink;
                                                   }
                            RtlpFreeHandleForAtom( p, a );
                            RtlpFreeAtom( a );
                                                   }
                                           }
                                   }
                           }
                   else
            if (Atom != RTL_ATOM_INVALID_ATOM) {
                Status = STATUS_SUCCESS;
                           }
                   }
        except (EXCEPTION_EXECUTE_HANDLER) {
            Status = GetExceptionCode();
                   }

        RtlpUnlockAtomTable( p );

        return Status;
    }

#4459

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #4456

> For to set up a really good version of the Windbg session for XP SP3,
> first I solved the timer problem for the checked version halmacpi.dll for XP SP3 and the normal checked ntkrpamp.exe.
> Nice, works:))!
> Now I get such a lot of output
> Dietmar

How to use the files (hal3.dll, ntos3.exe) you uploaded? They need to be renamed and put to c:\WINDOWS\system32. What problem do these files solve?

#4460

diderius6

⇗ @YuriyCN
These files ar only needed for debug of XP SP3, when you want to take a closer look, what happens with any driver.
With this files you have the minimal setup for a debug version
of XP SP3
Dietmar
PS: Just copy the files to C:\WINDOWS\system32
and add in boot.ini the line
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP ProfessionalAcpiDEBUG" /kernel=ntos3.exe /Hal=hal3.dll /debug /debugport=COM1 /baudrate=115200

#4461

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #4460

> @YuriyCN
> These files ar only needed for debug of XP SP3, when you want to take a closer look, what happens with any driver.
> With this files you have the minimal setup for a debug version
> of XP SP3
> Dietmar
> PS: Just copy the files to C:\WINDOWS\system32
> and add in boot.ini the line
> multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP ProfessionalAcpiDEBUG" /kernel=ntos3.exe /Hal=hal3.dll /debug /debugport=COM1 /baudrate=115200

Thanks, now I understand.
Do you want to solve the problem with the pm_timer fix here?
⇗ What exactly is the hal timer problem? (3)

#4462

diderius6

I noticed, that the HUB from the AMD driver can send devices to D3 state,
but has no possibilty to awake the USB device from D3.
I compare this with the Asmedia Hub. This can send and awake from D3.
Dietmar
AMD USB 3.0 Root Hub
PDCAP_D0_SUPPORTED
PDCAP_D2_SUPPORTED
PDCAP_D3_SUPPORTED
PDCAP_WAKE_FROM_D0_SUPPORTED
PDCAP_WAKE_FROM_D2_SUPPORTED
Asmedia USB Root Hub
PDCAP_D0_SUPPORTED
PDCAP_D3_SUPPORTED
PDCAP_WAKE_FROM_D3_SUPPORTED

#4463

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4456

> For to set up a really good version of the Windbg session for XP SP3,
> first I solved the timer problem for the checked version halmacpi.dll for XP SP3 and the normal checked ntkrpamp.exe.r

diderius6 ...Dietmar, are you talking about remote kernel debugging with windbg or local debugging? I've had no problem running windbg on XP SP3 locally, or doing full debugging sessions using Ollydbg version 1. My problem is getting it to run via a serial connection using a USB - serial adapter.
I already had a k-mode windbg session going between W7 as host and both W7 and W10 as targets using the same adapter. When I checked it recently it won't work at all on any OS. Trying to track down the issue and it seems the host sends data OK to the target but the serial data coming back from the target is distorted. Don't know if that has something to do with the drivers on the B360 chipset and the serial port. I have changed hal and intelppm, which has really improved the performance of XP but it may be causing a problem with the serial ports. Don't know, still working on it.

#4464

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4462

> I noticed, that the HUB from the AMD driver can send devices to D3 state,
> but has no possibilty to awake the USB device from D3.

diderius6 ...don't know if this is helpful.
Edit...not thinking clearly today, have a bit of a cold going on. Not covid or anything, just a sore throat and a fuzzy head. The USB device would have it's own Dx sleep state since the device can go into a sleep state while the mobo is fully awake. Since the sleep state is selectable usually, in Device Manager, it would seem the hub driver may have something to do with it. Of course, it could be anywhere from ACPI down.
The USB device has 4 conductors, 2 for power and 2 for serial comm. Obviously, the voltage to the device is fixed by the mobo and there is likely no separate Dx sleep state voltages for each USB device supplied by the mobo. You could verify that by monitoring the voltage to the device to see if it drops during a Dx state. If it stays the same, which is likely, the device is controlling the Dx state internally.
Therefore, the USB device must have an internal means of setting its Dx sleep state voltage. The signal to tell it whether to go into sleep mode or not comes from the Device Manager via ACPI, the XHCI driver and the hub driver. Since the data sent to the device is serial, it could be difficult to decipher it without a serial data/storage analyzer.
I'll leave the rest of the post in case it proves useful somehow, even though it is wrong.
My background is in hardware and I have traced out the circuits, on the mobo, for the sleep states you are talking about. Basically, each sleep state is a voltage level controlled by mosfets driven by a controller chip.
The inputs to these voltage level circuits are controlled by Hal and the drivers talk to the physical circuits/controllers through Hal. The highest level next to the OS executive is ACPI and all the USB drivers are in a tree with ACPI at the highest level, outside the executive. Th next level down from ACPI is the xhci driver, then the hub, then the device. You probably know all that better than I do.
From what I understand, the sleep states are controlled by ACPI. Most of the drivers we are using, like Hal, ACPI, XHCI, etc. have been modded. So, your sleep state problem could be in Hal, ACPI, XHCI, or maybe even intelppm.
I don't regard this as an easy problem to solve. On a mobo, you can check voltages and watch signals on a multiple input digital oscilloscope. However, the mobo is so densely packed, with traces suddenly going through the board to the other side, it's very difficult to work live on a mobo these days. Still, if you find the Dx sleep level input signal, you could bring it out with a conductor and attach it to an LED so you could check its state visually.
Then you could trace the drivers with windbg while toggling jump conditions to see where the Dx state was being blocked. Problem is, can windbg trace through ring 0 code? With softice, I could trace through any ring 0 code but whenever I try to enter ring 0 with windbg, at a sysenter, it kicks me out the other end. I have been told you can set a BP in ring 0 and windbg will stop at the BP. I don't know. I have traced through Hal with softice but I have never seen windbg do that. If it's possible, I'd like to know how.

#4465

diderius6

⇗ @gordo999
This problem with plug<>unplug and then suddently disconnect belongs to XP SP2 and XP SP3.
Hm, what changed from XP SP1 is the timer. So it may be really only a timer related problem.
Via USB boot also time plays an important role. Some people from reboot.pro introduced there during boot a time loop and can boot via USB a lot more motherboards. Microsoft themselves could not solve this problem. But they think also about a timer problem.
It is not Acpi related, because the problem is the same in MPS mode (without any Acpi)
Dietmar

#4466

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4465

> Some people from reboot.pro introduced there during boot a time loop and can boot via USB a lot more motherboards.

⇗ @diderius6 ....something just occurred to me. In digital electronics, there are conditions called a debouncing, latching, or race condition problem. The concept comes from the mechanical switches. When you press a mechanical switch, the contacts tend to bounce, causing the current to turn on and off rapidly until a positive connection is made. Rapid fluctuations in the voltage can throw the digital electronics out of sync and cause it to freeze.
They use an array of transistors, or a chip, to 'debounce' the switch action. It works by absorbing the first switch impulse, then latching the voltage at 5 volts, or whatever is required, so the +5 volts can't fluctuate. In other words, the switch contacts are connected to the debouncing circuit and the output of the debouncing circuit supplies a constant voltage after being activated by the first voltage spoke caused by the switch.
In a computer program they tend to use timers to do the same thing. So maybe the timer issue you mention has something to do with the USB problem. When you hot plug a device, like inserting or removing a USB device, it acts the same as a switch bouncing. The sudden insertion or removal causes voltages to fluctuate rapidly as spikes, and that can freeze the digital circuitry associated with the USB device.
A keybord is actually an array of mechanical switches. It would not be practical to provide individual solid state debouncers for each key therefore a timer is used in the keyboard driver in conjunction with each key press. When the driver detects a key press, it starts a timer to block out any bouncing in the keyboard key for a certain time period.
I imagine the same is done with USB devices perhaps in the hub driver, or further up the chain/tree, like in Hal. Whenever a USB device is inserted or removed, that action is detected with the first voltage spike and a timer is started to mask out the device digital data till the insertion/removal voltage spikes have settled down.
Here's a good article that explains hardware and software debouncing.
⇗ https://www.allaboutcircuits.com/technic...o-deal-with-it/

#4467

diderius6

⇗ @gordo999
This is really a nice idea!!!
I tested the AMD driver for USB3 when I boot XP SP3 from it. As long, as you do not disconnect the USB device,
it is rock stable. I do not have a single crash.
So, there may be a chance to prolong the time period for during plug<> unplug,
have a nice day
Dietmar

#4468

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4452

> Trying to start by getting KMDF 1.11 to load by adding them to txtsetup.sif,
> wdfldr8.sys - loads fine
> wdf01_w8.sys - fails to load, says "wdf01_w8.sys is corrupt"
> I must've missed something - but the only dependencies I can see for wdf01_w8.sys are hal.dll ntoskrnl.exe and wdfldr8.sys

After some tests i can say - current wdfldr8.sys is not ready for setup stage. It is loader for main wdf01_w8.sys, it look at registry \Registry\Machine\System\CurrentControlSet\Services\Wdf01_w8, read key ImagePath, then call ZwLoadDriver. So txtsetup.* must create these keys before loading usbxhci.sys/usbhub3.sys. As i know in txtsetup.oem we can use external *.inf (they probably will create keys), integrating drivers to setup is puzzle, i cant help with it in any way
Another option is link usbxhci.sys/usbhub3.sys/ucx0100.sys to wdf01_w8.sys directly, no more dependies to registry and services, but this job require assembler skills

#4469

infuscomus

⇗ @Mov AX, 0xDEAD
I was able to get KMDF 1.9 to load the VIA USB 3.0 driver in textmode thanks to help from the driverpacks.net forum team a number of years ago, it's a painful process getting it to work.
I tried the same process that worked for KMDF 1.9 with your modded KMDF 1.11 but unfortunately no such luck this time.
oh well, at least it works normally when booted into windows, so I'm happy with that.

#4470 | infuscomus | ⇗ @Mov AX, 0xDEAD are you going to try backporting the windows 10 USB 3.0 driver? edit: I got past the "wdf01_w8.sys is corrupt" error in textmode by doing a realignment of the file - hopefully I can load the USB 3.0 driver in textmode now, we'll see.

## Page 299

#4471

Mov AX, 0xDEAD

daniel_k found mistakes in PE headers in win8 usb3 driver, it caused loading errors in window installer
usbhub3.sys 0x350: 5442->0044, then recalc checksum
wdf01_w8.sys 0x2F8: F84A->004C, then recalc checksum

    340064116b210adf78239f1c171a69a07325c601    *UCX01000.SYS
    6b26c1252d7cc00e9b6e4c46ee773db03def4b90    *usbd_w8.sys
    7ea99282c304a13889b092eeb9f295ce1b681094   *USBHUB3.SYS
    c6d35c456e5b011603fae67472bf1a4aacf61b42     *USBXHCI.SYS
    18d4788bbf520e0c2f3ef95cbdd26f03fe519670      *WDF01_W8.SYS
    921913d31d9199d574d6fb77d077133002a1aff9    *WdfLdr8.sys
    ab0369d23c2a03a7c7d1769713770b3415761637  *WppRecorder.sys

#4472

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4470

> @Mov AX, 0xDEAD
> are you going to try backporting the windows 10 USB 3.0 driver?

No, i do not see reason until someone found serious bug in win 8.0 version, as i know only AMD X570 boards may have troubles, but it need more investigating

#4473

diderius6

I tried USB boot with the nice driver from ⇗ @Mov AX, 0xDEAD .
With Windbg I can see, that all files are loaded,
only the xhci driver not.
IOINIT: Built-in driver \Driver\USBXHCI failed to initialize - C000003A
Dietmar
IOINIT: Built-in driver xxxxxx failed to initialize − 0xnnnnnnnn
The boot start driver named xxxxxx returned a failure status 0xnnnnnnnn from its DriverEntry entry point.

#4474

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4473

> I tried USB boot
> IOINIT: Built-in driver \Driver\USBXHCI failed to initialize - C000003A

How to reproduce this "usb boot" ?

#4475

diderius6

In registry I set by hand in Services
usbstor Group System Reserved
Start 0
WDF01_W8 Group System Reserved
Start 0
USBHUB3 Group Boot Bus Extender
Start 0
USBXHCI Group Boot Bus Extender
Start 0
I think, that WDF01_W8 has to be loaded as the very first of all.
With this settings, all files are loaded,
only USBXHCI not
Dietmar
EDIT: Before USB boot, I show the USB device to the harddisk with the registry entries above, then I put this harddisk in this USB device.
EDIT: May be, the IOINIT message can be ignored.
The main reason is BSOD 0x7B for the harddisk in the USB caddy.

#4476

diderius6

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Fri May  8 22:14:46.687 2020 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Fri
>      May  8 22:14:48.843 2020 (UTC + 2:00): MM: Loader/HAL memory block
>     indicates large pages cannot be used for 80100000->8012777F
>     Fri May  8 22:14:54.453 2020 (UTC + 2:00): MTRR feature disabled.
>     Fri May  8 22:14:54.453 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.468 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.468 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.515 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.515 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.562 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.562 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.609 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.609 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.656 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.656 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.703 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.703 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.750 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.750 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.796 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.796 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.843 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.843 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.890 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.890 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.937 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.937 2020 (UTC + 2:00):
>     Fri May  8 22:14:54.984 2020 (UTC + 2:00): KiInitializeMTRR: OS support for MTRRs disabled
>     Fri May  8 22:14:54.984 2020 (UTC + 2:00):
>     Fri May  8 22:14:56.250 2020 (UTC + 2:00): IOINIT: Built-in driver \Driver\USBXHCI failed to initialize - C000003A
>     Fri May  8 22:14:56.250 2020 (UTC + 2:00):
>     Fri May  8 22:14:56.359 2020 (UTC + 2:00):

>     Intel Storage Driver Ver: 11.2.0.1006

>     Fri May  8 22:14:56.359 2020 (UTC + 2:00):
>     Fri May  8 22:14:59.437 2020 (UTC + 2:00):
>     *** Fatal System Error: 0x0000007b
>                                                  (0xB84C7518,0xC0000034,0x00000000,0x00000000)

>     Fri May  8 22:14:59.484 2020 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Fri May  8 22:14:59.625 2020 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ...................................
>     Loading User Symbols

>     Loading unloaded module list
>     .
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7B, {b84c7518, c0000034, 0, 0}

>     Probably caused by : ntkrpamp.exe ( nt!IopMarkBootPartition+f5 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     INACCESSIBLE_BOOT_DEVICE (7b)
>     During the initialization of the I/O system, it is possible that the driver
>     for the boot device failed to initialize the device that the system is
>     attempting to boot from, or it is possible for the file system that is
>     supposed to read that device to either fail its initialization or to simply
>     not recognize the data on the boot device as a file system structure that
>     it recognizes.  In the former case, the argument (#1) is the address of a
>     Unicode string data structure that is the ARC name of the device from which
>     the boot was being attempted.  In the latter case, the argument (#1) is the
>     address of the device object that could not be mounted.
>     If this is the initial setup of the system, then this error can occur if
>     the system was installed on an unsupported disk or SCSI controller.  Note
>     that some controllers are supported only by drivers which are in the Windows
>     Driver Library (WDL) which requires the user to do a custom install.  See
>     the Windows Driver Library for more information.
>     This error can also be caused by the installation of a new SCSI adapter or
>     disk controller or repartitioning the disk with the system partition.  If
>     this is the case, on x86 systems the boot.ini file must be edited or on ARC
>     systems setup must be run.  See the "Advanced Server System Administrator's
>     User Guide" for information on changing boot.ini.
>     If the argument is a pointer to an ARC name string, then the format of the
>     first two (and in this case only) longwords will be:
>         USHORT Length;
>         USHORT MaximumLength;
>         PWSTR Buffer;
>     That is, the first longword will contain something like 00800020 where 20
>     is the actual length of the Unicode string, and the next longword will
>     contain the address of buffer.  This address will be in system space, so
>     the high order bit will be set.
>     If the argument is a pointer to a device object, then the format of the first
>     word will be:
>         USHORT Type;
>     That is, the first word will contain a 0003, where the Type code will ALWAYS
>     be 0003.
>     Note that this makes it immediately obvious whether the argument is a pointer
>     to an ARC name string or a device object, since a Unicode string can never
>     have an odd number of bytes, and a device object will always have a Type
>     code of 3.
>     Arguments:
>     Arg1: b84c7518, Pointer to the device object or Unicode string of ARC name
>     Arg2: c0000034
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x7B

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     b84c7080 80a30d7b 00000003 b84c73dc 00000000 nt!RtlpBreakWithStatusInstruction
>     b84c70cc 80a319e6 00000003 80085000 e2b94408 nt!KiBugCheckDebugBreak+0x19
>     b84c74ac 80a31f77 0000007b b84c7518 c0000034 nt!KeBugCheck2+0x574
>     b84c74cc 80d32863 0000007b b84c7518 c0000034 nt!KeBugCheckEx+0x1b
>     b84c7634 80d380f6 80085000 00000000 80085000 nt!IopMarkBootPartition+0xf5
>     b84c7684 80d341f1 80085000 b84c76a0 00034000 nt!IopInitializeBootDrivers+0x53e
>     b84c7830 80d31940 80085000 00000000 8bcdcda8 nt!IoInitSystem+0x82d
>     b84c7dac 80bd81ac 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     b84c7ddc 80ae4212 80d30e2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!IopMarkBootPartition+f5
>     80d32863 8d85e0feffff    lea     eax,[ebp-120h]

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!IopMarkBootPartition+f5

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x7B_nt!IopMarkBootPartition+f5

>     BUCKET_ID:    0x7B_nt!IopMarkBootPartition+f5

>     Followup: MachineOwner
>     ---------

#4477

diderius6

With this settings in Registry
I get all drivers initialised and started,
but still 0x7B BSOD.

    usbstor Group System Reserved
    Start 0

    WDF01_W8 Group System Reserved
    Start 0

    USBHUB3 Group System Reserved
    Start 1

    USBXHCI Group System Reserved
    Start 1

Dietmar

#4478

diderius6

Because txtsetup.oem works ( ⇗ @daniel_k ) for the nice Win8 to XP SP3 USB3 driver,
I try tomorrow an entry
USB\Class_08&SubClass_06&Prot_62
into
CriticalDeviceDatabase of XP SP3
Dietmar

#4479

infuscomus

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4472

> only AMD X570 boards may have troubles

what kinds of troubles? nothing too serious I hope?

#4480

diderius6

⇗ @infuscomus
I test a lot of boards.
On all, the nice new USB3 driver from ⇗ @Mov AX, 0xDEAD ported from Win8 to XP SP3 works.
Only on the x570 board on half of the ports.
There are reports from Win10 on those USB3 slots of problems for the x570 boards.
I take a deeper look what is going on there.
When you install the new USB3 driver there new, all is ok.
But on next reboot it is gone, "unknown device",
brrr..
Dietmar
PS: May be that this can be overcome with an extra entry in CriticalDeviceDataBase. This I try today, first for USB boot.
EDIT: In this night ⇗ @daniel_k succeeds to integrate the KMDF driver in the XP Setup CD.
I want to do USB boot with it, the problem in this is, that nowhere it is described, how to set up a boot device with KMDF.

#4481

diderius6

First I try now
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\usb#Class_08&SubClass_06&Prot_50]
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Service"="USBSTOR"
Dietmar

#4482

diderius6

Now together with next one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\pci#cc_0c0330]
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Service"="usbxhci"
Dietmar

#4483

diderius6

And together with next one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\usb#root_hub30]
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Service"="usbhub3"

#4484

diderius6

And with this one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\usb#vid_174C&pid_1153]
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Service"="USBSTOR"

#4485

diderius6

And the last one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\usbstor#DiskASMT____2115____________0___]
"ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"
"Service"="disk"

## Page 300

#4486

diderius6

May be, that the KMDF also needs an entry in CriticalDeviceDatabase
but I found nothing about boot device for this.
It should look something like
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\root#LEGACY_WDF01_W8]
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"Service"="WDF01_W8"
Dietmar

#4487 | diderius6 | YESSSSSSSSSSSSSSSSSSSSSSSSSAAAAAAAAAAAAAAAAAAAAA:::))999)))))))))))))))))))))))):))))) I got it Boot XP SP3 from USB with the nice USB3 driver from ⇗ @Mov AX, 0xDEAD Dietmar ⇗

#4488

diderius6

How I reach this?
⇗ @daniel_k gives me the tip, that I just forget UCX01000.SYS.
This is really crazy, because this driver has no dependencies to xhci and usbhub3.
I make an easy test: I renamed UCX01000.SYS to UuuCX01000.SYS
and restart the compi. Oh, no USB device was recogniced any longer.
The rest was easy. Because of years with USB booting for XP, I get a feeling, what may work and what not.
I make a 7. entry in CriticalDeviceDatabase
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CriticalDeviceDatabase\root#LEGACY_UCX01000]
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"Service"="UCX01000"
and then I set in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
WDF01_W8 Group System Reserved start 0
UCX01000 Group Boot Bus Extender start 0
USBSTOR Group Boot Bus Extender start 0
USBXHCI Group Boot Bus Extender start 0
USBHUB3 Group Boot Bus Extender start 0
It is stable
Dietmar

#4489

usa1ec

> Zitat

> gives me the tip, that I just forget UCX01000.SYS.
> This is really crazy, because this driver has no dependencies to xhci and usbhub3.
> I make an easy test: I renamed UCX01000.SYS to UuuCX01000.SYS
> and restart the compi. Oh, no USB device was recogniced any longer.
> The rest was easy. Because of years with USB booting for XP, I get a feeling, what may work and what not.

Where can I download this USB driver.
Please give a URL?

#4490

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4472

> > Zitat von ⇗ infuscomus im Beitrag ¶ #4470

> > @Mov AX, 0xDEAD
> > are you going to try backporting the windows 10 USB 3.0 driver?

> No, i do not see reason until someone found serious bug in win 8.0 version, as i know only AMD X570 boards may have troubles, but it need more investigating

Hey man, can you made this port for x64?

#4491

Mov AX, 0xDEAD

> Zitat von ⇗ skullteria im Beitrag ¶ #4490

> can you made this port for x64?

No, x64 for me is not funny as x32, i dont plan do anything for these OSes

#4492

infuscomus

⇗ @diderius6
I've been trying to get the USB 3.0 driver to start for GUI phase of setup (before the EULA) using a VM
I'm not having any luck so far
I added these to hivesys.inf

    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","ErrorControl",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","Group",0x00000000,"System Reserved"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","ImagePath",0x00020000,"\SystemRoot\System32\drivers\wdfldr.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","Start",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","Tag",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\wdfldr8","Type",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","ErrorControl",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","Group",0x00000000,"System Reserved"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","ImagePath",0x00020000,"\SystemRoot\System32\drivers\wdf01_w8.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","Start",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","Tag",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01_w8","Type",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","ErrorControl",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","Group",0x00000000,"Boot Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","ImagePath",0x00020000,"\SystemRoot\System32\drivers\ucx01000.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","Start",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","Tag",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","Type",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","ErrorControl",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Group",0x00000000,"Boot Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","ImagePath",0x00020000,"\SystemRoot\System32\drivers\usbxhci.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Start",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Tag",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Type",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","ErrorControl",0x00010003,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Group",0x00000000,"Boot Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","ImagePath",0x00020000,"\SystemRoot\System32\drivers\usbhub3.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Start",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Tag",0x00010001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Type",0x00010001,1

all the necessary files are in c:\windows\system32\drivers
on restart i check in regedit
in HKLM\SYSTEM\CurrentControlSet\Services\usbxhci under Enum I see INITSTARTFAILED
in HKLM\SYSTEM\CurrentControlSet\Services\ucx01000 has no enumeration
in HKLM\SYSTEM\CurrentControlSet\Services\usbhub3 has no enumeration
in HKLM\SYSTEM\CurrentControlSet\Services\wdfldr8 under Enum I see count 1
in HKLM\SYSTEM\CurrentControlSet\Services\wdf01_w8 under Enum I see count 1
any ideas?

#4493

diderius6

I just installed via the original english setup CD with mod from ⇗ @daniel_k XP SP3.
The very last version of acpi.sys vers.5048 does NOT work.
Only the very last version from acpi.sys from outer space )
helps.
All USB works from the beginning, meaning you have USB mouse!
Also the Asmedia ports have now the nice USB3 driver from ⇗ @Mov AX, 0xDEAD .
During make of this CD crazy things happen:
First I use Nlite. Even I make a binary check between 2 CDs and they are 100% identic(!!!)
the CD build with Nlite fails with error "UCX01000.SYS cant be found". This means, Nlite makes an error in the structure of the *.iso, brrr.. From this moment I use only the original *.iso file and work on this file direct with Ultra Iso.
And also very important is to use an original CD. When you use a CD with update package,
the warning about not signed drivers is not shown and so it fails. I think, this can be overcome on CD,
with a setup answer file, always to answer the question for to allow unsigned drivers with "YES",
Dietmar
PS: Thank you soso much ⇗ @daniel_k !!!
⇗

#4494 | Mov AX, 0xDEAD | To auto-install required usbd.sys(usbstor need it) add little magic to USBXHCI.inf: [GenericHub.Install.NT] ... Include=usbport.inf Needs=ROOTHUB.Dev.NT

#4495

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4491

> > Zitat von ⇗ skullteria im Beitrag ¶ #4490

> > can you made this port for x64?

> No, x64 for me is not funny as x32, i dont plan do anything for these OSes

Well, you can make as favor, because i want integrate on Shorthorn Project Native driver.

#4496

Mov AX, 0xDEAD

> Zitat von ⇗ skullteria im Beitrag ¶ #4495

> Well, you can make as favor, because i want integrate on Shorthorn Project Native driver.

Hi skullteria
x64 is not important for me, so again No
You can backport yourself most drivers from win7/8/10 to xp/2003 if you know 386/x64 asm well, some times this is hard job, but most time it's boring job
You need replace missing import from *.sys files to selfmade equvalents, usualy replacing is easy if function is not important :

    xor eax, eax
    ret 4/8/10/...

Sometimes you will need more smart replace like IoConnectinterruptEx()->IoConnectinterrupt()
Not all drivers will works after, because new kernels contain new logic/frameworks/size of structs/enums/etc

#4497 | canonkong | ⇗ @Mov AX, 0xDEAD What about the USB ,ACPI, VGA drivers from win8.1/10 to WIN7?

#4498

diderius6

I do more tests with the nice setup CD for XP SP3 from ⇗ @daniel_k with the fantastic USB3 driver from ⇗ @Mov AX, 0xDEAD .
Whole install works for me only with the acpi.sys from outer space ). I use normal CD disk (best) and also USB install via firadisk.
The results where the same.
But now, when all is ready, I can also use the acpi.sys vers. 5048 (very last version).
On this board I build my very first working acpi.sys driver in December 2018.
This acpi.sys driver (only at 3 places changed against original) gives now BSOD 0x7B.
And I cant do USB boot with this installation on the same board. May be this is because of the changed iastor.sys driver
Dietmar
EDIT: I try the Setup CD on the crazy AMD x570 board. But only the USB devices are shown as bootable device.
So for AMD only the STORAHCI driver works.

#4499 | infuscomus | ⇗ @diderius6 did you try daniel_k's modded AMD 1.2.1.402 driver?
#4500 | diderius6 | ⇗ @infuscomus Is this modded AMD 1.2.1.402 for harddisk or for USB Dietmar PS: I do not find this driver.

## Page 301

#4501 | infuscomus | ⇗ @diderius6 it's an AHCI driver - I'll PM you

#4502

diderius6

With help from ⇗ @daniel_k I build a new generic Setup CD for XP SP3.
I have full USB from the beginning, thanks to nice driver from ⇗ @Mov AX, 0xDEAD .
This time I copy by hand file by file direct to the *.iso via Ultra Iso.
Now it uses the STORAHCI driver from ⇗ @skullteria which is the only harddisk sata driver,
that works on every motherboard, AMD or Intel.
Now I am just installing, until now everything is ok
Dietmar
PS: This is onyl one step away from a brandnew, really generic XP SP3, also with USB3 boot.
From feeling and testing the new installation I would say: This Setup CD is best of all, what we have ever seen for XP SP3.
1. Asrock Fatal1ty Z370 Gaming K6 (Intel) stable, fast, everything works at once.
2. ASUS Prime X570-PRO (AMD) fails install BSOD 0x00000096, when you use the installation from 1, now all(!) USB ports work.
This stop error 0x00000096 is caused by incompatibility of any of the hardware devices.
INVALID_WORK_QUEUE_ITEM
This means for a future generic Setup of XP SP3, that we need to find a mechanism, to do Setup only with the most necessary drivers. An other way would be, to integrate more drivers in the Setup CD. This error 0x96 happens, when a driver was first
recogniced, then deleted and then again deleted, because wrong recogniced.

#4503 | Outbreaker | ⇗ @diderius6 What entries did you use for the Generic USB 3.0 driver in the file DOSNET.INF, TXTSETUP.SIF and SETUPREG.HIV?
#4504 | diderius6 | ⇗ @Outbreaker I am not good in building setup CDs. Until yesterday I believe in Nlite, now not. So, you should ask ⇗ @daniel_k via message or ⇗ @infuscomus Dietmar
#4505 | Outbreaker | ⇗ @diderius6 Ahh okay, I thought you figured out how to use this USB 3.0 driver in the Windows XP Blue Text mode setup.

#4506

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4496

> > Zitat von ⇗ skullteria im Beitrag ¶ #4495

> > Well, you can make as favor, because i want integrate on Shorthorn Project Native driver.

> Hi skullteria
> x64 is not important for me, so again No
> You can backport yourself most drivers from win7/8/10 to xp/2003 if you know 386/x64 asm well, some times this is hard job, but most time it's boring job
> You need replace missing import from *.sys files to selfmade equvalents, usualy replacing is easy if function is not important :

>     xor eax, eax
>     ret 4/8/10/...

> Sometimes you will need more smart replace like IoConnectinterruptEx()->IoConnectinterrupt()
> Not all drivers will works after, because new kernels contain new logic/frameworks/size of structs/enums/etc

OK! I will get my way, how ever

#4507

Outbreaker

⇗ @Mov AX, 0xDEAD and Others
How would you do this to get this new USB 3.0 driver to work on the Text mode setup and GUI mode Setup?

    <- "\i386\DOSNET.INF" File Entries ->

    [Directories]
    d1212 = "\i386\USB30DRV"

    [OptionalSrcDirs]
    USB30DRV

    [FloppyFiles.2]
    d1,usbxhci.sys
    d1,ucx01000.sys
    d1,usbhub3.sys
    d1,WDF01_W8.sys
    d1,usbd_w8.sys
    d1,WppRecor.sys
    d1,WdfLdr8.sy

    [Files]
    d1212,usbxhci.inf
    d1212,usbxhci.sys
    d1212,ucx01000.sys
    d1212,usbhub3.sys
    d1212,WDF01_W8.sys
    d1212,usbd_w8.sys
    d1212,WppRecor.sys
    d1212,WdfLdr8.sys

    <- "\i386\TXTSETUP.SIF" File Entries ->

    [SourceDisksNames.x86]
    "1212 = %%cdname%%,%%cdtagfilei%%,,"\i386\USB30DRV"

    [WinntDirectories]
    1212 = USB30DRV

    [SourceDisksFiles.x86]
    usbxhci.sys = 1,,,,,,4_,4,1,,,1,4
    ucx01000.sys = 1,,,,,,4_,4,1,,,1,4
    usbhub3.sys = 1,,,,,,4_,4,1,,,1,4
    WDF01_W8.sys = 1,,,,,,4_,4,1,,,1,4
    usbd_w8.sys = 1,,,,,,4_,4,1,,,1,4
    WppRecor.sys = 1,,,,,,4_,4,1,,,1,4
    WdfLdr8.sys = 1,,,,,,4_,4,1,,,1,4
    usbxhci.inf = 1212,,,,,,,1212,0,0
    usbxhci.sys = 1212,,,,,,,1212,0,0
    ucx01000.sys = 1212,,,,,,,1212,0,0
    usbhub3.sys = 1212,,,,,,,1212,0,0
    WDF01_W8.sys = 1212,,,,,,,1212,0,0
    usbd_w8.sys = 1212,,,,,,,1212,0,0
    WppRecor.sys = 1212,,,,,,,1212,0,0
    WdfLdr8.sys = 1212,,,,,,,1212,0,0

    [HardwareIdsDatabase]
    PCI\CC_0C0330 = "usbxhci"
    USB\ROOT_HUB30 = "usbhub3"

    [SCSI.Load]
    usbxhci  = usbxhci.sys,4
    usbhub3  = usbhub3.sys,4

    [BusExtenders.Load]
    WDF01_W8 = WDF01_W8.sys
    WdfLdr8  = WdfLdr8.sys

    [InputDevicesSupport.Load]
    usbxhci  = usbxhci.sys
    ucx01000 = ucx01000.sys
    usbhub3  = usbhub3.sys
    usbd_w8  = usbd_w8.sys
    WppRecor = WppRecor.sys

    [files.usbxhci]
    hid.dll,2
    hidclass.sys,4
    hidparse.sys,4
    usbd.sys,4
    usbport.sys,4
    usbxhci.sys,4
    ucx01000.sys,4
    WDF01_W8.sys,4
    usbd_w8.sys,4
    WppRecor.sys,4
    WdfLdr8.sys,4

    [files.ucx01000]
    ucx01000.sys,4

    [files.usbhub3]
    usbhub3.sys,4

    [files.WDF01_W8]
    WDF01_W8.sys,4

    [files.usbd_w8]
    usbd_w8.sys,4

    [files.WppRecor]
    WppRecor.sys,4

    [files.WdfLdr8]
    WdfLdr8.sys,4

    [FileFlags]
    usbxhci.sys =16
    ucx01000.sys =16
    usbhub3.sys =16
    WDF01_W8.sys =16
    usbd_w8.sys =16
    WppRecor.sys =16
    WdfLdr8.sys =16

    [InputDevicesSupport]
    usbxhci  = "USB 3.0 Host Controller",files.usbxhci,usbxhci
    ucx01000 = "USB Controller Extension",files.ucx01000,ucx01000
    usbhub3  = "USB 3.0 Hub Driver",files.usbhub3,usbhub3
    usbd_w8  = "Universal Serial Bus Driver",files.usbd_w8,usbd_w8
    WppRecor = "WPP Trace Recorder",files.WppRecor,WppRecor

    [SCSI]
    usbxhci  = "USB 3.0 Host Controller"
    ucx01000 = "USB Controller Extension"
    usbhub3  = "USB 3.0 Host Controller"
    usbd_w8  = "Universal Serial Bus Driver"
    WppRecor = "WPP Trace Recorder"

    [BusExtenders]
    WDF01_W8 = "Kernel Mode Driver Framework Runtime",files.WDF01_W8,WDF01_W8
    WppRecor = "WPP Trace Recorder",files.WppRecor,WppRecor
    WdfLdr8  = "Kernel Mode Driver Framework Loader",files.WdfLdr8,WdfLdr8

    <- "\i386\SETUPREG.HIV" File Entries ->

    ControlSet001\Services\usbxhci", "group", 0x00000000, "Input Device Support"
    ControlSet001\Services\usbxhci", "tag", 0x00010001, "4"
    ControlSet001\Services\ucx01000", "group", 0x00000000, "Input Device Support"
    ControlSet001\Services\ucx01000", "tag", 0x00010001, "5"
    ControlSet001\Services\usbhub3", "group", 0x00000000, "Input Device Support"
    ControlSet001\Services\usbhub3", "tag", 0x00010001, "5"
    ControlSet001\Services\WDF01_W8", "group", 0x00000000, "WdfLoadGroup"
    ControlSet001\Services\WDF01_W8", "tag", 0x00010001, "2"
    ControlSet001\Services\WppRecor", "group", 0x00000000, "Input Device Support"
    ControlSet001\Services\WppRecor", "tag", 0x00010001, "5"
    ControlSet001\Services\WdfLdr8", "group", 0x00000000 "WdfLoadGroup"
    ControlSet001\Services\WdfLdr8", "tag", 0x00010001, "1"

#4508

Mov AX, 0xDEAD

Hi,
I've got alpha/not_tested version of USB Attached SCSI (UAS) Mass Storage driver as companion to win8 usb 3.0 driver (also storport.sys backported from win8.0):
- speed is increased 170Mb/s -> 250Mb/s on external usb ssd drive
- yet does not work on Windows Setup + storahci.sys
- bsod at shutdown, in progress...

#4509 | canonkong | @Mov AX, 0xDEAD Its possible to make the ACPI from win8 to Xp or win7? Like some new platforms dont have fully support ACPI and will A5 BSOD, I tried to do that but fail.

#4510

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4509

> @Mov AX, 0xDEAD
> Its possible to make the ACPI from win8 to Xp or win7?

i think possible fix missing imports in acpi.sys, but this "Frankenstein" will be work ? - nobody knows.
acpi.sys is not "device" driver, it is companion to kernel/pci/hal/???

#4511

diderius6

acpi.sys from Win7 will be not enough.
I have a crazy notebook,
where the first OS you can install with full acpi support is win8,
even I tried a lot
Dietmar
PS: Other option is to change there nearly whole Bios to an XP friendly version.
EDIT: I am going to write a Tutorial with the nice USB3 driver from @Mov AX, 0xDEAD for USB boot.
Oha, it is more difficult to make this generic, than I thought. But when you succeed it is stable!

#4512 | Dibya | best option is to patch existing ACPI driver of XP to detect ACPI 2.0 . I found ACPI sys from longhorn / Vista Beta is making certain IRQL function to fail in XP . ⇗ https://msfn.org/board/topic/176480-2-ti...comment-1135845 Actually i found disk.sys is responsible for GPT long back
#4513 | Outbreaker | ⇗ @Mov AX, 0xDEAD I got the USB boot fully working, but the USB 3.0 driver files will no play nicely with the "Joliet" file system format and will lead to a file not found error.
#4514 | infuscomus | ⇗ @Outbreaker you also mentioned there is a conflict with the kmdf files being named wdfldr8.sys and wdf01_w8.sys? ⇗ @Mov AX, 0xDEAD
#4515 | Outbreaker | ⇗ @infuscomus ⇗ @Mov AX, 0xDEAD Yes the question is, if a Windows XP ISO has already the Driver Frameworks 1.9 integrated should we overwrite the exiting "wdf01000.sys" and "wdfldr.sys" file with the USB 3.0 driver files "wdfldr8.sys" and "wdf01_w8.sys" or integrated them both together.

## Page 302

#4516

Mov AX, 0xDEAD

> Zitat von ⇗ Outbreaker im Beitrag ¶ #4513

> @Mov AX, 0xDEAD
> I got the USB boot fully working, but the USB 3.0 driver files will no play nicely with the "Joliet" file system format and will lead to a file not found error.

you can rename files as you wish, even to pure "DOS 8.3 ALL_IN_CAPS", but remember about cross links, if you change WppRecorder.sys->WPPREC.SYS you need update remain *.sys because name of this file hardcoded inside *.sys (also dont forget about checksum!)

#4517 | infuscomus | ⇗ @Mov AX, 0xDEAD would updating the import table to point to wpprecor.sys be enough? or would more edits be needed?

#4518

Mov AX, 0xDEAD

> Zitat von ⇗ Outbreaker im Beitrag ¶ #4515

> Yes the question is, if a Windows XP ISO has already the Driver Frameworks 1.9 integrated should we overwrite the exiting "wdf01000.sys" and "wdfldr.sys" file with the USB 3.0 wdfldr8.sys and wdf01_w8.sys file or integrated them both together.

I prefer separate ways, so backported "beta" wdf 1.11 will never interference with "original bugfree" wdf 1.7/1.9
All existing XP vendor drivers will still use wdf 1.7/1.9, only usb 3.0 driver will use wdf 1.11
I saw another version of driver, in it wdf 1.11 become full replacement of wdf 1.x

#4519

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4517

> @Mov AX, 0xDEAD
> would updating the import table to point to wpprecor.sys be enough? or would more edits be needed?

yes, this is enough, only import name matter

#4520 | Outbreaker | ⇗ @Mov AX, 0xDEAD Can you send me a USB 3.0 driver version with the file name "wdfldr8.sys", "wdf01_w8.sys" and "wpprecor.sys" for integration disc? Then i can test the "Joliet" file system format and also the boot compatibility with the Driver Frameworks 1.9.

#4521

Mov AX, 0xDEAD

> Zitat von ⇗ Outbreaker im Beitrag ¶ #4520

> @Mov AX, 0xDEAD
> Can you send me a USB 3.0 driver version with the file name "wdfldr8.sys", "wdf01_w8.sys" and "wpprecor.sys"? Then i can test the "Joliet" file system format and also the boot compatibility with Driver Frameworks 1.9.

I can't, do it yourself, it's not hard, you need any hex editor and any checksum fixer. Or ask someone other

#4522 | Outbreaker | ⇗ @Mov AX, 0xDEAD I can do it myself, but i think it wouldn't be a good idea to have X different versions flying around the internet. I have even 2 different .inf files and don't even know which one is the original.

#4523

diderius6

Here are the minimal settings for USB3 boot with the nice driver from ⇗ @Mov AX, 0xDEAD .
I prepared them from an brandnew XP SP3 install.
My problem in this is, I do not know, why they work and a brandnew installation, without this prepare, alone not
Dietmar
PS: Now I think, there is a hierarchy in XP: ENUM comes before CriticalDeviceDatabase.
diderius6 has attached files to this post

- ⇗ MoveUsb3boot.rar

#4524 | canonkong | ⇗ @Mov AX, 0xDEAD I think I had not fully fix the missing imports in acpi.sys, so it can not work. Maybe we can have a try and test.

#4525

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4510

> acpi.sys is not "device" driver, it is companion to kernel/pci/hal/???

⇗ @Mov AX, 0xDEAD ...you may know this already but from my understanding acpi.sys is the driver above PCI.sys. In the USB chain, PCI.sys is above XHCI.sys, and the hub driver.
ACPI.sys is between the system and the BIOS and it controls power management and Plug&Play device enumeration at boot.
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/acpi-driver
Also, see this page on debugging ACPI:
⇗ https://docs.microsoft.com/en-ca/windows-hardware/drivers/debugger/introduction-to-the-amli-debugger

#4526

gordo999

> Zitat von ⇗ canonkong im Beitrag ¶ #4524

> @Mov AX, 0xDEAD
> I think I had not fully fix the missing imports in acpi.sys, so it can not work. Maybe we can have a try and test.

⇗ @canonkong ...I am trying to set up a serial kernel mode debugging session between a W7 host and XP as target on COM2. I'd like to trace the code in acpi.sys, and other drivers, but right now i cannot get a serial port connection from host to target.
I have verified that the serial ports are talking to each other both ways using hyperterminal and a serial communication application. I suspect there could be a problem with kdcom.dll which is loaded early at boot time to enable remote serial communication. It could be that a mod to hal or acpi.sys is blocking the communication between kdcom.dll and the system.
I'm using a mobo with a B360 chipset and an i5-8400 processor.

#4527

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #4525

> ACPI.sys is between the system and the BIOS and it controls power management and Plug&Play device enumeration at boot.

MS did not tell full true )
Even some requests to usb driver go through acpi.sys, is saw this in callstack, so acpi is more than seems at first sight.
In "noacpi" hal.dll exist another way to passing requests, but i never used it

#4528

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #4526

> I am trying to set up a serial kernel mode debugging session between a W7 host and XP as target on COM2. I'd like to trace the code in acpi.sys, and other drivers, but right now i cannot get a serial port connection from host to target.

- W7 & XP is cross compatible for kernel debugging, i think problem with com cables/ports, even if you see repeating chars in hyperterminal, for kernel debugging need 100% quality connection
- Debugging with COM is Pain&Tears because incredible slow speed. COM is still good if you just want get crashdump. Comfortable debuging require much more speed connections

#4529

usa1ec

> Zitat

> Here are the minimal settings for USB3 boot with the nice driver .......

Where can I download the full version of this nice driver?
Please URL.

#4530

infuscomus

⇗ @Outbreaker ⇗ @diderius6
outbreaker, do you think you could make your integrator script make a live bootable USB install of XP?
by this I mean, install XP to a USB drive and not get a 7B BSOD later
diderius6 did manage to get it working - i think change the load order of usbstor.inf to boot bus extender?
some registry files here -
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (302)
P.S
I got a wdfldr.sys BSOD trying to make KMDF 1.9 and 1.11 coexist on an XP CD.
I'm not saying it's impossible, just challenging to get working.

## Page 303

#4531

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4527

> MS did not tell full true )Even some requests to usb driver go through acpi.sys, is saw this in callstack, so acpi is more than seems at first sight.

⇗ @Mov AX, 0xDEAD ...I agree. The USB call stack is: ACPI....PCI...XHCI....USBHUB....device.
Look at it from a hardware view. Each sleep state is controlled by a different voltage controller on the motherboard (mosfets). Each voltage control stage needs a signal from the operating system to tell it to turn off or turn on. ACPI sends control signals via Hal to each circuit or device that needs to 'sleep'. So ACPI takes sleep state signals from the operating system and passes them to the circuits and devices. Therefore, the acpi driver has to be located between the operating system and the hardware devices, including the processor, the busses, like PCI, clocks, etc.
ACPI also enumerates each device through the PCI driver during boot. It tells pci.sys to enumerate each tree on the PCI buss. In the ENUM registry key in HKLM\Services there is driver information for each device. If you use windbg and the .load usb3kd.dll extension using .load usb3kd.dll in Win 7, you can follow the USB 3 tree from the hub through to acpi. I have done this with USB 3 but I'm not sure how well it works in XP.
For USB 3:
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/usb-3-extensions
For USB 2:
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/usb-2-0-extensions
I use !devnode 0 1 and !devobj to trace through the tree. By entering the parent object it will take you to the next highest object in the tree and you should get to acpi.sys at the top.
You are from Tashkent. Do you speak Uzbek or Russian? I translated part of this message into Uzbek. Does that make sense?
Siz Toshkent shahridansiz. Siz o'zbek yoki rus tillarida gaplashasizmi? Men ushbu xabarning bir qismini o'zbek tiliga tarjima qildim. Bu mantiqiymi?
Unga apparat ko'rinishidan qarang. Har bir uyqu holati anakartdagi (mosfetlarda) boshqa kuchlanish boshqaruvchisi tomonidan boshqariladi. Kuchlanishni boshqarishning har bir bosqichida operatsion tizimdan uni o'chirish yoki yoqish kerakligi haqida signal kerak. ACPI "uyqu" ga muhtoj bo'lgan har bir kontaktlarga yoki qurilmaga nazorat signallarini Hal orqali yuboradi. Shunday qilib ACPI operatsion tizimdan uyqu holatidagi signallarni oladi va ularni kontaktlarning zanglashiga olib boradigan qurilmalar va qurilmalarga uzatadi. Shuning uchun, Acpi drayveri operatsion tizim va qo'shimcha qurilmalar, shu jumladan PCI, soatlar va hk kabi protsessor, avtobuslar o'rtasida joylashgan bo'lishi kerak.
ACPI shuningdek, yuklash paytida PCI drayveri orqali har bir qurilmani sanab o'tadi. Bu PCI bussidagi har bir daraxtni sanashni pci.sys-ga aytadi. HKLM \ Services-dagi ENUM registri kalitida har bir qurilma uchun drayver haqida ma'lumot mavjud. Agar siz Win 7-da .bb usb3kd.dll-dan foydalanib windbg va .load usb3kd.dll kengaytmasidan foydalansangiz, siz USB 3 daraxtidan uyadan acpi-ga o'tishingiz mumkin. Men buni USB 3 bilan bajardim, lekin XP-da u qanchalik yaxshi ishlashiga amin emasman.

#4532 | dencorso | <off topic begins> ⇗ @gordo999 : I sure don't speak Uzbek, but if you translated English to Uzbek using any of (google, bing!, yandex), then probably the translation is no good, and I don't know of a machine translator able to do it decently. Now, to translate English to Russian or, even better, Russian to English, there's just one and only machine translator: DeepL. It's, hands down, the best one available for free, nowadays. And no, I'm not affiliated with it in any way, I just do hate bad machine translation with a passion! My native language, BTW, is Portuguese, if that info can be relevant in any way. Cheers! <off topic ends>

#4533

gordo999

> Zitat von ⇗ dencorso im Beitrag ¶ #4532

> <off topic begins> @gordo999 : I sure don't speak Uzbek, but if you translated English to Uzbek using any of (google, bing!, yandex), then probably the translation is no good, and I don't know of a machine translator able to do it decently.

⇗ @dencorso ...thanks for tip. The newer Google translation is pretty good for Chinese and some other languages if you translate, then translate back to English to look for errors. I wrote a lengthy email to a Chinese manufacturer and the woman on the other end said the translation was easy to read.
I feel badly for people on this blog who don't speak English as a first language. It's tough to communicate and I thought I'd try translating my English into their language to see how well it works. I don't know if ⇗ @Mov AX, 0xDEAD speaks Russian or Uzbek but I was able to communicate on a Russian board about hard drives using Google. The hard part is trying to learn the slang. For example, some Russians call a hard drive a 'screw' and a disk platter, a 'pancake'. So, I think a trick in translation may be to keep the English really simple with no slang.

#4534 | infuscomus | ⇗ @Mov AX, 0xDEAD do you think it might be possible to backport ntoskrnl/hal of windows 8 or 10 to work for XP? some functions were removed since XP, would it just be a matter of re-adding them back in?

#4535

diderius6

After crazy search for 3 days I found the reason for BSOD 0x7B for USB boot of the nice driver form ⇗ @Mov AX, 0xDEAD .
It is the sequence of those drivers, which was loaded first, second, third and so on.
XP SP3 itself sets UCX01000 to a later place, because it knows nothing about those drivers.
The result is BSOD 0x7B.
The working sequence is
1.) WDF01_W8
2.) USBSTOR
3.) UCX01000
4.) USBXHCI
5.) USBHUB3
Dietmar

#4536 | infuscomus | ⇗ @diderius6 how do you set the boot order so it works?

#4537

diderius6

⇗ @infuscomus
There are a lot of possibilities as long as the load order for the drivers above is kept.
I just test with success in its *.inf files for USB boot for XP SP3
1.) WDF01_W8 LoadOrderGroup = System Reserved StartType = 0
2.) USBSTOR LoadOrderGroup = System Reserved StartType = 0
3.) UCX01000 LoadOrderGroup = Boot Bus Extender StartType = 0
4.) USBXHCI LoadOrderGroup = Base StartType = 0
5.) USBHUB3 LoadOrderGroup = Base StartType = 0
Dietmar
PS: The StartType has to be always = 0 or you get BSOD 0x7B,
because then the driver for USB boot is not loaded at boottime.

#4538 | infuscomus | ⇗ @diderius6 thanks, I'll let outbreaker know so he can add this to his integrator script.

#4539

diderius6

I just test XPSP3 USB3 boot with the nice driver from ⇗ @Mov AX, 0xDEAD (with my settings above in each *.inf )
for the AMD board Fatal1ty AB350 Gaming K4 with Ryzen 3700X with 16 cores. Only with this board from AMD I'm happy.
Waaoh, boots at once. It is stable and fast
Dietmar
PS: No extra entries needed. Just use the two *.inf files here for generic USB XPSP3 boot on any mainboard.
⇗
diderius6 has attached files to this post

- ⇗ GenericUSBbootXPSP3.rar

#4540

diderius6

Waaooh, with this settings in GenericUSBbootXPSP3
even the most crazy board ASUS PRIME X570-PRO can now boot from USB
and all(!) USB ports work there at once. Until now, I never succeed for USB boot on this board.
And before, the USB ports there are unstable as much as possible on any OS. In Win10, this unstability remains..
Dietmar
PS: I hope, that soon ) we all have this nice driver from ⇗ @Mov AX, 0xDEAD .
This will give a boost for XP as much as this is possible.
EDIT: EVGA z390 dark board works also for USB boot of XP SP3 with this generic settings,
also on the Asmedia USB ports.
Asus Apex X works, also on Asmedia USB ports.
And USB boot works on each slot of the nice GA-H110M-S2H board:)).

#4541

canonkong

⇗ @Mov AX, 0xDEAD ⇗ @diderius6
I tried to make the USB from server2012(6.2.9200) to Xp/vista/win7. And the XHCI/HUB driver work very well on win7 with my Ryzen CPU & APU, X370/B450/X570 also work good.
But the UASP can not work. Even I found out all the KeInitializeSpinLock and fix them, but it is still Code 39 erro. What do I need to fix?
Thanks.

#4542

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4534

> @Mov AX, 0xDEAD
> do you think it might be possible to backport ntoskrnl/hal of windows 8 or 10 to work for XP?
> some functions were removed since XP, would it just be a matter of re-adding them back in?

i've experimented with injecting win7 kernel+hal+acpi to winxp, kernel started ok, but there is problems when kernel start requesting external *.sys, for example i got BSODs in pci.sys
offtop: ⇗ @gordo999, i can speak in russian only

#4543

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4541

> @Mov AX, 0xDEAD @diderius6
> I tried to make the USB from server2012(6.2.9200) to Xp/vista/win7. And the XHCI/HUB driver work very well on win7 with my Ryzen CPU & APU, X370/B450/X570 also work good. But the UASP can not work

win8's UASP require win8's storport.sys or you need to patch UASP to make it compatible with previous storport.sys

#4544 | infuscomus | ⇗ @Mov AX, 0xDEAD if you still have that kernel, do you mind if I take a look at it?

#4545

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4528

> - need 100% quality connection - Debugging with COM require much more speed connections

⇗ @Mov AX, 0xDEAD ...thanks for response. I had kernel debugging running well with COM between a W7 host and both W7 and W10 as targets. It was fast enough for me at 115200 baud. My problem was buggy behavior with windbg. Sometimes the registers would not work correctly and I could not get certain extensions to load.
Right now, using a serial comm app I can clearly see the host sending data. It sends 00 00 00 00 00 69 69 69 69 69 etc, where the 0x69 is the ASCII letter i. It's waiting for a response. I need to find a way to send it a response so I can follow it from the serial comm app to see where it is being blocked.
At the moment, I need to fix a problem in XP debug mode. It can boot to the desktop and the mouse works for a while then the mouse and keyboard freeze. I'm wondering if it might be a problem between USB 3 and debug mode. In safe mode, there is no problem. Could you, or anyone, check to see if debug mode on XP runs to the desktop without freezing?
I have read that an exception can cause debug mode to freeze if the exception occurs before the host can connect.

## Page 304

#4546

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4542

> i can speak in russian only

⇗ @Mov AX, 0xDEAD ....I can understand your posts. I thought it might be helpful to you when discussing details if we tried to reply in Russian. If you need to reply in detail you could post details in Russian with a short English reply, as you do now. Maybe that is too complicated.
Я могу понять ваши сообщения. Я подумал, что вам будет полезно обсудить детали, если мы попытаемся ответить на русском языке. Если вам нужно ответить подробно, вы можете опубликовать информацию на русском языке с коротким ответом на английском языке, как вы делаете сейчас. Может быть, это слишком сложно.
BTW...this applies to anyone who speaks a language other than English. I speak Scottish but I don't mind making an effort to communicate in a different language.

#4547

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4535

> It is the sequence of those drivers

⇗ @diderius6 ....how do you determine the loading sequence? Is it done using the Start parameter as in:
ErrorControl
This is used if the service fails to startup upon boot.
Value Meaning
0x00 If this driver can't be loaded or started ignore the problem and display no error
0x01 If the driver fails produce a warning but let bootup continue
0x02 Panic. If the current config is last known good continue, if not switch to last known good
0x03 Record the current startup as a failure. If this is last known good run
diagnostic, if not switch to last known good and reboot
Start
This defines when in the boot sequence the service should be started. You can also set these by using the Services control panel applet.
Value Start Type Meaning
0x00 Boot The kernel loaded will load this driver first as its needed to use the boot volume device
0x01 System This is loaded by the I/O subsystem
0x02 Autoload The service is always loaded and run
0x03 Manual This service does not start automatically and must be manually started by the user
0x04 Disabled The service is disabled and should not be started
Type
This defines the kind of service or driver. They are loaded in the following order down the list.
Value Meaning
0x01 Kernel-mode device driver
0x02 Kernel-mode device driver that implements the file system
0x04 Information used by the Network Adapter
0x10 A Win32 service that should be run as a stand-alone process
0x20 A Win32 service that can share address space with other services of the same type

#4548

diderius6

⇗ @gordo999
This list is not complete. The entry TAG is missed there.
The higher the TAG number, the later the driver is loaded.
This is true in the meaning of the words, as I noticed.
I do not have any good information about the LoadOrderGroup.
Any way, System Reserved is loaded first of all and Base as a normal driver
Dietmar
PS: There are much more ways possible in XP: In CriticalDeviceDatabase it is enough to give the GUIDE number
and the name of the service. No special device needs to be declared there.
Other is in ENUM. There you have to give also the exact name of a special device, for which the driver is.
Before I thought that CriticalDeviceDatabase is the very first place, where XP looks for drivers.
But now I think it is Enum. How I find the load order? I have experience with different LoadOrderGroup.
But this time I noticed, that it is not enough. You also have to look at the TAG entry. 3 days work, brr..

#4549 | infuscomus | ⇗ @diderius6 sent you a PM I modded the script, can you see if this fixes the 7B BSOD with USB boot?
#4550 | canonkong | ⇗ @Mov AX, 0xDEAD Both storport.sys and uasport.sys code 39 erro, I thnk only find out KeInitializeSpinLock fix them is not enough. Can you share your modified storport.sys and uasport.sys for win7 or share some experiences about that? Thanks

#4551

YuriyCN

> Zitat von ⇗ gordo999 im Beitrag ¶ #4546

> Я могу понять ваши сообщения. Я подумал, что вам будет полезно обсудить детали, если мы попытаемся ответить на русском языке. Если вам нужно ответить подробно, вы можете опубликовать информацию на русском языке с коротким ответом на английском языке, как вы делаете сейчас. Может быть, это слишком сложно.
> BTW...this applies to anyone who speaks a language other than English. I speak Scottish but I don't mind making an effort to communicate in a different language.

Давно пора уже перейти на русский. Здесь половина специалистов общается на русском, но из уважения к остальным, приходится писать на английском. На русском будет проще и информативнее.

#4552 | diderius6 | ⇗ @YuriyCN Да, но не все понимают русский язык. Я могу читать и говорить по-русски :)), Дитмар

#4553

YuriyCN

> Zitat von ⇗ diderius6 im Beitrag ¶ #4552

> @YuriyCN
> Я могу читать и говорить по-русски :)),
> Дитмар

Отлично! Вообще никаких проблем! )))

#4554

Dibya

> Zitat von ⇗ infuscomus im Beitrag ¶ #4534

> @Mov AX, 0xDEAD
> do you think it might be possible to backport ntoskrnl/hal of windows 8 or 10 to work for XP?
> some functions were removed since XP, would it just be a matter of re-adding them back in?

Its impossible , ntoskrnl and hal are linked with ntdll and win32k.sys moreover Windows 8 kernel doesnt have same memory addresses as XP . Moreover Windows 8 kernel will break functioning of OpenGL ICD in XP .

#4555

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4552

> ⇗ @YuriyCN
> Да, но не все понимают русский язык.
> Я могу читать и говорить по-русски :)),
> Дитмар

⇗ @diderius6 ⇗ @YuriyCN ...Я могу сидеть Да и Нет на русском и шотландском. :-)

#4556

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #4545

> At the moment, I need to fix a problem in XP debug mode. It can boot to the desktop and the mouse works for a while then the mouse and keyboard freeze. I'm wondering if it might be a problem between USB 3 and debug mode. In safe mode, there is no problem. Could you, or anyone, check to see if debug mode on XP runs to the desktop without freezing?

I saw only mouse lags with COM debugging, but never faced with total freezes with any usb3 driver, so probably you have some unique "freeze" issue

#4557

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4550

> @Mov AX, 0xDEAD
> Both storport.sys and uasport.sys code 39 erro, I thnk only find out KeInitializeSpinLock fix them is not enough.
> Can you share your modified storport.sys and uasport.sys for win7 or share some experiences about that?

I have notfinished/unstable backport win8's storport.sys & uasport.sys for Windows XP :
- uasport works, but there is issue with reboot&shutdown inside storport, first it was BSOD 9F about missing PoStartNextPowerIrp calls, after fixing i get deadlock with "power irqs"
- original Win8 storahci.sys also works (on VM and real hardware )
EDIT: deadlock fixed, uasport.sys&storport.sys finished

#4558

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4548

> But now I think it is Enum.

⇗ @diderius6 ...thanks for info. I think enum is used during the boot stage when ACPI.sys instructs the Plug'n Play Manager to instruct pci.sys to enumerate devices attached to the PCI buss. Each pci buss has a node to which a device tree is attached, leading to a device or some kind of code object.
There are two main objects in a device stack or tree, the PDO and the FDO. In a USB tree, the pci driver creates a PDO (physical device object) which is nothing more than a code structure that holds information about the next object in the stack.
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/device-nodes-and-device-stacks
"During startup, the PnP manager asks the driver for each bus to enumerate child devices that are connected to the bus. For example, the PnP manager asks the PCI bus driver (Pci.sys) to enumerate the devices that are connected to the PCI bus. In response to this request, Pci.sys creates a device object for each device that is connected to the PCI bus. Each of these device objects is called a physical device object (PDO)".
I mention this because you can trace the PDO (Physical Device Objects) and FDO (Functional Device Objects) 'structures" in windbg and follow the driver stack to the root. Note in one of the drawings in the article that acpi.sys is the root for pci.sys. I have noticed that while tracing through the USB stack that acpi.sys is always the the root driver for everything else.
Here's the key for the ENUM section in the registry:
"The PnP manager associates a device node with each newly created PDO and looks in the registry to determine which drivers need to be part of the device stack for the node".
That means, for each device node (USB, storage, sound cards, etc.), the PCI buss must create a PDO. For the next device object down the chain, the PDO creates and FDO for the object. That object then creates another PDO for the next object, which creates an FDO for the next object. It should be noted that acpi.sys creates a PDO for PCI.SYS.
There is a hyperlink for DEVICE OBJECT at the link above and if you follow that link it will show you the code structure for the device object. Using that, you should be able to trace into the driver code using windbg and get a lot of information that may tell you why a driver is not loading. I have not done that yet but I plant to.
The actual communication between devices is done with an IRP, which is really just another structure that transports data between the PDO and the FDO between device objects. If you watch this happening in windbg or Ollybdg, you can see memory sections being initialized with 00s then entire structures are moved/copied from one memory location to another.
Right now, I am trying to get a kernel debugging session going between a remote host computer and a target XP computer using a serial connection. Once that is established, you can trace through driver code and see what is actually happening. I've managed to trace into the Device Manager code related to 'Add New Hardware' and got into the code where it is reading the INF file. You should be able to catch the PnP manager reading the ENUM part of the registry.

#4559

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4556

> I saw only mouse lags with COM debugging, but never faced with total freezes with any usb3 driver, so probably you have some unique "freeze" issue

⇗ @Mov AX, 0xDEAD|p111729 ...I agree. It is freezing very late in the boot process at the desktop but not in Safe Mode. I am using the bootlogging in Process Monitor and another boot logger to see if I can identify the app that is causing the freeze.

#4560

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4557

> - original Win8 storahci.sys also works (at least in VM on virtual sata controller, not tested on real hardware)
> I don't plan share it because it does not work well

Нужно учитывать криворукость пользователей тестирующих драйвера. Например, для успешной работы USB 3.0 (портированного с Win8) нужно выполнить одновременно 3 условия:
1) Выбрать правильный дистрибутив WinXP. Например я использую сборку с обновлениями по 2020 год - никаких проблем с портированным драйвером нет. Всё отлично работает! Но, если взять оригинал MSDN WinXP SP3 - то проблемы также есть. Видимо причина в каком-то измененном *.sys.
2) Обязательно использовать модифицированный ACPI.SYS (от 01.11.2019)
3) После установки драйвера, проверить чтобы оба компонента (xHCI контролле + Root Hub) были с установленного драйвера. Windows может заменить компонентом от другого драйвера, что вызовет проблемы.
Невыполнение любого условия, приводит к гарантированным глюкам. Выкладывайте ваш портированный SATA драйвер. Если он не убьёт файловую систему на HDD со всеми файлами - то готов его потестировать.

## Page 305

#4561 | canonkong | ⇗ @Mov AX, 0xDEAD Original Win8 storahci.sys also code 39 erro on real hardware. Although uasp does not work, but xhci and hub can work well. They work well on win7 system, which is better than the general USB driver modified by AMD 1.0.0.12. At least, they will not occasionally fail to recognize USB devices on DEV_15E1 DEV_15E0 like AMD 1.0.0.12.

#4562

Mov AX, 0xDEAD

Hi,
I fixed deadlock issue with backported Win8 UAS Mass Storage driver, there is two versions:
- uaspstor.sys for Win8's storport.sys v6.2.9200.16384, size(HW_INITIALIZATION_DATA) = 80h
- uaspstor.sys for Win2003's updated storport.sys v5.2.3790.4485 size(HW_INITIALIZATION_DATA) = 68h, SP2 version and older will not work
Deadlock fix implemented as "dirty" hack, at reboot & shutdown driver will not wait results from usbhub3 driver
For storahci.sys (and other drivers) deadlock fix not require, so uaspstor.sys linked to renamed storport.sys
PM if this backport is interesting to you
Existing patches:
1) ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (313)

#4563

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4561

> @Mov AX, 0xDEAD
> Original Win8 storahci.sys also code 39 erro on real hardware.

Hi canonkong
Probable problem source:
storahci.sys compiled for win8 ddk storport framework, at time of start it fills HW_INITIALIZATION_DATA structure and transfers it to storport.
Only Win8' storport will return OK to Win8' storahci.sys, any previous version of storport will fail HW_INITIALIZATION_DATA checks and return error to driver => code 31,39 in DM
Skullteria version compiled for win7 ddk => compatible with win2003 storport.sys

#4564

ruthan

Just small discovery from - I had problem with NEC USB3 addon controller with Win10 and Z97 board - in installed lastest firmware tried zillion things.. but cca every 2nd boot it was not working - because i got message, that device not responded in desired time.. now i upgraded to Z390 same OS isntallation, drivers etc, only MB changed and its working everytime.
Some USB problems could be more that controller related, but there could be something with MB or chipset, i had on same MB - Asmedia - Internal and External and Intel controllers are never had same issue.

#4565

Mov AX, 0xDEAD

> Zitat von ⇗ ruthan im Beitrag ¶ #4564

> Just small discovery from - I had problem with NEC USB3 addon controller

My experience: usb3 hardware/design is low quality, i have VIA card with 3 damaged usb 3.0 ports + MB Intel with one damaged usb3 port + semi-burned external sata<->usb3 adapted + lenovo notebook with sometimes not being activated ports

#4566

ruthan

Otherwise i was searching for that "delta" patcher to enable distribute USB / System patches, without sharing whole modified files.
In theory, its should works same was as code diff. If you we will first check that everyone has right drivers and MS files (SP x and right CRC) to patch, you can compare original and modified files, create delta patch and distribute it freely and users can make patching.
I found so far 2 ways how to do it:
1) Xdelta-GUi - ⇗ https://github.com/Moodkiller/xdelta3-gui-2.0 its 64bit, but there is source - ⇗ http://xdelta.org/
2) bsdiff command if you like Linux.

#4567

diderius6

⇗ @infuscomus
I think, this will solve our problem how to install XP to any USB device.
It is from my past, but I cant remember it at all.
Little memory, that I sold an XP CD to a person in England in 2006,
just with this my own method
Dietmar
"The ngine.de tutorial is derived by Tubo from the original Dietmar's guide."
PS: One website for USB boot of XP survived 14 years:))
⇗ https://romardcajote.wordpress.com/windo...usb-stickdrive/
diderius6 has attached files to this post

- ⇗ XPSetupCDtoUSB.pdf

#4568

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4565

> ... semi-burned external sata

⇗ @Mov AX, 0xDEAD ...did you adjust it for maximum smoke?

#4569

gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4568

> [quote=Mov AX, 0xDEAD|p4565]
> ... semi-burned external sata

⇗ @Mov AX, 0xDEAD ...did you adjust it for maximum smoke? I blew up a motherboard once by putting a shorting clip on a fan header instead of the BIOS header. Could not see very well since it was dark inside the case but I sure heard it and smelled. Won't do that again.

#4570 | Outbreaker | ⇗ @diderius6 Nice one. Only the link in the PDF is dead/kaputt. And i think we could move the USBBOOT.INF entries into the HIVESYS.INF file or not.

#4571

diderius6

⇗ @Outbreaker
We can build a new USBBOOT.INF. To separate it, is much more easy.
⇗ @infuscomus sends me the one down here.
The problem, that start 0=>3 changes during install of XP is solved with it.
We need to think about, how to treat USBHUB3 and USBXHCI.
With WDF load they can stay with Group Base, but start=0.
I think, the lifting in the Tutorial should happen for them not at 2 places, I think only at one place.
Needs to be tested, if this one place is [BootBusExtenders] or [BootBusExtenders.Load]
Dietmar
PS: For me it is unclear, at which place you have to use
"Start",0x00010003,"0"
or
"Start",0x00010001,"0"
diderius6 has attached files to this post

- ⇗ USBBOOT.rar

#4572 | infuscomus | ⇗ @Outbreaker if you're still having trouble seeing the PDF DL here ⇗ https://ufile.io/upae1nwm

#4573

diderius6

This example from Microsoft for USB3 boot is a little bit strange, because with there own description there should be a 0x10 ??? May be this means: 0x4 for usb boot + 0x10 for USB3 = 0x14
Dietmar
Depending on the boot scenario, you can use the BootFlags registry value to control when the operating system should promote a driver's StartType value to 0x0 (SERVICE_BOOT_START). You can specify one or more (ORed) of the following numeric values, expressed as a hexadecimal value:
0x1 (CM_SERVICE_NETWORK_BOOT_LOAD) indicates the driver should be promoted if booting from the network.
0x2 (CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD) indicates the driver should be promoted if booting from a VHD.
0x4 (CM_SERVICE_USB_DISK_BOOT_LOAD) indicates the driver should be promoted to if booting from a USB disk.
0x8 (CM_SERVICE_SD_DISK_BOOT_LOAD) indicates the driver should be promoted if booting from SD storage.
0x10 (CM_SERVICE_USB3_DISK_BOOT_LOAD) indicates the driver should be promoted if booting from a disk on a USB 3.0 controller.
0x20 (CM_SERVICE_MEASURED_BOOT_LOAD) indicates the driver should be promoted if booting while measured boot is enabled.
0x40 (CM_SERVICE_VERIFIER_BOOT_LOAD) indicates the driver should be promoted if booting with verifier boot enabled.
0x80 (CM_SERVICE_WINPE_BOOT_LOAD) indicates the driver should be promoted if booting to WinPE.
[service-install-section]
AddReg=add-registry-section
...
[add-registry-section]
HKR,,BootFlags,0x00010003,0x14 ; CM_SERVICE_USB3_DISK_BOOT_LOAD|CM_SERVICE_USB_DISK_BOOT_LOAD

#4574 | Outbreaker | ⇗ @diderius6 If it helps 'denial_k' is using "Start",0x00010003,"0" for this USB 3.0 integration.

#4575

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #4573

> [add-registry-section]
> HKR,,BootFlags,0x00010003,0x14 ; CM_SERVICE_USB3_DISK_BOOT_LOAD|CM_SERVICE_USB_DISK_BOOT_LOAD

I am not sure if windows XP would understand this flag.
also, there is the issue of wdf01000 being needed for USB 3.0 to start

## Page 306

#4576

infuscomus

⇗ @Outbreaker
I'm tryng to get your script to set and keep a load order necessary for USB booting
it does this initially with hivesys.inf and later with modded usb.inf, usbport.inf and usbstor.inf but after setup things get changed and a 7B BSOD occurs
the problem in particular I think is kmdf - wdf01000
it moves to wdfloadgroup after setup
it should be Boot Bus extender
I'll PM you what I've changed so far.

#4577

diderius6

After I checked a lot of *.inf
I make just this as NEW usbboot.inf for USB3 boot via KMDF and hope it will work
Dietmar

    [usbservices]

    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","DisplayName",0x00000000,"Kernel-Mode Driver Framework 1.11"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","Start",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","ImagePath",0x00020000,"system32\drivers\wdf01000.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","Group",0x00000000,"System Reserved"
    HKLM,"SYSTEM\CurrentControlSet\Services\wdf01000","ErrorControl",0x00010001,"1"

    HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Storage Class Driver"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Start",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","ImagePath",0x00020000,"system32\drivers\usbstor.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Group",0x00000000,"System Reserved"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","ErrorControl",0x00010001,"1"

    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","DisplayName",0x00000000,"USB xHCI Host Controller"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Start",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","ImagePath",0x00020000,"system32\drivers\usbxhci.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","Group",0x00000002,"Base"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbxhci","ErrorControl",0x00010001,"1"

    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","DisplayName",0x00000000,"SuperSpeed Hub"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Start",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","ImagePath",0x00020000,"system32\drivers\usbhub3.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","Group",0x00000002,"Base"
    HKLM,"SYSTEM\CurrentControlSet\Services\usbhub3","ErrorControl",0x00010001,"1"

    HKLM,"SYSTEM\CurrentControlSet\Services\ucx01000","DisplayName",0x00000000,"USB Controller Extension"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Start",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","ImagePath",0x00020000,"system32\drivers\ucx01000.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Group",0x00000000,"Boot Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","ErrorControl",0x00010001,"1"

#4578 | infuscomus | ⇗ @diderius6 does this prevent wdf01000 from moving from Boot Bus Extender to Wdfloadgroup?

#4579

diderius6

⇗ @infuscomus
I am just building this CD.
Now without any other files for USB3 setup,
only my own^^
Dietmar
EDIT: What a crazy hard job.
I build really everything new. But after reboot I get still BSOD 0x7B, brr..^^
For all of the 5 entries in Services I get now Group Boot Bus Extender start=0
No Tag.
This cant work, because no sequence can be seen here.
This is a difference compared to normal USB2/3 boot, via KMDF USB boot you need to keep a sequence for all the drivers.
EDIT2: When I edit those entries by hand in registry, that they all have the correct LoadOrderGroup, install continues.
Now I have an XP SP3 Setup CD to USB3, but only with small correction by hand^^.

#4580 | Zucker2k | I came across this a while back. Hope you find it helpful: ⇗ http://report5.blogspot.com/2010/06/inst...-flashhard.html
#4581 | diderius6 | ⇗ @Zucker2k Yes, this works for normal USB install of XP. But not for KMDF drivers Dietmar
#4582 | Pill Monster | Can someone post a d/l link to XP without SP2 or SP3. All the ISO's on torrent sites have SP3 included. It's to test something.. TIA Actually I didn't check M$ own server...I'll do that now

#4583

ruthan

> Zitat von ⇗ Zucker2k im Beitrag ¶ #4580

> I came across this a while back. Hope you find it helpful:
> ⇗ http://report5.blogspot.com/2010/06/inst...-flashhard.html

Its only annoying - lots of manual things , when you have PC, where you dont need to modify files, its best just use Rufus USB / Sardu USB or YUMI USB, they are now good.. and if is something wrong, they are able to fix it.

#4584

Pill Monster

It's pretty easy to install XP from a USB drive just not with early versions. The later ISO releases included USB drivers that SP1 didn't have.
I installed SP3 on nF3/ nF4 boards from a flash drive.
Also I used ⇗ WinToFlash to create an XP bootable USB drive for my Sabertooth last week.

> Zitat von ⇗ ruthan im Beitrag ¶ #4583

> > Zitat von ⇗ Zucker2k im Beitrag ¶ #4580

> > I came across this a while back. Hope you find it helpful:
> > ⇗ http://report5.blogspot.com/2010/06/inst...-flashhard.html

> Its only annoying - lots of manual things , when you have PC, where you dont need to modify files, its best just use Rufus USB / Sardu USB or YUMI USB, they are now good.. and if is something wrong, they are able to fix it.

How did you do it in Rufus? I use Rufus but it didn't seem to work with XP...

#4585

diderius6

Yessssssssssssssssaaaaaaahhhhhhhhh:)))))))))))))))))!!!!!!!!!
Seems, that I am as good as in 2006.
I just install XPSP3 direct to an USB harddrive from Installations CD.
The nice USB3 driver from ⇗ @Mov AX, 0xDEAD is faster than any other.
Oh, what a fight with the settings of the KMDF driver.
And very nice, I can also use Firadisk USB install,
full installation for XP SP3 is now done in 3 min
Dietmar
PS: What I have done is to build really everything new from original en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso where I checked SHA1 before.
SHA-1
1C735B38931BF57FB14EBD9A9BA253CEB443D459
This gives me 5 services with Group Boot Bus Extender start=0,
no sequence. This is very similar to USB2 boot.
Then I add in HIVESYS.INF a new entry for usbstor.
And then, I give each service there a Tag number 1,2,3,4,5.
Tag 1 for wdf01000
Tag 2 for usbstor
Tag 3 for UCX01000
Tag 4 for USBXHCI
Tag 5 for USBHUB3
At the end, I have to delete the crazy usbstor.in_ in the i386 folder of the CD, because I have had put there a new usbstor.inf already and forgot to delete the old one,
Dietmar
diderius6 has attached files to this post

- ⇗ CDsettingsforUSBinstall.rar

#4586 | ruthan | Congrats. I would like to see some USB3 + other modern system patches (there were some acpi and timer etc patches).. ultimate package for existing system too. Im usually porting older installs to newer Hardware.

#4587

canonkong

⇗ @Mov AX, 0xDEAD
UASP seems to be working.
USB TO NVMe device on USB3.0 5Gbps port with UASP.
⇗
USB TO NVMe device on USB3.0 5Gbps port none UASP.
⇗
USB TO NVMe device on USB3.1 10Gbps port with UASP.
⇗
USB TO NVMe device on USB3.1 10Gbps port none UASP.
⇗

#4588 | infuscomus | ⇗ @diderius6 did wdf01000 switch from boot bus extender to wdfloadgroup again? or did you solve that?

#4589

diderius6

⇗ @infuscomus
Because I put all this 5 services in Group Boot Bus Extender with start=0,
they are like pinnend in this group.
And this was a problem for me, because before I chose the load order sequence only with the different groups.
But during testing with this crazy BSOD 0x7B i found, that XP SP3 listens in the meaning of the word to the sequence,
which is given by the Tag number. I think, this different in XP (gold), XP SP1, XP SP2.
As far as I remembe, earlier XP versions do not much care about the Tag,
Dietmar
PS: Look at the entries. May be, we dont neet usbboot.inf , because now the values are put 2 times in registry also via HIVESYS.INF .
This I test today in the afternoon because now I hurry to school:))!
EDIT: Yes, we do not need usbboot.inf any longer. I just test.

#4590

ruthan

Some good news. i have Gigabyte Z370 MB, where is PS/2 Y combo cable not working for both devices together, but with new Gigabyte 390 its working, so you can use mouse and keyboard during installation and USB3 debugging what is nice.
BTW im install that Z390 new MB and porting old installs, in Windows 7 i had almost everything except Intel USB3 working, there were USB3 drivers forWin7 on Win-Raid but where removed because of Intel, if someone has them, could you send them to me by PM pleas?
Hardware ID:
PCI\VEN_8086&DEV_A36D&SUBSYS_50071458&REV_10

## Page 307

#4591

Dibya

⇗ @diderius6
Awesome work . I cant believe we can install XP through USB3 . Thanks alot.
Well a friend of mine told their are source code of ACPI driver of some sort in XP WDK ⇗ https://winworldpc.com/product/windows-sdk-ddk/xp-nt-51
I didnt see the code though .
anyone can check if classpnp.sys from server 2003 sp2 break 2.2TB LBA limit in XP Disk stack .

#4592

diderius6

⇗ @Dibya
"anyone can check if classpnp.sys from server 2003 sp2 break 2.2TB LBA limit in XP Disk stack "
Please tell me a little bit more about.
Does this mean, we have a chance to see more than 2.2 TB on XP? Not to use drivers like the one from Paragon has the big advantage, that we can boot from them
Dietmar
PS: The thank goes to ⇗ @Mov AX, 0xDEAD .

#4593

Dibya

> Zitat von ⇗ diderius6 im Beitrag ¶ #4592

> @Dibya
> "anyone can check if classpnp.sys from server 2003 sp2 break 2.2TB LBA limit in XP Disk stack "
> Please tell me a little bit more about.
> Does this mean, we have a chance to see more than 2.2 TB on XP? Not to use drivers like the one from Paragon has the big advantage, that we can boot from them
> Dietmar
> PS: The thank goes to @Mov AX, 0xDEAD .

i found code in classpnp.sys that seems to allow 2k3 access 2.2tb plus storage upto 16tb in GPT .
Please backup every data before experimenting with XP
Me and rloew did research in it back in day but unfortunately our friend rloew left us
You can read here ⇗ https://msfn.org/board/topic/180215-rloe...as-passed-away/

#4594

Mov AX, 0xDEAD

> Zitat von ⇗ Dibya im Beitrag ¶ #4593

> i found code in classpnp.sys that seems to allow 2k3 access 2.2tb plus storage upto 16tb in GPT .
> Please backup every data before experimenting with XP
> Me and rloew did research in it back in day but unfortunately our friend rloew left us

No need to backup any data )
Today we have many VM engines, many of their offers dynamic size disk images, so inside VM we can create XXTb disk with real size on host about 100-200 Mbytes
Certainly we cannot fill these disks with data, but to test GPT/partitions i think it is enough. Another option is to use sector editors inside vm to walk on disk surface and simulate read access to any disk location

#4595 | Mov AX, 0xDEAD | Little survey: I'd like to hear from Forum Users what XP issues are most critical to you today ?

#4596

ruthan

I thing that is still the same, i lost of them, you cant probably fix:
1) Easily migrate XP to GPT driver with other OS and boot it from Grub2.
2) Read from other GPT drivers
3) No modern browsers support..
4) Only 2 monitors on Nvidia, i need 3.
5) Only 4 GB of RAM and so far problematic PAE for more, im ware limit 2GB per process but still loaded system would be much quicker with more ram and less swapping.
6) No Geforce 1xxx / 2xxx cards support / no modern Intel iGPU drivers
7) No Intel 219 Lan drivers

#4597 | Outbreaker | ⇗ @Mov AX, 0xDEAD When i look around then the most critical issues for now is to also get this WDF USB 3.0 driver to work at Setup boot and on a Live USB with a Windows XP that has Driver Framework 1.9 integrated.

#4598

diderius6

I just simplified my setup files for USB boot of XP SP3.
Copy the files from the package over to the folder i386 of an original XP SP3 CD (just replace them).
I use for this Ultra Iso. Nlite does not work. Nothing other is needed. Because I mod my Bios, I need no extra acpi.sys.
I tested my package with the original english XP SP3 CD.
en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso
The name of my package is
XPSetupCDtousb3byDietmar
Dietmar

#4599

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4589

> As far as I remembe, earlier XP versions do not much care about the Tag

⇗ @diderius6 ...Dietmar, where are the tags found in the registry?

#4600 | diderius6 | ⇗ @gordo999 They are in Services, when they are given. Numbers start from Tag = 1 (this service is then first of all loaded) and so on Dietmar

#4601

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4600

> They are in Services, when they are given.

⇗ @diderius6 ...thanks...never noticed that before.

#4602

ruthan

I migrated from Z97 to Z390. Windows 10 and Windows 7 are now working (i had to use unofficial Roline USB3 intel drivers) and classic Fernando Intel Sata drivers.
Android x86 and Linux are now fine too. So its WinXP 32 bit time.. and ok MacOS too - it would be worst.
Now when im trying to boot im getting classic ACPI crash:
⇗
I made migration from Z97 to Z370 on other machine, long time ago it was without patches and working PS/2 and it was hard. Now with new discovery it should be easier, in theory.
Now i want to make system booting with PS/2 without USB, i will messing with USB later, after system would be bootable. I dont want to reinstall im using same install till 2004 its highly configured and loaded, i setup all again would take too much time, in the past i always managed to migrate it to new HW.
So what i have to do (discussions)?
1) Replace some system files with APCI, HALTimer etc patches? Can someone PM me lastest and greatest for my system?
2) Its still necessary make special boot.ini entries for patched files, or not?
3) With patches, will it boot from Sata driver, out of box or not? I have installed some older Fernando Sata driver, it worked with Z97.. I can have in machine also Marwell Sata controller with already installed driver within XP so i can use it.. And anything of this will not work in can use Asmedia PCI-E Sata addon card with IDE bios. So i theory i need only fix ACPI thing to boot system and i can later mess with Sata.

#4603

Dibya

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4594

> > Zitat von ⇗ Dibya im Beitrag ¶ #4593

> > i found code in classpnp.sys that seems to allow 2k3 access 2.2tb plus storage upto 16tb in GPT .
> > Please backup every data before experimenting with XP
> > Me and rloew did research in it back in day but unfortunately our friend rloew left us

> No need to backup any data )
> Today we have many VM engines, many of their offers dynamic size disk images, so inside VM we can create XXTb disk with real size on host about 100-200 Mbytes
> Certainly we cannot fill these disks with data, but to test GPT/partitions i think it is enough. Another option is to use sector editors inside vm to walk on disk surface and simulate read access to any disk location

If you ask me , I will love to have full ACPI support on Ryzen for XPx64.
Newer GPU Driver .
Any one have debug symbol for Vista Sp2 ? I seems Microsoft removed them

#4604 | Zucker2k | x86, x64 ACPI Support For Sunrise Point (Skylake Mobile). ACPI support is the biggest hurdle for most.

#4605

genieautravail

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4595

> Little survey:
> I'd like to hear from Forum Users what XP issues are most critical to you today ?

Graphic drivers support for Intel and AMD APU !

## Page 308

#4606 | diderius6 | From today evening direct install XP SP3 to any USB medium is perfect:)) ⇗ https://www.zone62.com/downloads/softwar...comment_id=2220 Dietmar

#4607

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4595

> Little survey:
> I'd like to hear from Forum Users what XP issues are most critical to you today ?

1. use integrated graphics;
2. have a better performing nvme driver;
3. access partitions larger than 2.2TB for the USB3 external hard disk drives also.

#4608

Mov AX, 0xDEAD

@Dibya

> Zitat von ⇗ Dibya im Beitrag ¶ #4593

> i found code in classpnp.sys that seems to allow 2k3 access 2.2tb plus storage upto 16tb in GPT .

sources of disk.sys and classpnp.sys available in DDK, so you easily check possible limits in these drivers

#4609

diderius6

⇗ @Mov AX, 0xDEAD
I think, to backport videodriver to XP would be nice,
but hard as much as possible. And nice would be a driver for lan i219
and a scsiport based nvme driver, because with this you can do ntbootdd boot of XP via nvme with every older compi.
From those 3 wishes I think the most easy is a new nvme.sys working with scsiport of XP.
For this you can use the code from OFA and change everywhere Storport entries against them for Scsiport.
Some of porting vice versa is written by Microsoft
Dietmar

#4610 | skullteria | Port directly WDDM driver is impossible without change win32k and get dxgkrnl working full. Can try port older version of nvdia, intel and amd XDDM drivers.
#4611 | mull | It is better to port WIN8 EMMC driver to XP

#4612

Gelip

> Zitat von ⇗ Gelip im Beitrag ¶ #4427

> No, UEFI32 or UEFI64 emulator does not work on computers with UEFI bios. Works only on legacy bios computers.

DUET32 (IA32) also works on UEFI64 bios - I checked it. This is my version of DUET32 with the IBM logo: ⇗ DUET IA32
⇗

#4613

diderius6

⇗ @Gelip
Hi,
please write a little bit more what you have tested until now and what can be reached with DUET IA32.
Can you boot XP SP3 with it?
Can you use the DUET IA32 file from you as a bootloader for legacy OS, working in pure UEFI 64 Bios surrounding
have a nice day
Dietmar

#4614 | infuscomus | ⇗ @diderius6 do you know of any open source CSM? that would be the best solution for legacy OSes like DOS/Windows 9x

#4615

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #4613

> Please write a little bit more what you have tested until now and what can be reached with DUET IA32.
> Can you boot XP SP3 with it?

Yes, you can boot WinXP 32-bit. Depending on the hardware, there may be a problem with the graphics card driver.

#4616 | diderius6 | ⇗ @infuscomus I do not know, where to find an Open Source CSM. But ⇗ @Mov AX, 0xDEAD told, that CSM is open source, so maybe it exists somewhere Dietmar
#4617 | diderius6 | ⇗ @Gelip Do you have an ready XP *.iso file for me, so that I cant test UEFI boot of XP SP3 Dietmar

#4618

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #4617

> Do you have an ready XP *.iso file for me,
> so that I cant test UEFI boot of XP SP3
> Dietmar

Oh, why don't you read my posts carefully?
For now, WinXP 32-bit can only boot under UEFI32 (same as WinXP 64-bit on UEFI64) but not install.
WinXP must be installed in legacy mode (CSM) and then you can run it using DUET32 (UEFI32):
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (296)

> Zitat

> When it comes to preparing WinXP x86 you need the files winload.efi and bootmgfw.efi from the test version of Vista Beta Longhorn 6.0.5219.0
> To WINDOWS\system32 you copy winload.efi and to FAT32 pendrive file bootmgfw.efi (I changed the name to WinXP.efi ) and to the root directory of the pendrive the boot.ini file by adding the /usenewloader option.
> Now just boot your compi from this pendrive - that's all

#4619 | Gelip | ⇗ @diderius6 --> In UEFI mode you can only boot OS from disk previously installed in legacy mode <--

#4620

diderius6

⇗ @Gelip
Hihi, I try to order this a little bit in my head:
First you make a normal, generic XP SP3 install with Fat32 on a compi with CSM.
And on this installed XP you use DUET32 (UEFI32) with 2 new bootloader files from Longhorn and new boot.ini entry (newloader).
At first you try this on this compi and its Bios with CSM enabled.
And when it works, it also should work with all CSM disabled in this Bios.
And when this is a generic XP SP3 it may start on another compi with a Bios, that has ONLY UEFI Bios boot option,
am I right now:))
Dietmar
PS: I think, it is possible to make an install *.iso with the correct efi files from this;))..

## Page 309

#4621

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #4620

> First you make a normal, generic XP SP3 install with Fat32 on a compi with CSM.

The system can be on any NTFS, MBR or GPT partition. The FAT32 partition is only needed to start in UEFI. At the moment, it is most convenient to use a FAT32 flash drive to boot WinXP from an NTFS partition.

> Zitat von ⇗ diderius6 im Beitrag ¶ #4620

> PS: I think, it is possible to make an install *.iso with the correct efi files from this;))..

I haven't tried it yet but I was thinking about it. The PantherXP or Shorthorn Project can be helpful here.

#4622 | Gelip | ⇗ @diderius6 WinXP cannot be installed under UEFI but can be deployed, e.g. using VMware: ⇗ Deploy WinXP The guide is for the 64-bit version but the same can be done with the 32-bit version. You install WinXP in VMware (legacy), implement drivers, seal the system, make a disk image to a file, write the image to disk in the target UEFI computer and boot from it.
#4623 | canonkong | ⇗ @Mov AX, 0xDEAD How do I need to do if I need to modify the win8 UASP to win7. I failed again and again, and now only can use VIA UASP on it, it can works well, but the 4K read/wtite are very slow.

#4624

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4623

> @Mov AX, 0xDEAD
> How do I need to do if I need to modify the win8 UASP to win7. I failed again and again, and now only can use VIA UASP on it, it can works well, but the 4K read/wtite are very slow.

⇗ @canonkong
did you tested "uaspstor.w8 for storport.w2003" ? it works even on win2003 with original storport.sys, i think it must work on win7 with win7's storport.sys

#4625 | canonkong | ⇗ @Mov AX, 0xDEAD No, I an not have "uaspstor.w8 for storport.w2003" files. Can you share this file for me to have a test? Thanks. And to midify the win8 uaspstor.sys. In addition to removing all the SpinLock, what else do I need to modify?

#4626

diderius6

This is with a smoking USB port
left site is USB device with normal USBSTOR.SYS from XP SP3
and on the right site is the same USB device with nicccceee USBSTOR.SYS from ⇗ @daniel_k .
Waaaooohh;))))
Dietmar
⇗

#4627 | usa1ec | Hi, people! Send me this nice USB3 driver in PM. Pls, URL.
#4628 | infuscomus | ⇗ @Mov AX, 0xDEAD if possible, could you backport windows 8 storahci? ⇗ @Andalu and @intMD reported that the one we have now does not support TRIM
#4629 | Andalu | ⇗ @infuscomus here's what I talked about: ⇗
#4630 | Dibya | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD RTL219 is doable if we can analyze a bit . Reactos have e1000 driver ⇗ https://github.com/reactos/reactos/tree/...etwork/dd/e1000 We need to port it to e1000e ⇗ https://github.com/torvalds/linux/tree/m...et/intel/e1000e

#4631

daniel_k

⇗ @Andalu and ⇗ @infuscomus
Did you try my modded RSTe driver?
It certainly supports TRIM on Win7 and later. I believe it's an issue with XP itself or the lack of a lower filter driver.
Can't test it myself right now, what about trying storahci on Win7 to see if the driver really supports TRIM?
Remember to disable Driver Signature Enforcement during boot if on x64.

#4632

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4628

> @Mov AX, 0xDEAD
> if possible, could you backport windows 8 storahci?
> @Andalu and @intMD reported that the one we have now does not support TRIM

storahci_w8 already done, check release3.7z (storport_w8 is old version, but still works with storahci_w8)
Why you think storahci from skullteria doesnt support TRIM ? it was compiled from DDK sources and must have trim support
Anyway trim on winxp is tricky, need special software, but even TxBENCH/O&O Defrag not always trim partition properly - trimcheck.exe often show cleaned sectors with "saved" data (at least on my ocz arc100 ssd, barefoot3 controller)

#4633

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4632

> Why you think storahci from skullteria doesnt support TRIM ? it was compiled from DDK sources and must have trim support

To be fair, we didn't really see the code it was compiled from.
Are you sure that compiling the DDK source results in the same driver included on Win8?

#4634 | Andalu | ⇗ @daniel_k no problem with your modded driver, the trim works in XP also. P.S.: what a pleasure to read to you again
#4635 | daniel_k | ⇗ @Andalu Glad to know it works. ⇗ @Mov AX, 0xDEAD Based on the report from ⇗ @Andalu, XP, Vista and Win7 all require a filter driver to passthrough TRIM maybe?

## Page 310

#4636 | Andalu | ⇗ @Mov AX, 0xDEAD I recognized the trim issue only with the storhaci driver from skullteria. No issue with the modded RSTe 4.7.0.1117 driver by daniel_k and the RST AHCI+RAID driver v11.2.0.1006 by Fernando.
#4637 | infuscomus | ⇗ @daniel_k I am running an AMD Ryzen system for my XP install, would that be supported by your RSTe driver? I assumed it wasn't compatible with AMD. I still have your modded AMD 1.4.1.402 - did that support TRIM? I'm used to using TRIM manually in windows10

#4638

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat

> Are you sure that compiling the DDK source results in the same driver included on Win8?

no, i'm not sure, but i saw many trim-depend functions in sources, doubtfully they were specially disabled in DDK version
storahci sources was also extended in win8.1 DDK, i dont know what's was improved

#4639

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4635

> @Mov AX, 0xDEAD
> Based on the report from @Andalu, XP, Vista and Win7 all require a filter driver to passthrough TRIM maybe?

No, filter driver is "Intel way" to wrote drivers ) I dont know why they separated driver
win7/8/10 dont have any filter drivers to process trim

#4640

Mov AX, 0xDEAD

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #4636

> I recognized the trim issue only with the storhaci driver from skullteria

what software you use to send trim to drive?

#4641

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #4637

> I am running an AMD Ryzen system for my XP install, would that be supported by your RSTe driver? I assumed it wasn't compatible with AMD.

Actually I'm talking about storahci. To have a definitive answer as to whether it supports TRIM or now.

> Zitat

> I still have your modded AMD 1.4.1.402 - did that support TRIM?

Pretty sure it supports TRIM, at least on Win7+.

#4642

Andalu

⇗ @Mov AX, 0xDEAD
I used always the Adata SSD Toolbox for my crucial and samsung SSD drives, never got issue with the other sata-ahci drivers tried.
I just connected a kingston drive and the 'kingston ssd toolbox 2.0.93' give me the message: "no kingston drives found" with the skullteria driver installed.
Here the Adata report for the trim not working on the crucial ssd drive:
P.S.: I have yet to find out why I always have trouble posting files in this forum... and it only happens here
Andalu has attached files to this post

- ⇗ ADATA SSD ToolBox 3.0.11.txt

#4643

Fernando

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4639

> No, filter driver is "Intel way" to wrote drivers ) I dont know why they separated driver

1. Not all Intel RST drivers do contain an additional SCSI Filter driver named iaStorF.sys.
2. The SCSI Filter driver is neither required nor usable for "normal" SSDs, but older Windows Operating Systems up to Win7 natively don't let the TRIM command pass through the Intel SATA Controller to an SCSI disk drive. That is why Intel added the SCSI Filter driver.

#4644

Mov AX, 0xDEAD

> Zitat von ⇗ Fernando im Beitrag ¶ #4643

> [quote=Mov AX, 0xDEAD|p4643]
> 2. The SCSI Filter driver is neither required nor usable for "normal" SSDs, but older Windows Operating Systems up to Win7 natively don't let the TRIM command pass through the Intel SATA Controller to an SCSI disk drive. That is why Intel added the SCSI Filter driver.

Sorry, but i dont understand you, filter driver specialy block trim command before transfer to any disk controller for preWin7 OSes ? or it pass it to companion - main intel ahci/raid driver directly ?
i saw some time ago, this filter read setting from registry and has ability to block trim command if forced by user

#4645 | Fernando | ⇗ @Mov AX, 0xDEAD: The real SCSI SSDs need the UNMAP command for cleaning the SSD cells (= similar to the TRIM command regarding its function), but old Windows Operating Systems don't support the UNMAP command. The addition of the SCSI Filter driver helps to let the TRIM command pass through the Intel SATA Controller into the SCSI drives.

#4646

Mov AX, 0xDEAD

> Zitat von ⇗ Fernando im Beitrag ¶ #4645

> @Mov AX, 0xDEAD:
> The real SCSI SSDs need the UNMAP command for cleaning the SSD cells (= similar to the TRIM command regarding its function), but old Windows Operating Systems don't support the UNMAP command.

OK, this now clear, but most new RST (13.x.x. and up, not RSTe) drivers in their INFs support only AHCI/RAID controllers, no SCSI controllers, why still filter installed ?
EDIT: or in raid mode controller become scsi controller ?

#4647 | Fernando | ⇗ @Mov AX, 0xDEAD: All Intel RSTe drivers and the Intel RST ones from the v11.5 series up to the v15.9 series do contain the SCSI Filter driver. This permits the TRIM support for all SSDs (non-SCSI and SCSI). If the user runs a modern Windows from Win8 up, the driver named iaStorF.sys is installed, but will not be used. That is why the INF files contain different driver's course of action for Win7 and Win8-10.

#4648

diderius6

I compare the
STORAHCI driver from ⇗ @skullteria with the STORAHCI driver from ⇗ @Mov AX, 0xDEAD .
On the left is skullteria and on the right is move.
skullteria wins on harddisk and move on SSD
Dietmar
PS: Trim works only with the patched storport from Win 8.1.
⇗

#4649

daniel_k

⇗ @diderius6
Did you run the bench several times on HDD?
Please do a test for us, with storahci from skullteria, patch and use storport.sys from Mov AX, 0xDEAD, remember to fix PE checksum.

> Zitat von Mov AX, 0xDEAD

> i found issue in storport_w8: by default it force MSI Interrupts, fix to use standart interrupts:
> offset_132b3: C6 83 CC 09 00 00 01 => C6 83 CC 09 00 00 00

Check performance and TRIM.
⇗ @Mov AX, 0xDEAD
Interesting, it's a pattern, didn't really pay attention, but all MS AHCI drivers are "written" as an IDE/ATAPI controller driver, class {4D36E96A-E325-11CE-BFC1-08002BE10318}, don't really need a lower filter.
On the other hand, Win81 NVME driver is a SCSI controller driver.

#4650

diderius6

The patched storport.sys works now also for the OFA nvme driver (I use the faster and more generic version 1.3).
Here is first test of nvme Optane 905P compare
storport 5.2.3790.4173 against storport 6.2.9200.16384 with patch.
I repeat the compare 3 times, results are always the same.
So, the storport.sys (on left site here) from Server 2003 is always a little bit faster than the one from Win8.1 with patch
Dietmar
⇗

## Page 311

#4651 | daniel_k | ⇗ @diderius6 Thanks, so the Win8 storport is optimized for ... Win8 kernel. Does try TRIM work on NVME? Also try skullteria's storahci with MOV's storport. I'd like to know if the non working TRIM is because of the driver itself or storport.
#4652 | diderius6 | First I test Trim with Storport 4173 and ⇗ @skullteria STORAHCI. Does not work. Then I test patched storport from win8.1 and storahci from Win8.1 Works, I use the Naraeon tool and the Adata tool for this. Both work.
#4653 | daniel_k | What about patched storport from win8.1 and skullteria STORAHCI?

#4654

diderius6

⇗ @daniel_k
With patched storport from win8.1 and skullteria STORAHCI
the Naraeon tool fails (message "no supported device")
but the Adata tool works!!!
Is there an easy way, how I can test, if TRIM really happens
Dietmar
PS: Funny, on harddisk, the ⇗ @skullteria STORAHCI driver is even with patched storport from win8.1
much faster compared with storport from win8.1 together with Storahci driver from Win8.1;)).
On SSD, the combination of storport from win8.1 together with Storahci driver from Win8.1 is faster.
The result for SSD does not change at all with the combination patched storport from win8.1 and skullteria STORAHCI,
compared with storport 4173 from server2003. But suddently TRIM works!

#4655 | daniel_k | Dietmar, TRIM depends on storport then, it seems. Even if stornvme still cannot work, storport from W8 (not W8.1), proved to be useful.

#4656

diderius6

⇗ @daniel_k
On a Samsung 970 pro 1TB nvme disk, even with the patched storport from win8.1,
only with the Naraeon tool a Trim can be performed.
Now, the Adata tool tells, no compatible sata drive found:))
Dietmar
EDIT: Now I think, no Trim was performed under XP on the Samsung 970 pro 1TB nvme disk,
no matter which version of storport is used. The version 1.3 and 1.5 of the OFA nvme driver can not perfom Trim under XP SP3 until now.
The Adata tool tells just the truth.

#4657 | infuscomus | ⇗ @diderius6 does the AHCI driver perform TRIM correctly? or does it have this problem too?

#4658

diderius6

⇗ @infuscomus
For the STORAHCI driver from Move together with the patched storport from 8.1
Trim works.
And to 99% I am also sure, that it works with the STORAHCI driver from ⇗ @skullteria
but only in combination with the patched storport from 8.1
Dietmar
PS: Until now, no trim is possible for any nvme device under XP SP3. But there is hope;))..

#4659

genieautravail

> Zitat von ⇗ diderius6 im Beitrag ¶ #4654

> Is there an easy way, how I can test, if TRIM really happens

Try trimcheck
⇗ https://github.com/CyberShadow/trimcheck

#4660 | kukonosau | ⇗ @diderius6 Do you have acpi.sys for Windows Vista for Ryzen? Vista is unstable working and get BSOD sometimes.
#4661 | diderius6 | ⇗ @kukonosau For Vista I have no extra acpi.sys. Some months ago I see, that ⇗ @daniel_k works a little bit with Vista Dietmar
#4662 | skullteria | Yes, it will not work, because it is a feature only provided by storport starting Windows 8. So, I had to disable if version was less than 8. However, if i remember, has a check

#4663

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #4658

> PS: Until now, no trim is possible for any nvme device under XP SP3. But there is hope;))..

our OFA NVMe driver was modified to work for 2003 storport - maybe this broke TRIM support?
does the original OFA NVMe driver work for XP with the modded storport?

#4664 | kukonosau | ⇗ @diderius6 Thanks. But where download @danielk acpi.sys for Vista x64 for Ryzen? Vista BSOD sometimes causes old acpi or no?

#4665

diderius6

⇗ @infuscomus
This is a nice idea about Trim for the OFA nvme driver. I found this in the description of the OFA nvme driver version 1.3.
So it seems, that Trim can start from Win8
Dietmar
Driver building:
- For Windows 7, Server 2008 R2, Server 2012(TRIM disabled) and Windows 8(TRIM disabled),
You may build the driver within WDK 7600, Windows 7 64-bit build environment or Visual
Studio 2012 when configured for Window7 in Project Property.
- For Windows Server 2012(TRIM enabled) and Windows 8(TRIM enabled)
You should build the driver within Visual Studio 2012 when configured for Windows8
in Project Property.
PS: I just test: The original, unmodded OFA nvme driver do not work with XP SP3, even not with the very last storport.sys from win8.1.

## Page 312

#4666

Andalu

⇗ @daniel_k
I noticed some strange behaviors when my system boots in /nolowmem mode with WinXPPAE_v2 >4GB when I tried to use the aida64 linear test or to launch the edit command via windows prompt.
The existing hal.dll file has the sha-1 F5C40501F9CE35BF482CB039A90C086627D0BE48
Here's the two screenshots taken in two different booting, in both cases the issue happens on the first usb3 stick plugged.
On the first the edit command doesn't work and aida64 also seems to be "out of mind":
⇗
On the second, even if the edit command works, aida64 doesn't detect the usb3 stick connected and the device manager also shows a yellow mark:
⇗
In both cases, the 'famous' gs_caber_1.1.5.7 program doesn't work.
With the hal.dll (SHA-1: 8CBEC120FEB93D855AB1ED6FAD9A8D8223CC0E9A) from the hal_pae_fix package, I never had the usb3 devices unrecognized. Sometime the edit command didn't work but, at least, gs_caber_1.1.5.7, has worked always :)

#4667 | Andalu | I also noticed some strange behaviors related to the "uaspstor.w8 for storport.w2003" driver but I need to know if I have the latest driver version.
#4668 | daniel_k | ⇗ @Andalu Thanks for your reports, I'll review them later.

#4669

diderius6

Hihi, XP SP3 is best
Dietmar
The reviews of Intel 10th gen Core i9-10900K are now officially out and we've seen that Intel manages to hold its forte in gaming and overclocking abilities when compared to the AMD Ryzen 9 3900X and the Ryzen 9 3950X. Apparently, Core i9-10900K has a lot more overclocking potential than the default 5.3 GHz all-core Thermal Velocity Boost, which can be harnessed via LN2 or liquid helium cooling. Asus's in-house overclocker Elmor has managed to achieve just that by being able to hit a whopping 7.7 GHz on all 10 cores while also managing 6.6 GHz DDR4 memory speeds on the Z490 platform.
The initial trial with LN2 resulted in a BSOD so the team opted to use liquid helium (−269 °C). While this did provide enhanced cooling, it also resulted in the failure of one the memory modules. The remainder of the experiment was therefore conducted with 8 GB single-channel memory. Elmor could ultimately push the Core i9-10900K running on the Asus ROG Maximum XII Apex motherboard to 7.7 GHz (7,707.62 MHz to be precise) at a voltage of 1.194 V.
Interestingly, Windows XP was the used as the OS so as to support the Asus Turbo V Core overclocking utility and the input devices were likely using the PS/2 interface. This could be due to the fact that Windows XP lacks drivers for USB 3.0 and many other on-board peripherals, which should minimize interference while pushing the CPU to the hilt.
Apart from the CPU, Elmor could also overclock the G.SKILL F4-4000C18-8GTRG to 3,332.7 MHz or effectively 6,665.4 MHz DDR. Similar such memory OC records have been achieved on the Z490 platform by other overclockers as well.
Of course, these records are only meant to prove a point and mean nothing to most mainstream users. We also do not know how stable the system actually was or what were the results of benchmarks. Elmor does shout "Cinebench" at one point, but no results have been published yet. All said and done, it is good to know that Intel's flagship CPU has excellent overclocking potential, which should lead to some neat results even on air or AiO cooling.
⇗ https://www.youtube.com/watch?v=rDWirGE0u44

#4670 | daniel_k | ⇗ @diderius6 Are you going to be the first one here to try XP on Intel 10th gen? Interesting, Intel planned to remove CSM by 2020, but all Z490 BIOSes still have it. Good for us!

#4671

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #4666

> @daniel_k
> In both cases, the 'famous' gs_caber_1.1.5.7 program doesn't work.
> With the hal.dll (SHA-1: 8CBEC120FEB93D855AB1ED6FAD9A8D8223CC0E9A) from the hal_pae_fix package, I never had the usb3 devices unrecognized. Sometime the edit command didn't work but, at least, gs_caber_1.1.5.7, has worked always :)

In the file "hal.dll" (version 5.1.2600.5687), replacing the byte at offset 07B3C, to put byte 0xC3 instead of byte 0xC7 -- fix PM_Timer. Correction of the timer leads to an increase in the performance of the SATA AHCI driver up to 30%. I measure the speed of the SSD drive by copying a file of few gigabytes in size using Total Commander.
On Windows 7, the speed reaches 450 MB/s, but on Windows XP it is much lower - 180 MB/s. The speed limit is due to the SATA AHCI driver, because the SSD drive itself is much more productive. Replacing hal.dll with the patched one, I got a speed increase up to 260-265 MB/s. The byte at offset 07B3C has an effect. Fixing the remaining bytes does not affect performance, although I have 16 GB of RAM and use the PAE mode, maybe the "DMA32 PAE fix" on my processor and motherboard is not required.
You wrote a lot of technical information, but I'm not a hacker - I dont understand what to do about it. Can you make a ready-made solution - to patch the file ⇗ https://www.upload.ee/files/11521284/hal.zip.html and to fix PM_Timer, taking into account the normal operation of the PAE mode and the GS_Caber program, which stops starting when the patched file "hal.dll" is used. Or indicate which bytes at which offset are needed to fix, so that I can do it myself.

#4672 | ruthan | Z490 is not big deal, still not PCI-E gen 4 and best cpu in all cores load is consuming + 100 W in compassion with 9900K which is already power hungery. I thing that X299 is better choice, CPUs consume similar power and it has 40 PCI-E gen 3 lines instead of 16/20 of Z370/Z390/Z490.. it has otherwise same features and Quad channel memory doesnt hurt too.
#4673 | infuscomus | I'm thinking of upgrading to AMD Threadripper later this year I think it would be fun (and very silly!) to run XP on it too, if possible. has anyone here tried installing XP on Threadripper?

#4674

diderius6

We have a new alltime record for USB3 in XP SP3
using uaspstor.sys with the last mod from ⇗ @infuscomus .
Problem in this is only,
how to lock down the fire on my USB port ^^
Dietmar
PS: Speed is about 1032 MB/s , still I am cooling..

#4675 | Andalu | I haven't yet benchmarking an UAS device with this modded driver thanks to ⇗ @infuscomus but also for this driver I found a strange behavior on my system: once recognized as uas mass storage, the same device will continue to be recognized only if already connected during the XP booting. When connected post booting, it will no longer recognized. Nothing changes even plugging it to another usb port. When unrecognized, the only way to get another detection is to plug and then unplug any usb2/usb3 stick.
#4676 | Mov AX, 0xDEAD | Another storahci comparison of SATA SSD "OCZ Arc100" ⇗ Strange low storahci_skullteria's performance, i didnt use storahci.reg, so probably speed depend on it
#4677 | diderius6 | ⇗ @Andalu I think this happens because of the very big current for harddisks in USB clothes. The limit for USB3 is 800 mA and I think, the USB3 driver from Move just has something like a fuse, not to let your USB port burn Dietmar
#4678 | Andalu | ⇗ @diderius6 never had similar issue on another system where I used my UAS devices from long time.

#4679

Andalu

I started benchmarking the modded driver from infoscomus on a fresh XP installation using the nvme to usb3 adapter mounting my 970evo, but I have made a different test:
on the left the test made with the original WinXPPae2 hal.dll (sha-1 F5C40501F9CE35BF482CB039A90C086627D0BE48)
on the right the test with patched hal.dll (SHA-1: 8CBEC120FEB93D855AB1ED6FAD9A8D8223CC0E9A) from the hal_pae_fix package
⇗ ⇗
I had similar results with the uasport drivers from Mov AX, 0xDEAD. Unfortunately, with the modded driver from infuscomus, I also got two 0xC2 bsod on five benchmarking attempts (even without the patched hal).

#4680 | Mov AX, 0xDEAD | ⇗ @Andalu right screen is unreal, may be your "hal_pae_fix" package doesnt have hal_timer_fix ?

## Page 313

#4681

daniel_k

⇗ @Mov AX, 0xDEAD, ⇗ @diderius6 and all others:
I did it! NVME driver for XP!!
Ported from Win7!!!
With all due credit to ⇗ @Mov AX, 0xDEAD, for helping me!
Quick bench on Samsung 970 EVO:
⇗

#4682 | diderius6 | ⇗ @daniel_k Waaaaooohhh:))))!!! I want it soso much Dietmar PS: Спасибо большое :))!! ⇗ @Mov AX, 0xDEAD
#4683 | daniel_k | ⇗ @diderius6 Did a really quick test, seems stable, but consider it a beta. AIDA64 cannot read SMART attributes, I believe because XP doesn't officially supports NVME class devices. I'm so, so tired. This one was really tough for me, even with ⇗ @Mov AX, 0xDEAD's help.

#4684

diderius6

⇗ @daniel_k
I just booted:)) the Optane nvme 905P with your new nvme driver.
storport.sys has to be changed against yours.
Here are benchmarks left is Optane, right is 970 pro 1TB
niccccccccccccceeeeeeeeeee:))..
Dietmar
⇗

#4685

daniel_k

⇗ @diderius6
Where are the benchs, man?
Please do a complete comparison between this NVME.W7 and NVME.OFA and also test performance between storport.W8 and storport.W7 for SSDs/HDDs.
Anyway, this driver should solve the issues with Samsung NVMEs, which are not stable with OFA's driver.
Good night and see ya tomorrow.

#4686

diderius6

⇗ @daniel_k
Here are the first bench,
now I go to bed,
here is 3:00 at night,
and tomorrow I have school:))
Dietmar

#4687

Outbreaker

Dose someone know how to tell a driver .inf file to get the .sys files for the sp3.cab or driver.cab Archive (.\Driver Cache\I386\*)?
It works with some Windows .inf files like the printer drivers or the game controller drivers, but i didn't find anything to replicate this.
EDIT:
Now i remember again how i did it 8 years ago. I have to edit the DRVINDEX.INF and the LAYOUT.INF files too, and also put "LayoutFile=layout.inf" in the "[Version]" section of the driver *.inf file.

#4688

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4680

> @Andalu
> right screen is unreal, may be your "hal_pae_fix" package doesnt have hal_timer_fix ?

I used the hal5687.dll from the hal_pae_timer_fix package and the results are correct now.
⇗
But I wonder which is the best hal.dll
It has become difficult to be sure which version of any file is the right one to use.

#4689 | Mov AX, 0xDEAD | Patch to fix yellow mark with Code 31 for UAS Driver (Windows 8 backport): change stor_uas.sys in folder storport_w8 and storport_w2003: 1) 65005C00520061006900640050006F00 => 65005C00550061007300700050006F00 2) recalc cheksum

#4690

Andalu

About the issue I encountered on my system trying the uasport drivers from ⇗ @Mov AX, 0xDEAD, I can be more precise now.
I made some tests on the following devices (UASP protocol supported):
- NVME to USB 3.1 adapter (Micron JMS580 chip)
- USB 3.0 to SATA III adapter (Asmedia ASM1153E chip)
- USB 3.0 External Case for HDD (Micron JMS567 chip)
The behavior is the same for all of them, no difference using an HDD, SSD or NVME disk:
when plugged for the first time, after the driver installation and the requested reboot, the device (stayed connected to the card) is correctly recognized as UAS mass storage and you can plug and unplug it without issues in this XP session.
But for the next reboots or shutdown, the same device will be detected again only if already connected during the XP booting. When connected post booting, it will no longer recognized. Nothing changes even plugging it to another usb port. When unrecognized, the only way to get another detection is to plug and then unplug any usb2/usb3 stick.
UAS device connected after the XP booting is not recognized:
⇗
usb2 stick correctly recognized while the UAS device remains unrecognized:
⇗
usb2 stick ready to be safely removed:
⇗
UAS device recognized again as soon as the usb2 stick is unplugged:
⇗
During the benchmarking the UAS device correctly recognized suddendly become an 'unknow device'. In the properties there is the error code 43 (windows has stopped this device because it has reported problems) and in the details I can see the "USB\reset_failure" message. Under the same conditions, with the modded driver from ⇗ @infuscomus, I got the 0xC2 bsod.

#4691

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4688

> But I wonder which is the best hal.dll
> It has become difficult to be sure which version of any file is the right one to use.

Intel MoBo need hal.dll + pae_dma_fix + HAL_acpitimer_fix
AMD MoBo need hal.dll + pae_dma_fix
HAL_acpitimer_fix:
usualy one byte patch, like 0x79->0xEB, HaliAcpiTimerInit procedure
pae_dma_fix:
complex patch, HalGetAdapter procedure
halmacpi.dll SP3 version has version 5.1.2600.5512, last known version for Windows XP is 5.1.2600.5687

#4692 | daniel_k | ⇗ @diderius6 From what I've seen, performance is lower than OFA's. Anyway, it's final code from MS, highly compatible. Please don't forget to test TRIM on SSD/NVME.

#4693

canonkong

I found several USB expansion cards from different chip manufacturers (ASMedia, VIA, Etron, Renesas, Fresco Logic, Ti).
Tested using USB official own driver and WIN8 transplanted driver.
WIN8 transplanted driver works on each USB expansion card, and the performance is better than the official driver of each USB expansion card.
I will test its performance on the USB3.2 GEN2X2 20Gbps expansion card latter.
Etron USB3.0 expansion card
⇗
Renesas USB3.0 GEN2 expansion card
⇗
VIA USB3.0 expansion card
⇗
ASMedia USB3.1 10Gbps expansion card
⇗
ASMedia Official own drive
⇗
ASMedia with MOD driver
⇗

#4694

diderius6

⇗ @daniel_k
The problem in to test Trim under XP SP3 is,
that I do not know a single program for to trim nvme,
that works also under XP.
This is, because no driver for nvme for XP existed before.
May be here in the forum somebody noticed,
that his trim program works also under XP
Dietmar
PS: The Trim for nvme is different from the trim for SSD.

#4695

diderius6

⇗ @Mov AX, 0xDEAD ⇗ @daniel_k
Nice would be, to have a Tutorial and all the names of the used tools,
for backporting the nvme driver from Win7.1 to XP SP3.
Via this way, everybody can make some experiments for himself and
I can use it at school.
Dont know, how much work this will mean to write such a step by step Tutorial.
I would help you with this as good as I can
Dietmar

## Page 314

#4696 | daniel_k | ⇗ @diderius6 Sorry, but a guide would be too complex, as the backporting process is. In the mean time, another gift for you, latest Samsung NVME driver.

#4697

diderius6

⇗ @daniel_k
You never know, what you can reach, how big your power is,
until you try it:))
Dietmar
PS: I have done the experience in Mathematics, that when you try to explain to somebody a very complex Thema,
(I work in my free time on the Riemann Hypothesis, got already an amazing advantage there),
you have to rethink the whole process and at the end you are much better than before.
And the person, who listens carefull to you, at once tells you new ideas, you never had alone.
And even this may be a really hard work, you do not feel this..

#4698

diderius6

⇗ @daniel_k
First result for the Samsung nvme is, that this driver works with the for nvme patched version of storport from Win8.1.
This is very important, because this storport is generic as much as possible and works with all STORAHCI drivers.
With the storport.sys vers. 4173 from Server 2003, this nvme driver does not work.
With the patched storport from Win7.1 this Samsung nvme does not work, gives Code 10
Dietmar
PS: First I test the Samsung nvme driver on a 970 pro 1 TB from Samsung.
Some time ago, I heard, that from Samsung there was a Trim tool, which works under XP.
But I never got it.

#4699

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4689

> Patch to fix yellow mark with Code 31 for UAS Driver (Windows 8 backport):
> change stor_uas.sys in folder storport_w8 and storport_w2003:
> 1) 65005C00520061006900640050006F00 => 65005C00550061007300700050006F00
> 2) recalc cheksum

The UAS mass storage devices are always correctly recognized in all conditions now. Many thanks ;)
Twice I still got the BSOD 0xC2 during the Crystalmark testing. Between yesterday and today already four times ... a little too much.
I'll try to change the benchmarking program's version.
The benchmarking tests for my 970evo mounted on the nvme to usb3 adapter are similar for both driver versions:
on the left the uaspstor.w8 - on the right the uaspstor.w2003
⇗ ⇗

#4700

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #4698

> With the patched storport from Win7.1 this Samsung nvme does not work, gives Code 10

Didn't you make a mistake?
It works with my storport.w7 here.

#4701 | daniel_k | ⇗ @Andalu Just to confirm, with the standard Mass Storage driver (no UAS), there are no issues at all?

#4702

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #4695

> Nice would be, to have a Tutorial and all the names of the used tools,
> for backporting the nvme driver from Win7.1 to XP SP3.
> Via this way, everybody can make some experiments for himself and

I dont think that someone after reading any guide can change logic/loading of the any driver
Нужны знания сразу в нескольких областях чтобы уметь преодолевать постоянно возникающие проблемы, из минимального нужно знать и уметь:
- редактирование PE файлов (секции, где хранятся в файле, как загружаются в память, адресация секций процессором, таблица "релоков")
- как устроены записии в секции import, как они меняются после загрузки драйвера
- базовые инструкции i386
- какие существуют варианты инструкций CALL и JMP и как они "работают"
- варианты передачи аргументов в стек и выравнивание стека
- умение пользоваться документацией DDK Win7/Win8
- знать хотя бы в общих чертах какие новые механизмы появлятся в новых ядрах/драйверах, например что такое MSI или ETW и как без этого можно обойтись в XP
Ну и самое главное - уметь создавать эмуляцию функций, которых нет в ядре XP, иногда это просто копирование существующего asm кода из новых ядер win7/8, а иногда нет такого кода в принципе и его нужно сочинять "с нуля"

#4703

diderius6

⇗ @daniel_k
I will recheck but I am sure, that everything is, as I wrote.
Here are the benchmarks: On the left is Intel Optane 905P and on the right is Samung 970 pro 1TB.
One thing is the same as 2 years ago, when I make intensive tests with the OFA drivers:
The Optane drive shows always the same values, no matter if you copy hours of large files.
BUT: All other nvme disks show a very bad result. After 10 min of copieing large files, the read and write rate goes down as much as possible and when you do not give them short time for to get fresh air, in the end a normal harddisk is much faster than any of this nvme disks, that I tested! Because of this, I put all nvme disks out of my compis and only the Optane device stays
Dietmar
PS: This test is representativ. This values you get as a middle of 10 times running the diskmark test.
⇗

#4704 | diderius6 | ⇗ @Mov AX, 0xDEAD Thank you very much for the explanation. My idea was, to write a step by step tutorial only for the nvme.sys backport. And when somebody has really interest, at once this Tutorial can be used for to do next steps alone Dietmar

#4705

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4701

> @Andalu
> Just to confirm, with the standard Mass Storage driver (no UAS), there are no issues at all?

Until now no issue with the 'classic' mass storage devices, tried also with an UAS device connected.
Should I try something specific?

#4706 | diderius6 | ⇗ @Andalu Until now, I do not succeed to boot XP with the uaspstor.sys driver. And no idea, why not^^ Dietmar
#4707 | daniel_k | ⇗ @diderius6 Samsung NVME driver works with the Intel Optane?

#4708

diderius6

⇗ @daniel_k
yeppp, and works there much better than with their own product:)). Optane nvme disks are simple the best,
but expensive.
I just recheck all different versions of storport that I have.
ONLY the storport with nvme patch from 8.1 works for the Samsung nvme driver.
It is stable. And this are very good news, because this storport.sys is already integrated in the
XP Setup CD from ⇗ @Outbreaker
Dietmar

#4709 | daniel_k | ⇗ @diderius6 Good to know and insane at the same time! Samsung provides a generic NVME driver? Who would imagine that?! So, what's the best driver in your opinion (speed and stability)? OFA, MS or Samsung?

#4710

diderius6

⇗ @daniel_k
Not so easy to say. I still do not give up hope, to build from the OFA source code an nvme driver,
which supports trim under XP. And to make a scsiport based nvme as ntbootdd.sys from it.
But this may be crazy hard work.
Both your backported nvme drivers are stable. I do not have any crash.
So, from generic aspect I would chose the Samsung nvme driver.
But until now, I have not done enough tests for to make a decision
and in the end all of the nvme drivers for XP are nice
Dietmar
PS: The diskmark values for the speed of an nvme disk say nearly nothing.
They are all very fast. But with heavy load, all nvme disks show speed less than a harddisk.
Only the Optane nvme disks can keep there full power for hours.

## Page 315

#4711 | daniel_k | ⇗ @diderius6 I remember you had a problematic Toshiba NVME. Do you still have it? If you do, please the MS and Samsung drivers with it.

#4712

diderius6

Here are the benchmarks for the Toshiba RD400 nvme device, which was one of the very first. All work under XP SP3.
On left is OFA 1.3 middle Microsoft and right is Samsung.
As you can see, the OFA 1.3 driver is the fastest.
All driver work without any problem, just stable on the Toshiba RD400. Problem have been with the OFA 1.5 driver (here not tested).
This may depend on the nvme version of the Toshiba RD400 device. I think it is 1.0e and later nvme devices are 1.2
Dietmar
⇗

#4713

diderius6

I just boot XP SP3 from the Optane 905P with the Samsung nvme driver from ⇗ @daniel_k .
So, via storport.sys from 8.1 with nvme patch,
this is really generic and this storport.sys can be used for all the programs that use the storport.sys 4173 from Server2003
Dietmar

#4714

Andalu

⇗ @diderius6 ⇗ @daniel_k
I'm sorry for the delay in my reply.
I tried both OFA 1.3 and samsung nvme drivers (the ms driver fails to install on my system).
Here the benchmarking tests for my 970 evo nvme with XP installed and storport.sys from from Windows 8.0 RTM:
⇗ ⇗

#4715 | canonkong | ⇗ @daniel_k Both Samsung and Intel nvme drivers can be used as general nvme drivers. For hard disks without official nvme drivers, Samsung or Intel nvme drivers can be used.

#4716

canonkong

I tested the latest usb3.2 gen2x2 expansion card. The win8 portable driver can drive it perfectly, and it works normally, and the uasp function is no problem. Because there is no 20Gbps USB storage device on the market, I can only test with 10Gbps USB storage device. Even for 10Gbps devices, it is obvious that the test result of usb3.2 gen2x2 20Gbps card is faster than that of usb3.2 Gen2 10Gbps card, especially the continuous write speed.
⇗

#4717 | Mov AX, 0xDEAD | ⇗ @Andalu, ⇗ @diderius6 don't mess with "storport.sys from 8.1", only storport.sys from Windows 8.0 RTM and Windows 7 exist
#4718 | Andalu | ⇗ @Mov AX, 0xDEAD edited post, sorry for the mistake.

#4719

Andalu

Here the benchmarks for my nvme disks connected on the slot m.2 with the MS nvme driver thanks to @daniel_k.
XP booted from my crucial SSD.
Samsung 970 evo nvme:
⇗
Sabrent rocket nvme:
⇗

#4720 | Andalu | Here the benchmark for my crucial BX300 SSD with the Intel RSTe_4.7.0.1117 driver. ⇗
#4721 | daniel_k | ⇗ @Andalu Is it caching or something? Crazy results. Do you have timer patch installed?
#4722 | Andalu | ⇗ @daniel_k do I need to install the timer patch necessarily? I'm trying with the write cache disabled.
#4723 | ruthan | ⇗ @Andalu all are useless, nonsense numbers.. probably because of broken timer..

#4724

Andalu

Write caching disabled on the sabrent nvme.
⇗ ⇗
⇗ @ruthan
about the timer, can be enough these 2 shots?
I don't think the tests are useless at all since a change in the XP settings can be an useful information for other members reading as well.
edit: I forgot to report that PAE is not enabled and the hal.dll is the unmodified version 5512 as from SHA-1 reported.

#4725 | daniel_k | ⇗ @Andalu If timer is not the issues, something else is wrong. What are your system specs?

## Page 316

#4726

Andalu

⇗ @daniel_k
my system: Asus Prime Q370M-C/CSM - i5 8400 - 64GB of ram - integrated VGA - Crucial BX300 SSD and Samsung 970 evo nvme. Nothing else.
The strange results happen only with the MS nvme driver + Intel RSTe_4.7.0.1117 sata driver (today I also got an iastof.sys BSOD using the ramdisk software).
With the samsung nvme driver the results seem to be normal.

#4727 | daniel_k | ⇗ @Andalu There is something wrong with storport.w7? But this doesn't happen for ⇗ @diderius6?! He'll test the latest patch, lets wait for his reports.

#4728

diderius6

⇗ @daniel_k
I just make a test with the PAE patch from Daniel, so now the compi has 32 GByte.
This value is only correct shown with the Samsung nvme. I boot XP from OFA 1.3, Microsoft nvme Win7.1, Samsung nvme Win10(?).
The Samsung nvme has a filter driver secnvmeF.sys, which should enable NVME_PASS_THROUGH .
This gives information about the nvme disk, but I dont find anything if this is also good for Trim. Until now no tool under XP for Trim of an nvme device.
I noticed, that Daniel modded his last storport.sys from Win7.1. It makes the nvme driver from Microsoft a little bit faster.
All nvme drivers are stable for me. But only for the Intel Optane, the values that CristalDiskmark shows, are always the same.
On the left is OFA 1.3, always the fastest, in the middle is Microsoft nvme by ⇗ @daniel_k and on the right is the brandnew(?) Samsung nvme driver also with mod from Daniel. All nvme devices are faster with 32 Gbyte ram than with 4GB ram.
The test values are correct, valide for the Intel Optane 905P.
⇗

#4729 | Andalu | ⇗ @daniel_k with a ramdisk drive, Crystaldisk went into crisis, it will never have tested anything like it ⇗
#4730 | daniel_k | ⇗ @diderius6 Samsung NVME driver for Win7.
#4731 | daniel_k | ⇗ @diderius6 Did you try my storport.W7 with Samsung or OFA driver?

#4732

diderius6

⇗ @daniel_k
Waaaooh, your new storport.sys from Win 7.1 works now also with the OFA 1.3 nvme
driver,
in this moment is running benchmark:))
Dietmar
EDIT: For the OFA 1.3 driver, the benchmarks for storport from win7.1 or for storport from win8 are nearly exact the same.
EDIT2: The same is true for the Samsung nvme with its filterdriver. Hi Daniel, seems, that you are getting better every day:))!
I want Tutorial how to mod the nvme.sys!!!

#4733 | Andalu | ⇗ @daniel_k even changing the system, the results are similar: ⇗

#4734

daniel_k

⇗ @diderius6
What about the Samsung driver? Does it work with storport.w7?
⇗ @Andalu
That's odd, it seems to benchmark cached memory area.
Why does it happen to you and not for ⇗ @diderius6?
EDIT: What about SSDs? Are they affected by this behavior?

#4735

diderius6

⇗ @daniel_k
Your new storport.sys from win7.1 works for all nvme.sys drivers,
that are today on the market for XP.
The generic for nvme modded storport from win8,
still works not on the Microsoft nvme
Dietmar

#4736 | daniel_k | ⇗ @diderius6 That's great, however I'm getting crashes here! PAE is enabled? Please confirm SHA-1: 3487593D540EC4D4B21EA7FA8B16212C77C9818A
#4737 | Andalu | ⇗ @daniel_k also for my SSD the results are weird: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (315)
#4738 | daniel_k | ⇗ @Andalu Are you using the storport.sys with the hash above?
#4739 | Andalu | ⇗ @daniel_k of course!! (I hope to not have to upload another image also for that ) edit: see you later, sorry :(

#4740

daniel_k

⇗ @Andalu, ⇗ @diderius6 and ⇗ @Mov AX, 0xDEAD
Sorry for the confusion, it was my fault.
There was a corrupted usbxhci.sys which was causing random crashes.
storport.w7 works just fine, thankfully!
So, we've got them all:
- Generic MS Generic XHCI/USB3 driver
- Generic MS Generic/Samsung NVME driver
- Generic/Intel/AMD AHCI driver
- ACPI driver (needs improvements)
- UASP driver (needs more fixes?)
I think we are almost done.

## Page 317

#4741 | diderius6 | ⇗ @daniel_k The SHA-1 match your last modded storport.sys from win7.1. No crash at all. Yes, I have PAE enabled, 31.9 Gbyte I can see Dietmar
#4742 | daniel_k | Can someone please explain those crazy bench results ⇗ @Andalu is getting? If it isn't a timer issue, what could it be?!
#4743 | diderius6 | The nvme driver modded by ⇗ @daniel_k from Microsoft and the one from Samsung can both boot XP SP3 from the old Toshiba RD400 nvme disk. So, they are more generic than the OFA 1.5 driver modded for XP, because there XP hangs during boot Dietmar
#4744 | diderius6 | ⇗ @Andalu May be, that the problem goes to a loaded uaspstor.sys instead of usbstor.sys Dietmar
#4745 | Andalu | ⇗ @diderius6 uaspstor.sys is not present in my system now. I'm using the nvme driver from win7 and the Intel RSTe_4.7.0.1117 sata driver. Could you please explain how you conduct the tests? which version of XP are you using, which acpi.sys, if you have applied the hal timer patch, if you have disabled write caching etc. so I can try a common way in benchmarking.

#4746

diderius6

I have a generic german XP SP3 with all updates that I found in last years.
This XP SP3 runs on any compi:)). With boot.ini I can chose between MPS, acpi, acpi with PAE, acpi Debug and MPS debug. All with different hal.
I have no good memories at the RSTe_4.7.0.1117 sata driver.
Make a try with the driver from Skullteria or try to install the nice XP SP3 version from
⇗ https://www.zone62.com/downloads/softwar...comment_id=2220
Dietmar
PS: acpi.sys I can boot with original, with acpi.sys from outer space ) and with very last acpi.sys 5048.
The new nvme drivers are always stable. I have this XP on Optane nvme disk, on harddisk, on harddisk in USB encloser, on Samsung 970 pro, on Samsung SSD, on the Toshiba RD400 now,
and on about 20 other harddisks.

#4747 | daniel_k | ⇗ @Andalu A quick and dirty way to test other drivers are simply rename and overwrite the main driver file. For example, rename storahci.sys to iastora.sys and overwrite the file in the ISO. The filter driver is harmless.

#4748

diderius6

⇗ @Andalu
For tests I think is the very best a fresh installed XP. And before first test, make a copy of this XP, that you always have at start the same situation again
Dietmar
PS: Always to have the same fresh XP as before you can also do, when you copy the folder \System32
from an outstanding XP to a safe place. And then, just copy this folder System32 back.

#4749

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4733

> even changing the system, the results are similar

There is only two answers - Caching or Timing
On WinTimerTester screen you use acpi timer (3.15Mhz), which is not disabled (enabled in bios ?)
So probably CrystalDiskMark can't disable caching when access logical disk on NVMe

#4750

Andalu

⇗ @Mov AX, 0xDEAD
even if on a different XP installation (XP-IE 2020.05.05)
but with the same acpi.sys version, I have no strange results with both OFA 1.3 and samsung nvme drivers:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (315)
⇗ @daniel_k ⇗ @diderius6
thanks for the tips

#4751 | ruthan | Crystal Mark is not only benchmark you can try other one, if results are different, or when you just copy the file, speed has to be different too.

#4752

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4745

> @diderius6
> uaspstor.sys is not present in my system now. I'm using the nvme driver from win7 and the Intel RSTe_4.7.0.1117 sata driver.

uaspstor.sys uses stor_uas.sys(renamed storport_w8/w2003 with special patch) as storport.sys
nvme_w7 uses storport_w7 as storport.sys
RSTe_4.7.0.1117 uses storport_w7 as storport.sys
You need temporary change RSTe_4.7.0.1117 to other "nonstorport" driver to exclude interference with common storport.sys and repeat performance test
Disk drivers also live at CriticalDeviceDatabase and can be loaded even controller controlled by other driver, so need remove iastorA from this registry too
Dont forget to backup system32/config before changing boot disk driver

#4753

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4740

> @Mov AX, 0xDEAD
> - UASP driver (needs more fixes?)

Only one issue was found in UASP and already fixed, no more know issues
UASP driver can work with storport_w2003 or storport_w8, i dont tested uasp with storport_w7 yet, but will do and will report

#4754

Andalu

⇗ @Mov AX, 0xDEAD
another good tip, thanks ;)
I re-started with the safe stuff :), firstly I used my old, not updated Italian ISO. Then I did the bench for my Sabrent nvme first with the OFA 1.3 driver (on the left) and then with the nvme driver from Win7 (on the right). Write cache disabled:
⇗ ⇗
Not exciting results but, at least, the way seems to be the right one.
Now I have to change the sata drivers, hoping that the system won't give me a blank screen on reboot.

#4755

Andalu

Finally I got the real results for my Sabrent nvme with both nvme driver from win7 and RSTe 4.7.0.1117 sata driver:
⇗ ⇗
the results are better with the OFA 1.3 even in this case.
The next step will be to find a way to make work the storahci.w8 with the MS nvme driver.
I already got the 0x019 BSOD for three times.

## Page 318

#4756

ruthan

Ok im ready to debug with Z390 and existing installation, i just replaced and acpi.sys (to fix 005 bluescreen) and have to connect booting disk to Marwell Sata controller (driver was already installed with older MB) to fix 007 boot problem, otherwise i would have to use some Sata controler with IDE non AHCI mode. PS2 mouse and keyboard is working. BTW i dunno why but PS2 and mouse keyboard is working with all OSes except Win10 where only keyboard is working..
My problem so far, is that i see only 1 GB of 32 GB of mem in WinXP, so far, im no using any fixed hals.
Now i have to make make working more devices:
1) Intel Sata, i hope that generic drivers as older Fernando will work with Paragon GPT driver - i have main data as games on big GPT disks.
2) Addon Nec USB3
3) Intel USB3
4) Realtek USB Lan..
5) On board NVME if possible, i just would like to have possiblity read some files from other OSes..
After that "real" fan will start, 2nd WinXP GPU and bios profile. I tested in on Z370 machine, there is this working, but i have not local input, because of not working PS2 for some reason (maybe something wrong with custom bios from Daniel) and i have to test newer USB3 drivers for it, i also waited few months for PCI-E USB2 controller, but it never arrrived, so i would have to reorder it.

#4757

Mov AX, 0xDEAD

Hi,
My tests with storport_w7 by ⇗ @daniel_k:
- Power irp deadlock with uaspstor still occur, still need special version of storport
- uaspstor_w8+storport_w7 doesnt work because uaspstor_w8 uses storportextendedfunctions above 25
- uaspstor_w2003+storport_w7 work, need one-byte patch to avoid deadlock
- Storahci_w8+storport_w7 doesnt work because storahci_w8 uses storportextendedfunctions above 25
To coexist different versions of storport need:
1) rename storport.sys to stor_xxx.sys or xxx_stor.sys
2) in stor_xxx.sys change unicode "\Device\RaidPort%d" to unique string, like "\Device\UaspPort%d" or "\Device\NVMePort%d"

#4758 | canonkong | @Mov AX, 0xDEAD Maybe we can use VIA its UASP driver, it can support Xp/vista/win7 32/64bit and also can work well.

#4759

Mov AX, 0xDEAD

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #4758

> Maybe we can use VIA its UASP driver, it can support Xp/vista/win7 32/64bit and also can work well.

I wrote about important issue with VIA UASP driver on first page of topic, no fix at current moment

#4760 | canonkong | @Mov AX, 0xDEAD I used VIA UAS Driver on win7, it can support Safe Remove and work well. Maybe it needs to fix on Xp.

#4761

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #4760

> @Mov AX, 0xDEAD
> I used VIA UAS Driver on win7, it can support Safe Remove and work well. Maybe it needs to fix on Xp.

Win7 has other ways to recognize removable disks, WinXP depends only on driver and via driver say "no need safe removal"
Maybe this is OK, but if caching write is On we will get problem

#4762

daniel_k

⇗ @Mov AX, 0xDEAD
If stornvme.w7 + storport.w7 works on VirtualBox.
Can't you debug stornvme.w7 + storport.w8? Or maybe storport.w8 require an update like w7 had to support NVME?
What about porting storport.w81 as an all-in-one solution? I know you don't even have NVME, just asking.
Or even hacking ASMedia UASP?

#4763 | daniel_k | ⇗ @Andalu When you have some spare time, please test W7 with the NVME hotfix/driver, so we can compare performance against XP. That would be interesting.

#4764

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4761

> WinXP depends only on driver and via driver say "no need safe removal"

⇗ @Mov AX, 0xDEAD ...I remove it safely in XP anyway using Administrative Tools\Computer Management\Disk Management. Had a problem once with a sudden removal where the voltage transient caused by sudden removal may have written to the USB thumb drive, making it unreadable. I go into Disk Management, right click the thumb drive or USB external drive, and use Eject or Offline.
You might notice with a USB external drive that the drive light is still on even after safe removal while the drive is still plugged into a USB port. That means when you unplug the drive there is a possible voltage transient. Hopefully the heads are parked after safe removal but if they are not the heads can write to disk as the drive is unplugged from the USB port. That's because after the plug is pulled, with voltages turned on, the digital electronics is no longer synchronized to a clock and the circuits can do strange things. You can get around that by leaving the drive plugged in, if possible, and powering the computer down.
None of this is likely but after years in electronics/computers I have seen everything...almost.

#4765

XPLives

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #4670

> @diderius6
> Are you going to be the first one here to try XP on Intel 10th gen?

No, that would be me. But Did6 would get the overpriced XP compatible EVGA Z490 Dark.
Go with the cheapest 10th Gen CPU for testing. Then upgrade to the flagship 11th Gen CPU to max out the chipset.
Though money should be spent on Sapphire Rapids.
Still waiting for DDR5 and PCIe v5.0 before a full upgrade with 512GB or 1TB RAM.
Just like Ruthan, I'd wait till low wattage 12 or 16 Core 65 Watt Intel CPUs are released. I hate fans.

> Zitat von ⇗ daniel_k im Beitrag ¶ #4670

> @diderius6
> Interesting, Intel planned to remove CSM by 2020, but all Z490 BIOSes still have it.
> Good for us!

As for the talk of the BIOS's early demise, it won't happen just yet. Too many legacy users like ourselves pushing to keep it alive. Worst case Asus and AsRock would still carry legacy BIOS motherboards but probably charge more but produce less quantity.
And then you have AMD who may keep the BIOS alive if this is just an Intel push.
Daniel_K, nice to see another Asian back along with MOV AX back after the reported last posting. Just like the Creative Labs incident don't give up the fight.
XPLives

#4766

XPLives

⇗ @Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4595

> Little survey:
> I'd like to hear from Forum Users what XP issues are most critical to you today ?

Off the top of my head the most critical and maybe most useful to add to XP functionality for modern purposes.
Probably ACPI.sys for Windows 2000 SP0 and XP SP0 to work on SkyLake+ generations.
>4GB memory application usage not in 4GB chunks found in Server 2003 Advanced Server 32-Bit with max memory expanded from 64GB to 256GB memory support.
Or a way to use Server 2003 Advanced Server 64-Bit memory support might be better. The idea is OS base memory not stuck at 3.2->4.0GB limit per process but expanded to 8.0GB/16.0GB/32.0GB which would be plenty or the entire 256GB.
4KB to 512 Byte Sector Translation native to allow Windows 2000 SP0 and XP SP to boot to internal drive up to 16TiB MBR. No need for GPT.
Windows 2000 SP0 and XP SP0 OS USB Bootable or off storage device so OS loaded entirely into RAM Drive. No need to wear out any UFD, SSD, or Hard drive.
Intel USB 3.0 stable XP driver can be installed on Windows 2000 SP0 and XP SP0.
NVME driver for Windows 2000 SP0 and XP SP0.

#4767

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4763

> @Andalu
> When you have some spare time, please test W7 with the NVME hotfix/driver, so we can compare performance against XP.
> That would be interesting.

Here the results for the 970evo nvme with the samsung driver on Win7 just installed:
⇗
I am also posting those related to XP although aware that there is still something strange (I think due to the hal.dll of which I am still looking for the best version for all situations):
⇗

#4768 | daniel_k | ⇗ @Andalu Thanks for the benchs, always appreciated! You're using my patcher, right? If you do, it does automatically apply the timer fix. By the way, hal.dll is not protected by WFP (Windows File Protection).
#4769 | Andalu | ⇗ @daniel_k of course, your nice WinXPPae patch2. WFP is disabled by default.
#4770 | ruthan | ⇗ @Andalu Win 7 write performance should be higher.. Win XP data seems to be more accurate now.

## Page 319

#4771 | daniel_k | ⇗ @Andalu Run CPU-Z -> About tab -> Timers Please post a screnshot of the timers.
#4772 | Andalu | ⇗ @daniel_k that's here: ⇗
#4773 | Andalu | ⇗ @ruthan I had seen the lower results in W7. No substantial differences on three benchmarking tests.

#4774

daniel_k

⇗ @Andalu
There is nothing wrong with the timers.
Is it a clean install of Win7 just for testing?
If so, mind to install the NVME hotfix and run a bench, please?
NVME hotfix KB2990941
Then install KB3125574, as it includes updated NVME/Storport as pointed out by ⇗ @Mov AX, 0xDEAD

#4775

Andalu

⇗ @daniel_k
unfortunately my HDD with W7 is dead some week ago and I never installed it.
I forgot to install the SP2 and the hotfix.
About the timer, in the bios there is no HPET settings, only the "System time and alarm source" now configured on "ACPI time and alarm device" but I have already changed it to "Legacy RTC"
without success.

#4776

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4775

> @daniel_k
> unfortunately my HDD with W7 is dead some week ago and I never installed it.
> I forgot to install the 2 hotfixes.

What a shame that it died.

> Zitat

> About the timer, in the bios there is no HPET settings, only the "System time and alarm source" now configured on "ACPI time and alarm device" but I have already changed it to "Legacy RTC"
> but nothing changed.

Did you check the timers in CPU-Z after changing it to Legacy RTC?

#4777

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4776

> Did you check the timers in CPU-Z after changing it to Legacy RTC?

Yesterday I tried almost everything: 3 different XP images, 3 SDD, 2 HDD, 2 nvme and, at end, also by updating the bios without success .... I was going to go crazy
However, I just re-checked changing the "System time and alarm source" setting in "Legacy RTC" but the timers visualized in CPU-Z are indentical as before.
The last thing to try should be the dsdt table but here I can't do nothing.

> Zitat von ⇗ daniel_k im Beitrag ¶ #4776

> What a shame that it died.

The worst thing is that I can no longer find the image partiton with W7 installed

#4778 | daniel_k | ⇗ @Andalu No need to mess with those timers if nothing changes, thanks for all the testing.
#4779 | daniel_k | ⇗ @Mov AX, 0xDEAD Interesting, on VirtualBox, MS NVME W7 driver only loads at first VM initialization. If you restart Windows, NVME won't start with an error code 10. Samsung NVME starts all the time.
#4780 | infuscomus | ⇗ @Andalu I'm just guessing here, but perhaps the "Legacy RTC" option in your BIOS isn't actually implemented in your BIOS? or implemented incorrectly? can you try "ACPI Time" or one of the other options listed in your BIOS, along with a patched hal.dll? see if that behaves correctly?
#4781 | Andalu | ⇗ @daniel_k for information only. Even with Windows7 updated the results seem to be similar to the previous ones: ⇗ Here with the MS nvme driver: ⇗

#4782

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #4780

> @Andalu
> I'm just guessing here, but perhaps the "Legacy RTC" option in your BIOS isn't actually implemented in your BIOS? or implemented incorrectly?
> can you try "ACPI Time" or one of the other options listed in your BIOS, along with a patched hal.dll? see if that behaves correctly?

I don't know how to see if the enabled "Legacy RTC" option is then actually applied in a correct way. There are no other settings in the bios that can be related to the timer.
Asus bios do not seem to be the best around. The hal.dll is already the patched version by WinXPPae2. No difference if replaced with another patched version.

#4783

daniel_k

Ported AHCI driver from Windows 7.
Needs some improvements as it conflicts with Standard IDE controller (if there is one installed).
Interesting that this driver supports TRIM, initializes really fast and is not a SCSI driver.
Tried to completely replace XP IDE drivers, but it crashes.
⇗

#4784

Doc.Brown

> Zitat von ⇗ XPLives im Beitrag ¶ #4765

> @daniel_k

> > Zitat von ⇗ daniel_k im Beitrag ¶ #4670

> > @diderius6
> > Are you going to be the first one here to try XP on Intel 10th gen?

> No, that would be me. But Did6 would get the overpriced XP compatible EVGA Z490 Dark.
> Go with the cheapest 10th Gen CPU for testing. Then upgrade to the flagship 11th Gen CPU to max out the chipset.
> Though money should be spent on Sapphire Rapids.
> Still waiting for DDR5 and PCIe v5.0 before a full upgrade with 512GB or 1TB RAM.
> Just like Ruthan, I'd wait till low wattage 12 or 16 Core 65 Watt Intel CPUs are released. I hate fans.

Seems XP works well for this new gen and without big problems if you look at this guide ⇗ https://community.hwbot.org/topic/196740-rog-maximus-xii-apex/
Some great overclockers submit great result with it also : ⇗ https://hwbot.org/submission/4446037_safedisk_superpi___32m_core_i9_10900k_4min_1sec_766ms

#4785

Andalu

⇗ @daniel_k
here are the new benchmarks for my 970evo nvme with both samsung and MS driver in windows7, this time with write cache enabled.
For those of yesterday it was disabled as displayed in the screenshots
Samsung driver (better):
⇗
MS driver:
⇗

## Page 320

#4786

daniel_k

⇗ @Andalu
Thanks, much appreciated!
Beware of benchmarking SSDs/NVMEs all the time, as the lifespan decreases with all those writes.
Samsung and OFA drivers are definitively faster, but for general use (at least during install), I'd stick with the MS ones.
Results on XP are always lower than Win7, probably expected as the later's kernel is optimized for newer systems.
Generic drivers are more compatible and reliable: Mov AX, 0xDEAD's XHCI driver proved this.
As I've said before, usually vendor specific drivers have hacks that may break functionality on other vendor's hardware.

#4787

daniel_k

⇗ @diderius6
Found something interesting.
Wrong device class affects functionality of drivers: with the current INF file, only the first device's SMART data can be read.
After changing the class code to SCSI and RAID Controllers, SMART atributes for all devices are available.
Device class in INF file for storahci is wrong:

    Class=hdc
    ClassGuid={4D36E96A-E325-11CE-BFC1-08002BE10318}

should be:

    Class=SCSIAdapter
    ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}

This is also true for RSTe drivers.
Please confirm this behavior on your systems.

#4788

diderius6

Hi ⇗ @daniel_k
I take a look at the original definition from Microsoft. They wrote that only this correct
SCSI and RAID Controllers
Class = SCSIAdapter
ClassGuid = {4d36e97b-e325-11ce-bfc1-08002be10318}
This class includes SCSI HBAs (Host Bus Adapters) and disk-array controllers.
Dietmar

#4789 | canonkong | It is working very well on B460+i5-10400... ⇗

#4790

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4787

> After changing the class code to SCSI and RAID Controllers, SMART atributes for all devices are available.

my storahci_w8 has this fault, I did not think that it matters )
historically ide/sata controlers were in the HDC class on old OSes

#4791

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4790

> my storahci_w8 has this fault, I did not think that it matters )
> historically ide/sata controlers were in the HDC class on old OSes

Yep, that is ridiculous that a class/GUID would change the behavior of a device.
I was about to bother you about an issue with my ported IDE/AHCI, but I fixed it myself after some thinking/reading.
At first, thought I did some mistake, but after porting the x64 version, gave me the same errors.
Will put everything together and send you a PM later, in case you want to take a look at it/try it.
Complete replacement of original XP IDE plus AHCI supporting TRIM/STANDBY IMMEDIATE in IDE and AHCI mode!

#4792

ruthan

I used it for some retro stuff.. but here is some nice tool to inject drivers to existing installation to make it bootable, its working from Win2000 to Vista for other Windows, computer, where disk is connected.
It has simple option to force use generic IDE drivers or import other drivers.
⇗ https://msfn.org/board/topic/181561-retr...comment-1182472
I now that before was possible to make same thing with some Regedit hive editing, but this is really simple GUI tool.. Hive is in Windows\System32\config

#4793 | canonkong | After testing for days, I am sure it is a very stable USB driver. USB card from ASMedia, VIA, NEC, TI, Etron chips all on the same mainboard together. ⇗ ⇗
#4794 | Andalu | ⇗ @canonkong If I'm not wrong, the only chipset that seems missing is the Fresco Logic, so I'm adding it :) here working in XP on a haswell board: ⇗ It works much better than the FL driver.

#4795

canonkong

@ Andalu
It can not support Fresco Logic Decive ID like:
ExcludeID=PCI\VEN_1B73&DEV_1000
ExcludeID=PCI\VEN_1B73&DEV_1400
ExcludeID=PCI\VEN_1B73&DEV_1009
But it can work for PCI\VEN_1B73&DEV_1100

#4796 | daniel_k | ⇗ @Andalu I remember you had an issue getting USB2 speeds even with XHCI enabled in BIOS. Did you try this W8 XHCI driver on that mobo to see if USB3 is properly enabled?
#4797 | daniel_k | ⇗ @canonkong What a massive and crazy testing machine you've got! Impressivel! This is real proper testing.

#4798

Andalu

⇗ @daniel_k
the 'crazy' motherboard was a B75 Ivy Bridge. Here are the sceeenshots for Ivy Bridge, Haswell and Coffee Lake boards:
Benchmarking a toshiba USB3 external hard disk drive 2TB
B75 Ivy Bridge
⇗
H97 Haswell
⇗
Q370 Coffee Lake (even with the write cache enabled the results are similar):
⇗

#4799 | Andalu | ⇗ @canonkong that's good to know ;) I was lucky to choose a card with the FL1100 chipset (but only thanks to the advice from ⇗ @daniel_k )
#4800 | infuscomus | ⇗ @canonkong So many slots!! where can I find a motherboard like that?

## Page 321

#4801 | canonkong | ⇗ @infuscomus It is ASRock H110 PRO BTC+ mainboard, it has 13 PCI-E slots, cost $40 USD on taobao.
#4802 | daniel_k | ⇗ @Andalu Thanks for the benchs. As I was expecting, the W8 XHCI drivers enables true USB3 speeds without any stupid "switch" driver. Just great!

#4803

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4802

> As I was expecting, the W8 XHCI drivers enables true USB3 speeds without any stupid "switch" driver. Just great!

I dont sure about old PantherPoint intel controllers (devid=1E31), they has ehci and xhci as separate controllers connected to same usb2 pins
BeOS(Haiku) usb3 driver has hack to switch ports
I have this controller on lenovo notebook, but never used it with win8. On WinXP usb3 controller was hidden by ACPI DSDT Code

#4804 | Andalu | ⇗ @Mov AX, 0xDEAD for both my B75 boards (DEV_1E31) it was necessary to apply the WPCRset trick as for the AMD XHCI driver.

#4805

ruthan

I had time to mess with XP existing installation porting on Z390:
What is good:
- from tree things which are making working system (Accelered graphics, Audio and Network), i have 1 - realtek HD audio is working. BTW are you using USB Lan adapters, or addon PCI-E cards?
- marwell Sata controller is working fine, im using some Asus 2015 driver - real driver is from 2011, i tried drivers from Win-Raid, from 2013, but i got 007B boot error
What is not good so far:
- RAM even when i installed Win-PAE-patch /4G i still have only 1GB of RAM, i dunno why.. im using 8 GB video card for 2D windows WinXP drivers, i need make other things working before i will add second XP videocard and i will mess with input switch and bios profiles. My CPU has not iGPU at all, in bios is reserved just 128 MB for iGPU.
Im using just patched hal from halplusintelppmXPSP3, not any special boot.ini hal files settings etc.
⇗
- NVME, i tried both drivers 1.3 and 1.5, but always getting Code 10, even after reboot. intelppm.sys and storport.sys where copied to system before installation.
⇗
- USB, i installed AMDXHCI XP 276-Final v3 driver.. USB3 controller fine, USB3 hub fine.. after that some AMD USB2 hubs starting to be detected - again with code 10 - i dunno if its typical or because i have some USB2 drivers in my monitors and some external USB2 and USB3 hubs.. And some devices as Web Cam where recognized.
After reboot - and WinXP loading screen, i got just black screen, after that my USB keyboard and mouse led starting lit what means that were somehow initialized, after that minute light is gone, screen is still black. I tried to use: amdxhc.sys and halmacpi.dll from PAE workaround folder - but its the same.
⇗
Otherwise i saw in package, SSE2 Updates Rollback folder, what it is for and how to use?

#4806 | infuscomus | ⇗ @ruthan this might be ACPI related - have you tried the modded ACPI driver?

#4807

diderius6

I just succeed to solve an crazy error about direct nvme boot Setup with BSOD 0x7B on the nice XP SP3 Setup CD at
⇗ https://www.zone62.com/downloads/softwar...comment_id=2220
I change WINNT.SIF in the i386 Setup folder and also in OEM folder the same to WINNT.SIF.backup with following content
Dietmar
; SetupMgrTag
[Data]
MsDosInitiated=0
[Unattended]
NonDriverSigningPolicy="Ignore"
DriverSigningPolicy="Ignore"
;FUI#[Unattended]
;FUI# Repartition=No
;FUI# WaitForReboot=No
;FUI# OemSkipEula=Yes
[GuiUnattended]
AdminPassword="*"
TimeZone=020
[UserData]
ProductKey=PD9WR-BDGBK-RPXKR-W3CK4-QHYF3
ComputerName=*
FullName="Unknown User"
OrgName="Unknown Organization"
[RegionalSettings]
LanguageGroup=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
SystemLocale=0409
UserLocale=0409
UserLocale_DefaultUser=0409
InputLocale=0409:00000409,0409:00020409
InputLocale_DefaultUser=0409:00020409
[Identification]
JoinWorkgroup="WORKGROUP"

#4808 | fruitbat1001 | I am running a Ryzen 2600x on XP with the Zone 94 Integral Edition. How do I enable multiple cores?

#4809

Outbreaker

⇗ @fruitbat1001
You can do this with the "Optional Patch Integrator v*.cmd" Script. You can also use any Windows XP ISO you want, you only have to rename the ISO file to "Windows XP Professional SP3 x86 - Integral Edition 2020.X.X (Vanilla).iso".
⇗ https://www.zone94.com/downloads/softwar...comment_id=2418
Also take a look into the "Patches\ACPI drivers" folder for your "Ryzen 2600X" CPU if you run into problems with the default acpi.sys driver file.

#4810

diderius6

I make some more tests with the uaspstor.sys driver.
It is fast as much as possible on any USB port,
but unstable. May be because of too high current >800mA. It crashes whole compi or disconnects.
To boot XP SP3, I do not succeed with this driver
Dietmar
⇗

#4811

ruthan

> Zitat von ⇗ infuscomus im Beitrag ¶ #4806

> this might be ACPI related - have you tried the modded ACPI driver?

Im using - acpi 6666 - 2019.10.20#2 (Intel&Ryzen) - OuterSpace, without proper ACPI driver, i cant even boot.

#4812

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4803

> I have this controller on lenovo notebook, but never used it with win8. On WinXP usb3 controller was hidden by ACPI DSDT Code

If your acpi.sys supports all opcodes in the DSDT, change OSI string in acpi.sys from Windows 2001 SP2 to Windows 2012.

#4813

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4804

> @Mov AX, 0xDEAD
> for both my B75 boards (DEV_1E31) it was necessary to apply the WPCRset trick as for the AMD XHCI driver.

Now that you're using WDF 1.11, what about trying the HCSwitch drive one more time?
Just edit iusb3hcs.inf and change 6.1 to 5.1 and delete the following lines:

    [DestinationDirs]
    CoInstaller.CopyFiles = 11

    [HCSwitch.NT.CoInstallers]
    AddReg         = CoInstaller.AddReg
    CopyFiles      = CoInstaller.CopyFiles

    [CoInstaller.CopyFiles]
    WdfCoInstaller01009.dll

    [SourceDisksFiles]
    WdfCoInstaller01009.dll=1

    [CoInstaller.AddReg]
    HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

Then install the driver (System Devices -> PCI Bus device).
Beware, backup before if needed as it may crash during boot.

#4814

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4812

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4803

> > I have this controller on lenovo notebook, but never used it with win8. On WinXP usb3 controller was hidden by ACPI DSDT Code

> If your acpi.sys supports all opcodes in the DSDT, change OSI string in acpi.sys from Windows 2001 SP2 to Windows 2012.

I already thought about spoofing acpi.sys, but not tested on hardware, lenovo's dsdt is too smart, it hide Bluetooth device too )

#4815

diderius6

⇗ @ruthan
Take a normal harddisk
and install with Integrator v2.3.3b6
from website
⇗ https://www.zone62.com/downloads/softwar...comment_id=2220
After this, you know more
Dietmar

## Page 322

#4816 | Andalu | ⇗ @daniel_k when I try to update the XHCI controller (DEV_1E31) by the 'Have disk' option, I got the message: "The specified location does not contain information about your hardware".
#4817 | Andalu | ⇗ @diderius6 here too I had sometimes a sudden disconnection with the "Found new hardware" wizard started automatically ⇗

#4818

diderius6

⇗ @Andalu
For me this happens only with the uaspstor.sys driver
in combination with
USB\Class_08&SubClass_06&Prot_62
May be, that this is not the fault of the uaspstor.sys driver,
but just of the USB 3.1 ports, which can not give more than 800 mA current
Dietmar

#4819 | Andalu | ⇗ @diderius6 the same here, I talked about the USB UAS mass storage driver. Never had issues with the USB3 driver backported from Win8 (USB mass storage driver).

#4820

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4816

> @daniel_k
> when I try to update the XHCI controller (DEV_1E31) by the 'Have disk' option, I got the message: "The specified location does not contain information about your hardware".

The HCSwitch driver must be installed on the PCI bus device.

#4821 | Andalu | ⇗ @daniel_k just tried via "add new hardware" wizard but I got immediately the 0x0A1 bsod. On manually restart, I got the 0x07B bsod (even in safe mode).
#4822 | Andalu | ⇗ @diderius6 to be more precise, here's what happened two days ago with a nvme disk mounted on an usb3 adapter: ⇗

#4823

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4821

> @daniel_k
> just tried via "add new hardware" wizard but I got immediately the 0x0A1 bsod. On manually restart, I got the 0x07B bsod (even in safe mode).

Actually, you was supposed to choose update driver in Device Manager... not sure if this changes anything.

#4824

Andalu

⇗ @daniel_k
it installed correctly now but I got a 0x07B bsod on restart.
⇗ ⇗
Here a part of the modded iusb3hcs.inf:

    [Version]
    Signature="$WINDOWS NT$"
    Class=System
    ClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}
    Provider=%INTEL%
    DriverVer=05/21/2012,1.0.5.235
    CatalogFile=iusb3hcs.cat

    [Manufacturer]
    %STDDEV%=HCSwitch_PCIF,NTx86.5.1,NTx86.6.2

    [HCSwitch_PCIF.NTx86.5.1]
    %XHCI.DeviceDesc%=HCSwitch, *PNP0A08

    [HCSwitch_PCIF.NTx86.6.2]

    [SourceDisksNames]
    1 = %DISK_NAME%,,,""

    [PackageInfo]
    Name=iusb3hcs

    [SourceDisksFiles]
    iusb3hcs.sys = 1,,

    [HCSwitch.DriverFiles]
    iusb3hcs.sys

    [DestinationDirs]
    HCSwitch.DriverFiles     = 12

    [HCSwitch.NT]
    Include   = machine.inf
    Needs     = PCI_DRV
    CopyFiles = HCSwitch.DriverFiles

    [HCSwitch.NT.HW]
    AddReg = HCSwitch.AddReg

    [HCSwitch.AddReg]
    HKR,,"LowerFilters", 0x00010000, %ServiceName%

    [HCSwitch.NT.Services]
    Include    = machine.inf
    Needs      = PCI_DRV.Services
    AddService = %ServiceName%,,HCSwitch.ServiceInst

    [HCSwitch.NT.Wdf]
    KmdfService    = %ServiceName%, HCSwitch.wdfsect

    [HCSwitch.wdfsect]
    KmdfLibraryVersion = 1.9

    [HCSwitch.ServiceInst]
    DisplayName    = %XHCI_svcdesc%
    ServiceType    = %SERVICE_KERNEL_DRIVER%
    StartType      = %SERVICE_BOOT_START%
    ErrorControl   = %SERVICE_ERROR_NORMAL%
    ServiceBinary  = %12%\iusb3hcs.sys
    LoadOrderGroup = "Boot Bus Extender"

    [Strings]
    INTEL = "Intel"
    ServiceName       = "iusb3hcs"
    STDDEV = "(Standard system devices)"
    XHCI.DeviceDesc = "PCI bus"
    XHCI_svcdesc = "Intel(R) USB 3.0 Host Controller Switch Driver"
    DISK_NAME = "Intel(R) USB 3.0 Host Controller Switch Driver Install Disk"
    SPSVCINST_ASSOCSERVICE = 0x00000002
    SERVICE_KERNEL_DRIVER  = 1
    SERVICE_BOOT_START     = 0
    SERVICE_ERROR_NORMAL   = 1

#4825

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4824

> @daniel_k
> it installed correctly now but I got a 0x07B bsod on restart.

Thanks, what a dumb driver... will see if I can debug it later.

#4826

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #4818

> May be, that this is not the fault of the uaspstor.sys driver,
> but just of the USB 3.1 ports, which can not give more than 800 mA current
> Dietmar

I don't know if the issue can depend from the power. I tried booting with two UASP devices and two USB3 sticks already connected during the boot and I had not issues.
I got a blank screen only with five devices connected during the boot (2 UASP + 3 USB). Tried 3 times, no difference (5 devices are a bit too many)

#4827

ruthan

Some progress.
Its really about "right" driver i dont believe that my machine and porting to existing installation is something special.. but maybe only some additional driver adjustment (my guess are some files dependency.. which are not here, when you just install only clean driver..) are needed in compassion just just integration of drivers to cd.
I got new shipment :) of drivers:
Generic SATA+AHCI driver v1.3 - no lock, code 37 on device after installation, but
storahcisetup skullteria - its working, SSD and CD-ROM are fine, unfortunately its seems to not compatible wiht paragon GPT driver - or not at least without reinstallation (but i doubt that it will help, i will try to move GPT disk to Marwell controller).
USB - Generic USB 3.0 xHCI driver v1.1 (Windows 8)
Its much better that anything before, i finally hub installed all USB2 hubs without code 10, devices where find right after hubs installations.. Include mouse and keyboard and they worked right away. Even USB Lan was found and tried to connected to internet, but wasnt able to.. only keep trying.. i did not install driver for it, some Realtek 2016 driver was just found it system. Im not sure, if it was for my USB3 Gigabit lan, or just some for older USB2 100 Mbit lan.
Even after shutdown and boot to Win10, it seems that USB LAN adapter were stuck badly and not worked.
Unfortunately after reboot, got when Bluescreen when i should get Logon screen with error:
0x000000x8E (.. and some others see photo) . I wonder if is possible track, if problem is USB related (i didnt really mess with anything else in that boot session) and if possible to trace it to some device (there are some sub numbers). I had some incomplete USB driver for Web cam (MS HD 3000) before reboot, because driver installed need working internet.
If is not problem with device driver, it means that driver is much better, what others but still not good enough - still has some bugs.
⇗

#4828

ruthan

With Marwell Sata controller is data GPT disk working fine, so i can now access to my data.
Now i really need to solve that 1 GB of ram problem.. to make system good enough for usage, other things are "optimal", no show stoppers.
Optimal things:
- working USB - i can bypass it with better PS2 gaming and mice, now i have clumsy ones for install
- working USB LAN - again, i can bypass it with addon PCI-E NIC
- i also reordered new USB2 PCI-E controler with MOSCHIP, but it would take at least month until it will arrive from China
- make NVME drives readable
Otherwise timer - seems to work fine, no negative values.

#4829

diderius6

Via boot with the uaspstor.sys driver I succeed to go away from BSOD 0x7B. This is a copy from a working XP SP3, put to the uaspstor device. Everything is ok with the registry and the HIVE software and all the other files there. This error can be exact reproduced with another XP SP3 image also.
For service of uaspstor I use Group Boot Bus Extender start=0 and the same for XHCI and USBHUB3. Bye the way I noticed,
that Group System Reserved loads before Boot Bus Extender and this before SCSI miniport.
Now comes a BSOD, that I have never seen before.
SESSION3_INITIALIZATION_FAILED
BSOD 0x0000006F (0xC0000102, 0x00000000, 0x00000000, 0x00000000)
Dietmar
PS: It seems, that this driver has a problem to load correct the Hive software.
May be, that the driver uaspstor.sys has a problem with smss.exe.
EDIT: Before first boot with the driver uaspstor.sys I can load the hive "software" from that USB device on an external XP.
But after first boot, I cant load this hive "software" again by an external XP. This simple means, during boot with the uaspstor.sys driver,
the CRC checksum of the Hive "software" is destroyed.
This I get via F8 (Safe Mode):
⇗

#4830

Keegan

Hi Everyone,
I've been attempting to install windows XP on a modern device now for some time without success. My main issue is the BSOD 0x7B after the windows setup, is anyone able to assist?
I've tried a bunch of drivers for what should be the correct storage controller without success. I run in to the issue with some drivers whereby they are too large to fit on the 1.44mb floppy disk.
My setup:
- HP ProDesk 400 G1 SFF
- Intel Haswell H81 Chipset motherboard (DEV_8C02)
- 250GB SSD formatted
- Genuine XP CD
- USB floppy drive with 1.44MB floppy disks
- BIOS set to AHCI mode

## Page 323

#4831

diderius6

⇗ @Keegan
Try
⇗ https://www.zone62.com/downloads/softwar...comment_id=2220
This is a very nice generic XP SP3,
which runs on nearly every compi
Dietmar

#4832 | Keegan | ⇗ @diderius6 Thanks for your help, I would really like to avoid installing a cracked XP if possible. If I can't figure anything else out or get further assistance i'll give it a shot.

#4833

ruthan

I tried NEC \ Renesas USB3 addon card (PCI\VEN_1912&DEV_0014&SUBSYS_00000000&REV_03 - 720x - its combo 4 ports + 1 internal and its even has USB3 front header) with Generic UBS3 driver. Which is tricky one, even with Windows 10.. But i have no alternative, i have only VIA USB3 ones, which would be probably even worse, no Fresco.. ASM 3xxx which need longer than PCI-E 1x slot, which i would sacrifice, because other cards - i plan to use 3 GPUS for (Win98 (i dunno if physicaly but with KVM for sure) / XP and WIn7+) so long slots are full. So i would have order ASM 1xxx with only shame is that i never saw it with more that 2 port.
Regardless with NEC is working with XP even after reboot with USB LAN adapter, so im now online. Bluetooth and FLashdisk are working too. So problem is really with Generic USB + Driver and Intel USB3 controller, or Intel USB3 controller and in synergy with some type of device (i have lots of them.. even some TV sticks, Doplhin bar for WIi emulator, some remote etc, so maybe more complex text that someone did before).
Even if would be NEC more realiable.. it still sucks, because its not working for bios, so it would need still have to mess with 2 keyboards and mice. So, its getting better, with some annoyance i my XP setup could be ready for normal use, if someone will solve that 1GB of RAM problem.. Any ideas, in the history i saw some alternative hals etc, is it now dead thing?

#4834

ruthan

I have tried magic XP SP3 distro with these options:
- Integrated Sata/AHCI driver
- NVME 1.3
- ACPI patch
- PAE 4GB RAM patch
-Remove drivers packs base
I did not used USB3 driver to had room to mess with them later, i also disconnected all disc, include NVME to i dunno yet if it will working.. im now making clean disc image to have possibility easily return to point zero..
When i had NVME connected, install see target Sata disc as letter E and NVME which is GPT as unformated to MBR disc, so i get affair that it will try to install bootloader on it or otherwise mess with data.. I have computer under table and case is full of card, so disconnecting of NVME with special cooler was quite a mess. I still dream about standard bios feature to disable some disc without disconnecting.
I had some strange behavior when i tried to use target disc connected to Marwell controller, all setup copied all data.. but after that it returned to partition screen (target partition was still shown as unformated), there is small chance that disc sata cable, was wrongly connected, but i doubt it.. so maybe some script problem, when i tried to boot from disc some data where here.. When used Intel Sata on board port, it worked fine.
So far one big difference discovered, i see full 4.00 GB of ram.. that is difference.
Question why.. Is Win-PAE-Patch supposed to that? I have idea that my original install is not in english so maybe that is problem and patcher is not patching what supposed to, but im getting patching that patching was ok, except on presented files.
List of unknown devices seems to be same as with my existing install.. now i will try to mess with NVME a USB3.

#4835

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4803

> On WinXP usb3 controller was hidden by ACPI DSDT Code

⇗ @Mov AX, 0xDEAD ...I wonder about that. I am using my mainboard (B360M chipset) to run XP, W7 and W10. Can I mod the BIOS for XP only? Also, is there anything in BIOS related to com ports and debugging mode?
I am thinking the BIOS may be coded to exclude XP, I don't want to change BIOS code that will affect W7 and W10. I know the Intel setup files for USB drivers are written to exclude versions of chipsets after Skylake. The code references Skylake.

#4836

ruthan

Other news..
- NVME driver installed a can see disc in disc management just fine and again question where could be difference?
- GPT loader is not really working with Universal Sata. I can see disc in Device manager or Disk list. I have smaller 256 GB which is at least listed in disc managment (but has not letter and its not possible to assign it because that is it thing GPT loader thing - which should be done automatically). Big data disc - 4TB disc i dont see at all - true is that with old install i have installed some 3TB+ disc unlockers.. which where bundled with MB software or i thing with Acronis etc. Maybe they are needed.
I guess that with Marwell Sata driver it would be ok, but need to test to be sure, if it is Sata driver thing (probably) or some unlocker is needed.
To magic distro:
- i thing that would make add some realtek HD optimal package to have sound out of box, there is just one old universal driver and virtually everybody have it onboard..
- at least some portable Pspad or Notepad++ would help too, there is option to install much stranger things in install Wizzard.
I discovered what means that SSE2 Updates Rollback package, its for CPU which are not supporting SSE2, that is not our thing.

#4837

gordo999

> Zitat von ⇗ Keegan im Beitrag ¶ #4832

> I would really like to avoid installing a cracked XP if possible.

⇗ @Keegan ...did not catch the beginning of your post...have you tried upgrading an installed XP SP3 to the unofficial XP SP4 upgrade? The SP4 upgrade has drivers that can help get you past the standard boot BSOD errors of 0xA5 and 0x7B. Then you can use daniel_k's AMD USB driver. I have done a repair install using the slipstreamed XP SP3 disk with the SP4 unofficial upgrade. It adds all the latest updates. I have daniel_k's USB driver integrated into the installation.
If you try a repair install you must first change a setting in nlite before merging SP4 with SP3, otherwise the repair option does not appear during repair install. I can look it up if it interests you. To my surprise, without the nlite change, SP4 installed a completely new XP installation in parallel with the existing one. I could boot from either installation.

#4838 | ruthan | Ok, its like a though.. with Marwell i can see 4TB disk is Disk management (un only as 2 TB one.. - i have to check on migrated machine if its ok or not.. maybe its just MS stupid forecast.. - if not some unlocker is really needed), but still not letter assigned and same as for smaller 256 GB disk. If my memory serves - integrated GPT loader demo is just 8.x and last version 10.x could be problem.. Or maybe integrated version has some other managment which i dont know.

#4839

ruthan

⇗ @Keegan - only other way is install it on older machine, virtual machine and migrate installation and use Sata controller with IDE bios and replace acpi.sys .. and after that install all new nice drivers, that is almost as my migration way of use old install..
But its really more time consuming and new more knowledge.
Or you can try inject Sata drivers (to bypass need of non AHCI controller for first boot) on your own to iso - where is proven that nlite is botched.. or with driver injector which i posted few days ago - but its unproven.

#4840

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4839

> where is proven that nlite is botched.. or with driver injector which i posted few days ago - but its unproven.

⇗ @ruthan ...I found out the hard way that if you use nlite on XP you have to use the XP version AND you have to run it on an XP installation. Otherwise it fails. I have run it on an XP virtual machine and on my current XP installation with no errors. If you run an XP integration on W7 or higher, it fails and if you use an nlite version higher than XP it fails on an XP integration.
I have used nlite successfully to integrate XP SP3 with SP4 and I have added drivers from this site with no problem. I used the same integrated disk to do a repair install of XP. Having said all that, I'd prefer to do it directly without using nlite so I could learn the proper process.

#4841

ruthan

Ok, with Generic USB driver on Intel USB3 controller - i simulated with clean install exactly same freeze - boot black screen. So its controller itself, or controller with combination with some device.. and its not USB lan and bluetooth because there are working fine with NEC controller. I installed only generic Windows inbuild drivers for my USB devices.. to it they were not recognized at all, or as HID devices.
I also tested Gigabyte and Asrock 3TB+ unlocker, so luck.. But i found that my GPT loader is really version 10, so it could be just old GPT loader version.. i will test it.

#4842

ruthan

So it like, i though with newer Paragon GPT driver, i can read and write from GPT disk fine, when from NVME what is nice.
It has some flaws:
- after installation it assign letter to virtually every partition even to EXT4 and HFS+ ones.. and EXT4 can be remove from disk console, but HFS+ dont, i always removed letter through some partition managers.. but it dont remember detail, it wasnt super easy.
- it love to mark partitions as dirty for scandisk checks.. and its deadly with combo when you have not working keyboard during boot, if im not wrong USB keyboard are usually initialized to at logon screen, so you can get very long checking pause.. or you have reset and connect PS/2 keyboard to skip, or somehow disable scandisk on boot.. or maybe make checking with other OS and do multiple reboots. Its annoying. Its checking every volume.. even if it can understand filesystem (what is quick its just 5-10s to).
- other problem is that all connected disk which are using GPT driver, are in system as portable and removable.. I never was crazy about XP disk hotplugin so i would prefer to disable it.
To my honor, i reported maybe 5 years ago to Paragon, that GPT loader is not working with some disc controllers, but bug is still open - other priorities, on discontinued product now.. bla, bla.

#4843 | Outbreaker | ⇗ @ruthan Was the Paragon GPTLoader v8 not the last version they put out? A user has even done some fixes for v8 ⇗ http://hardwarefetish.com/777-paragon-gpt-loader-3

#4844

infuscomus

⇗ @Mov AX, 0xDEAD ⇗ @daniel_k
testing nvme in VMWare and Virtualbox and the only driver that has worked so far is stornvme of windows 10
OFA nvme failed, Samsung nvme failed
even stornvme of windows 8 failed
can stornvme of windows 10 be backported?
edit:
I got stornvme driver of 10 to start by removing the security cookie, no crash this time, but no nvme drive shows up.
so is there something in storport of 10 that helps with nvme for VMs?
edit2:
I'm thinking to try and make a backport of storport 10
I can use some of the code from backported storport 8 that @Mov Ax 0xDEAD wrote but there are other functions in storport 10 that are called
extra functions called by storport 10:

    IoGetAdapterCryptoEngineExtension
    IoGetAffinityInterrupt
    ExReleaseSpinLockSharedFromDpcLevel
    PoFxIdleComponent
    IoDisconnectInterruptEx
    IoGetIoPriorityHint
    KeFlushIoBuffers
    EtwWriteTransfer
    ExAcquireSpinLockSharedAtDpcLevel
    ExAcquireSpinLockExclusive
    ExAcquireSpinLockExclusiveAtDpcLevel
    IoQueueWorkItemEx
    ExReleaseSpinLockExclusiveFromDpcLevel
    FirstEntrySList
    PoUnregisterCoalescingCallback
    PoRegisterCoalescingCallback
    PoFxRegisterCrashdumpDevice
    KeGetCurrentProcessorNumberEx
    ExReleaseSpinLockShared
    ExAcquireSpinLockShared
    MmAllocatePagesForMdlEx
    PoFxIssueComponentPerfStateChange
    KeGetProcessorIndexFromNumber
    KeQueryGroupAffinity
    MmMapIoSpaceEx
    PoFxSetComponentLatency
    IoPropagateIrpExtension
    ExReInitializeRundownProtectionCacheAware
    ExSetTimer
    ExDeleteTimer
    ExAllocateTimer
    ExCancelTimer
    PoFxRegisterComponentPerfStates
    PoFxPowerOnCrashdumpDevice
    IoReportInterruptActive
    IoReportInterruptInactive
    PoFxCompleteIdleCondition
    ZwQueryLicenseValue
    EtwSetInformation
    RtlComputeCrc32
    EmClientQueryRuleState
    KeQueryUnbiasedInterruptTime
    PoRegisterPowerSettingCallback
    ExReleaseSpinLockExclusive
    ExWaitForRundownProtectionReleaseCacheAware
    IoGetGenericIrpExtension

but I don't know which of these functions need code and which can be stubbed.

#4845 | daniel_k | Can't see the point of a working NVME driver on a VM? Problem isn't the driver, it's the emulated NVME controller.

## Page 324

#4846 | infuscomus | ⇗ @daniel_k can we be certain this behavior wouldn't ever occur on real hardware? earliest windows 10 1507 storport/stornvme work correctly in a VM would I be asking too much to ask for a backport of storport/stornvme 1507?

#4847

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #4846

> @daniel_k
> can we be certain this behavior wouldn't ever occur on real hardware?
> earliest windows 10 1507 storport/stornvme work correctly in a VM

Please, please, there are no issues with the drivers.
Our goal is to get real hardware working, which has proven to be true.
If you do a web search for virtualbox and nvme, you'll find several problem reports and explanation as to to why it doesn't work on many builds of Win10 etc.
⇗ @diderius6's got NVMEs from Intel, Samsung and Toshiba working, with varying controllers.
⇗ @Andalu and I have Samsung NVMEs, which do work fine.
Do you even have a NVME driver to try? Seriously.

> Zitat

> would I be asking too much to ask for a backport of storport/stornvme 1507?

For me, way too much and I see no point of doing it. Unless ⇗ @Mov AX, 0xDEAD sees a reason for it and do it.
Newer versions are optimized for today's PCs, NUMA and the like, most missing imports are related to them.

#4848 | infuscomus | ⇗ @daniel_k OK, you've made your point, I'll stop asking.

#4849

ruthan

> Zitat von ⇗ Outbreaker im Beitrag ¶ #4843

> @ruthan
> Was the Paragon GPTLoader v8 not the last version they put out? A user has even done some fixes for v8 ⇗ http://hardwarefetish.com/777-paragon-gpt-loader-3

Last version is probably 10.0.16.12944 , i dunno why version 8 is integrated, if these patches are included or not.. i can only say that its not working for me, but newer version is ok.

#4850

ruthan

Ok i made working pae patch with old installation. Problem was logical, i installed patch from executed XP.. and these files are somehow protected, or restored after reboot. It would be nice to add some warning. Other there was only pro some old 486 hal, which im not using of course. Im not 100% sure if im using original file, or some already modified.
PAE will be enabled with RAM limited to 4Gb.
Patching ntkrnlmp.exe (Multiprocessor Kernel)... OK!
Patching ntoskrnl.exe (Uniprocessor Kernel)... OK!
Patching ntkrnlpa.exe (Uniprocessor PAE Kernel)... OK!
Patching ntkrpamp.exe (Multiprocessor PAE Kernel)... OK!
Patching hal.dll (Standard PC/Standard PC w/ C-Step i486 HAL)... Invalid file!
Patching halaacpi.dll (ACPI Uniprocessor PC HAL)... OK!
Patching halacpi.dll (ACPI PC HAL)... OK!
File halapic.dll (MPS Uniprocessor PC HAL) was not found.
Patching halmacpi.dll (ACPI Multiprocessor PC HAL)... OK!
File halmps.dll (MPS Multiprocessor PC HAL) was not found.
So only difference between my new and old install behavior is old now working NVME driver (code 10). I retested it after i made PAE working is still the same.
Update: Im using hal.dll from this thread which suppose to fix timers issues its from December 20, 2018, 22:20:18, so that is probably why, it was not patched.

#4851

daniel_k

⇗ @ruthan
Did you apply this?

> Zitat von Mov AX, 0xDEAD

> i found issue in storport_w8: by default it force MSI Interrupts, fix to use standart interrupts:
> offset_132b3: C6 83 CC 09 00 00 01 => C6 83 CC 09 00 00 00

Remember to fix PE checksum.

#4852

ruthan

⇗ @daniel_k Sorry, im a bit confused, this should be related to not working NVME or to something else?
I got storport.sys - from October 22, 2007, 15:36:20 ⇗ @diderius6 so its not pached by new discoveries. In StorPort v5.2.3790.4173 folder is same file. Also in storahcisetup (skullteria) is the same file so if exists something better / newer i dont have it. Same file i have in my existing installation.
But you are right magic distro has storport.sys + storahci.sys and which have date from time of installation or making installation ISO, other files in system32\drivers.. have proper (old) dates.
Should a i just overwrite it? And if yes just only storport.sys or storahci.sys too?

> Zitat

> Remember to fix PE checksum.

Its beyond my skills, i would need whole file to use.

#4853 | ruthan | I did binary comparision of storport.sys on both installations and they are the same. So patch is not applied probably anywhere.

#4854

daniel_k

> Zitat von ⇗ ruthan im Beitrag ¶ #4853

> I did binary comparision of storport.sys on both installations and they are the same. So patch is not applied probably anywhere.

That patch I told you about it's not for the Server 2003 version of storport.
It's for the W8 ported Mov AX, 0xDEAD storport.sys.
I'll send you a PM.

#4855

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #4816

> when I try to update the XHCI controller (DEV_1E31) by the 'Have disk' option, I got the message: "The specified location does not contain information about your hardware".

⇗ @Andalu ...may be overly simplified reply but that message indicates it did not find an INF file in that location that applied to your hardware. Check the INF file to makes sure it specifies your hardware and that your hardware is not listed as excluded. Could be a syntax error in the INF file.

#4856 | canonkong | ⇗ @daniel_k I tested the new MOD driver without WppRecorder. It is working very well for each USB expansion card from ASMedia, Etron, VIA, Renesas, Texas Instruments, Fresco Logic, also is working well on Intel and AMD USB devices. ⇗
#4857 | ruthan | ⇗ @canonkong Ok lots of controllers.. but what about devices ? Could you try some devices compatibility - i means mouse, keyboard, web cam, some complex device etc.. anything else that just flashdisk.. ? I have for example with Intel and some devices - blue / black screen after reboot.
#4858 | canonkong | ⇗ @ruthan Mouse, keyboard, U disk, mobile hard disk, USB decoder, USB wireless network card, USB Bluetooth device all working well. I want to test more usb device, but no more other USB devices I have.
#4859 | ruthan | @Canonkong: And you tested all of these on all controllers? I thing that Intel is most important.. because everyone has it on board. I plan do some testing too.
#4860 | canonkong | ⇗ @ruthan Yes, I tested all of these on all controllers, also test them on AMD X370/B450/X570 with APU/Ryzen CPU. For intel, I only have H110/B250 mainboards.

## Page 325

#4861 | ruthan | So i have to have something really ugly combination of devices.. to get black / blue screen.. i wanted to avoid it.. but it guess.. that i would have to install controller driver.. reboot.. install hub driver reboot.. and after one device after other try to reboot to find what is wrong. I only hope that just disable device would work, because other there is not way to block usb devices autodetection unless i will all disconnect at the start - what is additional hassle..

#4862

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #4855

> @Andalu ...may be overly simplified reply but that message indicates it did not find an INF file in that location that applied to your hardware. Check the INF file to makes sure it specifies your hardware and that your hardware is not listed as excluded. Could be a syntax error in the INF file.

already solved ¶ here, thank you. The inf was correct, I had to look for the PCI bus instead of the USB controller.

#4863 | daniel_k | ⇗ @canonkong Thanks for the tests, hopefully this driver wll be our final and best version ever!
#4864 | ExtremeGrief | Hi, I just saw this thread, but I don't want to read 325 pages. Can I get a guide or something, along with bug list and workarounds?
#4865 | fruitbat1001 | Check This Out if you are a beginner. Don't forget to integrate the required drivers: ⇗ https://www.zone62.com/downloads/softwar...ntegral-edition
#4866 | canonkong | ⇗ @daniel_k 10Gbps USB to NVMe device working on 20Gbps USB3.2 GEN2X2 expansion card. MS UASP driver is faster tha VIA UASP. ⇗

#4867

daniel_k

⇗ @canonkong
Really nice numbers!
As usual, all credits to ⇗ @Mov AX, 0xDEAD for the original patch. Just ported it to x64 and he helps me even if he doesn't care about x64.
VIA is known to have terrible drivers. Hardware is not that bad, using MS drivers (XHCI) is a completely different experience.
I know you're on Win7, but please really stress that drive. On XP, ⇗ @diderius6 and ⇗ @Andalu had problems:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (321)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (322)
Does the drive you're benchmarking have hight current requirements?

#4868

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #4862

> The inf was correct, I had to look for the PCI bus instead of the USB controller.

⇗ @Andalu ...The 0x7B error can be related to the disk controller. I know you are using NVME but when I get the 0x7B it's related to the Intel SATA AHCI Controller which is DEV_A352 on my B360 chipset. Here's what Microsoft has to say about 0x7B:
⇗ https://support.microsoft.com/en-ca/help...-inaccessible-b
I recall that my pci driver had an issue when the USB switch driver and coinstaller got installed along with it. Right now, all I have for a PCI driver is pci.sys with hardware ID ACPI\PNP0A08. It has a *PNP0A08 in that section as well. The pci.sys version is 5.1.2600.5512 (xpsp.080413-2111).

#4869 | canonkong | ⇗ @daniel_k I haven't encountered these problems yet. My USB to nvme device adopts jms583 chip scheme, and the bridging nvme device is Samsung's pm981a and sm961. This may have something to do with the system version itself.
#4870 | canonkong | I found an interesting phenomenon. My B250 motherboard can work normally without any xhci driver. However, they will be recognized as PS / 2 devices by the system, even though they are USB devices. Maybe we can do something with the bios. ⇗
#4871 | ruthan | They are bios related option USB legacy and Port 60-64 at least on Gigabyte board. I have similar problem PS/2 mouse is working everywhere (Bios, XP, Linuxes, XP, Windows 7) but not in Win10 on Z390.
#4872 | canonkong | ⇗ @ruthan Well, I see. I found that my Gigabyte x570 motherboard also has this function.

#4873

Andalu

The nice XP Integral Edition ISO installs fine also on the Sabrent Rocket m.2 nvme disk. For the first time on my system, the XP installation and the booting from a nvme disk is fastest then a SSD, thanks to the samsung driver from ⇗ @daniel_k and ⇗ @Mov AX, 0xDEAD
Never happened before with the OFA drivers.
Here the screenshots:
on the left, with the original intelppm.sys, the cpu temperatures is high even only with few working processes; on the right, with the modded intelppm.sys from the halplusintelppmXPSP3 package, the cpu temperatures become regular for the benefit of the system (and my ears):
⇗ ⇗

#4874

ruthan

Ok, i did other round ot testing with Intel USB3 on Z390 and clean install + Generic USB 3.0 xHCI driver v1.1
- Install driver for controller itself is ok, but when i installed USB 3 hub and disabled all USB2 hub installs and all USB devices - non had any driver, i simulated boot problem. So unless it depends that is some devices even contronected - regardless that it is disabled and without driver. Problem is hub driver.
My id, wonder is someone has exactly the same controller?
Controller - PCI\VEN_8086&DEV_A36D&SUBSYS_50071458&REV_10

#4875 | ruthan | BTW that WinXP scandisk is really annoying how its slow, how its possible that Win 10 scandisk is at least 10x faster? I dont thing that it is bruteforce, only probably not checking everything.

## Page 326

#4876 | Andalu | ⇗ @gordo999 I made that attempt using a hard disk drive (no nvme). I tried by installing a different sata/ahci driver (Intel RSTe_4.7.0.1117) without success, same bsod on restart even changing storport version (v5.2.3790.4485 and v6.2.9200.16384 both tried). It's not a real issue, it was just an attempt to verify the effectiveness of a new development from @daniel_k. Pci.sys and hardware ID are the same here too for all my intel boards.
#4877 | Andalu | ⇗ @ruthan no issue here with a similar usb controller: PCI\VEN_8086&DEV_A36D&SUBSYS_86941043&REV_10

#4878

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4821

> @daniel_k
> just tried via "add new hardware" wizard but I got immediately the 0x0A1 bsod. On manually restart, I got the 0x07B bsod (even in safe mode).

Hi, found the issue, finally!
iusb3hcs.sys is a WDF driver. KMDF Runtime (Wdf01000.sys) MUST be loaded first, then all drivers depending on it.
The way we've integrated Wdf01000.sys is not 100% correct.
iusb3hcs.sys is installed as a lower filter for the PCI bus device, which is one of the first drivers loaded during boot. As the KMDF Runtime isn't loaded yet, Windows cannot proceed to enumerate devices, hence the 0x7B boot error.
Copy the following text and save it as Wdf01000.reg then apply it.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000]
    "Group"="System Reserved"

This will make sure the service is loaded first.
Restart and install iusb3hcs.inf.
The driver will load, but is it going to work? Let us know!

#4879

daniel_k

On a side note, this may interest you.
By default, XP disables the USB port when the connected device is ejected. So the external disk/pendrive is powered off.
But originally, the ported XHCI driver is a Win8 driver, which behaves differently unless you apply the following registry key:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\usbhub\hubg]
    "DisableOnSoftRemove"=dword:00000001

#4880

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4878

> The driver will load, but is it going to work? Let us know!

Same 7B bsod

#4881

ruthan

> Zitat von ⇗ Andalu im Beitrag ¶ #4877

> @ruthan
> no issue here with a similar usb controller: PCI\VEN_8086&DEV_A36D&SUBSYS_86941043&REV_10

Similar is not same. Well, i heard that it just working year back :) I thing that we are slowly getting here..

#4882

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4880

> > Zitat von ⇗ daniel_k im Beitrag ¶ #4878

> > The driver will load, but is it going to work? Let us know!

> Same 7B bsod

It's because of naming scheme of WdfLdr8.sys XHCI driver.
iusb3hcs.sys expects WdfLdr.sys.
Open \Windows\System32\Drivers and copy WdfLdr8.sys to WdfLdr.sys and try again.

#4883 | Andalu | ⇗ @daniel_k it works!!... now ;)
#4884 | daniel_k | ⇗ @Andalu Finally! Check performance and if it changes those registers.

#4885

ruthan

I did one more round of WinXP stuff.
1) I tried SDI tool driver installer for some unknown devices, its always a bit risk and it was able to recognize and install driver to couple of devices.. i dunno it these are just null drivers (right names for device manager) or they are actually doing something:
PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10\3&11583659&0&FC // Intel Z390 Chipset SMBus Controller
PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10 //Intel Z390 Chipset SMBus Controller
PCI\VEN_8086&DEV_A324&SUBSYS_72708086&REV_10 // Intel Z390 Chipset SPI (flash) Controller
PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10 // Intel Z390 Chipset Thermal Subsystem
2) I now that is not probably not useffull to lots of people but.. tool for remove drive letters from Mac HFS partitions is Paragon HDD manager 2015.. there some demos and 2014 free version, so you can try them.
3) USB:
- tried to detect more devices with working NEC USB3 controller, so USB keyboard and mouse is working fine and Logitech unified controller problem too.. mouse + logitech these are connected through USB3 hub.. but what is interesting that for that hub.. i actually got multiple USB3 hub detections same as USB2 hub detection? Its this normal - it look like one hub is for port, or connected device.. I thing that windows 98 worked like that but i dont thing that Windows XP+ are working like that.
I also have some unknow device.. with has not proper name, just something about descriptor failing.. i will post details later, im now making disk image with a bit improved system.

#4886 | XPWELL64 | There are 6 different ACPI Booting Modes in my BIOS. These are Acpi1.0B,Acpi3.0,Acpi4.0,Acpi5.0,Acpi6.0,Acpi6.1. Acpi5.0 is selected as a default setting. Does it brick my BIOS? I'll select 1.0B. It is locked. I'm using InsydeH2O BIOS.

#4887

ruthan

I continued with testing, but failed device was now gone, tested Webcam, also worked, but USB mouse cursor was dead (it worked only after 1st isntall, after that 2 reboots nothing, but with my NEC controller it could be still Temporary).. and later not long after basilisk start, even PS/2 mouse cursor froze. It could be new devices drivers and my Nec controller is also not stable.. but i because Intel one is not working at all its best what i can now do. I better controllers are on the way.
Im testing NEC controller with Win10 too, so we will now, here as mouse working fine, only USB LAN never was reliable. I was suprised, but its working in bios, i had with other machine opposite experience.

#4888 | ruthan | @XPWELL i guess that you would have to check manual.. but for Windows XP, now with patches should work same settings as for new Windows or Linux.

#4889

Andalu

> Zitat von ⇗ ruthan im Beitrag ¶ #4885

> I did one more round of WinXP stuff.
> 1) I tried SDI tool driver installer for some unknown devices, its always a bit risk and it was able to recognize and install driver to couple of devices.. i dunno it these are just null drivers (right names for device manager) or they are actually doing something:

>     PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10\3&11583659&0&FC // Intel Z390 Chipset SMBus Controller
>     PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10   //Intel Z390 Chipset SMBus Controller
>     PCI\VEN_8086&DEV_A324&SUBSYS_72708086&REV_10 // Intel Z390 Chipset SPI (flash) Controller
>     PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10 // Intel Z390 Chipset Thermal Subsystem

> 2) I now that is not probably not useffull to lots of people but.. tool for remove drive letters from Mac HFS partitions is Paragon HDD manager 2015.. there some demos and 2014 free version, so you can try them.
> 3) USB:
> - tried to detect more devices with working NEC USB3 controller, so USB keyboard and mouse is working fine and Logitech unified controller problem too.. mouse + logitech these are connected through USB3 hub.. but what is interesting that for that hub.. i actually got multiple USB3 hub detections same as USB2 hub detection? Its this normal - it look like one hub is for port, or connected device.. I thing that windows 98 worked like that but i dont thing that Windows XP+ are working like that.
> I also have some unknow device.. with has not proper name, just something about descriptor failing.. i will post details later, im now making disk image with a bit improved system.

1) ¶ here are some answers to your questions
2) thanks for the info
3) can this image be useful? These are my three PCIEx to USB3 cards (Via, Nec, Fresco Logic) inserted at the same time on the Q370 board:
⇗

#4890 | ruthan | Did grand disconnection.. and with Intel USB3 + HUB im now booting so my problem has to be with some device.. and for error is probably enough that is just connected. I will have to connect one by one and make rebooting marathon..

## Page 327

#4891

ruthan

I found at least one "evil" device with not working with Intel USB3 + Win 8 driver, its USB TV stick.. Pinnacle 73e, even when i disconnect it once is driver installed im getting that black screen freeze, before logon window.
I would be later interesting if there would be same problem with NEC controller..
What is working:
Xbox 360 controller
Monitor USB2 hubs
Microsoft Webcam 3000 HD
Here is that evil driver maybe it will help with analysis.. It worked with XP fine for years.
ruthan has attached files to this post

- ⇗ PCTV 200Xe.zip

#4892 | ruthan | There has to be other evil device - Logitech unified dongle, or X360 controller without installed driver, it depends simply which ports are used..

#4893

Mov AX, 0xDEAD

⇗ @ruthan

> Zitat von ⇗ ruthan im Beitrag ¶ #4891

> I found at least one "evil" device with not working with Intel USB3 + Win 8 driver, its USB TV stick.. Pinnacle 73e, even when i disconnect it once is driver installed im getting that black screen freeze, before logon window.

what happened if tv stick inserted after windows was fully loaded ? what usbtreeview show on port ?

#4894

IntiMD

> Zitat von ⇗ ruthan im Beitrag ¶ #4885

> 1) I tried SDI tool driver installer for some unknown devices, its always a bit risk and it was able to recognize and install driver to couple of devices.. i dunno it these are just null drivers (right names for device manager) or they are actually doing something:
> PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10\3&11583659&0&FC // Intel Z390 Chipset SMBus Controller
> PCI\VEN_8086&DEV_A323&SUBSYS_50011458&REV_10 //Intel Z390 Chipset SMBus Controller
> PCI\VEN_8086&DEV_A324&SUBSYS_72708086&REV_10 // Intel Z390 Chipset SPI (flash) Controller
> PCI\VEN_8086&DEV_A379&SUBSYS_88881458&REV_10 // Intel Z390 Chipset Thermal Subsystem

Pretty sure these are the chipset null drivers. They can also be found in Fernando's Intel Chipset INF AiO pack under the Cannonlake-H folder (CannonLake-HSystem.inf for DEV_A323 and DEV_A324 + CannonLake_HSystemThermal.inf for DEV_A379.)

#4895

ruthan

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4893

> @ruthan
> what happened if tv stick inserted after windows was fully loaded ? what usbtreeview show on port ?

I cant simuate it. Once install driver and reboot even when stick is removed im still getting boot black screen, installation is dead - maybe i will be able to fix it in safe mode, but removing some zombie devices.. maybe not. Maybe is controller stuck in some state and reboot is not enoug, but i thing that in did power down.. or it need unplug eletricity for the moment.
Im also starting to thing that some installation order could have effect, im on the track to second not working devices.. and some patters, but so far i can say anything for sure. USBtree downloaded.

#4896

ruthan

Ok, i have at least some example that device detection failure:

      =========================== USB Port7 ===========================

    Connection Status        : 0x02 (Device failed enumeration)
    Port Chain               : 1-7
    PortAttributes           : 0x00000000

          ======================== USB Device ========================

    DriverKeyName            : ERROR_FILE_NOT_FOUND

            +++++++++++++++++ Device Information ++++++++++++++++++
    Device Path              : \\?\usb#vid_0000&pid_0002#6&1127c026&0&7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device ID                : USB\VID_0000&PID_0002\6&1127C026&0&7
    Hardware IDs             : USB\DEVICE_DESCRIPTOR_FAILURE
    Driver KeyName           : -
    Legacy BusType           : PNPBus
    Interface GUID           : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
    Enumerator               : USB
    Location Info            : Port_#0007.Hub_#0001
    Manufacturer Info        : -
    Capabilities             : 0x64 (Removable, SilentInstall, RawDeviceOK)
    Status                   : 0x01806400 (DN_HAS_PROBLEM, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
    Problem Code             : 43 (CM_PROB_FAILED_POST_START)
    HcDisableSelectiveSuspend: 0
    EnableSelectiveSuspend   : 0
    SelectiveSuspendEnabled  : 0
    EnhancedPowerMgmtEnabled : 0
    IdleInWorkingState       : 0
    WakeFromSleepState       : 0
    Power State              : D3 (supported: D0, D2, D3, wake from D0, wake from D2)

            +++++++++++++++++ Registry USB Flags +++++++++++++++++
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags
     GlobalDisableSerNumGen  : REG_BINARY 01

            ---------------- Connection Information ---------------
    Connection Index         : 0x07 (7)
    Connection Status        : 0x02 (DeviceFailedEnumeration)
    Current Config Value     : 0x00
    Device Address           : 0x00 (0)
    Is Hub                   : 0x00 (no)
    Device Bus Speed         : 0x02 (High-Speed)
    Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
    Data (HexDump)           : 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                               00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 02   ................
                               00 00 00                                          ...

        ---------------------- Device Descriptor ----------------------
    bLength                  : 0x00 (0 bytes)

          -------------------- String Descriptors -------------------
    String descriptors are not available  (because the device has problem code CM_PROB_FAILED_POST_START

I dont yet discovered which device is failing..
Im glad that i have not yet added XP videocard to machine, because i would probably now be mad from all that input switching.
Now i have plan to test all devices with Nec controller, after that get rid of it and change it for VIA with only 2 ports (so i will more dependent on external USB hubs).
I observation is that i never successfully booted with working Razer Death Adder mouse which is connected through extenal USB3 hub - on both NEC and Intel controller so suspecting problem here. Or it really needs install drivers, disconnect everything on Intel controller and reboot and after install devices.. or on individual ports on Intel controller..
Lots of testing, im only sure that USB3 with Intel controller is not working how it should be..

#4897

ruthan

Its like matrix solving i would have probably setup some online sheet with all results:
I lost my patience with half working NEC controller, so i replaced with VIA one (PCI\VEN_1106&DEV_3483&SUBSYS_34831106&REV_01)
First time i god working Razer mouse throught USB3 hub and other devices are fine too:
- Gigabyte KB
- Genius Remove
- Asus / Broadcom bluetootht
- Logitech Unified sticks for wireless devices
- Xbox 360 fake (its working fine, MS wanter 20 bucks for such adapte, unoriginal was fraction of price) wireless receiver

#4898 | ruthan | I hate USB3, keyboard on VIA controller is now working with XP, but dont with WIn10.. What is better MS or VIA driver?

#4899

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #4878

> iusb3hcs.sys is installed as a lower filter for the PCI bus device

⇗ @daniel_k ...lost tract which driver is which? I am currently running your amdxhc.sys and usbd.sys. They are working fine. Is there an advantage to converting to the 'switch' driver? And is that driver from W8? Thanks.

#4900 | ruthan | I have created online sheet with my USB debugging info - maybe someone will able to find some patern within: ⇗ https://docs.zoho.com/sheet/published.do...22a5b950420cb22

#4901

ruthan

Lots of testing done.. online matrix, when i put it to matrix if see that is actually much worse than i though.
With Intel - virtually only keyboard, usb mass storage are working, but even mouse after reboot. What is good that stucks are temporary if disconnect problematic device and reboot i can now login.. Its really shame because for example im using my front case ports, which are connected to Intel a lot.. and if connect something there - i for example have some game controllers here - you thing that distro is dead.. if you dont have knowledge that this is big no.no.
VIA is other matter - i never got black screen freeze is something is not working in can log into machine and all is fine.. only not working is Bluetooth dongle.. its not working even with Intel before reboot.. i abit suspect driver.. i have smaller one from net.. because Asus 500 MB driver is really scares me.. but with Nec is seemed as working (no exclamation marks at least and all virtual devices where installed).
Other not working is my Gigabyte USB keyboard its its picky one.. its working before reboot i a bit suspect, that problem could be USB2 hub in the way - i have to test it..
Is someone want to send some used drivers to debug, let me know. I found some 7 port powered hub to test - and migrate as much as possible devices to VIA controller.. but i need pause, life under desk phone as flashlight sucks..
If we want to minimize damage, we have to analyze if my mouse is so special that is not working, or not.. because for some users without PS/2.. no mouse is real problem.. A bit better are USB LAN adapter, no net, no fun, but you can at least bypass it with some additional NIC, if you have enough slots.
I will retest Pinnacle TV stick, if it is really one device, which cant lock system such way that even reboot not unlock it.. or i simply connected 2 locking devices and disconected only one.. but before i need make new image..

#4902 | mull | Universal 32bit Intel RST textmode driver v11.2.0.1006 mod+USB xHCI Host Controller (Windows 8.0 driver) Get error code STOP 7b 0x34, USB xHCI Host Controller (Windows 8.0 driver)+Generic SATA+AHCI driver Normal installation startup

#4903

diderius6

⇗ @mull
I also get sometimes during a new Setup of an original XP SP3 via Universal 32bit Intel RST textmode driver v11.2.0.1006
an unpredictable BSOD 0x7B.
Always it helps to change acpi.sys, but the underlying problem is Universal 32bit Intel RST textmode driver v11.2.0.1006 AHCI driver
Dietmar

#4904 | ruthan | ⇗ @mull - if you have PS/2 available i recommend install USB driver later after installation, its better to thing step by step.

#4905

ruthan

Ok, i some good news.. TV stick locks is also soft - so its gone about reboot.
I now with powered 7 Port USB 2 hub managed to get, all devices working.. because on Intel controller is really only keyboard.. i tested also USB flashdisk it working on Intel too, but that is.
I connected case USB3 ports to VIA controller and they are working too. I also fixed USB bluetooth on VIA controller - solution was powered hub. Only not working device with VIA controller is now Gigabyte keyboard - i tried it directly on with powered hub, its input is dead.. only backlight just lit.. its device, is not using any special driver, its just some complex HID device.
Because i was clever it the past i have new plastic USB covers, so it can lock.. evil Intel USB ports.. to not connect something to them by accident.. and lock WinXP by it.
But its life.. os its not so nice, how to it could be my cheap 7 port USB hub, when i manipulate with device, when machine is shutdown, actually power up machine.. I had at least one reboot, instead of shutdown.
BTW are these USB 3 controllers with 4 front ports + USB 3 front header fakes they are legit? I never had too much luck with them. Some manufactors, are only have 2 ports - Asmedia. Or 2 ports + header or 4 ports and no header..
Otherwise i had some perioding mouse cursor freezes with MS drivers for VIA USB3 in Windows 10, so i had to install VIA driver from WinRaid collection.

## Page 328

#4906 | canonkong | USB 3.2 GEN2x2 to NVMe device test. Because the CPU's single core performance is not very good, it does not run at the speed of 20gbps. But on the 3950x CPU, read and write speed ran to 2100MB/s! ⇗

#4907

Mov AX, 0xDEAD

# NTOSKRNL Emu_Extender

Library of missing functions for Windows XP/2003/Vista/7 NTOSKRNL.EXE
Project is intended to help in porting drivers from Windows 7/8/8.1/10 for work with Windows XP/2003/Vista/7
How-To:
1) Compile sources to make ntoskrn8.sys
2) Make corrections to target driver XXX.sys so that it loads ntoskrn8.sys instead of the original ntoskrnl.exe
3) If XXX.sys is driver made for Windows 8, change security_cookie to random value, security_cookie is constant 0x4EE640BB(x32) / 0x32A2DF2D992B(x64) inside file , change only first match !
4) Place ntoskrn8.sys to X:/Windows/sytem32/drivers/ folder
Compiling:
1) Install Windows 7 DDK v7.1.0 (download from Microsoft site)
1a) Original DDK header files has mistake with definintion of MmAllocateContiguousMemorySpecifyCacheNode, apply fix:
\WinDDK\Win7\inc\ddk\ntddk.h:
\WinDDK\Win7\inc\ddk\wdm.h:
#if (NTDDI_VERSION >= NTDDI_WIN2K)
typedef ULONG NODE_REQUIREMENT;
to:
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef ULONG NODE_REQUIREMENT;
2) Download project files to any local folder
git clone ⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu
3) Choose Target OS (XP, 2003, Vista or WIndows 7) for which OS Emu_Extender will be compiled. Keep in mind that depending on the target operating system the way of exporting the functions changes, if a function already exists in the kernel it will be simply redirected without injecting emulation code
4) Run shell: Start Menu\Programs\Windows Driver Kits\Win7 7600.16385.1\Build Environments\Windows XXX\YYY Free Build Environment
(XXX - target OS, YYY - target CPU)
5) In shell change current directory to local project folder
6) In shell type command BLD to compile project
7) Compiled ntoskrn8.sys will be in ntoskrn8/objfre_XXX_x86/YYY folder

# STORPORT Windows 7 Emu_Extender

This is Library of missing functions for Windows 7 STORPORT.SYS v6.1.7601.23403 to emulate Windows 8 STORPORT.SYS
How-To:
1) Compile ntoskrnl Emu_Extender
2) Place storpor8.sys to X:/Windows/system32/drivers/ folder
3) Make corrections to target xxx.sys so that it loads storpor8.sys instead of the original storport.sys
4) Place backported storport.sys from Windows 7 to X:/Windows/system32/drivers/ folder

# Ported drivers:

Windows 7's WDF 1.11 for Windows XP/2003
Last version for Windows XP/2003 is 1.9, but possible to backport 1.11 version:
1) Get files from Windows 7 Updates (KB3125574):

           WDF01000.SYS	v1.11.9200.20755
           WdfLdr.sys	v1.11.9200.16384

2) In WDF01000.SYS replace string ntoskrnl.exe to ntoskrn8.sys in import section
3) Recalc checksum
If need coexist with original WDF1.9 drivers:
4) Rename WDF01000.SYS->WDF01_W8.SYS, WdfLdr.sys->WdfLdr8.sys
5) In WDF01_W8.SYS replace string WdfLdr.sys to WdfLdr8.sys in import section
6) In WdfLdr8.sys replace unicode string \Registry\Machine\System\CurrentControlSet\Services\Wdf%02d000 to \Registry\Machine\System\CurrentControlSet\Services\Wdf%02d_w8
7) In WdfLdr8.sys replace hex pattern F6 78 1B F6 to F6 EB 1B F6 (x32), to (x64)
8) In target driver xxx.sys replace string WdfLdr.sys to WdfLdr8.sys in import section
9) In .INF of ported driver add creating new service:

           AddService=WDF01_W8,,  WDF.AddService
    ....
                 [WDF.AddService]
           DisplayName    = "Windows Driver Framework v1.11 for XP/2003"
           ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
           StartType      = 3                  ; SERVICE_DEMAND_START
           ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
           ServiceBinary  = %12%\WDF01_W8.SYS
           LoadOrderGroup = Base

10) Recalc checksum of all edited *.sys
Windows 7's Storport.sys for Windows XP
Storport was released starting from Windows 2003, but possible to backport Windows 7 version:
1) Get files from Windows 7 Updates (KB3125574):

           storport.sys	v6.1.7601.23403

2) In storport.sys replace string ntoskrnl.exe to ntoskrn8.sys in import section
3) Storport uses MSI interrupts, need to force use only legacy/non-MSI interrupts
x32 - replace hex pattern 8B 8E 3C 01 00 00 to B9 00 00 00 00 90 (mov ecx, [esi+13Ch] -> mov ecx, 0)
x64 - replace hex pattern 8B 83 C0 01 00 00 to B8 00 00 00 00 90 (mov eax, [rbx+1C0h] -> mov eax, 0)
4) Recalc checksum
Windows 7's NVMe driver for Windows XP
1) Get files from Windows 7 Updates (KB3125574):

           stornvme.sys	v6.1.7601.23403

2) MS Windows 7 NVMe driver require storport.sys from Windows 7, use backported one
Windows 8's USB3 driver for Windows XP
USB3 driver from Windows 8 require WDF 1.11, use backported one.
1) Get required files from Windows 8 (KB4534283/4556840, KB2984005, RTM ISO):

       ucx01000.sys         v6.2.9200.22453
       usbhub3.sys          v6.2.9200.21180
       usbxhci.sys          v6.2.9200.22099
       wpprecorder.sys      v6.2.9200.16384
       usbd.sys             v6.2.9200.20761

from Vista Beta/Longhorn 5456.5:

           ksecdd.sys v6.0.5456.5

2) In files ucx01000.sys, usbhub3.sys, usbxhci.sys, wpprecorder.sys, usbd.sys change security_cookie to random value
3) In files ucx01000.sys, usbhub3.sys, usbxhci.sys, ksecdd.sys replace string name "ntoskrnl.exe" to "ntoskrn8.sys' in import section
4) Rename ksecdd.sys->ksecd8.sys, usbd.sys->usbd_w8.sys
5) In usbhub3.sys replace string name "ksecdd.sys" to "ksecd8.sys' in import section
6) In usbhub3.sys replace string name "usbd.sys" to "usbd_w8.sys' in import section,
7) Recalc checksum
Windows 8's STORAHCI driver for Windows XP
STORAHCI driver requires storport.sys from Windows 8, but possible to use storport.sys from Windows 7
storport.sys from Windows 7 more compatible with Windows Xp/2003 because it still call required PoStartNextPowerIrp
when processing power IRPs. Microsoft removed calls to PoStartNextPowerIrp in Windows 8's storport.sys, without this call
Windows XP/2003 kernel cannot finish current power IRP and start next IRP => it generate BSOD (0x0000009F).
Also storport.sys from Windows 7 has compatibility mode to allow old XP/2003 kernels write crashdumps through storport based disk drivers. In storport.sys from Windows 8 compatibility mode was removed, writing crashdumps possible only with new kernels.
Take attention:
WinWindows 8's STORAHCI + Windows 7's STORPORT may have significal performance drop and high CPU usage, there is no fix yet
1) Get files from Windows 8 (RTM ISO):

       storahci.sys v6.2.9200.16384

2) In storahci.sys replace string storport.sys to storport8.sys in import section
3) storahci.sys was compiled with Windows 8 DDK's storport.h and writes to new fields of _PORTCONFIGURATION_INFORMATION, these fields not exist in Windows 7's storport.sys
Need to skip these writes to avoid damaging structures in memory:
x32 - Replace hex pattern 83 A6 C8 00 00 00 00 to 90 90 90 90 90 90 90 (and dword ptr [esi+0C8h], 0 -> nop)
x32 - Replace hex pattern 83 8E CC 00 00 00 03 to 90 90 90 90 90 90 90 (or dword ptr [esi+0CCh], 3 -> nop)
x64 - Replace hex pattern 44 89 B7 D8 00 00 00 to 90 90 90 90 90 90 90 (mov [rdi+0D8h], r14d -> nop)
x64 - Replace hex pattern 83 8F DC 00 00 00 03 to 90 90 90 90 90 90 90 (or dword ptr [rdi+0DCh], 3 -> nop)
If you compile storahci from sources (from Windows 8 DDK Samples), comment two lines:

       ConfigInfo->BusResetHoldTime = 0;
       ConfigInfo->FeatureSupport |= STOR_ADAPTER_FEATURE_STOP_UNIT_DURING_POWER_DOWN;

4) In storahci.sys change security_cookie to random value
5) Recalc checksum
Windows 7's MSAHCI driver for Windows XP
1) Get files from Windows 7 Updates (KB3125574):

       atapi.sys    v6.1.7601.23403
       ataport.sys  v6.1.7601.23403
       msahci.sys   v6.1.7601.23403
       pciidex.sys  v6.1.7601.23403

2) In ataport.sys, pciidex.sys replace string ntoskrnl.exe to ntoskrn8.sys in import section
3) pciidex.sys uses MS Internal/Undocumented HalDispatchTable way to call functions from Kernel/HAL,
For Windows XP/2003 x32 need to use compatible variant:
x32: replace hex pattern FF 50 3C to FF 50 40, same in asm code:

       mov     eax, ds:HalDispatchTable
         ...
       call    dword ptr [eax+3Ch] => call    dword ptr [eax+40h]

x64: replace hex pattern
1) FF 50 78 to EB 2A 90
2) offset +2Ch: CC CC CC CC CC CC CC CC to FF 90 80 00 00 00 EB CF, same in asm code:

           mov     rax, cs:HalDispatchTable
                 ...
           call    qword ptr [rax+78h] => jmp patch
    orig:
           mov     r10d, eax

    patch:
          call    qword ptr [eax+80h]
          jmp     orig

4) Recalc checksum
5) MSHDC.INF from Windows 7 may conflict with original mshdc.inf from Windows XP/2003
For example msahci enumerates IDE/SATA channels as InternalIDEChannel and compatible ID as *PNP0600.
Original mshdc.inf for *PNP0600 will install wrong Standard IDE/ESDI Hard Disk Controller driver
Intel RSTe Enterprise AHCI/RAID driver 4.7.0.1098 for Windows XP/2003 +
Intel RST AHCI/RAID driver (v11.x-15.x, last compatible 15.9.8/15.44.0) for Windows XP/2003
These drivers require storport.sys from Windows 7, use backported one.
1) In file iaStorA.sys/iaStorAC.sys/iaStorAVC.sys replace string 'ntoskrnl.exe' to 'ntoskrn8.sys' in import section (do not change second string 'NTOSKRNL.exe')
2) Recalc checksum
Download Sources
⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu
Implemented Func List v10 :

    _chkstk
    _i64toa_s
    _i64tow_s
    _itoa_s
    _itow_s
    _ltoa_s
    _ltow_s
    _makepath_s
    _snprintf_s
    _snscanf_s
    _snwprintf_s
    _snwscanf_s
    _splitpath_s
    _strnset_s
    _strset_s
    _strtoui64
    _swprintf
    _ui64toa_s
    _ui64tow_s
    _ultoa_s
    _ultow_s
    _vsnprintf_s
    _vsnwprintf_s
    _vswprintf
    _wcsnset_s
    _wcsset_s
    _wmakepath_s
    _wsplitpath_s
    _wtoi
    _wtol
    DbgkLkmdRegisterCallback
    EmClientQueryRuleState
    EtwActivityIdControl
    EtwEventEnabled
    EtwProviderEnabled
    EtwRegister
    EtwRegisterClassicProvider
    EtwUnregister
    EtwWrite
    EtwWriteString
    EtwWriteTransfer
    ExAcquireRundownProtectionCacheAware
    ExAcquireRundownProtectionCacheAwareEx
    ExAllocateCacheAwareRundownProtection
    ExDeleteLookasideListEx
    ExEnterCriticalRegionAndAcquireFastMutexUnsafe
    ExEnterCriticalRegionAndAcquireResourceExclusive
    ExEnterCriticalRegionAndAcquireResourceShared
    ExEnterPriorityRegionAndAcquireResourceExclusive
    ExEnterPriorityRegionAndAcquireResourceShared
    ExFreeCacheAwareRundownProtection
    ExfReleasePushLockShared
    ExfTryToWakePushLock
    ExGetFirmwareEnvironmentVariable
    ExInitializeLookasideListEx
    ExInitializeRundownProtectionCacheAware
    ExReInitializeRundownProtectionCacheAware
    ExReleaseFastMutexUnsafeAndLeaveCriticalRegion
    ExReleaseResourceAndLeaveCriticalRegion
    ExReleaseResourceAndLeavePriorityRegion
    ExReleaseRundownProtectionCacheAware
    ExReleaseRundownProtectionCacheAwareEx
    ExRundownCompletedCacheAware
    ExSetFirmwareEnvironmentVariable
    ExSizeOfRundownProtectionCacheAware
    ExWaitForRundownProtectionReleaseCacheAware
    IoAllocateSfioStreamIdentifier
    IoConnectInterruptEx
    IoDisconnectInterruptEx
    IoFreeSfioStreamIdentifier
    IoGetActivityIdIrp
    IoGetAffinityInterrupt
    IoGetDevicePropertyData
    IoGetIoPriorityHint
    IoGetSfioStreamIdentifier
    IoInitializeWorkItem
    IoQueueWorkItemEx
    IoSetActivityIdIrp
    IoSetDevicePropertyData
    IoSizeofWorkItem
    IoUninitializeWorkItem
    IoUnregisterPlugPlayNotificationEx
    KdRefreshDebuggerNotPresent
    KeAcquireGuardedMutex
    KeAcquireGuardedMutexUnsafe
    KeAlertThread
    KeAreAllApcsDisabled
    KeEnterGuardedRegion
    KeExpandKernelStackAndCallout
    KeGetCurrentNodeNumber
    KeGetCurrentProcessorNumberEx
    KeGetProcessorIndexFromNumber
    KeGetProcessorNumberFromIndex
    KeInitializeGuardedMutex
    KeInvalidateAllCaches
    KeInvalidateRangeAllCaches
    KeLeaveGuardedRegion
    KeQueryActiveGroupCount
    KeQueryActiveProcessorCount
    KeQueryActiveProcessorCountEx
    KeQueryDpcWatchdogInformation
    KeQueryGroupAffinity
    KeQueryHighestNodeNumber
    KeQueryLogicalProcessorRelationship
    KeQueryMaximumGroupCount
    KeQueryMaximumProcessorCount
    KeQueryMaximumProcessorCountEx
    KeQueryNodeActiveAffinity
    KeReleaseGuardedMutex
    KeReleaseGuardedMutexUnsafe
    KeRevertToUserAffinityThreadEx
    KeRevertToUserGroupAffinityThread
    KeSetActualBasePriorityThread
    KeSetCoalescableTimer
    KeSetSystemAffinityThreadEx
    KeSetSystemGroupAffinityThread
    KeSetTargetProcessorDpcEx
    KeTestAlertThread
    KeTryToAcquireGuardedMutex
    LdrResFindResource
    LdrResFindResourceDirectory
    LpcReplyWaitReplyPort
    LpcRequestWaitReplyPortEx
    LpcSendWaitReceivePort
    memcpy_s
    memmove_s
    MmAllocateContiguousMemorySpecifyCacheNode
    MmAllocateContiguousNodeMemory
    ObDeleteCapturedInsertInfo
    ObfDereferenceObjectWithTag
    ObfReferenceObjectWithTag
    ObGetObjectType
    ObQueryNameInfo
    PcwAddInstance
    PcwCloseInstance
    PcwCreateInstance
    PcwRegister
    PcwUnregister
    PoDisableSleepStates
    PoEndDeviceBusy
    PoGetSystemWake
    PoReenableSleepStates
    PoRegisterPowerSettingCallback
    PoSetDeviceBusyEx
    PoSetSystemWake
    PoStartDeviceBusy
    PoUnregisterPowerSettingCallback
    PoUserShutdownInitiated
    PsAcquireProcessExitSynchronization
    PsEnterPriorityRegion
    PsGetCurrentProcessWin32Process
    PsGetCurrentThreadProcess
    PsGetCurrentThreadProcessId
    PsGetCurrentThreadTeb
    PsGetCurrentThreadWin32Thread
    PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion
    PsGetProcessSessionIdEx
    PsIsProtectedProcess
    PsIsSystemProcess
    PsLeavePriorityRegion
    PsReleaseProcessExitSynchronization
    PsSetCreateProcessNotifyRoutineEx
    RtlCheckPortableOperatingSystem
    RtlGetIntegerAtom
    RtlGetThreadLangIdByIndex
    RtlIsNtDdiVersionAvailable
    RtlQueryElevationFlags
    RtlQueryRegistryValuesEx
    RtlSetPortableOperatingSystem
    SeReportSecurityEventWithSubCategory
    SeSetAuditParameter
    SeSetAuthorizationCallbacks
    sprintf_s
    sscanf_s
    strcat_s
    strcpy_s
    strncat_s
    strncpy_s
    strnlen
    strtok_s
    swprintf_s
    swscanf_s
    vsprintf_s
    vswprintf_s
    wcscat_s
    wcscpy_s
    wcsncat_s
    wcsncpy_s
    wcsnlen
    wcstoul
    ZwAllocateLocallyUniqueId
    ZwAlpcConnectPort
    ZwAlpcSendWaitReceivePort
    ZwQueryLicenseValue
    ZwQueryVirtualMemory

    Comparing files ataport.sys and ../ATAPORT.SYS
    00000138: 68 69
    00000139: 35 1D
    0001B093: 6C 38
    0001B095: 65 73
    0001B096: 78 79
    0001B097: 65 73

    Comparing files iaStorA.sys and ../IASTORA.SYS
    00000159: 15 FD
    000687F9: 6C 38
    000687FB: 65 73
    000687FC: 78 79
    000687FD: 65 73

    Comparing files ksecd8.sys and ../KSECD8.SYS
    00000148: 44 45
    00000149: 18 00
    0005AEBB: 6C 38
    0005AEBD: 65 73
    0005AEBE: 78 79
    0005AEBF: 65 73

    Comparing files storahci.sys and ../STORAHCI.SYS
    00000140: 68 5B
    00000141: DC CA
    00000C2C: 83 90
    00000C2D: A6 90
    00000C2E: C8 90
    00000C2F: 00 90
    00000C30: 00 90
    00000C31: 00 90
    00000C32: 00 90
    00000C94: 83 90
    00000C95: 8E 90
    00000C96: CC 90
    00000C97: 00 90
    00000C98: 00 90
    00000C99: 00 90
    00000C9A: 03 90
    0000D000: 4E DE
    0000D001: E6 AD
    0000D002: 40 BE
    0000D003: BB EF
    0000D491: 74 38

    Comparing files storport.sys and ../STORPORT.SYS
    00000130: CB CC
    00000131: 5C 36
    00000132: 02 03
    00004E19: 8B B9
    00004E1A: 8E 00
    00004E1B: 3C 00
    00004E1C: 01 00
    00004E1E: 00 90
    0001D49B: 6C 38
    0001D49D: 65 73
    0001D49E: 78 79
    0001D49F: 65 73

    Comparing files uaspstor.sys and ../UASPSTOR.SYS
    00000140: 4B A3
    00000141: 25 D6
    00000142: 02 01
    0000E200: 4E DE
    0000E201: E6 AD
    0000E202: 40 BE
    0000E203: BB EF
    0000F189: 6C 38
    0000F18B: 65 73
    0000F18C: 78 79
    0000F18D: 65 73
    0000F24B: 74 38
    0000F27E: 2E 38
    0000F27F: 53 2E
    0000F280: 59 53
    0000F281: 53 59
    0000F282: 00 53
    0000F2FC: 6F 38
    0000F2FD: 72 2E
    0000F2FE: 64 73
    0000F2FF: 65 79
    0000F300: 72 73
    0000F301: 2E 00
    0000F302: 73 00
    0000F303: 79 00
    0000F304: 73 00

    Comparing files ucx01000.sys and ../UCX01000.SYS
    00000140: 0B 83
    00000141: 0A 17
    00014E00: 4E DE
    00014E01: E6 AD
    00014E02: 40 BE
    00014E03: BB EF
    00018D0F: 6C 38
    00018D11: 65 73
    00018D12: 78 79
    00018D13: 65 73
    00018DCC: 2E 38
    00018DCD: 53 2E
    00018DCE: 59 53
    00018DCF: 53 59
    00018DD0: 00 53
    00018E08: 57 77
    00018E0B: 52 72
    00018E0E: 6F 38
    00018E0F: 72 2E
    00018E10: 64 73
    00018E11: 65 79
    00018E12: 72 73
    00018E13: 2E 00
    00018E14: 73 00
    00018E15: 79 00
    00018E16: 73 00

    Comparing files usbd8.sys and ../USBD8.SYS
    00000140: 7D 8B
    00000141: 5E 5A
    00001600: 4E DE
    00001601: E6 AD
    00001602: 40 BE
    00001603: BB EF

    Comparing files usbhub3.sys and ../USBHUB3.SYS
    00000140: 62 A6
    00000141: 3C DF
    00000142: 06 05
    00009058: 75 EB
    00027C00: 4E DE
    00027C01: E6 AD
    00027C02: 40 BE
    00027C03: BB EF
    0004591E: 2E 38
    0004591F: 53 2E
    00045920: 59 53
    00045921: 53 59
    00045922: 00 53
    00045923: 90 00
    00045928: 2E 38
    00045929: 53 2E
    0004592A: 59 53
    0004592B: 53 59
    0004592C: 00 53
    0004592D: 90 00
    00045935: 64 38
    0004593C: 57 77
    0004593F: 52 72
    00045942: 6F 38
    00045943: 72 2E
    00045944: 64 73
    00045945: 65 79
    00045946: 72 73
    00045947: 2E 00
    00045948: 73 00
    00045949: 79 00
    0004594A: 73 00
    0004595B: 6C 38
    0004595D: 65 73
    0004595E: 78 79
    0004595F: 65 73

    Comparing files usbxhci.sys and ../USBXHCI.SYS
    00000148: 24 9C
    00000149: E1 EE
    0002A800: 4E DE
    0002A801: E6 AD
    0002A802: 40 BE
    0002A803: BB EF
    00034BC3: 6C 38
    00034BC5: 65 73
    00034BC6: 78 79
    00034BC7: 65 73
    00034D8E: 57 77
    00034D91: 52 72
    00034D94: 6F 38
    00034D95: 72 2E
    00034D96: 64 73
    00034D97: 65 79
    00034D98: 72 73
    00034D99: 2E 00
    00034D9A: 73 00
    00034D9B: 79 00
    00034D9C: 73 00
    00034FE8: 2E 38
    00034FE9: 53 2E
    00034FEA: 59 53
    00034FEB: 53 59
    00034FEC: 00 53

    Comparing files WDF01_W8.SYS and ../WDF01_W8.SYS
    00000138: A0 F7
    00000139: 5C 95
    0007655A: 2E 38
    0007655B: 53 2E
    0007655C: 59 53
    0007655D: 53 59
    0007655E: 00 53
    0007655F: 90 00
    00076567: 6C 38
    00076569: 65 73
    0007656A: 78 79
    0007656B: 65 73

    Comparing files WdfLdr8.sys and ../WDFLDR8.SYS (v1.11.9200.16384)
    .....

    Comparing files WdfLdr8.sys and ../WDFLDR8.SYS (v1.11.9200.16648)
    00000150: 32 B0
    00000151: F8 6B
    00000152: 00 01
    000011F2: 30 5F
    000011F4: 30 77
    000011F6: 30 38
    000022C9: 78 EB

    Comparing files wpprec8.sys and ../WPPREC8.SYS
    00000140: 04 12
    00000141: 23 1F
    00001E00: 4E DE
    00001E01: E6 AD
    00001E02: 40 BE
    00001E03: BB EF

#4908 | daniel_k | ⇗ @Mov AX, 0xDEAD, impressed! Thought you were on a break, but still working on something! Thanks for sharing it with us! Theoretically, functions from WppRecorder.sys can be added to ntoskrn8.sys, right?

#4909

daniel_k

> Zitat von ⇗ gordo999 im Beitrag ¶ #4899

> @daniel_k ...lost tract which driver is which? I am currently running your amdxhc.sys and usbd.sys. They are working fine. Is there an advantage to converting to the 'switch' driver? And is that driver from W8? Thanks.

Even with USB3 enabled in BIOS, 3rd/4th gen chipset require the HCSwitch lower filter driver to program certain device registers, otherwise you're limited to USB2 speeds.
Regarding USB3 driver, we are not using the amdxhc driver anymore, as it has issues after some plugging/unplugging.
⇗ @Mov AX, 0xDEAD ported the Win8 driver, which is a perfect solution, even supporting UASP (USB Attached SCSI Protocol), although is in alpha state yet. If you want it, drop me a PM.

#4910

daniel_k

⇗ @Mov AX, 0xDEAD
I'm getting this error when building:

    1>errors in directory c:\release0
    1>nmake : error: c:\release0\objfre_wxp_x86\i386\_objects.mac was changed
    during the build process and the build results may not be valid.
    Please re-build this directory.

I can compile OFA NVME driver, so no problem with my DDK install.
EDIT: Fixed by adding TARGETPATH=obj$(BUILD_ALT_DIR) below TARGETTYPE=EXPORT_DRIVER in sources file.

#4911 | infuscomus | ⇗ @Mov AX, 0xDEAD You're releasing this as open source?! Awesome! Thanks! edit: a question concerning cookie_const - what does a windows driver do with this value? why does it BSOD if we don't change it?
#4912 | diderius6 | ⇗ @Mov AX, 0xDEAD Is it possible to enable the Lan driver i219 from Intel under XP SP3 with this helper, have a nice day Dietmar

#4913

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4910

> Fixed by adding TARGETPATH=obj$(BUILD_ALT_DIR) below TARGETTYPE=EXPORT_DRIVER in sources file.

thanks for fix !
archive updated

#4914

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #4911

> @Mov AX, 0xDEAD
> You're releasing this as open source?! Awesome!

Main benefit is MS "copyright" binary code avoidance as much as possible
Extender is not new idea, Dibya done his extenders before, but he used many stolen code from MS binaries(???)
(i dont know exactly where code taken, sorry Dibya if I'm wrong)

#4915

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #4912

> Is it possible to enable the Lan driver i219 from Intel under XP SP3 with this helper,

I dont know, extender has only few implemented functions and is not full functionaly
If someone has time and C knowledge, he can add more missed imports.
LAN driver may depends on NDIS6 (another driver framework from MS), XP has only NDIS5

#4916

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4908

> Theoretically, functions from WppRecorder.sys can be added to ntoskrn8.sys, right?

Yes, ntoskrn8.sys can be multi router for export<->import from many *.sys/*.dll:
#pragma comment (linker, "/export:xxxxx=hal.xxxxxx")
#pragma comment (linker, "/export:yyyyy=ntoskrnl.yyyyy")
in case WppRecorder.sys all emulated funcs will be internal

#4917

diderius6

⇗ @daniel_k
I test, why I can boot an uaspstor device via USBSTOR.sys
but not via uaspstor.sys from win8 with storport from win7.1 .
The uaspstor.sys driver is not loaded early enough, even I set Group = System Reserved start = 0 Tag = 1 (means first of all).
This should move this driver to one of the earliest loaded drivers.
Always this driver uaspstor.sys loads after mup.sys, so this is second boot stage,
means uaspstor.sys not loaded at boot time.
This is the reason for BSOD 0x7B there
Dietmar
PS: With USBSTOR.sys this one is loaded first of all in first boot stage, means no BSOD 0x7B.

#4918 | daniel_k | ⇗ @diderius6 Don't know if it makes any difference, but remember that uaspstor.sys is a SCSI driver. During Setup, usbstor is loaded in [InputDevicesSupport], uaspstor should be in [SCSI], in theory.

#4919

daniel_k

⇗ @Mov AX, 0xDEAD
Does changing the function name from "decorated" to "undecorated", affects the behavior of the Extender?
For example, _IoGetDevicePropertyData@32 -> IoGetDevicePropertyData
This could help when compiling the Extender to any archtecture, if you know what I mean.
EDIT: Nevermind, I see it doesn't change anything, binary is identical.

#4920 | infuscomus | can you mix ASM with C code? or is this a bad idea?

## Page 329

#4921

Dibya

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4914

> > Zitat von ⇗ infuscomus im Beitrag ¶ #4911

> > @Mov AX, 0xDEAD
> > You're releasing this as open source?! Awesome!

> Main benefit is MS "copyright" binary code avoidance as much as possible
> Extender is not new idea, Dibya done his extenders before, but he used many stolen code from MS binaries(???)
> (i dont know exactly where code taken, sorry Dibya if I'm wrong)

I did modify XP files but none of my codes were from Microsoft . Mostly were from wine , some stub and few own implementation like GetTickCount64 , few were taken from OnecoreApi and BlackWingcat .
These do act like MS code but they arenot . Some are hijack job like sending FlsAlloc to TlsAlloc.
Their were Vista binaries though like MSVCRT.
Initial attempt i tried to copy vista code but they never worked (Those binaries never got out in wild).
By the way thanks for XHCI Driver It is awesome
If i ever get something like KernelEx for 9x , which will redirect all missing api to my dll from programs inside a specific program folder like FLStudio , I will release all my sources under BSD or Apache license.

#4922

Dibya

> Zitat von ⇗ infuscomus im Beitrag ¶ #4920

> can you mix ASM with C code? or is this a bad idea?

You can use inline assembly but dont try to copy Vista code on XP , it will fail

#4923 | ruthan | Maybe obvious for someone but i finally find how to real life its USB legacy option in the Bios - when is enabled i can quit WinXP boot disk check, because its slow as hell.. Its need for some versions of Grub2 too..

#4924

Mov AX, 0xDEAD

⇗ @Dibya

> Zitat von ⇗ Dibya im Beitrag ¶ #4921

> I did modify XP files but none of my codes were from Microsoft . Mostly were from wine , some stub and few own implementation like GetTickCount64 , few were taken from OnecoreApi and BlackWingcat .
> These do act like MS code but they arenot . Some are hijack job like sending FlsAlloc to TlsAlloc.
> Their were Vista binaries though like MSVCRT.

Sorry for mess, take my apologies
I just saw ExKernel.asm, it containts many deassembled chunks from some binaries (many from from BlackWingCat's files)

#4925

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #4919

> @Mov AX, 0xDEAD
> Does changing the function name from "decorated" to "undecorated", affects the behavior of the Extender?
> For example, _IoGetDevicePropertyData@32 -> IoGetDevicePropertyData

First i used __declspec( dllexport ) instead .def to have undecorated names, but it works only if function has __cdecl calling convention, x32 WinAPI is not __cdecl, __declspec( dllexport ) make decorated variant. Finally i decided to use .def as uniform name translator.
_k8 suffix used for functions, already defined in DDK's *.h - i prefer to have C equivalents instead MS compatible binaries (procgrp.lib/intex.lib)

#4926

Dibya

"Mov AX, 0xDEAD"|p114478]⇗ @Dibya

> Zitat von ⇗ Dibya im Beitrag ¶ #4921

> I did modify XP files but none of my codes were from Microsoft . Mostly were from wine , some stub and few own implementation like GetTickCount64 , few were taken from OnecoreApi and BlackWingcat .
> These do act like MS code but they arenot . Some are hijack job like sending FlsAlloc to TlsAlloc.
> Their were Vista binaries though like MSVCRT.

Well you can't code cave in C language so I used to make dll of my code in visual studio 2010 and then use IDA and made in MASM compatible to remove extra junk and then I used to compile them in masm and then used hex editor to move my code to xp DLLs .
Then I used either rloew modexp / Blackwingcat pemaker to add a export entry .
Then fixed those broken subroutines and codes with Ida & Address fixer in pemaker .
Boom ! You got a extended kernel now .

#4927 | Outbreaker | HI. Dose someone know if the "secnvmeF.sys" file should be added to the "[SCSI.Load]" or "[BusExtenders.Load]" or "[BootBusExtenders.Load]" the funny thing is they all work.

#4928

asdf23451

> Zitat von ⇗ daniel_k im Beitrag ¶ #3962

> AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018
> - Fixed XP/Server 2003 compatibility by re-adding PoStartNextPowerIrp calls, luckily the code didn't really change after build 145, could find all proper locations for every call. Interesting info:
> ⇗ PoStartNextPowerIrp - ⇗ Bug Check 0x9F: DRIVER_POWER_STATE_FAILURE
> - Removed IoSetDevicePropertyData dependency, only found in Vista and later, doesn't affect functionality.
> - Removed BCrypt functions dependencies (Ksecdd.sys), only found in Vista and later and re-added code from build 145.
> - Combined hub and controller INFs into a single amdxhc.inf for easier installation and integration.

I'm looking for that driver, but I don't see any download on the post, could I get a link to the driver?

#4929

Outbreaker

> Zitat von ⇗ asdf23451 im Beitrag ¶ #4928

> > Zitat von ⇗ daniel_k im Beitrag ¶ #3962

> > AMDXHC 1.1.0.0276 Final Driver, dated Dec 4, 2018
> > - Fixed XP/Server 2003 compatibility by re-adding PoStartNextPowerIrp calls, luckily the code didn't really change after build 145, could find all proper locations for every call. Interesting info:
> > ⇗ PoStartNextPowerIrp - ⇗ Bug Check 0x9F: DRIVER_POWER_STATE_FAILURE
> > - Removed IoSetDevicePropertyData dependency, only found in Vista and later, doesn't affect functionality.
> > - Removed BCrypt functions dependencies (Ksecdd.sys), only found in Vista and later and re-added code from build 145.
> > - Combined hub and controller INFs into a single amdxhc.inf for easier installation and integration.

> I'm looking for that driver, but I don't see any download on the post, could I get a link to the driver?

⇗ https://forums.mydigitallife.net/threads...hardware.81607/

#4930

infuscomus

⇗ @Outbreaker
from the original samsung nvme inf file - it is SCSI miniport

    [nvme_Service_Inst]
    ServiceType    = %SERVICE_KERNEL_DRIVER%
    StartType      = %SERVICE_BOOT_START%
    ErrorControl   = %SERVICE_ERROR_NORMAL%
    ServiceBinary  = %12%\secnvme.sys
    LoadOrderGroup = SCSI miniport
    AddReg         = pnpsafe_pci_addreg

#4931 | Outbreaker | ⇗ @infuscomus That's for the secnvme.sys file, but their is no LoadOrderGroup entry for the secnvmeF.sys file in the .inf file.

#4932

infuscomus

⇗ @Outbreaker
there is no loadordergroup for the filter driver in the original inf either - i'm assuming it's unnecessary.

    [nvmeF_Service_Inst]
    ServiceType    = %SERVICE_KERNEL_DRIVER%
    StartType      = %SERVICE_BOOT_START%
    ErrorControl   = %SERVICE_ERROR_NORMAL%
    ServiceBinary  = %12%\secnvmeF.sys

#4933 | daniel_k | ⇗ @Mov AX, 0xDEAD Are you working on the Extender? I plan to implement some imports, just want to make sure you already didn't.
#4934 | daniel_k | ⇗ @Outbreaker Filter driver is a kind of a plug-in that changes/improves behavior of a driver. Just integrate the driver and, during install, INF file will install the filter. Keep it simple!

#4935

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #4933

> Are you working on the Extender?
> I plan to implement some imports, just want to make sure you already didn't.

Yes, i work currently on all available stuff from intex.lib+procgrp.lib, missed win7/win8 functs (required for already ported driver) delayed for few days
You can download last develop version in Release3_devonly.zip if want to sync with me
important - fixed bug with calling convection of wcsncpy_s and added x64 compatible build setting, so w2003_x64 buld is OK on my machine (not sure about working state :)

## Page 330

#4936

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4935

> You can download last develop version in release2.zip if want to sync with me

Sure, where can I download it? I want to contribute somehow.
Are you planning to create a repository in your GitHub profile?

#4937

Mov AX, 0xDEAD

⇗ @daniel_k

> Zitat

> where can I download it?

first post about project on page #328

> Zitat von ⇗ daniel_k im Beitrag ¶ #4936

> Are you planning to create a repository in your GitHub profile?

I dont know how merge users' requests on github, so mainly i used it as "share" site
but i can create repository if it helps

#4938

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4937

> first post about project on page #328

You've just added it, thanks.

> Zitat

> I dont know how merge users' requests on github, so mainly i used it as "share" site
> but i can create repository if it helps

Me neither.
To add imports from other files, better to keep the code in another .c file, right?

#4939 | daniel_k | ⇗ @Mov AX, 0xDEAD Was Reading the MS docs regarding Power IRPs, uaspstor.sys calls IofCallDriver, but on OSes earlier then Vista, it must call PoCallDriver to pass a power IRP. However, after replacing the function, system won't start: BSOD 0xA: IRQL_NOT_LESS_OR_EQUAL

#4940

Sircam

I have a Lenovo G50-80 laptop.
Im trying to install XP x86 on the hard drive. I have integrated drivers into an ISO on a CD which now allow me to see the Hard drive in the XP setup but I can not get past that point.
The keyboard(internal and spare external) is not recognised. As soon as the setup displays "Setup is starting Windows" lights on the external keyboard turn off
Ive tried WinXP-IE_Optional_Patch_Integrator_v2.3.3b14.zip to integrate USB drivers. Are there any other drivers which someone can suggest to use?

#4941

daniel_k

⇗ @Mov AX, 0xDEAD
I've added stubs for all WppRecorder.sys, and it works fine.
However, unless I comment one of these lines in ntoskrn8.src:

    KeQueryGroupAffinity=		_KeQueryGroupAffinity@4
    KeQueryGroupAffinity=		KeQueryGroupAffinity

I get the following error:

    ntoskrn8.def : warning LNK4197: export 'KeQueryGroupAffinity' specified multiple times; using first specification

#4942 | infuscomus | ⇗ @Sircam I have an idea for what the problem might be - I'll PM you

#4943

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #4912

> Is it possible to enable the Lan driver i219 from Intel under XP SP3 with this helper,
> have a nice dayDietmar

⇗ @diderius6 ...ntoskrnl is not the main problem with LAN i219. Ndis.sys in XP has about 30 missing functions that are required by i219. Not all of them may be critical. Also, if you use ndis.sys from w7 there is another file required.
If you look at the W7 INF file for LAN i219, it is much more detailed than the the XP INF file for the older LAN driver. I have wondered about adding some of the W7 INF entries to the XP INF file or just entering them right into the registry. I guess it depends on how well you want XP to work with the features available in W7 i219 LAN hardware.

#4944

gordo999

> Zitat von ⇗ Sircam im Beitrag ¶ #4940

> I have a Lenovo G50-80 laptop....The keyboard(internal and spare external) is not recognised. As soon as the setup displays "Setup is starting Windows" lights on the external keyboard turn off

⇗ @Sircam ...did you integrate the USB drivers? Just noticed that infuscomus may have a solution for you.

#4945

ruthan

I probably find out why PS/2 is not working with Z370 old install build.. I met same error with Z390, its some Vmware leftover service, when i remove Vmware keyboard driver, all input except remote one from remote desktop apps is just not working.. Work around is not removing it, but i would like to get rid of it. I already tried VMware cleaner, but its not clean this one.
I also fixed not working PS/2 with Win10 and Z390 for some reason PS/2 Scroll mouse driver was installed when i force PS/2 Compatible driver, its no working fine.
Otherwise i had some annoying false detection with some modified drivers and Avira antivirus.. i submited false reports, mouse of them are now fixed.. and now more detected. Last one which is still detected is wdf01_w8.sys. Workaround is simply turn off antivirus for moment of manipulation with files, because otherswise this drivers are not copied where it should be etc.. you can ignore detection, but Avira design is stupid so its still complied about same file, is other locations.
BTW are you using some WinXP antivirus, i was using MS Security essesntials, but it can be updated by normal ways, but only with some annoying workarounds afaik, maybe is there something better?

#4946

ruthan

Exist some better than MS 2D driver universal driver for Windows XP? Im still debugging without WinXP GPU and scrolling speed is very slow..
Otherwise is there nice now too much known tool for removing some not more installed device from WinXP:
⇗ https://www.neowin.net/news/ghostbuster-1080/
I dunno if they can make some real problems, but it probably at least slowdown system. Of course be careful do backup, i has some build in create restore point on option but still. This could help with debugging and of course with migration older installs.

#4947

Mov AX, 0xDEAD

> Zitat von ⇗ ruthan im Beitrag ¶ #4946

> Exist some better than MS 2D driver universal driver for Windows XP? Im still debugging without WinXP GPU and scrolling speed is very slow..

⇗ 2D over VESA - Anapa VBEMP
SciTech SNAP Graphics

#4948 | ruthan | Thanks, but 1st one if im not wrong is only for Win9x, or not?
#4949 | canonkong | VISTA also work very well, what needs to fix is the UHD630. ⇗
#4950 | infuscomus | ⇗ @ruthan VBEMP NT/XP/2K version here - ⇗ https://bearwindows.zcm.com.au/vbemp.htm

## Page 331

#4951

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #4945

> Workaround is simply turn off antivirus for moment of manipulation with files, because otherswise this drivers are not copied where it should be etc.. you can ignore detection, but Avira design is stupid

⇗ @ruthan ...I have noticed that some modern antivirus products try to take over the entire system, like Symantec did at one time. I don't have much trouble with the free Comodo a/v although I noticed on XP that it has been interfering with serial communication between computers on the target end.

#4952

ruthan

> Zitat

> 2D over VESA - Anapa VBEMP
> SciTech SNAP Graphics

Hmm, no luck so far, its VBEMP with Geforce is giving me Code 10 (all VBE2 and VBE3 - standard and nvidia options tested, new and old install), i downloaded only version 2015, because 2019 link giving just donate page.
SciTech SNAP Graphics i have problem to find some download for WinXP version, i find only DOS and Win9x version. At least last version number for searching would help.

#4953 | ruthan | Ok some news.. i had to change Marwel Sata controller for Asmedia.. becasue it plays a bit better with Linux and i can place it too PCI-E 1x slot, what is advantage for my eternal not enough slots problem. I discovered, that Asmedia Sata 106x not really works with generic sata driver - infinite boot, but you can boot into safe mode and use Asmedia drivers, they works fine even with paragon GPT loader. Good news that these could be buy for 5-10$ and have possiblity to flash AHCI or IDE bios is nice to have at least one at home.

#4954

ruthan

I solved not working PS/2 after Vmware half-ass removal:
Procedure:
search for vmkbd.sys in registry and look for items with UpperFilters, you will find them in path like this:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}
Remove vmkbd value from UpperFilters key, do dont remove whole key, just part of value, there should be left kbclass .. i did before that mistake that i remove whole key.

#4955

ruthan

So only big problem which i now really have and could solvable in short term with my old install is not working NVME driver.
Does someone here understand *.inf files?
Does someone make it working with non english WinXP install? Because that is only clue which i have.
Inf file dont looks complex, but there are some localization things. Its possible to simply discover which files are needed for installation? I could try to copy them from install here its working.

    ;
    ; Installation inf for the NVME Miniport
    ;

    [Version]
    Signature="$Windows NT$"
    Provider=%COMM%
    ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
    Class=SCSIAdapter
    DriverVer=07/19/2018, 1.3.1014.00
    CatalogFile.NTAMD64 = nvme64.cat
    CatalogFile.NTx86   = nvme86.cat

    [PackageInfo]
    Name=NVMe

    [Manufacturer]
    %COMM% = COMM, NTamd64, NTx86

    [SourceDisksNames]
    1 = %DiskId1%,,,""

    [DestinationDirs]
    DefaultDestDir   = 12

    [nvme_Service_Inst]
    ServiceType    = %SERVICE_KERNEL_DRIVER%
    StartType      = %SERVICE_BOOT_START%
    ErrorControl   = %SERVICE_ERROR_NORMAL%
    ServiceBinary  = %12%\nvme.sys
    LoadOrderGroup = SCSI miniport
    AddReg         = pnpsafe_pci_addreg
    AddReg         = Parameters

    [nvme_EventLog_Inst]
    AddReg = nvme_EventLog_AddReg

    [nvme_EventLog_AddReg]
    HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
    HKR,,TypesSupported,%REG_DWORD%,7

    [pnpsafe_pci_addreg]
    HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001
    HKR, "Parameters", "BusType", %REG_DWORD%, 0x00000001

    [msi_addreg]
    HKR, Interrupt Management, 0x00000010
    HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010
    HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported,       %REG_DWORD%,   1
    HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_DWORD%,   32
    HKR, Interrupt Management\Affinity Policy, 0x00000010
    HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_DWORD%, 5 ;IrqPolicySpreadMessagesAcrossAllProcessors

    [Parameters]
    HKR, Parameters\Device, Namespaces,         %REG_DWORD%, 0x00000010 ; max number of namespaces supported
    HKR, Parameters\Device, MaxTXSize,          %REG_DWORD%, 0x00020000 ; max trasnfer size
    HKR, Parameters\Device, AdQEntries,         %REG_DWORD%, 0x00000080 ; admin queue size (num of entries)
    HKR, Parameters\Device, IoQEntries,         %REG_DWORD%, 0x00000400 ; IO queue size (num of entries)
    HKR, Parameters\Device, IntCoalescingTime,      %REG_DWORD%, 0x00000000 ; time threshold for INT coalescing
    HKR, Parameters\Device, IntCoalescingEntries,       %REG_DWORD%, 0x00000000 ; # of entries threadhold for INT coalescing

    ;******************************************************************************
    ;*
    ;* 32-BIT X86 ARCHITECTURE
    ;*
    ;* This section specifies the 32-bit architecture specific INF file entries
    ;* required to install a driver as a 32-bit compatible driver.
    ;*
    ;******************************************************************************
    [SourceDisksFiles.x86]
    nvme.sys = 1,,,

    [COMM.NTx86]
    %COMMNvme.DeviceDesc% = nvme_inst, PCI\CC_010802
    ;%COMMNvmeChat.DeviceDesc% = nvme_inst, PCI\CC_010802

    [nvme_inst.ntx86]
    CopyFiles=@nvme.sys

    [nvme_inst.ntx86.HW]
    AddReg = msi_addreg

    [nvme_inst.ntx86.Services]
    AddService = nvme, 0x00000002 , nvme_Service_Inst, nvme_EventLog_Inst

    ;******************************************************************************
    ;*
    ;* 64-BIT X86 ARCHITECTURE
    ;*
    ;* This section specifies the 64-bit architecture specific INF file entries
    ;* required to install a driver as a 64-bit compatible driver.
    ;*
    ;******************************************************************************

    [SourceDisksFiles.amd64]
    nvme.sys = 1,,,

    [COMM.NTamd64]
    %COMMNvme.DeviceDesc% = nvme_inst, PCI\CC_010802
    ;%COMMNvmeChat.DeviceDesc% = nvme_inst, PCI\CC_010802

    [nvme_inst.NTamd64]
    CopyFiles=@nvme.sys

    [nvme_inst.NTamd64.HW]
    AddReg = msi_addreg

    [nvme_inst.NTamd64.Services]
    AddService = nvme, 0x00000002 , nvme_Service_Inst, nvme_EventLog_Inst

    [Strings]
    ;
    ; Localizable Strings
    ;
    diskId1 = "NVMe Installation Disk"
    CommNvme.DeviceDesc = "Community NVMe 1.3 Storport Miniport by Schtrom"
    COMM = "Community"

    ;
    ; Non-Localizable Strings
    ;

    REG_EXPAND_SZ  = 0x00020000
    REG_DWORD      = 0x00010001
    SERVICE_KERNEL_DRIVER  = 1
    SERVICE_BOOT_START     = 0
    SERVICE_ERROR_NORMAL   = 1

If understand it correctly:
1) it using Nvme86.cat + Nvme.sys which are part of installation package.
2) After that there are add some logging with System32\IoLogMsg.dll - i have this file in my system.
3) add its creating couple of registry keys.. - there could be problem that key is not existing or with permission.
I guess that there is now any tool which would just print in which step of inf file processing problem happens?

#4956

diderius6

⇗ @ruthan
Install this nvme driver on another XP installation and connect your wished nvme device.
After this, extract from registry the whole tree nvme and call it nvme.reg .
On your old XP, where you want to put this driver at once via registry,
set all permissions to "enable" and at the field advantage (or similar) put all marks,
that this permissions also are given to subfolders.
The extracted nvme.reg should look like
this one from my compi
Dietmar

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "ErrorControl"=dword:00000001
    "Tag"=dword:00000040
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
       52,00,49,00,56,00,45,00,52,00,53,00,5c,00,6e,00,76,00,6d,00,65,00,2e,00,73,\
       00,79,00,73,00,00,00
    "Group"="SCSI miniport"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters]
    "BusType"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\Debug Print Filter]
    "DEFAULT"=dword:0000000f

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\Device]
    "Namespaces"=dword:00000010
    "MaxTXSize"=dword:00020000
    "AdQEntries"=dword:00000080
    "IoQEntries"=dword:00000400
    "IntCoalescingTime"=dword:00000000
    "IntCoalescingEntries"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\PnpInterface]
    "5"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Security]
    "Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
       00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
       00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
       05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
       20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
       00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
       00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Enum]
    "0"="Root\\LEGACY_NVME\\0000"
    "Count"=dword:00000001
    "NextInstance"=dword:00000001

#4957

Outbreaker

Do we have no fix for this timer problem reported in:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (313)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (313)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (315)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (318)

#4958

ruthan

⇗ @diderius6 Thanks. I dont fully understand this part, what i have to do:

> Zitat

> set all permissions to "enable" and at the field advantage (or similar) put all marks,
> that this permissions also are given to subfolders.

Here is my exported key, i have 2 NVME if it matters, i imported it by standard way, its same so far:

      Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme]
    "Type"=dword:00000001
    "Start"=dword:00000000
    "ErrorControl"=dword:00000001
    "Tag"=dword:00000022
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
       52,00,49,00,56,00,45,00,52,00,53,00,5c,00,6e,00,76,00,6d,00,65,00,2e,00,73,\
       00,79,00,73,00,00,00
    "Group"="SCSI miniport"

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters]
    "BusType"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\Device]
    "Namespaces"=dword:00000010
    "MaxTXSize"=dword:00020000
    "AdQEntries"=dword:00000080
    "IoQEntries"=dword:00000400
    "IntCoalescingTime"=dword:00000000
    "IntCoalescingEntries"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\PnpInterface]
    "5"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Security]
    "Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
       00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
       00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
       05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
       20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
       00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
       00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Enum]
    "0"="PCI\\VEN_144D&DEV_A802&SUBSYS_A801144D&REV_01\\4&188b60fb&0&00DC"
    "Count"=dword:00000002
    "NextInstance"=dword:00000002
    "1"="PCI\\VEN_1CC1&DEV_8201&SUBSYS_82011CC1&REV_03\\4&45c6671&0&00E8"

Problem seems to be that NVME service is there but its not running for some reason, when i try to push it manual its the same.

#4959 | diderius6 | ⇗ @ruthan Did you try different storport.sys Dietmar

#4960

infuscomus

⇗ @Mov AX, 0xDEAD ⇗ @daniel_k
On one of my machines I have encountered a power dropout issue with the existing backported usbxhci driver
I tried using a powered USB hub but that didn't resolve the issue - not to worry I can get by with a USB 2.0 pcie card
I was just wondering would this ntoskrnl extender project be able to potentially solve this problem?

#4961 | ruthan | ⇗ @diderius6 Im using that with file version 5.2.3790.4173 , i compared file from working install and my old and at least TC compare claims that its the same file, so if it is right, problem has to be elsewhere.

#4962

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat

> I was just wondering would this ntoskrnl extender project be able to potentially solve this problem?

extender only helps to port drivers (just library of missed import), it cant fix any internal incompatibility with old kernel
If you have power dropout issue, you will have it with extender too

#4963 | infuscomus | ⇗ @Mov AX, 0xDEAD are you sure it could not possibly these functions being not yet implemented stub functions? PoRegisterPowerSettingCallback PoUnregisterPowerSettingCallback
#4964 | ruthan | Better 2D driver.. I contacted VBEMP author and he say that VBEMP 2k its not working with newer cards like Geforce 1070, but only which some old ones which are still supporting VESA 3, but i got PRO TIP - when i disable videocard HW acceleration - scrolling is much faster.
#4965 | infuscomus | ⇗ @diderius6 do you still have your ASRock AB350 G K4 motherboard? if yes, can you test the backported usbxhci driver with it? I would like to know if you get power dropouts on USB 3 with it, or if its just me.

## Page 332

#4966

diderius6

⇗ @infuscomus
Hi, yes I have and on Friday afternoon I will test.
I also have disconnects but this has nothing to do with this nice USB3 driver,
it happens because of too much current needed via nvme disks in USB clothes.
This happens with any USB driver, even original Asmedia ones
Dietmar

#4967

Andalu

⇗ @diderius6
my experience with the NVMe to USB 3.1 adapter (JSM583 chipset): I got sudden disconnections and BSOD on restarting only on the asus Q370 board (with USB 3.1 ports). Same results in Win7, Win8 and Win10.
No problem when I tried the adapter on both Asrock and Asus B250 boards (USB 3.0 ports only), also rebooting with 4 UASP devices (included the JMS583 adapter) + 2 USB sticks already connected to the boards. I have tried over 10 restarts for each board, nothing changed.
In ⇗ this article they talk about the JMS583 chipset and its stability issues.

#4968 | infuscomus | ⇗ @Andalu ⇗ @diderius6 I have a logitech G510 and a Razer lancehead mouse on a powered USB hub and separately an iodd2531 holding my XP install media As soon as XP textmode setup loads the USB 3.0 driver the USB devices light up but accept no inputs (if the USB 3.0 driver is not loaded the devices do not light up at all)
#4969 | infuscomus | ⇗ @diderius6 have you had time to test usbxhci on the AB350 K4?

#4970

diderius6

⇗ @infuscomus
Yes, I tested about 30 different USB devices on this board. USB 1.1, USB2, USB30, USB3.1, USB3.2 mouse,
usb hubs, usb sticks, usb harddisks, usb cam, handy. Few hundred times plugin <> plugout.
All works to 100% with the nice driver from ⇗ @Mov AX, 0xDEAD . I can do USB boot there.
Only the nvme devices (nvme Optane 28 GB, nvme Samsung 970 PRO 512 GB) in USB clothes fail always.
Both have the chipset JMS583.
This fail (disconnect) happens also on all other USB drivers, mainboards that I tested and also via self powered USB hub.
So now I think, it is an error in the device ICY IB-1817M-C31 itself,
Dietmar

#4971 | infuscomus | ⇗ @diderius6 did usbxhci work for XP textmode setup? i don't know, maybe my iodd2531 confuses the driver?
#4972 | diderius6 | ⇗ @infuscomus Yes, I can run full XP Setup via normal CD install to harddisk or direct to any USB device and I can install XP SP3 direct via Firadisk to any USB device with the nice XP from zone.62 Dietmar
#4973 | infuscomus | ⇗ @diderius6 during XP textmode setup did USB mouse and keyboard work if connected directly to USB 3.0? I'm guessing something on my PC went wrong and it isn't the USB 3.0 driver.

#4974

diderius6

⇗ @infuscomus
Yes, everything with USB works from the beginning of install.
With any USB device connected, there are strange 40 seconds you have to wait,
until the install medium is recogniced.
Sometimes for unknow reason I got BSOD with Firadisk,
but when I change the USB slot,
all is ok
Dietmar
PS: Make a try with install from real Setup CD, connected to the SATA port.
This works for me always on any compi with the XP from zone.62 .

#4975 | infuscomus | ⇗ @diderius6 OK, Thanks for testing I'll try every USB port on the motherboard and see if I get a different result.
#4976 | diderius6 | I just make a direct to USB harddisk install via Setup CD on the Lenovo T43 with the nice XP SP3 from zone62.com . Works at once Dietmar PS: I use for USB2 boot the AMD USB driver.
#4977 | infuscomus | ⇗ @diderius6 I got a BSOD C2 BAD_POOL_CALLER did you ever see this BSOD?
#4978 | ruthan | I see this after reboots from other OS, my guess is that things wasnt really reset by reboot.
#4979 | diderius6 | ⇗ @infuscomus Yes, this happens sometimes. But this BSOD goes away, when I change the USB slot for Firadisk or when I use Setup CD via SATA Dietmar
#4980 | infuscomus | ⇗ @diderius6 Yes! I found a USB port combination that works! Although, I am curious as to why XP setup is so troublesome regarding which USB ports will work properly during the install. It is a mystery..

## Page 333

#4981 | ruthan | No mystery - just bugs and some bug food..
#4982 | canonkong | It is working well on my GC-Titan Bridge Thunderbolt 3 card. ⇗

#4983

Andalu

About the USB3 driver backported from Win8, USB Device Tree Viewer has an yellow mark for the same USB ports (13,14,15,16) in both my B250 Skylake boards:
Asrock B250M:
⇗ ⇗
Asus Prime B250M:
⇗
I also tried in Win8 and Win10: no changes, same usb ports involved. No yellow marks in Win7.
And no yellow mark in XP with the AMDXHCI driver v145:
⇗

#4984

Mov AX, 0xDEAD

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #4983

> About the USB3 driver backported from Win8, USB Device Tree Viewer has an yellow mark for the same USB ports (13,14,15,16) in both my B250 Skylake boards

Hi Andalu
this is bug with Intel controller/bios, on your first picture controller itself reports total 22 Ports:
USB2 only ports 1-12
USB3 only ports 17-22
You may ask what about 13-16 Ports ? What kind of USB Type are they ?
Controller cant say :), so win8 usb3 driver mark these ports as yellow, it's OK, ports realy doesnt exist on motherboard
AMDXHCI driver is not that smart and probably thinks these ports are like USB2

#4985 | Andalu | ⇗ @Mov AX, 0xDEAD the intel driver also doesn't seem so smart if it recognizes all usb ports in Windows7 for the same controller: ⇗

#4986

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #4985

> @Mov AX, 0xDEAD
> the intel driver also doesn't seem so smart if it recognizes all usb ports in Windows7 for the same controller:

Intel driver share code with NEC driver, some AMD x64 drivers also share same code, so I'm not surprised

#4987 | Andalu | ⇗ @Mov AX, 0xDEAD here the USB3 driver backported from Win8 installed in Win7 ⇗

#4988

Andalu

Some benchmarks for UASP devices working in XP with the uaspstor driver backported from win8
Samsung 970evo nvme on USB 3.1 to NVMe adapter (Asmedia ASM2362 chip):
⇗
Samsung 850evo SSD on USB 3.1 to SATA adapter (Via VL715 chip):
⇗
Here the results for the same Samsung 850evo SSD connected on a SATA3 slot:
⇗

#4989 | daniel_k | ⇗ @Andalu Is the Asmedia ASM2362 stable all the time? 850evo is faster on USB bridge than on native SATA3?! All benchs ran on different conditions? PAE, PAE4G and no PAE?
#4990 | Andalu | ⇗ @daniel_k even without PAE, the results won't change ⇗ Until now, no disconnection for the ASM2362 UASP device beyond the heat as for the JMS583 chip. However, I also got a BSOD 0x0C2 when 4 UASP devices was connected to the board at same time during a restart.

#4991

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4990

> even without PAE, the results won't change

That's great, but was just an observation.

> Zitat

> Until now, no disconnection for the ASM2362 UASP device beyond the heat as for the JMS583 chip.
> However, I also got a BSOD 0x0C2 when 4 UASP devices was connected to the board at same time during a restart.

According to MS docs, those 0xC2 errors are driver bugs:
⇗ https://docs.microsoft.com/en-us/windows...bad-pool-caller
You mean you got a BSOD 0xC2 when Windows was shutting down or loading after BIOS POST?
What about forcing install of the standard Mass Storage driver on XP for all 4 devices or testing Win8 to see if you get the same behavior?

#4992

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4991

> According to MS docs, those 0xC2 errors are driver bugs:
> ⇗ https://docs.microsoft.com/en-us/windows...bad-pool-caller
> You mean you got a BSOD 0xC2 when Windows was shutting down or loading after BIOS POST?

I got the BAD_POOL_CALLER bsod after the POST step.

> Zitat von ⇗ daniel_k im Beitrag ¶ #4991

> What about forcing install of the standard Mass Storage driver on XP for all 4 devices or testing Win8 to see if you get the same behavior?

I'll try firstly in Win8.

#4993

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4992

> I'll try firstly in Win8.

Ok, if you don't get any BSODs after several restarts, please force install of the standard Mass Storage driver on XP for all 4 devices.
This way we'll know if the problem is in uaspstor.sys or in xhci drivers.

#4994

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #4993

> > Zitat von ⇗ Andalu im Beitrag ¶ #4992

> > I'll try firstly in Win8.

> Ok, if you don't get any BSODs after several restarts, please force install of the standard Mass Storage driver on XP for all 4 devices.
> This way we'll know if the problem is in uaspstor.sys or in xhci drivers.

I'm on the eleventh restart just now (in Win8), no issue encountered with 4 UASP devices connected to the USB 3.1 Gen2 ports.

#4995

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #4994

> I'm on the eleventh restart just now (in Win8), no issue encountered with 4 UASP devices connected to the USB 3.1 Gen2 ports.

Good.
On XP the BSODs were frequent?

## Page 334

#4996

Andalu

⇗ @daniel_k
After ten restarts in XP with the "USB mass storage" devices connected to the USB 3.1 ports, no bsod, no failed recognition, no sudden disconnection.
On the left the UASP devices, on the right the same devices installed as USB mass storage devices:
⇗ ⇗
I'm trying now to restart the XP system with the 4 UASP devices to see if another BSOD can occur. Yesterday it occurred on the 3th restarting attempt.
Please consider that some days ago I had used the 'dangerous' JMS583 device with which I could not arrive at the 3th restart without a bsod (not only a bad_pool_caller).

#4997 | Andalu | ⇗ @daniel_k BSOD 0x0C2 just occurred after POST, as yesterday. I swapped the UASP devices and I got the bad_pool_caller error. Could it be that this error is related to a specific USB port? Until I switched the ports, no BSOD had occurred. EDIT: on restarting after that BSOD with the same UASP devices connected to the same ports, XP boots without errors and the UASP devices are correctly recognized.
#4998 | daniel_k | ⇗ @Andalu So the problem is related to the XHCI drivers. Will send you a PM with some test files.
#4999 | Andalu | ⇗ @daniel_k shutdowning the system, I got the same C2 bsod on restart (when the XP logo appears) without swapping the UASP devices.
#5000 | tumagonx | Hi, new user here. Thanks for the generic drivers port for XP that you guys made! I want to ask about gpt_loader.sys from paragon, I seen mentioned version of 8.x which patched for stability and 9.x which said has hybridMBR issue. Just to clarify does version 10.x also exhibit the same issue as 9.x?

#5001

tumagonx

About storport transplant (from NT52). AFAIK NT51 kernel has no knowledge about storport unlike NT52 that understand BOTH scsiport and storport in tandem.
SO when using storport do you have issue with third party drivers which utilise scsiport?
About WinXPPAE patch, anyone rich enough to experiment with 256GB RAM? I think I read somewhere (by Mark Russinovich?) that in Server 2003 x32 (I assume datacenter) the mapping of 128GB need about 960MB PTE within 2GB system space, with 1920MB PTE there still 128MB left (which can be helped with pagefile if more resources needed by system). I think thats a possibility.
One thing that confuse me, often when talking about PAE (e.g. in wikipedia) they usually mention 36-bit (64GB) PAE which can be traced from Pentium Pro 200Mhz that has it. If the patch remove memory licensing then Windows will try whatever the Processor capable right? (as long as its PTE can be fitted in 2GB system space)
Regarding AWE I remember that mysql 5.0.x (but not later version) has support it (up to 63GB), just in case someone want to experiment with real-world application.

#5002 | tumagonx | Forgot to ask, I read in nvidia forum someone complaining that driver after 332.21 break PAE support, effectively limit XP PAE to Kepler generation instead of Maxwell, is this confirmed?

#5003

infuscomus

⇗ @tumagonx
I did not know there was a 10.x version of gpt_loader - so I don't know if it has any bugs
I don't have any hardware that mixes storport and scsiport drivers together but I don't see why they could not coexist
My system only has 32gb of RAM
This is the first I've heard of any nvidia related PAE issue

#5004 | tumagonx | ⇗ @infuscomus my HFS+ for Windows 9.1 (filename: HFS4WIN_ea_xU.msi) has gpt_loader.sys version 10.4.0.388 For example the only freely available virtual DVD writer by TotalMounter install scsiport driver, so is the open source arsenal image mounter use scsiport. I recalled there are references of storport in the NT52 kernel which absent in XP, didn't check what's kernel "doing" with it.
#5005 | tumagonx | ⇗ @infuscomus since you have 32GB have you tried XP SP1? is there any PAE limiter?
#5006 | ruthan | You dont need any PAE limitter because OS is 32bit, its simply ignore memory above 4GB, unless some hacks.
#5007 | ruthan | Is there any realiable Ramdisk program to use memory above 4GB compatible with present pae /4G mode?

#5008

ruthan

If you are in constant not enough PCI-E slots problem as me, this could be handy.
I also made deeper look on frakenstein combo PCI-E addon cards:
- there are SATA+USB3 and USB3+LAN cards - to save the slots..
- USB3+LAN are not so great they just can save some messy cabling, but other they are just internal made as USB-LANs add i saw Assix and Realtek Gigabit ones and almost all of them are using VIA USB3, only exception is Startech(=Expensive) PEXUSB3S3G , which are using NEC USB3 - which are from my experience even worse that VIA. So far i dont see some not branded Startech card for same price, which is quite normal, because Startech often, just selling same HW as other for 2x,3x higher price, but have some unique devices..
- Sata + USB3 - seems as better deals.
There Syba SD-PEX50055 - with Etron USB3 + ASM1061 and i dunno which Sata controller and us usual which good price available only in US, because EU shipping is more expressive than card itself. - This could be good Intel used Etron USB3 as its first USB3 implementations.If you will find some with good EU shipping price let me know.
and probably better Asmedia cards ASM1042 (USB), ASM1061 (SATA), ASM1182 (just some pci-e chipset) - which is available form Asia - Free shipping and cheaper - i ordered one.
- There is also VLI VL805 (VIA) & ASMedia 1061(Sata).
Does someone real experience with these 2 in 1 cards?
Because if would make it working, i can use free slots for example for nice PCI-E DVI video grabbing cards or others, or have more USB3 controller.. or more NVME devices, to make all devies really working, so far for me biggest problem is really not working Xbox360 controller in WinXP - because its not working with community Intel USB3 (or at least not if connected after reboot= black login screen dead - it would be really nice bypass this problem by some HW mod, even if devices will not working).. but not even with VIA USB3 - in any OS.. with Intel USB3 and no WinXP its working fine.

#5009 | Outbreaker | ⇗ @tumagonx The last gpt_loader.sys for Windows XP is v8.0.1.0

#5010

ruthan

There is some mismatch between Programs versions and /.sys versioning. I have program 10.x.. but sys file is 8.0.1.0.. but magic distro has integrated version 8 - but its not working great, so i guess that is version 8 of program, which some older sys file, or more than just .sys file matters.
Ot they simply as other programs simply forgot to increase versioning.. My file is from 2011.02.15, signature from 2010.12.03

## Page 335

#5011

Andalu

> Zitat von ⇗ ruthan im Beitrag ¶ #5007

> Is there any realiable Ramdisk program to use memory above 4GB compatible with present pae /4G mode?

This works for both PAE /4Gb and /ALL options:
⇗ ⇗

#5012 | ruthan | ⇗ @Andalu thanks, it looks great.

#5013

tumagonx

⇗ @Outbreaker why you are so sure? which from paragon software your .sys came from? (I already said where mine came from)
FYI 10.4.0.388 have date mod of 14 November, 2014, 19:21:32 subsystem version clearly stated 5.1 compiled with msvc9.0 filesize 44,624
I have tested it before (along with Paragon Extfs for windows) with snow leopard on other partition and redhat Linux too. I just don't have GPT disk, that's why I asked.

#5014

Outbreaker

⇗ @tumagonx
The "Paragon GPT Loader v10.0.16.12944" will install the gpt_loader.sys driver file version 8.0.1.0 on my Windows XP computer.
EDIT:
I notice now, the "Paragon GPT Loader" has been discontinued and they now have a ton of other tools, which are all no longer supported for Windows XP.
A good question now is which gpt_loader.sys file version is now the last working one for Windows XP.

#5015

tumagonx

⇗ @Outbreaker ...and what date was that GPT loader 10?
FYI it is normal that Mac format disk as GPT, that why gpt bundled with HFS+ for Windows. It's a wonder why you're comparing the version of two different product though....
I got all my paragon freeware "special edition" when XP discontinued back then:
HFS+ for Windows 9.1
Partition Manager 14
Disk Wiper 12
Drive Copy 14

#5016

ruthan

> Zitat

> A good question now is which gpt_loader.sys file version is now the last working one for Windows XP

Every versions was working within XP, it was primary OS, where such driver make sense, because Windows 7+ have native gpt support. Maybe Vista, but nobody using it and maybe it support Win2000 (update: yeah its supported) i never checked it.
If is not working for you its because of Intel controllers, its simply never worked with them.

#5017 | canonkong | Here is a link about some source code from win10, meybe we can port them. ⇗ https://pastebin.com/VGEbWVSM

#5018

Mov AX, 0xDEAD

> Zitat von ⇗ canonkong im Beitrag ¶ #5017

> Here is a link about some source code from win10, meybe we can port them

we know about this leak, but seems no one tried to compile, need rewrite some parts with Timers and create some missing files

#5019 | ruthan | On installation where is NVME not working (i testing proven - with other install v1.3_20180719 ) i found error in Even log, maybe it helps. ⇗

#5020

tumagonx

Anyone here with geforce hardware could confirm my previous question that driver after 332.21 works with winxppae patch?
some prior reports:
just search for "332.21"
⇗ https://wj32.org/wp/2011/02/23/pae-patch...-windows-7-sp1/
⇗ https://wj32.org/wp/2013/10/25/pae-patch...or-windows-8-1/
⇗ https://www.nvidia.com/en-us/geforce/for...pport-pae-mode/
⇗ http://fireswordblog.blogspot.com/2014/0...msys-after.html
⇗ https://forums.intel.com/s/question/0D50...?language=en_US

#5021

ruthan

This old stuff just ignore it, there now newer better PAE patches, with /4GB switch they will work fine for everything. If you need more than 4GB there are quite and bad drivers for other devices and which will have issues.. and nobody can fix all of them. You can make with Page /4g Ramdisk to use ram above 4GB, if you really need something very quick. There is Win limit for max 2GB per program anyway, very few enterprise SW like big DB engine, is able to get around it and use more processes i thing.
You can try it and report bug, maybe, maybe someone will fix 1 broken driver for you.

#5022 | Mov AX, 0xDEAD | ¶ NTOSKRNL Emu_Extender Post Updated, project published on github
#5023 | infuscomus | ⇗ @Mov AX, 0xDEAD how far do you think we could go with this project? is there any hardware we could not get working with this?

#5024

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5023

> how far do you think we could go with this project?

I made it because existing way of backporting is "dirty hacks", mess of injects/stubs/Jxx->Jyy. I've been wanting to remake all this horror for a long time.
I cant say how this project can helps with new backports, if i will do something new, i will use it

#5025

infuscomus

⇗ @daniel_k
usbtreeview of older Mov Ax 0xDEAD usbxhci driver
⇗
usbtreeview of newer daniel_k driver
⇗
text report attached
-----
If I did this incorrectly let me know.
infuscomus has attached files to this post

- ⇗ oldusbxhci_UsbTreeView_report_WINXPIE-27540.zip
- ⇗ newusbxhci_UsbTreeView_report_WINXPIE-27540.zip

## Page 336

#5026

infuscomus

> Zitat von ⇗ coldwove im Beitrag ¶ #3346

> @diderius6 nope still doing the same thing sadly :c
> 0x000000A5
> 0x00000002
> 0x8D1BF828
> 0x00000001
> 0x8D1C4778

^
Can anyone confirm whether or not A5 BSODs are fixed for Threadripper Systems?

#5027

gordo999

⇗ @diderius6 ...I think you were asking ⇗ @Mov AX, 0xDEAD about the i219 missing functions for XP. The following is a list I made of both in depends x32 for the ntoskrnl and ndis51 missing functions for the i219 driver. I got them using depends x86 in a directory full of XP drivers and files by dropping the W7 driver, e1d6232.sys driver, into the directory and running depends for that driver.
My B360 chipset LAN driver hardware ID is Ven_8086&DEV_15BC. The e1d6232.sys is a W7 LAN x32 driver that lists the 15BC. I was planning to add the drivers marked **** below which depends marked as missing from the XP ntoskrnl and ndis.sys (5.1 wrapper). I had planned to add these missing exports but I have been up to my butt in alligators recently re personal matters.
My current W7 i219 driver is e1d62x64 but is has other files listed as follows:
e1d62x64.din
e1dmsg.dll
NicCo4.dll
NicInstD.dll
They may affect the i219 as well under XP even if the missing files are replaced. And please note my W7 installation is x64. I got the drivers from an Intel PRO1000 package for W7. I can get the exact package if you need it.
⇗ @daniel_k ...may have worked on this before but I don't know how far he got.
The only exports reported missing were from from XP ntoskrnl and ndis.sys and I have marked them below with ***.

    ntoskrnl exports...

    *** marks missing export

    ***EtwWrite
    ExAllocatePoolWithTag
    ExFreePoolWithTag
    IoAllocateErrorLogEntry
    ***IoGetAffinityInterrupt
    IoGetDeviceProperty
    IoWMIRegistrationControl
    IoWriteErrorLogEntry
    IofCompleteRequest
    KeAcquireInStackQueuedSpinLockAtDpcLevel
    KeBugCheckEx
    ***KeGetProcessorIndexFromNumber
    ***KeGetProcessorNumberFromIndex
    KeInitializeMutex
    ***KeQueryHighestNodeNumber
    KeQuerySystemTime
    KeReleaseInStackQueuedSpinLockFromDpcLevel
    KeReleaseMutex
    KeWaitForSingleObject
    KefAcquireSpinLockAtDpcLevel
    KefReleaseSpinLockFromDpcLevel
    MmGetSystemRoutineAddress
    MmMapLockedPagesSpecifyCache
    ***PoRegisterPowerSettingCallback
    ***PoUnregisterPowerSettingCallback
    RtlAppendUnicodeStringToString
    RtlCompareMemory
    RtlCopyUnicodeString
    RtlGetVersion
    RtlInitUnicodeString
    ZwClose
    ZwOpenFile
    _alldiv
    _allmul
    _allshl
    _aulldiv
    _aullshr
    _purecall
    _vsnwprintf
    memcpy
    ***memcpy_s
    memset
    ***sprintf_s
    ***strcpy_s
    ***vsprintf_s

    ndis51 exports...

    NdisAcquireReadWriteLock
    ***NdisAllocateIoWorkItem
    ***NdisAllocateMdl
    NdisAllocateMemoryWithTag
    ***NdisAllocateMemoryWithTagPriority
    ***NdisAllocateNetBufferAndNetBufferList
    ***NdisAllocateNetBufferListPool
    NdisCloseConfiguration
    ***NdisDeregisterDeviceEx
    ***NdisFreeIoWorkItem
    ***NdisFreeMdl
    NdisFreeMemory
    ***NdisFreeNetBufferList
    ***NdisFreeNetBufferListPool
    NdisGetRoutineAddress
    NdisGetVersion
    ***NdisGroupActiveProcessorCount
    NdisInitializeEvent
    NdisInitializeReadWriteLock
    NdisInitializeString
    ***NdisMAllocateNetBufferSGList
    NdisMAllocateSharedMemory
    NdisMCancelTimer
    ***NdisMDeregisterInterruptEx
    ***NdisMDeregisterMiniportDriver
    ***NdisMDeregisterScatterGatherDma
    ***NdisMFreeNetBufferSGList
    NdisMFreeSharedMemory
    ***NdisMGetBusData
    NdisMGetDeviceProperty
    ***NdisMIndicateReceiveNetBufferLists
    ***NdisMIndicateStatusEx
    NdisMInitializeTimer
    NdisMMapIoSpace
    NdisMQueryAdapterInstanceName
    ***NdisMRegisterInterruptEx
    ***NdisMRegisterMiniportDriver
    ***NdisMRegisterScatterGatherDma
    NdisMRemoveMiniport
    NdisMResetComplete
    ***NdisMSendNetBufferListsComplete
    ***NdisMSetBusData
    ***NdisMSetMiniportAttributes
    NdisMSetPeriodicTimer
    NdisMSleep
    NdisMUnmapIoSpace
    ***NdisOpenConfigurationEx
    ***NdisQueueIoWorkItem
    NdisReadConfiguration
    NdisReadNetworkAddress
    ***NdisRegisterDeviceEx
    NdisReleaseReadWriteLock
    NdisResetEvent
    NdisSetEvent
    ***NdisSetOptionalHandlers
    NdisSetTimer
    NdisWaitEvent

Just noticed...
NicCo4.dll is missing .....WNetRestoreConnectionA in mpr.dll ....same for NicInstD.dll
Oddly, it lists mpr.dll as missing the same export. So, maybe if export is added to mpr.dll that will fix both files above.

#5028

infuscomus

⇗ @gordo999
the e1d6232 is not missing many exports
e1d6232 missing

    IoGetAffinityInterrupt
    vsprintf_s
    sprintf_s
    strcpy_s
    PoUnregisterPowerSettingCallback
    PoRegisterPowerSettingCallback
    memcpy_s
    KeQueryHighestNodeNumber
    KeGetProcessorIndexFromNumber
    KeGetProcessorNumberFromIndex
    EtwWrite

ntoskrnl extender has these covered but there is more
ndis 7 missing

    KeGetCurrentProcessorNumberEx
    KeRevertToUserGroupAffinityThread
    MmAllocateContiguousMemorySpecifyCacheNode
    KeSetSystemGroupAffinityThread
    KeQueryHighestNodeNumber
    ExInitializeLookasideListEx
    ExDeleteLookasideListEx
    EtwWriteTransfer
    KeQueryGroupAffinity
    KeQueryActiveProcessorCountEx
    KeQueryDpcWatchdogInformation
    NtTraceControl
    KeGetProcessorIndexFromNumber
    KeQueryLogicalProcessorRelationship
    KeGetProcessorNumberFromIndex
    EtwRegister
    KeSetTargetProcessorDpcEx
    KeRegisterProcessorChangeCallback
    PoRegisterPowerSettingCallback
    KeQueryMaximumProcessorCountEx
    RtlNumberOfSetBitsUlongPtr
    KeQueryActiveGroupCount
    KeQueryMaximumGroupCount
    KeTestSpinLock
    KeQueryNodeActiveAffinity
    IoGetDeviceNumaNode
    NtQuerySystemInformationEx
    KeSetCoalescableTimer
    IoGetDevicePropertyData
    IoDisconnectInterruptEx
    IoConnectInterruptEx
    EtwWrite
    PcwAddInstance
    PcwRegister

netio 7 missing

    MmAllocatePagesForMdlEx
    KeFreeCalloutStack
    KeAllocateCalloutStack
    KeQueryActiveProcessorCountEx
    IoInitializeWorkItem
    IoSizeofWorkItem
    IoUninitializeWorkItem
    IoQueueWorkItemEx
    EtwUnregister
    EtwWrite
    EtwRegister
    SeCaptureSubjectContextEx
    KeTestSpinLock
    SeAccessCheckFromState
    RtlCreateHashTable
    RtlDeleteHashTable
    RtlGetNextEntryHashTable
    RtlLookupEntryHashTable
    RtlRemoveEntryHashTable
    RtlInsertEntryHashTable
    RtlEndEnumerationHashTable
    RtlEnumerateEntryHashTable
    RtlInitEnumerationHashTable
    RtlContractHashTable
    RtlExpandHashTable
    KeSetCoalescableTimer
    ExInitializeLookasideListEx
    ExDeleteLookasideListEx
    KeGetCurrentProcessorNumberEx
    KeQueryMaximumProcessorCountEx

#5029

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #5028

> the e1d6232 is not missing many exports

⇗ @infuscomus ....I am wondering what method you used to determine the missing exports? I did it in XP in a directory containing the entire XP System32 and drivers directories. When I loaded e1d6232, in the same directory, into depends x86 it gave me the list I posted. The exports I marked as *** were marked in red in depends. I was using ndis.sys 5.1 version and the XP SP3 ntoskrnl.

#5030 | ruthan | I have other question to magic distro? Its possible to use Windows updates, activate it with my key? And its safe with new *.dll use things like sfc /scan ?

#5031

Mov AX, 0xDEAD

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #4990

> Until now, no disconnection for the ASM2362 UASP device beyond the heat as for the JMS583 chip.
> However, I also got a BSOD 0x0C2 when 4 UASP devices was connected to the board at same time during a restart.

Hi Andalu
If it possible, please enable crashdump saving to disk and send me (i think in dump will never saved any your confidental info)
With some BSODs Windows cant save any files to disk and this BSODs very hard to investigate (need second pc with remote debugging)

#5032

Andalu

⇗ @Mov AX, 0xDEAD
Hi,
I had already enabled the 'Kernel Memory Dump' to get the dump file for that bad_pool_caller bsod without success. I had also modified the registry to find a way to obtain it.
I was able to save the dump only when I applied the trick to simulate a bsod via keyboard keys (holding right ctrl + pressing the scroll lock two times).
edit:

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5031

> ....(need second pc with remote debugging)

I don't think I'm able to do this because I've never debugged.

#5033 | Andalu | ⇗ @Mov AX, 0xDEAD I tried once again to configure the system as below in the hope to save the memory.dump (editing also the boot.ini file with the /maxmem option): ⇗ ⇗ but without results because when the bsod occurred again the dump file was not saved anyway.
#5034 | infuscomus | ⇗ @Andalu Earlier ⇗ @daniel_k sent me a driver that solved a C2 BSOD for me, ask him if you can try it out.

#5035

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5034

> @Andalu
> Earlier @daniel_k sent me a driver that solved a C2 BSOD for me, ask him if you can try it out.

He already has it, sent Beta3 to both of you having the same issues.

#5036 | daniel_k | ⇗ @diderius6 When you have some time, please try this new Asmedia: ⇗ USB 3.0/3.1 Drivers (original and modded) (157) Remember that v1.16.59.1 had issues with USB2/USB1 devices? This one fixed that, at least for me.
#5037 | ruthan | ⇗ @daniel_k WHich ones? Regarding of description in 1st post they are Win7+ I have now Asmedia controller too.

#5038

daniel_k

> Zitat von ⇗ ruthan im Beitrag ¶ #5037

> @daniel_k
> WHich ones? Regarding of description in 1st post they are Win7+
> I have now Asmedia controller too.

Asmedia removed XP/Server 2003 info from Readme, but the drivers have always worked on those OSes.

#5039

ruthan

Good news for multibooting..
I fixed multiple video cards booting problem with MacOS:
⇗ https://www.tonymacx86.com/threads/2-dif...8/#post-2141678
Just by disabling whole PCI-E slot for non primary MacOS videocard, this tricks disable whole PCI-E controller is also working on Windows, but i never had time to dive deeper to it and find you how to discover which controller is used for which slot / card.. But Agent007 from Poland is using this trick for its multibooting system..
I have also good news for not Gigabyte boards - no primary PCI-E slot bios settings. Its not needed. When you boot with primary no WinXP videocard without WinXP driver and installl Nvidia drivers for on second card and disable first one. Boot is working this - boot splash, bios etc.. its on first card, but when you reach logon screen, is on now on second card monitor(s).. of course you can use same monitor(s) for both cards and only other monitor inputs. I still dream about some autoswitching with some clever HDMI switch but, i have to test it.. If both cards giving you signal from boot it will not work, if not it will.. Or maybe some monitor have something like inputs priority.. so you can i theory give second card signal higher priority if used, it will auto switch to it.. I dont now too much about this.
WinXP multiple without cards setup:
I also setup nice Linux KVM videocard passthrough for XP on Linux, so i have even nice Linux QEMU win XP instance, if want to use it.. and its nice fallback for MBs where is will not XP working in future, until vendors will not completly stop supporting XP capable videocards.. But its Linux so there some additional hassle..
⇗ Windows 98SE on Modern Hardware (15)
Next setup beside still not working NVME with my old install would be 3rd videocard and will try is Asmedia USB3 is better than VIA for my machine .. Geforce 6 or something like that for Win 98 KVM, in theory, it could work natively too, but it would need some Win98 USB capable USB controller and USB sound card / USB NIC, or PCI-E to PCI adapter for PCI soundcard, NIC or both - big mess within case or outside.. and still not Dos PCI dos audio.. it needs some BIOS / MB support (last ones are with support are X58 / X79).
but well on Vogons is some guy from Estonia which have some ideas about some HW mods for it ( ⇗ https://www.vogons.org/viewtopic.php?p=830496#p830496 ⇗ https://www.vogons.org/viewtopic.php?p=716248#p716248 , he is already making new ISA soundcards with digital audio out you can support him by buy one.. ⇗ https://www.vogons.org/viewtopic.php?f=62&t=61282 ). Qemu Dos SB evolution is sucks so far.. Virtualbox is even worse, Vmware its getting better but slowly ( ⇗ https://www.vogons.org/viewtopic.php?f=9&t=69314 ) and they is not videocard pass through of course. If there is new board with LPT port there is Adlib emulator for it, its still better than PC speaker and quite few of games was patched for it: ⇗ https://www.serdashop.com/OPL2LPT ⇗ https://github.com/pdewacht/adlipt/wiki/ADPATCH-Tested-Games

#5040 | kukonosau | ⇗ @diderius6 Do you have stable acpi.sys for XPx64 for Ryzen today? Where is last version?

## Page 337

#5041 | diderius6 | ⇗ @kukonosau XP64 is unstable under Ryzen. Lan, sound.. crash randomally on different compis with different Ryzen cpu Dietmar
#5042 | kukonosau | ⇗ @diderius6 Crash randomally(((

#5043

ruthan

⇗ @kukonosau Why do you want to use it? Its not good operating system its not compatible with lots of WinXP 32 bit apps and its not compatible with most of x64 apps because they are for Vista and Windows 7. You can try it within virtual machine to discover that.
If you like WinXP look just get some Windows 7 XP reskin, i would be much better. Its so but system, that MS was sort of giving it free and i thing that they not even implemented some genuine check to it, so was for first 64bit debbuging before proper Vista x86 release.

#5044

ruthan

Ok USB hell continues, i tested ASM 104x, i did search so far it there is some new firmware.
Detailed results are here:
⇗ https://docs.zoho.com/sheet/published.do...22a5b950420cb22
WinXP its better that VIA, i made working everything, but:
- Xbox 360 fake receiver - code 10, i simulated same within WIndows 10 with last Win-Raid driver.
- external USB3 hub - Icybox, its the same with Windows 10, it not detected, i detected it once by reconnect cables, devices where detected working, but after restart they where gone
- Its not working within bios for mouse..
- Its not working with Linux, its just not here - lsusb not show it..
- Its not working with MacOS
Its only one which is realible for Realtek USB3 Gigabit one, Pinnacle TV stick and Xbox 360 controller (cable one) with WInXP and Windows 10, those are not working with VIA.
So for me personally make sense still keep VIA, because no Linux and no MacOS is big nono for me.
I have some suspicion that these additional USB3 cards really dont play good with powered USB hub, because i disconnected power cable from machine and.. MB leds still lit for eternity and even Blue ray drive was from time to time blinking from time to time, i never experience something like that. I dunno if it power with my cheap USB2 ebay USB2 hub, or with ICYBox USB3 too, so its possible that becaus of that is not hub propertly reset during powerdowns or reboots.
So i will test i once more without power to hubs, if it would be any better and if there is enough power to devices to working, USB 3 specs should give lots of power in theory, but i dunno how it keeps is real implementations.
Its USB mouse working for you with Intel USB3 controller with WinXP? Because my Razer mouse is maybe some exception, some complex device.. i can live without lots of USB device, when i got bad boot and not working controller, but no mouse is too much.
I still have Etron on the way and modchip USB2 PCI-E (for second time) USB is enough for me for devices, because Mass storages are already working with Intel USB3. Frescos on ebay are expensive and Texas instruments rare.. but it really seems that fix Intel USB3 would same lots of people lots of hassle..

#5045

Dibya

> Zitat von ⇗ ruthan im Beitrag ¶ #5043

> @kukonosau Why do you want to use it? Its not good operating system its not compatible with lots of WinXP 32 bit apps and its not compatible with most of x64 apps because they are for Vista and Windows 7. You can try it within virtual machine to discover that.
> If you like WinXP look just get some Windows 7 XP reskin, i would be much better. Its so but system, that MS was sort of giving it free and i thing that they not even implemented some genuine check to it, so was for first 64bit debbuging before proper Vista x86 release.

Its a extremely stable and robust platform , believe it or not . My core 2 duo laptop runs it and i have no complain . 99% x64 apps released from 2007 to 2013 are compatible . I have never seen any XP 32bit app not running except one who still have 16bit components . On ryzen its a no go i guess but on intel XPx64 is a stable mad lad , a did disordered server 2003

#5046

ruthan

> Zitat von ⇗ Dibya im Beitrag ¶ #5045

> Its a extremely stable and robust platform , believe it or not . My core 2 duo laptop runs it and i have no complain . 99% x64 apps released from 2007 to 2013 are compatible . I have never seen any XP 32bit app not running except one who still have 16bit components . On ryzen its a no go i guess but on intel XPx64 is a stable mad lad , a did disordered server 2003

Well i already heard lots of big worlds from you in the past, some of them never fulfilled, so im a bit skeptic.
It could be stable, but if Windows 7 apps not really working, it make no sense 2007 to 2013, could mean anything. Lots of apps are just checking on which OS its running, yeah there is probably hack for it, they would depend on some missing kernel function and libs, i dont believe that such big stacks as Direct X 10/11 are somehow emulated and hacked, for other things like networking stuff, .Net it would be probably similar.
On Windows 7 is now running almost everything except few Win10 stuff, but dont belive in any strech of imagination that such things would run on Windows 7.. and what about the drivers are Windows 7 drivers running on Win x64, because if not for example video drivers would be big problem. Even within WIn x64 heydays there where lots of problems with drivers.

#5047

infuscomus

⇗ @Mov AX, 0xDEAD
I'm trying to follow your guide to use ntoskrnl extender
I managed to get the USB 3.0 driver working with it, but I couldn't get KMDF 1.11 working with it - it kept throwing a 7E BSOD.
When I switched to modded KMDF everything worked fine.
any idea why wdf01_w8.sys would throw a 7E BSOD?

#5048

dencorso

> Zitat von ⇗ Andalu im Beitrag ¶ #5032

> @Mov AX, 0xDEAD
> Hi,
> I had already enabled the 'Kernel Memory Dump' to get the dump file for that bad_pool_caller bsod without success. I had also modified the registry to find a way to obtain it. I was able to save the dump only when I applied the trick to simulate a bsod via keyboard keys (holding right ctrl + pressing the scroll lock two times).

⇗ @Andalu: your system may be needing ⇗ https://web.archive.org/web/201305110015...t.com/kb/916157, my friend. While most files in it are actually superseded, its dumpdrv.exe is the latest one ever released... and despite being old, it's not widely known.

#5049

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5047

> @Mov AX, 0xDEAD
> I managed to get the USB 3.0 driver working with it, but I couldn't get KMDF 1.11 working with it - it kept throwing a 7E BSOD.
> any idea why wdf01_w8.sys would throw a 7E BSOD?

Hi infuscomus
Which version of WdfLdr & WDF0100.SYS used to patch ?

#5050

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5049

> Hi infuscomus
> Which version of WdfLdr & WDF0100.SYS used to patch ?

Nevermind this, he tried to use a version I compiled to specifically to test with ucx01000.sys/usbxhci.sys to fix the workitem issue (0xC2).
By the way, tried to compile your V2 Extender and is giving me the following error:

    storport.obj : error LNK2019: unresolved external symbol _StorPortExtendedFunction
    referenced in function _StorPortExtendedFunction_k8

Will try to find out what is missing.

#5051

Andalu

> Zitat von ⇗ dencorso im Beitrag ¶ #5048

> @Andalu: your system may be needing ⇗ https://web.archive.org/web/201305110015...t.com/kb/916157, my friend. While most files in it are actually superseded, its dumpdrv.exe is the latest one ever released... and despite being old, it's not widely known.

Hi dencorso,
thanks for the info but the link to download the KB update gave me the message: "The requested URL was not found on the server".
It doesn't matter because the "dumpdrv.sys" version I found ⇗ here is more updated than the version mentioned in that article and it is the same version already contained in the nice WinXP-IE from zone62.com I used in all my attempts even if I couldn't get the dump file for the C2 bsod:
⇗

#5052

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #5050

> By the way, tried to compile your V2 Extender and is giving me the following error:

>     storport.obj : error LNK2019: unresolved external symbol _StorPortExtendedFunction
>     referenced in function _StorPortExtendedFunction_k8

> Will try to find out what is missing.

⇗ @daniel_k
If target OS is WinXP, linker use storport.lib from lib\wxp\i386\, this lib dont have proper exports (why ms added storport.lib to xp x32 folder ?)
fix: override storport.lib to w2003 version from \lib\wnet\i386\
also include $(DDK_LIB_PATH)\storport.lib in sources file

#5053

sgb0504

help
The operating system I use is 32-bit XP
INTEL I5 9400
ASUS ROG STRIX H370-F GAMING
The operating system I use is 32-bit XP
Press F5 to have only Standard PC with C-Step i486
No ACPI Multiprocessor PC to choose
why? ?
Thank you

#5054

YuriyCN

> Zitat von ⇗ sgb0504 im Beitrag ¶ #5053

> Press F5 to have only Standard PC with C-Step i486
> No ACPI Multiprocessor PC to choose
> why? ?
> Thank you

use mod ACPI.SYS

#5055

Mov AX, 0xDEAD

Windows 8 USB3 driver always report USB2 speed on inserted USB3 devices, MS call it "compatibility", but vendors driver report proper USB3 speed and dont have compatibility issues(?)
Little patch to report proper USB3 speed:
usbhub3.sys (any version)
83 7E 54 03 75 09 => 83 7E 54 03 EB 09
same place in leaked sources (HUBFDO_IoctlGetNodeConnectionInfo):

    orig:
    //
    // COMPAT: Return high-speed for superspeed devices, to avoid confusing
    //         clients that are not USB3 aware.
    //
    if (deviceContext->UsbDeviceInfo.DeviceSpeed == UsbSuperSpeed) {
        nodeConnectionInformationEx->Speed = UsbHighSpeed;
    } else {
        nodeConnectionInformationEx->Speed = deviceContext->UsbDeviceInfo.DeviceSpeed;
    }

    patch:
    if (deviceContext->UsbDeviceInfo.DeviceSpeed == UsbSuperSpeed) {
                             nodeConnectionInformationEx->Speed = deviceContext->UsbDeviceInfo.DeviceSpeed;
    } else {
        nodeConnectionInformationEx->Speed = deviceContext->UsbDeviceInfo.DeviceSpeed;
    }

## Page 338

#5056 | Mov AX, 0xDEAD | Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove": vusbstor.sys x32 v6.1.7600.4002 89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF
#5057 | canonkong | I got a Gigabyte B550I AORUS PRO AX. Its very strange that it can work on win7 with zen/zen+ CPU and APU, but will ACPI not fully support A5 BSOD with zen2 cpu. On Gigabyte X570I AORUS PRO WIFI, they all can work fine. To solve this BSOD, expect to modify ACPI.sys, maybe can use clover to overlay the ACPI to guide the OS.
#5058 | infuscomus | ⇗ @canonkong did modded acpi.sys not work?

#5059

isopc1999a

> Zitat von ⇗ canonkong im Beitrag ¶ #5057

> I got a Gigabyte B550I AORUS PRO AX. Its very strange that it can work on win7 with zen/zen+ CPU and APU, but will ACPI not fully support A5 BSOD with zen2 cpu. On Gigabyte X570I AORUS PRO AX, they all can work fine.
> To solve this BSOD, expect to modify ACPI.sys, maybe can use clover to overlay the ACPI to guide the OS.

That is very strange. What is the firmware version?
Both firmware version of X570 and B550 are AGESA Combo V2 1.0.0.2?

#5060

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #5057

> I got a Gigabyte B550I AORUS PRO AX. Its very strange that it can work on win7 with zen/zen+ CPU and APU, but will ACPI not fully support A5 BSOD with zen2 cpu. On Gigabyte X570I AORUS PRO AX, they all can work fine.
> To solve this BSOD, expect to modify ACPI.sys, maybe can use clover to overlay the ACPI to guide the OS.

That X570I model doesn't exist, you mean X570 I AORUS PRO WIFI?
Anyway, did a quick look at their DSDT tables, B550I AORUS PRO AX has 2 DSDTs, first one seems to be for Zen2, second for Zen/Zen+ (this table is nearly identical to the X570 I AORUS PRO WIFI, which has a single table).
If you say that X570 I AORUS PRO WIFI has no issues with Zen2, what about replacing the first DSDT from B550I AORUS PRO AX with the second DSDT table?

#5061 | ruthan | I updated bios on my Z390 Gaming SLI and it changed 1 thing, now when i connect "bad" device on Intel controller with Generic USB driver - before XP boot, im now not getting black screen, but "proper" blue screen -0x00000050, this one: ⇗
#5062 | canonkong | ⇗ @isopc1999a If X570 also use AGESA Combo V2 1.0.0.2, It also will A5 bsod, so it may something wrong whit AGESA Combo V2 1.0.0.2 bios.
#5063 | canonkong | ⇗ @daniel_k Yes ,X570 I AORUS PRO WIFI. If X570 also use AGESA Combo V2 1.0.0.2, It also will A5 bsod, so it may something wrong with AGESA Combo V2 1.0.0.2 bios. It just can not work with ZEN2 CPU. But it can work well with zen/zen+ CPU/APU and zen2 APU(4700G) also can work well.
#5064 | canonkong | ⇗ @infuscomus Currently there is no mod ACPI.sys for windows 2006 2006SP1 2009.

#5065

Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #4089

> XP seems don't work on asrock H310M-HDV. I tried both a fresh installation and the image restoring from a working XP with no success. I got the A5 BSOD for all the acpi sysfiles found on this forum except for this ¶ acpi.sys for which I got the 7B error. Any suggestion?

I quote myself :) because XP now also installs on this crazy board, but only downgrading the bios to the first version released, the older v1.20. It's the only one that can allow the XP installation, no other version works.
But thinking about installing and using XP on this board without encountering any problems is quite difficult:
since this board has only one PS/2 port, a PS/2 "Y" splitter cable is the best choice to complete the XP installation without too many headaches. In its lack, a PS/2 keyboard is needed for the 'TXT mode setup' and for the 'GUI mode setup' (having already configured the display settings while preparing the ISO), since the USB mouse won't work in GUI mode in any port, no matter if USB2 or USB3. Here I noticed the first strange behavior: the USB keyboard also works in the GUI mode setup but only if another keyboard is connected at same time into the PS/2 port. However, even if a USB mouse is connected to the same port instead of the USB keyboard, the mouse will still not work
With these precautions, XP installs normally.
Unfortunately, the problems aren't over yet: no one USB2 or USB3 port will work in XP, even though both the mouse and the USB keyboard are powered. Copying the missing usbd.sys in the system32 folder doesn't help to have at least a working USB2. But here another strange behavior: without any USB3 driver installed, with the mouse connected to a PS/2 port and the keyboard connected to any USB port, the PS/2 mouse will only work if no keyboard key is pressed ; as soon as a key is pressed, the mouse cursor locks . In this case, installing the USB3 driver helps, but only to avoid this strange behavior because none of the USB3 drivers installs without giving error code 10 or 39. Tried with all USB3 driver versions (backported from Win8 and AMDXHCI), there is no way:
⇗
I'd rather stop here and not keep using XP on this crazy motherboard until I'll find a way to solve the USB issues. Who choose to install XP on this board is warned :)
P.S.: no USB issue in Win7 and Win8.

#5066

ruthan

Moshpit (Moschip) PCI-E USB2 chip arrived so i tested it..
⇗ https://docs.zoho.com/sheet/published.do...22a5b950420cb22
Its play very nice with XP, except my most problematic Realtek USB LAN Gigabyte adapter (driver install but not i cant connect so far, it worked only with Asmedia) is playing very nice with XP and Win10, all devices are working.
Unfortunately it completely freeze MacOS boot, so nothing for me :(

#5067 | infuscomus | has anyone tried to install XP on threadripper?
#5068 | ruthan | I have question about bios mods - iommu groups , mainly for Daniel but he has no PM policy, so im writing it here.. I added third videocard for Win98 KVM to second PCI-E long slot, but it sharing iommu group with first long PCI-E slot, what is no go for Linux video card passthrough (except some out of stream kernel hacks, which are tried but they are on for Ubuntu and not even for other Debian derivates).. so i wonder if he has knowledge to change it?
#5069 | Mov AX, 0xDEAD | Patch for Etron USB Mass Storage Device (UAS/UASP) to restore "Safe Remove": EtronSTOR.SYS (any version): OR dword ptr [eax+4], 0300h -> OR dword ptr [eax+4], 0000h (03 => 00)

#5070

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #5063

> @daniel_k
> Yes ,X570 I AORUS PRO WIFI.
> If X570 also use AGESA Combo V2 1.0.0.2, It also will A5 bsod, so it may something wrong with AGESA Combo V2 1.0.0.2 bios.
> It just can not work with ZEN2 CPU. But it can work well with zen/zen+ CPU/APU and zen2 APU(4700G) also can work well.

Can you post the complete info on the A5 BSOD (all parameters)? Sometimes it gives us some hints.

## Page 339

#5071 | daniel_k | ⇗ @Andalu Did you try the acpi.sys from outerspace (so diderius6 says) with your Asrock H310M-HDV?

#5072

daniel_k

> Zitat von ⇗ ruthan im Beitrag ¶ #5068

> I have question about bios mods - iommu groups , mainly for Daniel but he has no PM policy, so im writing it here.. I added third videocard for Win98 KVM to second PCI-E long slot, but it sharing iommu group with first long PCI-E slot, what is no go for Linux video card passthrough (except some out of stream kernel hacks, which are tried but they are on for Ubuntu and not even for other Debian derivates).. so i wonder if he has knowledge to change it?

Unfortunately I have no experience with this, but for consumer boards, resource sharing is really common.
Maybe HEDT boards are less prone to resource sharing?

#5073

ruthan

> Zitat von ⇗ daniel_k im Beitrag ¶ #5072

> > Zitat von ⇗ ruthan im Beitrag ¶ #5068

> > I have question about bios mods - iommu groups , mainly for Daniel but he has no PM policy, so im writing it here.. I added third videocard for Win98 KVM to second PCI-E long slot, but it sharing iommu group with first long PCI-E slot, what is no go for Linux video card passthrough (except some out of stream kernel hacks, which are tried but they are on for Ubuntu and not even for other Debian derivates).. so i wonder if he has knowledge to change it?

> Unfortunately I have no experience with this, but for consumer boards, resource sharing is really common.
> Maybe HEDT boards are less prone to resource sharing?

HEDT would be better for sure, but i they are also more expensive.. there was some buzz about it for Ryzen mbs about bad iommu, so it was fixed, but i guess there is small chance for same thing for Intel. I also contacted Gigabyte, but i giving it 5% change to actually fix it.
Otherwise i found other nasty Xp thing.. if i install Acronis True image.. USB keyboard preebot Scandisk skip no more working, keyboard is death.. so there is something what matters:
1) maybe is just Acronis boot drivers error..
2) maybe depends on order how drivers are loaded and keyboard driver is not loaded fast enough
3) maybe depends on number of drivers, because its not loaded fast enough..
Its strange, because keyboard is light before it, that is usually sign that its working, my bet is on 1, i can live without Acronis on XP.. but is not right for sure. I dunno if keyboard is working after that, because that Scandisk take hour or so on my 4TB disks and already disconnected PS/2 keyboard to bypass it (it theory it could not work too).

#5074 | Andalu | ⇗ @daniel_k only a few versions of acpi.sys work on this crazy board and one of them is the "OuterSpace" version. Reported issues occur with all modded acpi sysfiles working.
#5075 | canonkong | ⇗ @daniel_k AGESA ComboAm4 v2 PI 1.0.0.1/1.0.0.2 change lots of things, also bring some bugs. ⇗
#5076 | ruthan | Some info about updating, it installed Office 2003 +2007 and all updates all fine, it need phone activation, there is message that its not supported, but its still working. But i met other problem, i installed AVG anvitirus which is still supported with XP, but got boot Bluescreen from it - 005, so it seems that is doing something with system settings.
#5077 | Mov AX, 0xDEAD | ¶ NTOSKRNL Emu_Extender Updated post, added new: - Windows 8s STORAHCI driver for Windows XP/2003 - Windows 7s MSAHCI driver for Windows XP/2003

#5078

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5074

> @daniel_k
> only a few versions of acpi.sys work on this crazy board and one of them is the "OuterSpace" version.
> Reported issues occur with all modded acpi sysfiles working.

Hopefully we'll have a fully working acpi.sys in the foreseeable future.

#5079

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #5075

> @daniel_k
> AGESA ComboAm4 v2 PI 1.0.0.1/1.0.0.2 change lots of things, also bring some bugs.

That error means cannot load DDB (Differentiated Definition Block, which is the whole DSDT table itself).
I've easily spotted the following differences between 12f and 20a BIOS of the X570 I AORUS PRO WIFI board.
Old code, 3 variables values are smaller and Device (RHUB) is properly under the Scope it belongs to:

        Name (PEBL, 0x04000000)
        Name (PEBS, 0xF8000000)
        Name (PELN, 0x04000000)
    ...
        Scope (_SB.PCI0.GP13.XHC0)
           {
            Device (RHUB)
                   {
                Name (_ADR, Zero)  // _ADR: Address
                Device (PRT1)
                           {
                    Name (_ADR, One)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x1,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT2)
                           {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "RIGHT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x2,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT3)
                           {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x3,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT4)
                           {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "RIGHT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x4,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT5)
                           {
                    Name (_ADR, 0x05)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x1,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT6)
                           {
                    Name (_ADR, 0x06)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "RIGHT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x2,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT7)
                           {
                    Name (_ADR, 0x07)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x3,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }

                Device (PRT8)
                           {
                    Name (_ADR, 0x08)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                   {
                                           0xFF,
                                           0x03,
                                           Zero,
                                           Zero
                                   })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                   {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "BACK",
                            PLD_VerticalPosition   = "CENTER",
                            PLD_HorizontalPosition = "RIGHT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x0,
                            PLD_GroupPosition      = 0x4,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                                   })
                           }
                   }
           }

New code, 3 variables values have increased and Device (RHUB) is not under any Scope, defitively wrong:

        Name (PEBL, 0x08000000)
        Name (PEBS, 0xF0000000)
        Name (PELN, 0x08000000)
    ...
        Device (RHUB)
           {
            Name (_ADR, Zero)  // _ADR: Address
            Device (PRT1)
                   {
                Name (_ADR, One)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "LEFT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x1,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT2)
                   {
                Name (_ADR, 0x02)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x2,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT3)
                   {
                Name (_ADR, 0x03)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "LEFT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x3,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT4)
                   {
                Name (_ADR, 0x04)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x4,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT5)
                   {
                Name (_ADR, 0x05)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "LEFT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x1,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT6)
                   {
                Name (_ADR, 0x06)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x2,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT7)
                   {
                Name (_ADR, 0x07)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "LEFT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x3,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }

            Device (PRT8)
                   {
                Name (_ADR, 0x08)  // _ADR: Address
                Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                           {
                                   0xFF,
                                   0x03,
                                   Zero,
                                   Zero
                           })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                           {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x4,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x0,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                           })
                   }
           }

However, if Win7 still works with Zen/Zen+ CPU/APU using latest 20a BIOS, this theoretically means that those changes in the DSDT table itself don't really cause the 0xA5 BSOD.
What about extracting the DSDT table while running Win8/8.1/10 with RWEverything to see if there are further changes?

#5080

canonkong

⇗ @daniel_k
DSDT table while running Win8.1 with RWEverything.
[[File:AcpiTbls.zip]]
canonkong has attached files to this post

- ⇗ AcpiTbls.zip

#5081

daniel_k

⇗ @canonkong
Just noticed that the X570 BIOS 20a has 5 DSDT tables, 2 of them follow are (to my knowledge) Win7 compatible, the other 3 are Win8+ only.
To make sure there isn't another check that breaks Win7 on purpose, do the following test.
Edit acpi.sys with Hex editor and edit Windows 2012 and Windows 2013 to Windows 2009.
Save, fix checksum and sign or disable driver signature enforcement on boot.
Tell me if Win8.1 still boots OK.

#5082 | canonkong | ⇗ @daniel_k It will show auto repair and the computer can not boot. Edit after disable digital signature. It seems that the system does not recognize the third-party sha256 signature. After the system has disabled the digital signature, it can enter the system.
#5083 | daniel_k | ⇗ @canonkong For core kernel system files, Windows won't accept 3rd party certificates. Nice results, then I'm about 99% sure the fix is just to add that RHUB device to the proper Scope. Would you flash a modded BIOS?
#5084 | canonkong | ⇗ @daniel_k Yes, it is easy to flash the mod bios for B550I Aorus pro AX and X570I Aorus pro with its Flashback function.

#5085

daniel_k

> Zitat von ⇗ canonkong im Beitrag ¶ #5084

> @daniel_k
> Yes, it is easy to flash the mod bios for B550I Aorus pro AX and X570I Aorus pro with its Flashback function.

Ok, I'll send you a PM when I get it done.
Let's try on the B550I Aorus Pro AX first.

## Page 340

#5086

genieautravail

⇗ @daniel_k
On one of my laptop equiped with 4 GB of memory, the amount of available physical memory stay the same (2.92 GB) before and after applying WinXPPAE 2.0 patch with the /4GB switch.
It's the first time I see this (the patch is already applied on several of my computers).
The laptop is a HP Probook 4320s and has a dedicated video card Radeon HD 5470 with 512 MB of memory.
No physical memory is reserved to display.
Do you think that case is possible or there is a bug somewhere ?

#5087 | Mov AX, 0xDEAD | ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware "Saving crash dumps through storport based disk controller drivers" Updated Status: SOLVED

#5088

daniel_k

> Zitat von ⇗ genieautravail im Beitrag ¶ #5086

> Do you think that case is possible or there is a bug somewhere ?

Yes, it's possible.
It depends on the reserved memory areas of system devices (of course gpu ram included).
Usually you should use the /all switch, specially now that we have the Win8 XHCI driver which is proven to work with PAE enabled.

#5089 | YuriyCN | Usually, if a PAE with /4GB works, then it works with an /ALL key. Therefore, the key /4GB has no special meaning. It seems to me.

#5090

Andalu

I tried both VIA and Etron UAS drivers (thanks to ⇗ @Mov AX, 0xDEAD for patches and fixes) on my USB3.1 to NVMe enclosures (ASM2362 and JMS583 chipset) using the same nvme disk type (samsung 970evo) and the same USB3.1 Gen.2 cable (it seems that also a cable can make differences). Here the results:
VIA driver:
⇗ ⇗
Etron driver (tried both 115 and 119 versions) (disk not detected by crystaldisk Info v8.6.2):
⇗ ⇗
⇗ ⇗

#5091 | Mov AX, 0xDEAD | ¶ NTOSKRNL Emu_Extender Updated post, added new: - Intel RSTe AHCI/RAID driver 4.7.0.1098 for Windows XP/2003 - Intel RST AHCI/RAID drivers (any version, last compatible is 15.9.8.1050) for Windows XP/2003

#5092

daniel_k

⇗ @Mov AX, 0xDEAD
I'm getting the following errors while trying to compile the new version:

    1>c:\ntoskrnl_emu-master\common.c : error C1083: Cannot open compiler generated file: 'asm/common.asm':
    No such file or directory
    2>errors in directory c:\ntoskrnl_emu-master\storpor8
    2>c:\ntoskrnl_emu-master\common.c : error C1083: Cannot open compiler generated file: 'asm/common.asm':
    No such file or directory
    1>c:\ntoskrnl_emu-master\ntoskrn8\objfre_wnet_x86\i386\common.obj : error LNK1136: invalid or corrupt file
    2>c:\ntoskrnl_emu-master\storpor8\objfre_wnet_x86\i386\common.obj : error LNK1136: invalid or corrupt file

EDIT: The error above is is fixed by creating folders \ntoskrn8\asm and \storpor8\asm.
All good now!

#5093 | Mov AX, 0xDEAD | ⇗ @Daniel, Yes, these empty folders was not synced to github repository now fixed, empty folders no more empty )

#5094

mockingbird

I have an ASRock B250M-Pro4, and this board has been reported here to be working with XP with the mods generously provided in this thread. So far I've disabled LAN and HPET in the BIOS, disabled fast boot and enabled CSM. I know I will have to use a discrete GPU for XP as I'm using an i3-8100 and it's GPU has no XP drivers (last Intel XP GPU drivers were certain Haswell models).
So far I know I need to download the last Harkaz SP4 and slipstream it, but can someone help me out with the items liste in the first thread and all subsequent updates or perhaps a repository where I can download them? Not wanting anything fancy - just NVMe, Intel USB3 support and perhaps >4GB support.
Thanks

#5095

gordo999

⇗ @mockingbird ..."I'm using an i3-8100 and it's GPU has no XP drivers"
By GPU driver, do you mean for on-board graphics? I am using an Asus B360 chipset with an i5-8400 and I did not require XP drivers for the GPU. However, I am using an Nvidia GT-730 and I approached the problem differently. I already had XP loaded on a disk drive from an older mobo. To get it running, I needed the PS\2 inputs on the B360 until I could load the USB drivers. First, I needed to load the ACPI driver and a SATA driver signed by Fernando.
Since then, the USB driver has been upgraded to a Win8 based driver. I can't help you find the drivers but if you go back about 100 pages and start skimming, you'll find everything you need. Better still, you'll understand why and how the drivers are being applied.

#5096

mockingbird

> Zitat von ⇗ gordo999 im Beitrag ¶ #5095

> @mockingbird ...
> Since then, the USB driver has been upgraded to a Win8 based driver. I can't help you find the drivers but if you go back about 100 pages and start skimming, you'll find everything you need. Better still, you'll understand why and how the drivers are being applied.

Yes I read the first page, I guess I was being lazy by posing my question this way hoping that someone would oblige me :-). But there were some things mentioned in the first page without any reference whatsoever where to find them.
With regard to the internal GPU, I had no intention of using that. There is no XP driver for it and there never will be. I also purchased a Maxwell nVidia GPU for this machine.

#5097

gordo999

> Zitat von ⇗ mockingbird im Beitrag ¶ #5096

> Yes I read the first page, I guess I was being lazy by posing my question this way hoping that someone would oblige me :-)

⇗ @mockingbird ...I did not mean to read the first page only, I meant to start there and read through all the messages till the current message. Maybe you'll have to begin before 100 pages back.
It's not that no one wants to help you it's that most people have found the links as we went along. Maybe someone will help you, I can't because I have no idea where each file is located. I have a different POV on this. A few people did a lot of work to make these files available and I don't think it's asking too much for someone requiring the files to do some searching.
There is a search engine on this page, plug in acpi, especially related to 'outer space'. That gets rid of 0xA5 acpi errors. I got the SATA driver from the XP SP4 unofficial update ISO but it is on this site and there is a newer reference to the w8 USB driver a few pages back. Forgot, you are not using a hard drive.
For daniel_k's older USB driver, which I am still using, look up amdhub30 or amdxhc in the search engine.
Use my nym in the search engine. I have offered explanations about my experience with certain drivers that fixed browser and game issues. It's important that you do your own research or you'll be back asking questions that have been answered 100 times.

#5098 | gordo999 | ⇗ @mockingbird ...did some reading to cut down on your search. Start at P277 and read a few pages. Page 290 begins the new era of drivers. See page 292. Out of time.

#5099

mockingbird

> Zitat von ⇗ gordo999 im Beitrag ¶ #5098

> @mockingbird ...did some reading to cut down on your search. Start at P277 and read a few pages. Page 290 begins the new era of drivers. See page 292. Out of time.

Your help is greatly appreciated. It does not help that Fernando posts this whenever someone attaches their mod: "EDIT by Fernando: Attachments removed (publication of modded *.SYS files are not allowed here)".
You have several people working on several different mods, with no ability to post the mods, except for perhaps instructions on how to perform the mod yourself.
Not complaining though - it will be worth it in the end. XP is essential for when you need to get actual work done on a computer.

#5100

gordo999

> Zitat von ⇗ mockingbird im Beitrag ¶ #5099

> You have several people working on several different mods, with no ability to post the mods, except for perhaps instructions on how to perform the mod yourself.

⇗ @mockingbird ....you are not looking hard enough. Fernando was obliged to make that statement for legal reasons but he has done more to enable the XP cause than anyone on the Net. He was hosting the files till he was approached by the authorities and told to cease and desist.
I am not trying to be unkind, I am offering you advice you need to get XP running. You need to dig for information and dig hard. You don't expect Fernando to create a section titled 'Illegal software repository' do you? I pointed you right at a page you have obviously ignored which has a direct link to the files you require.
You are not trying hard enough. Be determined, the files are all out there.

## Page 341

#5101 | mockingbird | There's no need to berate me. I never complained. In fact I went out of my way in the last post to state that I would persevere despite the difficulties.

#5102

flyod

hello. im not sure if this is the right place for this, but as im new it seems like as good a place as any.
i used the updated acpi.sys from ⇗ @daniel_k (not entirely sure it's the latest version, a friend sent it to me idk where they got it) to get windows xp 64-bit installed on my msi z170a motherboard (Intel i5, not entirely sure of the chipset), and everything works perfectly, hardware wise (except usb but thats not a huge concern right now). the only real problem is that any modern web browser (specifically pale moon) will not redraw the window until it is manually resized or you click the menu bar. i've asked about this ⇗ where the people porting these browsers back to windows xp are, and nobody there seems to know the solution. i've tried several different video cards, including the onboard intel graphics, and a fully xp-compatible amd gpu, and always get the same result. im wondering if maybe the updated acpi.sys might have something to do with it, or maybe ive just got weird hardware and this will never work, or maybe something else i've overlooked. im 90% sure it's a hardware problem because i've tried everything i know at the software level.
this is the first time in a decade or so that i've had to ask anyone for help with computer stuff, and its weird and im not sure what to do lol. thanks in advance for any help.

#5103

daniel_k

⇗ @flyod
Timer issue, maybe? Needs a hal.dll patch to fix it.
On XP x64, run CPU-Z:
Tools -> Timers
Let it run for 1 minute, take a screenshot and attach it here.
Or run WinTimerTester, do the same as above.

#5104 | daniel_k | ⇗ @mockingbird I'm currently updating my thread at MDL forums (Drivers and tools to run Windows XP on newer hardware). You'll find everything you need to run XP.
#5105 | daniel_k | ⇗ @Andalu How are you? When you have some time, have a new NVMe driver for you to test.
#5106 | Andalu | ⇗ @daniel_k hi dude, I hope you're as well as I am A new nvme driver? You can send it whenever you want, thanks

#5107

flyod

> Zitat von ⇗ daniel_k im Beitrag ¶ #5103

> @flyod
> Timer issue, maybe? Needs a hal.dll patch to fix it.
> On XP x64, run CPU-Z:
> Tools -> Timers
> Let it run for 1 minute, take a screenshot and attach it here.
> Or run WinTimerTester, do the same as above.

here's both of those.
⇗ ⇗
i recently learned there are bios updates for this machine i haven't applied yet. it's still using the stock bios. i've always kinda considered that as a last resort, but if you think that would help i'll go ahead and update it.

#5108

daniel_k

> Zitat von ⇗ flyod im Beitrag ¶ #5107

> i recently learned there are bios updates for this machine i haven't applied yet. it's still using the stock bios. i've always kinda considered that as a last resort, but if you think that would help i'll go ahead and update it.

Unless you have any issues, don't update.
BIOS updates may prevent XP from running, even with the currently patched acpi.sys file.
As I was suspecting, it's a timer issue.
In your WinTimerTester screenshot, QueryPerformanceCounter is negative and so is the Ratio, which is wrong and result in unexpected symptoms.
What is the version of your hal.dll? Need to search here for a patched x64 hal.

#5109

flyod

> Zitat von ⇗ daniel_k im Beitrag ¶ #5108

> > Zitat von ⇗ flyod im Beitrag ¶ #5107

> > i recently learned there are bios updates for this machine i haven't applied yet. it's still using the stock bios. i've always kinda considered that as a last resort, but if you think that would help i'll go ahead and update it.

> Unless you have any issues, don't update.
> BIOS updates may prevent XP from running, even with the currently patched acpi.sys file.
> As I was suspecting, it's a timer issue.
> In your WinTimerTester screenshot, QueryPerformanceCounter is negative and so is the Ratio, which is wrong and result in unexpected symptoms.
> What is the version of your hal.dll? Need to search here for a patched x64 hal.

i guess it's just the normal version of hal.dll that comes with xp64sp2, unless there's a newer one that may have installed via automatic updates, the whole system is fully up-to date in that regard.
and i figured that would be the case with the bios updates.
also im not entirely sure what version of your acpi.sys im using either, like i said, a friend sent it to me and idk where they found it, so i'll see if i can find that again on here too, there might be a more recent version. where are the files on here, btw? i've only been able to find the 32-bit versions.
thanks!

#5110

gordo999

> Zitat von ⇗ daniel_k im Beitrag ¶ #5104

> ⇗ @mockingbird I'm currently updating my thread at MDL forums (Drivers and tools to run Windows XP on newer hardware). You'll find everything you need to run XP.

⇗ @daniel_k ...Thanks for providing direct link info Daniel. I have already pointed ⇗ @mockingbird to your MDL thread by showing him where to find the link but he claimed I was berating him for claiming he did not look closely enough. I did not want to reference your thread at MDL directly.

#5111

flyod

⇗ @daniel_k your patched hal.dll worked fine, screenshots of the timer tests are attached. the ratio would jump between 1.0000 and 0.9999. all the web browsers i couldn't get to work before to work fine now, im using one to make this post from windows xp 64-bit. i hadn't encountered any other software that didn't work so i cant really do any other tests, but if there are others you'd like me to try i will.
thanks so much! i've been trying to figure this out for weeks, now i think i'll try those usb drivers i found on here, to see if i can get the system fully functional, but with a real ps/2 mouse and keyboard port, usb isn't a huge priority for me right now.
flyod has attached images to this post ⇗ 002.PNG ⇗ 001.PNG

#5112 | daniel_k | ⇗ @flyod Glad to know it worked!

#5113

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4907

> Take attention:
> Windows 8's STORAHCI + Windows's STORPORT have significal performance drop and high CPU usage, there is no fix yet

Just tested it and found no issues, performance is exactly the same as skullteria's and CPU usage was 0% (zero).
Found one interesting thing when Server 2003 with PAE enabled, 8GB of RAM running on VirtualBox:
- Windows 8 original storahci + storport.w7 + storpor8.sys: no issues
- skullteria's storahci + storport.w7 or storport.2003: crashes randomly

#5114 | Outbreaker | Nice work with this new patches. You saved me a lot of headache.

#5115

ruthan

I tested Micron Sata PCI-E controller - JMB582. Its only which i found as PCI-E gen3 and Sata 3, others are only PCI-E gen 2.
Its seems to work better than Asmedia and Marwells with Linux, it also works with MacOS, but unfortunelly its not working with Paragon GPT loader (which works with Asmedia and Marwell and NVME drivers).
I tried Universal Sata driver and Micron one too - its not named as 582, but 585 for Windows 10 is working fine and device manage is fine, only something what is need for Paragon GPT to work is missing.

## Page 342

#5116

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #5113

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4907

> > Take attention:
> > Windows 8's STORAHCI + Windows's STORPORT have significal performance drop and high CPU usage, there is no fix yet

> Just tested it and found no issues, performance is exactly the same as skullteria's and CPU usage was 0% (zero).

i have other experience - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (312)
performance drop on my pc:
skullteria's storahci +any storport
Windows 8 STORAHCI + Windows 7 STORPORT

> Zitat

> Found one interesting thing when Server 2003 with PAE enabled, 8GB of RAM running on VirtualBox:
> - Windows 8 original storahci + storport.w7 + storpor8.sys: no issues
> - skullteria's storahci + storport.w7 or storport.2003: crashes randomly

storahci from OneCore is "cut" version of DDK sources, they changed&limited a lot places to be compatible with storport_w2003/DDK

#5117 | daniel_k | ⇗ @Mov AX, 0xDEAD Forgot to report that unfortunately changing the device/GUID class in INF file from HDC to SCSIAdapter doesn't fix the 1st device only available in AIDA64's Storage -> ATA/SMART. Do you think it can be fixed? Only 1st device in ATA devices issue also occurs on VM.
#5118 | Outbreaker | ⇗ @daniel_k I noticed that the uaspstor.sys file is missing in the USB3 Zip-Archive.

#5119

daniel_k

> Zitat von ⇗ Outbreaker im Beitrag ¶ #5118

> @daniel_k
> I noticed that the uaspstor.sys file is missing in the USB3 Zip-Archive.

I know, that pack had UASP support disabled, so USB storage devices would use XP's usbstor driver.
Did that because I was testing Etron and VIA UASP drivers to decide which one to include.
Found that the best driver is from VIA, uploaded new pack including it.

#5120 | sergiox6 | Hello, can someone send me the "amdxhc_pae_fix.rar"? I can not find it. Thank you.

#5121

YuriyCN

> Zitat von ⇗ sergiox6 im Beitrag ¶ #5120

> Hello, can someone send me the "amdxhc_pae_fix.rar"? I can not find it. Thank you.

⇗ https://www.upload.ee/files/11199750/From_winraid.zip.html

#5122

Outbreaker

> Zitat von ⇗ sergiox6 im Beitrag ¶ #5120

> Hello, can someone send me the "amdxhc_pae_fix.rar"? I can not find it. Thank you.

⇗ https://forums.mydigitallife.net/threads...hardware.81607/

#5123

PPeti66x

⇗ @daniel_k
Hi!
I tried the new (Win8-based) USB XHCI driver on DELL M4800 notebook. It seems, that works correctly (if USB3 mode is enabled by Windows 7 for 1x bootup). But the HCSwitch is still a problem. It seems, that the Win8 driver can not enable the USB3 mode for the physical ports managed by the Intel HCSwitch. Force-installing (by DEVCON.EXE, ACPI\PNP0A08) the intel HCSwither produces BSOD 0x0000007b (by the PE Explorer, there are no missing import functions). Is there a way to force USB3 mode for the physical ports in Windows XP?
The 2nd thing: Non-Plug and Play Drivers\Kernel Mode Driver Framework server produces error code 24 in the device manager - but seems, that works correctly.

#5124

Andalu

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5123

> The 2nd thing: Non-Plug and Play Drivers\Kernel Mode Driver Framework server produces error code 24 in the device manager - but seems, that works correctly.

Same for my haswell system.

#5125

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5123

> I tried the new (Win8-based) USB XHCI driver on DELL M4800 notebook. It seems, that works correctly (if USB3 mode is enabled by Windows 7 for 1x bootup). But the HCSwitch is still a problem. It seems, that the Win8 driver can not enable the USB3 mode for the physical ports managed by the Intel HCSwitch. Force-installing (by DEVCON.EXE, ACPI\PNP0A08) the intel HCSwither produces BSOD 0x0000007b (by the PE Explorer, there are no missing import functions). Is there a way to force USB3 mode for the physical ports in Windows XP?

USB3 mode on pre-Skylake is still an issue.
Technically there are no issues with HCSwitch, but as it is a KMDF driver and it is early loaded as a filter driver for the PCI bus, on XP the KMDF runtime is still not available (not properly set load order).
Before installing the HCSwitch, do the following:
1) Save the following text as WdfLoadGroup.reg and apply it.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList]
    "WdfLoadGroup"=hex:01,00,00,00,01,00,00,00

2) Open the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder and edit the List (REG_MULTI_SZ) value:
Put WdfLoadGroup below System Reserved and above Boot Bus Extender, like this (one value per line):

    System Reserved
    WdfLoadGroup
    Boot Bus Extender
    ...

3) Now install the HCSwitch driver and restart. Please report if it works.

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5123

> The 2nd thing: Non-Plug and Play Drivers\Kernel Mode Driver Framework server produces error code 24 in the device manager - but seems, that works correctly.

> Zitat von ⇗ Andalu im Beitrag ¶ #5124

> Same for my haswell system.

If any of you have the time to test it on Win7 x86 to see if it happens, so we know it's an OS specific issue or not.

#5126 | daniel_k | On WinXP fully updated, including latest root certificates update, it accepts SHA256 WHQL signed drivers, as long as the file hashes themselves are still SHA-1, didn't expect that! ⇗

#5127

PPeti66x

⇗ @daniel_k
Hi!
WdfLoadGroup had already this value, so I edited only the ServiceGroupOrder List. After force-installing the HCSwitch driver, still fails with 0x0000007B.
Obsolete:
Installing the WDF on Win7 x86 1st failed (XP update system was incompatible), so I installed it via a modded INF file. After installation the system is unable to boot even in the safe mode:
STOP: 0x0000007E (0xC0000005, 0x89174211, 0x80D86988, 0x80D86560)
WDFLDR.SYS - Adress 89174211 base at 8916B000, DateStamp 4a5bbf1d
The test was made on my old Athlon XP 1600 computer (the only one on which I have x86 version of Windows 7) - so is possible, that the problem is the missing SSE2.
UPDATE:
Win7 prevented overwriting of the already present WDF 1.09, and probably this caused the error. After manual file replacing, and then reinstalling the system boots up normally, and the new WDF 1.11 causes the same error code 24 as in XP.

#5128

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5127

> After force-installing the HCSwitch driver, still fails with 0x0000007B.

Finally found the issue.
Open HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Wdf01000
And change Start to 0 (zero).
Make sure you've already changed the ServiceGroupOrder, restart and install the HCSwitch driver.
It won't crash anymore and also fixes the error code 24 in Device Manager, but we need to see if it works.
PS: I've updated the WindowsServer2003.WindowsXP-KB2864202-x86-INTL.exe installer to reflect the change.

#5129

PPeti66x

⇗ @daniel_k
Changing the Start value solved the Error 24 problem (tested on XP and Win7).
The HCSwitch driver still fails: STOP: 0x0000007B (0xB84CF524, 0xC0000034, 0x00000000, 0x00000000) (no driver filename displayed, only a generic stop error message)
Another interesting thing, that I am unable to install without devcon.exe, because Windows not founds a compatible hardware. But in list made by the devcon the ACPI\PNP0A08 exists. Interesting.
Or something missing or wrong in the INF for XP? (the OS requirement was changed to XP; INF was converted from Unicode to Ansi; iusb3hcs.sys is correctly copied to System32\Drivers at installation)

#5130

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5129

> @daniel_k
> Changing the Start value solved the Error 24 problem (tested on XP and Win7).
> The HCSwitch driver still fails: STOP: 0x0000007B (0xB84CF524, 0xC0000034, 0x00000000, 0x00000000) (no driver filename displayed, only a generic stop error message)
> Another interesting thing, that I am unable to install without devcon.exe, because Windows not founds a compatible hardware. But in list made by the devcon the ACPI\PNP0A08 exists. Interesting.
> Or something missing or wrong in the INF for XP? (the OS requirement was changed to XP; INF was converted from Unicode to Ansi; iusb3hcs.sys is correctly copied to System32\Drivers at installation)

I've attached my modified INF file, please try it.
There is nothing else preventing the HCSwitch driver from working.
⇗ @Andalu, please try this if you can.
daniel_k has attached files to this post

- ⇗ iusb3hcs.rar

## Page 343

#5131 | PPeti66x | ⇗ @daniel_k The difference: it produces an Unknown device with error code 28. Force-reinstalling it produces 0x000000A1 error at restarting/shutting down, then the same error (0x0000007B) at bootup. This driver is installed on Win7 as "PCI bus" (used driver files: iusb3hcs.sys, pci.sys, WdfCoInstaller01009.dll) - reinstalling this device on XP with Intel HCSwitch produces the same error - so no more required to do via devcon.exe.
#5132 | Andalu | ⇗ @daniel_k, I installed the KB2864202 (first release) on another partition of the same system (Q87 haswell) where I got error code 24 and here it installs without problems. Same behavior on another haswell system (H97): no problem here too. I tried once again to install the updated KB2864202 also on the partition where I got error code 24 but the system froze in all attempts. Most likely, some installed security programs (not installed in other partitions/systems) have a driver that conflicts with WDF 1.11. I have to try to install it manually.

#5133

daniel_k

⇗ @PPeti66x
Did you try to install the driver on XP in the PCI Bus device? It's a must.
⇗ @Andalu
On a test installation, please make sure you follow the instructions in the following posts:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (342)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (342)
Then try to install the HCSwitch driver using the INF I've posted here:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (342)
I'd like to have a definitive answer to this issue.

#5134 | PPeti66x | ⇗ @daniel_k Yes. But when I want to verify it now (booting the system with the last known good configuration), I see, that the "PCI bus" name was changed to a localized (slovak) version, iusb3hcs.sys is present on the driver list, and I am unable to copy files from the pendrive because of a never-seen error. 2 ports works as normally as USB3, 2 is unusable (endless reconnection or no file transfer - one of these is probably physically damaged, because is was always unstable in USB 3 mode, I am not the 1st owner of this machine), 1 works normally as USB2 (as should). Now I will try to make some cleanups and try it again.

#5135

Andalu

⇗ @daniel_k
USB3 driver installed in Win7 for the Pci Bus via HCSwitch after applying the procedure you indicated, no issue detected, all ports work as expected on a H97 haswell system:
⇗
On XP the same procedure give the 7B BSOD. I have to try once again.
EDIT: it works on XP too now:
⇗
in XP (unlike win7) the WdfLoadGroup is not present in the list for the key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder
(manually added)
and in the key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Wdf01000
the 'Start' dword is already set to '0' (as for Win7).

#5136 | daniel_k | ⇗ @Andalu, thanks for your report. Actually on Win7 installation of the HCSwitch driver would be interesting if using the Win8 ported driver. But does Haswell requires the HCSwitch driver at all? I mean, without it, the ports don't work at USB3 speeds?

#5137

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5134

> @daniel_k
> Yes. But when I want to verify it now (booting the system with the last known good configuration), I see, that the "PCI bus" name was changed to a localized (slovak) version, iusb3hcs.sys is present on the driver list, and I am unable to copy files from the pendrive because of a never-seen error. 2 ports works as normally as USB3, 2 is unusable (endless reconnection or no file transfer - one of these is probably physically damaged, because is was always unstable in USB 3 mode, I am not the 1st owner of this machine), 1 works normally as USB2 (as should). Now I will try to make some cleanups and try it again.

About the localized strings, it's normal, when the HCSwitch driver is installed, there are localized strings in the INF. You're running a Slovakian localized XP, right?
Even with some "quirks", it seems that the filter drivers is doing its job, seeing that the ports are working at USB3 speeds.

#5138

PPeti66x

⇗ @daniel_k
I am running English version, set to Slovak locale - so the interface is in English. But it is ok, many applications sets the Slovak as default by these settings.
So the "final" report:
Intel HCSwitch now installs correctly, without BSODs. USB3 works as intended, with real USB3 speeds. And I have 2 semi-functional ports, which works correctly in USB2 mode, but are unusable in USB3 mode (seems to a hardware failure, but works stable with USB2 devices). It is the same in Windows 7 x64, so the drivers are OK.
The problem was: remained things from older experiments, and the WdfCoInstaller01009 installation parts in the inf
"But does Haswell requires the HCSwitch driver at all?"
Which computer requires HCSwitch depends on how the mainboard was made. Manufacturer can make direct USB ports (mainly used on mainboards with 8 or more USB ports), or can use HCSwitch to save physical ports (e.g. notebooks, barebone PCs). The Gen3 (Ivy bridge) Lenovo ThinkCentre M92 also requires it. Z77 Fatal1ty Professional have direct ports.
Is 64-bit port of the Win8 XHCI driver for XP planned in the near future?

#5139

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #5136

> Actually on Win7 installation of the HCSwitch driver would be interesting if using the Win8 ported driver.
> But does Haswell requires the HCSwitch driver at all? I mean, without it, the ports don't work at USB3 speeds?

Installing the Win8 ported driver via HCSwitch I received the message about the incompatible software, so I can't go on.
On my H97 haswell system the USB3 ports work normally at their speed already at the end of the Win7 installation, no need to install the driver via switch.

#5140

Outbreaker

⇗ @daniel_k
I had to add the file ntoskrn8.sys too avoid the missing file problem that i got with the storahci.sys and stornvme.sys file at the first stage of the Windows XP Setup (F2). But when i do this then i run into a BSOD with the SATA driver on VirtualBox.
⇗

#5141

Andalu

⇗ @daniel_k
the Adata SSD Toolbox doesn't work with the AHCI (generic) driver from Extender while using the RSTe 4.7.0.1117 driver there are no problems as with the 'old' backported driver from win8:
⇗ ⇗ ⇗
This tool is very useful because allows the manual trim in XP and until now it has worked with all my SSD drives. The manual trim works also fine for the NVMe drives but, unfortunately, only in Win7. It's a real shame that we can't have the same feature in XP
P.S.: ¶ here I seen the asmedia driver 1.16.61.1 working in XP, how did you do that?

#5142

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5141

> AHCI (generic) driver from Extender
> 'old' backported driver from win8

I'm confused, please pack these two drivers and send me a PM.

> Zitat

> The manual trim works also fine for the NVMe drives but, unfortunately, only in Win7. It's a real shame that we can't have the same feature in XP

I think the issue lies in the way the utility detects disks.

> Zitat

> P.S.: ¶ here I seen the asmedia driver 1.16.61.1 working in XP, how did you do that?

The driver works just fine even if XP doesn't recognize the WHQL signature, try it.
I was just impressed that XP accepted a SHA256 signed WHQL certificate.

#5143

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #5141

> the Adata SSD Toolbox
> ....
> This tool is very useful because allows the manual trim in XP and until now it has worked with all my SSD drives. The manual trim works also fine for the NVMe drives but, unfortunately, only in Win7. It's a real shame that we can't have the same feature in XP

Adata SSD Toolbox Trim is useless for WinXP, it doesnt access raw filesystm on disk, it just create big temp files and then remove it. This trigger trim on Win7 but not on XP because real trim job will be processed by NTFS driver
Trim on XP possible only with special utils like commercial defrag when it open raw ntfs partitions and trim free blocks

#5144

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5143

> Adata SSD Toolbox Trim is useless for WinXP, it doesnt access raw filesystm on disk, it just create big temp files and then remove it. This trigger trim on Win7 but not on XP because real trim job will be processed by NTFS driver
> Trim on XP possible only with special utils like commercial defrag when it open raw ntfs partitions and trim free blocks

Please, advise really working utilities.
Write their names and versions.

#5145 | genieautravail | ⇗ @PPeti66x Can you explain how do you switch from USB 2.0 mode to USB 3.0 mode. At home, I alway have a Dell E6230 with 2 USB 3.0 ports running at 2.0 speed with XP. The hardware switch is the same that for your Precision notebook.

## Page 344

#5146

PPeti66x

⇗ @genieautravail
IMPORTANT: You should make a backup first (the "Windows\System32\Config" folder), because if something goes wrong, your windows will be unbootable. Mostly the last known good configuration works, but not always!!!
1. Get the new Windows 8 USB 3 driver modded for XP, and install it (you must install the WDF package first and restart, then install the USBXHCI driver, then restart)
1a Verify that the driver is installed and no error in the device manager.
2. Get the Intel USB 3 driver package for the Gen3 (Ivy Bridge) or older chipsets (beginning with Gen4 there is a different driver!).
2a. Extract the Drivers\HCSwitch from the archive
2b. Download iusb3hcs.rar from Daniel_K (last post on previous page), and replace the original inf.
3. In the Device Manager (recommended to switch to displaying by connection) right click on: "ACPI multiprocessor PC"\"Microsoft ACPI-Compliant System"\"PCI bus", select Properties, and in Details tab verify the hardware ID, which must be "ACPI\PNP0A08". If this is OK, then click on Update driver..., Specific location, Don't search. I will choose the driver to install..., then select the modded HCSWitch driver and install it.
NOTE: If you use non-english Windows, the names are mostly localized.
4. If your Windows boots up without problems, verify: for "PCI bus" in Driver Details the "iusb3hcs.sys" must be present. If not, installation failed. If OK, then you should have a real USB3 speeds.

#5147

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5143

> Adata SSD Toolbox Trim is useless for WinXP, it doesnt access raw filesystm on disk, it just create big temp files and then remove it. This trigger trim on Win7 but not on XP because real trim job will be processed by NTFS driver
> Trim on XP possible only with special utils like commercial defrag when it open raw ntfs partitions and trim free blocks

I'll be wrong but I couldn't notice any difference between the trim operations performed by Adata SSD Toolbox in Win7 compared to XP. In both OSes, fsutil.exe seems to create, write and then deletes the same *.tmp files:
⇗ ⇗
It is difficult to find a commercial software that can trim in XP, one of the few seems to be iobit smart defrag even if it doesn't recognize the nvme disks while the Adata tool correctly recognizes them also in XP even if only in a certain condition. Anyway, for all my SSDs trimmed in XP via Adata tool, smart defrag reports that they don't need any other trimming operation.

#5148 | genieautravail | ⇗ @PPeti66x Thank you very much for the details. Will try as soon as possible and report the result here.

#5149

genieautravail

⇗ @PPeti66x
How do you install the USBXHCI driver ?
On my laptop, XP tell me that the already installed drivers are the best and don't want to upgrade them.
By the devices manager, If I try to force the install (disk provided...) for the USB Root Hub by pointing to the USBXHCI.inf file, XP tell me that the file doesn't contain any information about my hardware.
I can only force the upgrade for the USB controller, but after that, the driver doesn't want to start (code 10).
The already installed drivers are the Microsoft generic USB drivers:
⇗
⇗
⇗
⇗

#5150 | infuscomus | looking at those screenshots you installed the USB 2.0 driver not the USB 3.0 driver if you are wondering which of your USB controllers are the USB 3.0 controllers look for this hardware ID PCI\CC_0C0330

#5151

PPeti66x

⇗ @genieautravail
Infuscomus have right - you tried to update the USB2 driver. You can not do it, USB2 driver is required. You probably have installed a USB3 null-driver. You must found it and replace it. For Gen3 (Ivy bridge) should be named as "Intel(R) 7 Series/C216 Chipset Family Universal Serial Bus (USB) Controller - 1E31", but it may be localized.
If updating is not allowed, you can force-uninstall it:
a) Go to Windows\INF folder.
b) Search for "DEV_1E31" (without quotes) in all INF files. You should find something with name oem*.inf. Open it and verify the file content: in the header you should see these 2 lines:
FileName: PantUSB3.inf
Abstract: Null driver for Intel(R) USB 3.0 devices
Rename the file extension from "inf" to "in_", rename the "pnf" extension with the some filename to "pn_"
c) Open the device manager, and search for "Intel(R) 7 Series/C216 Chipset Family Universal Serial Bus (USB) Controller - 1E31", uninstall it.

#5152

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5144

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5143

> > Trim on XP possible only with special utils like commercial defrag when it open raw ntfs partitions and trim free blocks

> Please, advise really working utilities.
> Write their names and versions.

O&O Defrag
PerfectDisk
TxBENCH (free disk util, simple GUI) - personaly prefer this one
Naraeon (free disk util with srcs, someone recommended it, but i dont used)
I used O&O Defrag with SandForce based SSD in 2014-2015, but remember version, it has console non-gui componentl so possible to shedule it without run main GUI program

#5153

Mov AX, 0xDEAD

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #5147

> I'll be wrong but I couldn't notice any difference between the trim operations performed by Adata SSD Toolbox in Win7 compared to XP. In both OSes, fsutil.exe seems to create, write and then deletes the same *.tmp files:

I dont know why it run fsutil, but i never see real trim on WinXP with Adata SSD Toolbox, trimcheck always show "untrimed" blocks

> Zitat von ⇗ Andalu im Beitrag ¶ #5147

> It is difficult to find a commercial software that can trim in XP, one of the few seems to be iobit smart defrag even if it doesn't recognize the nvme disks while the Adata tool correctly recognizes them also in XP even if only in a certain condition. Anyway, for all my SSDs trimmed in XP via Adata tool,

Dont have nvme, cant help wth it

> Zitat von ⇗ Andalu im Beitrag ¶ #5147

> smart defrag reports that they don't need any other trimming operation.

seems Smart Defrag is bad, there is no standarts to report which blocks trmed or not, so any utils cant display "Bro, your sdd is OK, you dont need trim"
On WinXP proper trim tool calculate ALL free ntfs blocks every time and trim it ALL

#5154

genieautravail

> Zitat von ⇗ infuscomus im Beitrag ¶ #5150

> looking at those screenshots you installed the USB 2.0 driver not the USB 3.0 driver
> if you are wondering which of your USB controllers are the USB 3.0 controllers look for this hardware ID
> PCI\CC_0C0330

Thank you for the tip.

#5155

genieautravail

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5151

> Infuscomus have right - you tried to update the USB2 driver. You can not do it, USB2 driver is required.

Again, thank you.
YES, the USB 2.0 driver is installed by default by XP as the USB ports works in 2.0 mode with XP.

#5156

genieautravail

⇗ @PPeti66x
THAT WORKS!
Yesterday, I remembered! That was here:
⇗ https://msfn.org/board/topic/177563-newe...comment=1171879
As I have restored a new disk image of XP, I have forgotten to replace the original acpi.sys and acpi.inf files by the moded ones.
It's why in the devices manager, the device Intel(R) 7 Series/C216 Chipset Family Universal Serial Bus (USB) Controller - 1E31 wasn't present.
Now, it's was the case:
⇗
For the next steps, I have the same things as you.
⇗
⇗
⇗
⇗
One remark,
In your "How to do" you have forgotten to mention the necessity to change a registry key:

> Zitat von ⇗ daniel_k im Beitrag ¶ #5125

> 2) Open the key HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlServiceGroupOrder and edit the List (REG_MULTI_SZ) value:Put WdfLoadGroup below System Reserved and above Boot Bus Extender, like this (one value per line):1234&nbsp;System ReservedWdfLoadGroupBoot Bus Extender...

Without this change, at boot of XP, I get a BSOD 0x0000007B
Have a nice day!

#5157

PPeti66x

⇗ @genieautravail
Interesting. By my informations/experience the modded ACPI.SYS build 5048 is not required for Gen3 (Ivy bridge) or older motherboards. The USB3 controller was embedded into a CPU beginning with Gen4. So the QM77 chipset theoretically should not require it.
If you replace back the ACPI.SYS, what happens to the USB3 device driver? Disappears or works normally as intended? I think, your notebook will be better with the original ACPI.SYS, if USB3 works on it.
But is good to see, that it works.
Have a nice day!

#5158 | Ant. | Hello. Does anybody managed to run Intel HD Graphics 4000 on WinXP 32 bit and PAE kernel? (Ivy Bridge on Z77 mainboard) I was trying various driver versions. All of them generate BSOD 0x00000050 cused by igxpmp32.sys Also Creative Live! 24 soundcard works only with 4GB PAE. Any idea how to fix it?
#5159 | PPeti66x | ⇗ @Ant. X86: ⇗ https://downloadcenter.intel.com/downloa...s-XP32-Embedded X64: ⇗ https://downloadcenter.intel.com/downloa...s-XP64-Embedded It works on an unmodified PAE kernel (tested on Dell M4800), but it is unknown, how it works on the patched PAE kernel.

#5160

Ant.

⇗ @PPeti66x
This driver is for 4th Generation Intel® Core processor graphics (Haswell)
But Ivy Bridge is the 3rd generation.
With patched ntkrpamp.exe the same BSOD 0x00000050 occures at igxpmp32+2376F:

    .text:10023765                 mov     ecx, [ebp+8]
    .text:10023768                 push    ecx
    .text:10023769                 call    ds:VideoPortGetDeviceBase
    .text:1002376F                 mov     edx, [ebp+8]
    .text:10023772                 mov     [edx+98h], eax
    .text:10023778                 mov     eax, [ebp+8]
    .text:1002377B                 cmp     dword ptr [eax+98h], 0
    .text:10023782                 jnz     short loc_100237EC
    .text:10023784                 mov     ecx, [ebp-4]
    .text:10023787                 push    ecx
    .text:10023788                 push    offset aGfxfindadapt_5 ; "GfxFindAdapter: Map Video Memory using "...
    .text:1002378D                 push    1

## Page 345

#5161 | PPeti66x | ⇗ @Ant. Sorry, you are true, I did not noticed that is for the Z77 (haswell still uses 4000 series numbering and most of people do not notice the difference). So the problem, that you want to use with patched PAE kernel (above 4GiB address space). Because Intel never made a driver for that VGA for Windows 2003 Server (or at least I never see that), this incompatibility seems to be intentional. A similar problem was with the XP USB device drivers - these were ported from Windows 2003.

#5162

genieautravail

> Zitat von ⇗ PPeti66x im Beitrag ¶ #5157

> @genieautravail
> Interesting. By my informations/experience the modded ACPI.SYS build 5048 is not required for Gen3 (Ivy bridge) or older motherboards. The USB3 controller was embedded into a CPU beginning with Gen4. So the QM77 chipset theoretically should not require it.
> If you replace back the ACPI.SYS, what happens to the USB3 device driver? Disappears or works normally as intended? I think, your notebook will be better with the original ACPI.SYS, if USB3 works on it.
> But is good to see, that it works.
> Have a nice day!

I will test that the next week!

#5163

Mov AX, 0xDEAD

> Zitat von ⇗ Ant. im Beitrag ¶ #5160

> @PPeti66x
> This driver is for 4th Generation Intel® Core processor graphics (Haswell)
> But Ivy Bridge is the 3rd generation.
> With patched ntkrpamp.exe the same BSOD 0x00000050 occures at igxpmp32+2376F:

Don't sure about desktop IVY, on mobile IVY (HM76) i use 6.14.10.5437 driver with pae unlocked kernel without any problem.
Haswell driver 6.14.10.5445 support some IVY DEV_IDs too, but Intel renamed these entries to "Intel HD 3000" )

#5164 | Ant. | Just checked the same 6.14.10.5437 driver on ⇗ Win7 32 with PAE patch: it works. But could there be a difference between PAE implementations? May be my WinXP installation is too old and there need to try this driver on a clean installation?
#5165 | genieautravail | ⇗ @PPeti66x With the original acpi.sys file, the USB 3.0 controller disappear from the devices manager and reappear with the modded acpi.sys file. Replaced and restaured several times. Have a nice day!
#5166 | Ant. | BSOD 0x00000050 caused by igxpmp32 was eliminated by replacing videoprt.sys taken from SP2

#5167

Andalu

The USB3 driver installation via HCSwitch works on my desktop Ivy Bridge using the original acpi.sys or the modded version 5048 while fails with the acpi6666 from outer space.
The only issue I noticed is when XP boots with an USB3 device already connected to an USB3 port, in this case the device is no longer detected until it is unplugged and re-inserted into the USB3 port. No problems using an USB2 device connected to the same USB3 port.
⇗

#5168

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5153

> I dont know why it run fsutil, but i never see real trim on WinXP with Adata SSD Toolbox, trimcheck always show "untrimed" blocks

I used O&O Defrag and TxBENCH to trim an SSD (in PerfectDisk there is a generic "SSD optimize" option and nothing about the trim, so I preferred not to try it) but TrimCheck 0.7 gives always the same verdict: "trim appears to be not working". I think it's TrimCheck that doesn't work properly:
⇗ ⇗ ⇗
However, the only program that seems correctly detect and allow the trim for an NVMe disk is O&O Defrag even though the latest XP compatible version is 17.5 of 2014, but how to be sure that's a real trimming?
⇗

#5169 | infuscomus | ⇗ @Mov AX, 0xDEAD any further developments on your ntoskrnl extender?
#5170 | genieautravail | Message deleted by myself...

#5171

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5169

> @Mov AX, 0xDEAD
> any further developments on your ntoskrnl extender?

Currently NO, i dont see more drivers to port, i mean drivers not related to kernel (like hal/acpi/dxapi/win32k/ntfs/...)

#5172

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #5168

> TrimCheck 0.7 gives always the same verdict: "trim appears to be not working". I think it's TrimCheck that doesn't work properly:

Hi Andalu,
I dont know any other check tool, so only TrimCheck can show data in sector before and after deleting temp file.
If TrimCheck show same DATA this mean this block was not trimed by unknow reason, ignore text verdict, always check difference in HEX DATA (SandForce after trim show FF FF/Indilinx BareFoot(OCZ/Toshibas) show random data/...)

#5173

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #5168

> I used O&O Defrag

You measured how much the write speed of the SSD disk increases
after executing the command "Optimize SSD with TRIM"?

#5174

Ant.

> Zitat von ⇗ Andalu im Beitrag ¶ #5167

> The USB3 driver installation via HCSwitch works on my desktop Ivy Bridge using the original acpi.sys

Which HCSwitch version you are using? Does it depend from xCHI driver?
I was trying to install HCSwitch from ⇗ Lenovo but got BSOD 0x000000A1 caused by pci.sys

#5175

Andalu

> Zitat von ⇗ Ant. im Beitrag ¶ #5174

> Which HCSwitch version you are using? Does it depend from xCHI driver?
> I was trying to install HCSwitch from ⇗ Lenovo but got BSOD 0x000000A1 caused by pci.sys

I used the HCSwitch from the driver v1.0.5.235 but I can install the USB3 driver in the normal way even without the switch method on my desktop Ivy Bridge system.
Which USB3 drivers are you using?
Please start reading from ¶ this post from ⇗ @daniel_k and following, you can find info and the 'iusb3hcs.inf' to use.
⇗ @PPeti66x summarized the procedure ¶ here. Don't forget to apply the modify to the "ServiceGroupOrder" registry key.
The only suggest I can give you is to firstly try the original acpi.sys before the modded ones. It seems to work better even on my crazy system.

## Page 346

#5176

Ant.

> Zitat von ⇗ Andalu im Beitrag ¶ #5175

> Which USB3 drivers are you using?

I'm using AMD driver (1.1.0.276 / 1.1.0.0145). It works after reloading from Win7 to WinXP. Win8 ported driver(v.1.2) doesn't work.

#5177

Andalu

> Zitat von ⇗ Ant. im Beitrag ¶ #5176

> I'm using AMD driver (1.1.0.276 / 1.1.0.0145). It works after reloading from Win7 to WinXP. Win8 ported driver(v.1.2) doesn't work.

The USB3 driver backported from win8 that doesn't work is the same version that you can find ⇗ here?

#5178

PPeti66x

⇗ @genieautravail
Good to known. Thanks for reporting.
-----------
For everyone, who needs Intel HCSwitch:
Today I have tested the new USB 3 Driver and Intel HCSwitch on the Lenovo ThinkCentre M92 (motherboard: IS7XM, chipset: B75 Express). The results: ACPI.SYS build 5048 is not required for the USB 3 device driver. It can be installed and by device manager works correctly. But the Intel HCSwitch device driver will detect the system as incompatible (no errors reported in device manager, but you can not reach USB 3 speeds, and all USB devices are connected to USB 2.0) and will not switch to the USB 3 mode. After installing the ACPI.SYS build 5048, the Intel HCSwitch device driver works as intended.
This means, that is mandatory to use the Vista-based ACPI.SYS build 5048 on Gen3 (Ivy bridge) and older chipsets even if USB 3 itself does not require it. Problem is, that this will make some features unusable on notebooks: display brightness control and internal/external display switching, which are present in the original ACPI.SYS.

#5179 | PPeti66x | ⇗ @Ant. Because modded drivers can not be posted here, for the modded Intel HCSwitch and detailed instructions go here and see the post no. 74: ⇗ https://forums.mydigitallife.net/threads...re.81607/page-4 (in the link to the driver, replace the h??ps with https)
#5180 | Ant. | ⇗ @PPeti66x Thanks. Got it working with AMD xHCI driver and original acpi.sys(5.1.2600.5512). My mistake was adding a new device instead of updating current driver for existent PCI bus.
#5181 | Mov AX, 0xDEAD | Hi All, Currenly i trying to inject DirectX 11/WDDM kernel stuff from Win7 to WinXP, chance to success is very low, but who knows.... win32k.sys will be replaced to ported win7 version, so probably famous good GDI performance on WinXP will be significaly degraged
#5182 | daniel_k | ⇗ @Mov AX, 0xDEAD, that would be awesome! If it doesn't work or too complex, what about Vista's WDDM? It's closer to XP. Did you replace your mobo? Did you ever try to mod the Haswell display drivers to work with Skylake+? Intel barely did changes in its graphics core.

#5183

Andalu

I did some tests on my M.2 SATA disk with some sata/ahci drivers. Unfortunately, with some drivers, the SSD disk has not been recognized by the programs:
⇗ ⇗ ⇗
⇗ ⇗ ⇗
⇗
The best driver seems still to be the storahci backported from win8 and also the modded driver by Fernando is still a good choice.
I'm still looking for a good solution for a working trim in XP for SSD and NVMe drives. Today, for the first time an NVMe disk has been correctly recognized as such in a program (TxBench) even if the trim is not allowed anyway:
⇗ ⇗

#5184

diderius6

⇗ @infuscomus
I think, also in WinXP-IE Optional Patch Integrator v2.3.4b10
in usbxhci.inf
should be renamed to
WppRecorder.sys => WppRecor.sys
Dietmar

#5185 | infuscomus | ⇗ @diderius6 OK! will do that. also, are you available to help with some debugging?
#5186 | diderius6 | ⇗ @infuscomus After crazy weeks in Ukraine now I try to come back to life Dietmar

#5187

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #5182

> If it doesn't work or too complex, what about Vista's WDDM? It's closer to XP.

No, no closer (
WDDM was introduced in Vista, GDI is done over DirectX API
in Win7 it was impoved by allowing drivers do hardware accelerated GDI processing

> Zitat

> Did you replace your mobo?
> Did you ever try to mod the Haswell display drivers to work with Skylake+? Intel barely did changes in its graphics core.

- Not yet
- I didnt tried, changing ID in driver is funny, but dont sure about success, linux opensource driver can show what registers and other stuff changed in skylake after haswell

#5188 | skullteria | Well, the main problem to port WDDM is related with the fact the truely implementation is reside on win32k. So, we would need rebuild win32k

#5189

Mov AX, 0xDEAD

> Zitat von ⇗ skullteria im Beitrag ¶ #5188

> Well, the main problem to port WDDM is related with the fact the truely implementation is reside on win32k. So, we would need rebuild win32k

win7's win32k.sys is hard challenge to port, it heavy uses undocumented kernel things like PEB, TEB, thread/process fields, ....
win7 ddk docs tell what vista support old win200 display driver model too, so vista (in theory) can render gdi over old videoprt.sys video driver framework.

#5190 | skullteria | Yes, XDDM is supported until Windows 7. Adapt Win32k compiled to support WDDM is almost impossible. First, need edit function what load dxgkrnl (and dxg too, is the exact function). After, need add functions to support CDD or build own cdd (cannonical display driver - is a generic display driver, because WDDM run top on old XDDM). After, add D3DKmt functions, what several are wrappers of Miniport driver. And, on the function what load display driver, hack to load cdd as display driver if dxgkrnl is loaded and working. In resume, it is almost impossible

## Page 347

#5191

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5187

> WDDM was introduced in Vista, GDI is done over DirectX API
> in Win7 it was impoved by allowing drivers do hardware accelerated GDI processing

Look details here - ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7

#5192

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5191

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5187

> > WDDM was introduced in Vista, GDI is done over DirectX API
> > in Win7 it was impoved by allowing drivers do hardware accelerated GDI processing

> Look details here - ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7

GDI is low level graphics, GUI/themes/composing is high level
for example BitBlt(copy anything on/to screen) can be processed directly by display kernel driver in Win7, but not in Vista. In Vista BitBlt() will be transformed to something other like memory copy command(?)

#5193

YuriyCN

Feedback on "Microsoft USB 3.0 xHCI driver v2.1" with WinXP-IE Optional Patch Integrator v2.3.4b15.zip
Since v2.3.4.XXX (all versions), USB driver do not work on my motherboard H110M (VEN_8086&DEV_A12F). After installing the driver - error code 37. The latest working version is v2.3.3b21.

#5194 | Outbreaker | v2.3.3.XXX = Generation 1 drivers. v2.3.4.XXX = Generation 2 drivers. Try out the AMD/Intel USB 3.0 v3 driver(s).

#5195

YuriyCN

v2.3.3.XXX = Generation 1 drivers. ---- All versions work fine.
v2.3.4.XXX = Generation 2 drivers. ---- All versions dont work.
Chipset MB ---- Intel H110M

> Zitat von ⇗ Outbreaker im Beitrag ¶ #5194

> Try out the AMD/Intel USB 3.0 v3 driver(s).

Please, give me URL to this driver.

#5196 | Outbreaker | You have it already. It's Option 5 in the Script.

#5197

YuriyCN

> Zitat von ⇗ Outbreaker im Beitrag ¶ #5196

> You have it already. It's Option 5 in the Script.

I do not use CMD file.
I ask you to attach a text description who does the driver installation manually.

#5198 | infuscomus | ⇗ @YuriyCN you can find the inf files for the alternate USB 3 driver in v2.3.4b15\Integrator Files\Patches\AMD&Intel USB 3.0 xHCI drivers

#5199

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #5198

> @YuriyCN
> you can find the inf files for the alternate USB 3 driver in v2.3.4b15\Integrator Files\Patches\AMD&Intel USB 3.0 xHCI drivers

I used this driver 3 months ago.
After the appearance a generic driver (ported from Windows 8), I switched to it, since with it:
1) higher performance
2) "Standby mode" works
3) no problems with PAE
Why did the 2nd generation of this driver (v2.3.4.XXX) stop working on my MB?

#5200 | infuscomus | ⇗ @YuriyCN make sure ntoskrn8.sys is in system32\drivers then reinstall the driver is USB 3.0 working in XP textmode setup for you?

#5201

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #5200

> @YuriyCN
> make sure ntoskrn8.sys is in system32\drivers then reinstall the driver
> is USB 3.0 working in XP textmode setup for you?

That's right, the file ntoskrn8.sys is in system32\drivers.
I installing driver (v2.3.4b15, generation 2), over the already installed driver (v2.3.3b18, generation 1).
The old driver (v2.3.3b18) works fine.
But after installing new driver (v2.3.4b15), I get error code 37.
If I reboot the PC, I get BSOD:

#5202 | Outbreaker | The file "ntoskrn8.sys" and "storport.sys" need to be in the "C:\WINDOW\system32\drivers" folder if you don't use the Script and only the "*.inf" file.
#5203 | Andalu | ⇗ @YuriyCN before updating the driver, did you install the Kernel Mode Driver Framework v1.11?

#5204

YuriyCN

> Zitat von ⇗ Andalu im Beitrag ¶ #5203

> @YuriyCN
> before updating the driver, did you install the Kernel Mode Driver Framework v1.11?

SUPER! Thank! This is the right answer.
The "Microsoft USB 3.0 xHCI driver v2.1" is works, but I didn't notice any performance difference.
How does a Gen 2 driver compare to a Gen 1 driver?

#5205

infuscomus

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5204

> How does a Gen 2 driver compare to a Gen 1 driver?

same performance - the difference with gen2 over gen1 is offloading code extension/modification into the ntoskrnl extender instead of modding the driver directly.

## Page 348

#5206 | infuscomus | ⇗ @Mov AX, 0xDEAD regarding your ntoskrnl extender - do you have any plans to target windows 2000 in the future? (i also have 2000 DDK if you want a copy)

#5207

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #5205

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #5204

> > How does a Gen 2 driver compare to a Gen 1 driver?

> same performance - the difference with gen2 over gen1 is offloading code extension/modification into the ntoskrnl extender instead of modding the driver directly.

By the way, the driver Gen1 works better. Returning from standby mode works fine with it.
A driver Gen2, when returning from standby mode, crashes in the BSOD in half the cases.
We need a correct timer patch in the HAL.DLL file - there you can really get
a performance increase in SATA and USB drivers up to 25-30 percent.
The modified HAL.DLL is already there, but some applications do not work with it correctly.
For example, GS-CABer crashes on loading. A more correct patch is needed.

#5208

Mov AX, 0xDEAD

⇗ @infuscomus,
Hi

> Zitat

> regarding your ntoskrnl extender - do you have any plans to target windows 2000 in the future? (i also have 2000 DDK if you want a copy)

No any plans, w2000 is too rare&exotic for me (do we have acpi.sys and worked PAE for skylakes+ ?)

#5209

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5207

> By the way, the driver Gen1 works better. Returning from standby mode works fine with it.
> A driver Gen2, when returning from standby mode, crashes in the BSOD in half the cases.

Привет Юрий(?)
If you learn how to convert bsods to crashdump stacktrace you get more knowledge what "thing" generates bsod

#5210

infuscomus

⇗ @Mov AX, 0xDEAD
It's possible to get past ACPI A5 BSOD on 2000 for Ryzen with the same fix used to fix XP - but there is no AHCI and no PAE.
I've been experimenting and it seems you can target windows 2000 using Win7DDK by taking the ntoskrnl.lib and hal.lib from the 2000 DDK and using them with TARGETLIB during compilation
Using a VM to test I got ntoskrn8.sys to not throw a "ntoskrn8.sys is corrupted" in 2000 textmode setup using win7DDK by setting TARGETLIB to point to ntoskrnl.lib and hal.lib of 2000 DDK and pointing the sources file to them.
without using the 2000 ntoskrnl.lib and hal.lib you get "ntoskrn8.sys is corrupted" in 2000 textmode setup.
I'm not sure if this is useful though.

#5211

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5209

> If you learn how to convert bsods to crashdump stacktrace you get more knowledge what "thing" generates bsod

Майкрософтовский USB драйвер 1-го поколения работает лучше, чем драйвер 2-го поколения. В двух случаях производительность порта одинаковая, но ПК восстанавливается из ждущего режима со старым драйвером стабильнее. При восстановлении из ждущего режима с новым драйвером чаще бывает BSOD или загрузка зависает на черном экране.
Но для меня проблема номер 1 - это корректный патч HAL.DLL. Дело в том, что модифицированный HAL.DLL дает прирост производительности и SATA и USB драйверов до 30%. Например, скорость чтения USB3 флешки возрастает с 65-70 МБ/с до 95-105 МБ/с, скорость линейного чтения SSD возрастает с 170-190 МБ/с до 230-250 МБ/с, что довольно существенно. Но с новым (патченым) файлом возникают проблемы с запуском GS-CABer и возможно других программ, которые как-то нестандартно работают с таймером. При запуске GS-CABер крашится, хотя с оригинальным файлом запускается без падений. Спасает запуск программы в режиме совместимости с Windows 98|2000, тогда краша нет, но мне не совсем нравится такое решение. Нужно разобраться и сделать корректный патч HAL.DLL.

#5212

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5211

> Нужно разобраться и сделать корректный патч HAL.DLL

Hi YuriyCN
topic's first page, "Intel MB issues, Wrong timing, Compatibility fix (HAL TSC frequency divider)"

#5213

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5212

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #5211

> > Нужно разобраться и сделать корректный патч HAL.DLL

> Hi YuriyCN
> topic's first page, "Intel MB issues, Wrong timing, Compatibility fix (HAL TSC frequency divider)"

Насколько я понял, речь идет именно о строках, изложенных ниже.
Я ранее поднимал эту проблему в отдельном топике - ⇗ What exactly is the hal timer problem? (3)
но решения так и не нашел. Имеющийся в составе "WinXP-IE Optional Patch Integrator v2.3.4b17" файл HAL не закрывает эту проблему. Мне сложно понять как добавить этот ассемблеровский код в HAL.DLL. Подскажите, пожалуйста, где найти готовый пропатченый файл и почему его не включают в состав WinXP-IE Optional Patch Integrator? Ведь на USB и SATA интерфейсах, получаем довольно большую прибавку в скорости, на моей системе до +30%.
Compatibility fix ("HAL TSC frequency divider")
Some programms do wrong calculation with high values of PerformanceCounter/PerformanceFrequency
(HAL_acpitimer_fix set values to cpu freq), to avoid this problem values need to divide to much
lesser value, Windows 7 just divide it to 1024, so timer frequency on 3600Mhz cpu is only 3.51Mhz
Patch:
- divide to 1024 values of PerformanceCounter/PerformanceFrequency, replace `_HalpAcpiTimerQueryPerfCount` to:

     mov     ecx, [esp+4]
     or      ecx, ecx
     jz      short Skip_Frequency_Mode mov     eax, fs:0A4h ; FrequencyLo
     mov     edx, fs:0A8h ; FrequencyHi
     shrd    eax, edx, 0Ah
     shr     edx, 0Ah
     mov     [ecx], eax
     mov     [ecx+4], edx

`Skip_Frequency_Mode`:

     rdtsc
     add     eax, fs:0ACh ; CalibrationLo
     adc     edx, fs:0B0h ; CalibrationHi
     shrd    eax, edx, 0Ah
     shr     edx, 0Ah
     retn    4

#5214

nijazxp

Does anybody know why can't I bypass 7b bsod? I tried xp sp3 32bit original vl edition and integral edition 2020.5.5. I used winsetupfromusb and easy2boot together with my usb. I tried modified ntdetect, universal ahci drivers by fernando, universal ahci patch from integral edition, dpms, some acpi patches, pressing f5, f6, f7, setting bios to legacy and mbr, using usb 2.0 port instead of usb 3.0... Why I just can't get past 7b bsod? Is there any way? I thought I am expert who bypassed that problem on my old emachines laptop, but on my newer lenovo laptop I just can't bypass it. I checked hardware ids of my ahci controller to match to those in fernandos and other inf files, and they do. I tried using exactly same boot disk on two laptops, on emachines e725 and on lenovo b51-30 80lk, but although almost every combination/configuration works on emachines, none work on lenovo. I used nlite for integration of textmode drivers, and it was always successful on emachines, but never on lenovo. I only did not try ones under 3.) by Fernando, MSM ones. While those first I already installed on my windows 10, x64 of course. Detected properly as

> Zitat

> Intel(R) SATA AHCI Controller DEV_22A3 added by Fernando

Honestly I did not still try all acpi drivers from integral edition of xp, could that be solution? Has ACPI anything to do with 7b error? I also looked at devices by connection in device manager and sata controller is on same path as in my old laptop, that is in this order:

> Zitat

> ACPI x64-based PC
> Microsoft ACPI-Compliant System
> PCI Express Root Complex
> Standard SATA AHCI Controller

Here are my lenovo specs:
standard ahci controller in device manager in windows 10 x64:

> Zitat

> hardware ids:
> PCI\VEN_8086&DEV_22A3&SUBSYS_390117AA&REV_21
> PCI\VEN_8086&DEV_22A3&SUBSYS_390117AA
> PCI\VEN_8086&DEV_22A3&CC_010601
> PCI\VEN_8086&DEV_22A3&CC_0106
> compatible ids:
> PCI\VEN_8086&DEV_22A3&REV_21
> PCI\VEN_8086&DEV_22A3
> PCI\VEN_8086&CC_010601
> PCI\VEN_8086&CC_0106
> PCI\VEN_8086
> PCI\CC_010601
> PCI\CC_0106

Some specs from Speccy:

> Zitat

> Operating System
> Windows 10 Pro 64-bit
> CPU
> Intel Pentium N3700 @ 1.60GHz 41 °C
> Braswell 14nm Technology
> RAM
> 4,00GB DDR3 @ 1599MHz (11-11-11-28)
> Motherboard
> LENOVO Lenovo B51-30 (CHV)
> Graphics
> Generic PnP Monitor (1366x768@60Hz)
> Intel HD Graphics (Lenovo)
> 1023MB NVIDIA GeForce 920M (Lenovo) 38 °C
> ForceWare version: 425.31
> SLI Disabled
> Storage
> 931GB Seagate ST1000LM014-SSHD-8GB (SATA ) 37 °C
> 14GB SDHC Card (SCSI )
> 26GB Linux File-CD Gadget USB Device (USB )
> Optical Drives
> PLDS DVD-RW DA8A6SH
> Audio
> Realtek High Definition Audio
> Motherboard tab:
> Motherboard
> Manufacturer LENOVO
> Model Lenovo B51-30 (CHV)
> Version No DPK
> Chipset Vendor Intel
> Chipset Model Braswell Host Bridge
> Chipset Revision 21
> Southbridge Vendor Intel
> Southbridge Model Braswell LPC Bridge
> Southbridge Revision 21
> BIOS
> Brand LENOVO
> Version C5CN35WW(V2.06)
> Date 30. 9. 2016.
> PCI Data
> Slot PCI-E x4
> Slot Type PCI-E x4
> Slot Usage Available
> Data lanes x4
> Slot Designation J5C1
> Characteristics PME, Hot Plug, SMBus
> Slot Number 0
> Slot PCI-E x1
> Slot Type PCI-E x1
> Slot Usage Available
> Data lanes x1
> Slot Designation J4B3
> Characteristics PME, Hot Plug, SMBus
> Slot Number 1
> Slot PCI-E x1
> Slot Type PCI-E x1
> Slot Usage Available
> Data lanes x1
> Slot Designation J6C1
> Characteristics PME, Hot Plug, SMBus
> Slot Number 2
> Slot PCI-E x1
> Slot Type PCI-E x1
> Slot Usage Available
> Data lanes x1
> Slot Designation J6D1
> Characteristics PME, Hot Plug, SMBus
> Slot Number 3
> Storage tab:
> Hard drives
> ST1000LM014-SSHD-8GB
> Manufacturer Seagate
> Heads 16
> Cylinders 121.601
> Tracks 31.008.255
> Sectors 1.953.520.065
> SATA type SATA-III 6.0Gb/s
> Device type Fixed
> ATA Standard ACS2
> Serial Number W772N4JA
> Firmware Version Number LVD6
> LBA Size 48-bit LBA
> Power On Count 3512 times
> Power On Time 454,9 days
> Speed 5400 RPM
> Features S.M.A.R.T., APM, NCQ
> Max. Transfer Mode SATA III 6.0Gb/s
> Used Transfer Mode SATA III 6.0Gb/s
> Interface SATA
> Capacity 931 GB
> Real size 1.000.204.886.016 bytes
> RAID Type None

#5215 | infuscomus | ⇗ @nijazxp since you are installing XP via USB and you get a 7B BSOD it is likely that your USB 2.0 port connects through the USB 3.0 controller so you will need to use the USB 3.0 driver for install to work.

#5216

nijazxp

Yes, that is correct when I see devices by connection in device manager in windows 10. They are like:

> Zitat

> ACPI x64-based PC => Microsoft ACPI-Compliant System => PCI Express Root Complex => USB xHCI Compliant Host Controller => USB Root Hub (USB 3.0) => USB Mass Storage Device => Disk drive (labeled 'Linux File-CD Gadget USB Device')

which is actually my android phone with mounted image via app DriveDroid.
I contacted author of Easy2Boot, and he just made some fix of not having enough memory to put xp iso into memory, and he gave me fix now, but although now bsod disappeared my laptop turns off on screen where i have choice to install, repair, quit xp setup.
I tried pressing F5 and F7 and still error appears, just does not turn off, but freezes on same screen.
Are those usb 3 drivers that are found in xp integral edition in patch folder?
I think since easy2boot puts image into memory I do not need any usb drivers, because files are in ram, not on usb?

#5217

infuscomus

⇗ @nijazxp
The screen should not be turning off during install - you might want to go back to the old version where this didn't happen
with ACPI patch pressing F5/F7 is no longer necessary
even though the ISO is loaded into RAM you will still need the USB 3.0 driver to avoid 7B BSOD - I'm not entirely sure why but I have confirmed this is the case through my testing.
Do you have the latest version of the parch integrator? - v2.3.4b17
If not I can PM you a link to it

#5218

nijazxp

⇗ @infuscomus
No, I have 2.1.3. Send me the link. What is purpose of ACPI patches? To solve 7b bsod or pc turning off at start of setup? Or to solve some other bsod? Do I need ACPI patch?
Do I need some other patches? I am 100% sure my bsod 7b is not caued by lack of drivers. I will maybe try to go back to old easy2boot because the author is still experimenting with new method, so maybe that is why xp is turning off. My laptop is produced around 2015.
First time that I hear that 7b bsod is related to usb drivers!

#5219 | infuscomus | ⇗ @nijazxp OK, I'll PM you the link. ACPI patch resolves A5 BSOD and enables multicore CPU support you can disable ACPI and XP will still work, but you will only have 1 CPU core.

#5220

nijazxp

Thanks, will try those patches and tomorrow post results here. Also will try some more combinations. Previously during signing I had always some error telling me could not contact some timestamp server, probably because I am keeping pc offline, at least cmd and other firewalled apps.
Also Fernando ⇗ said:

> Zitat

> The S-ATA hdd's have to be connected to one of the Intel S-ATA ports of the mainboard.
> Note: Many Intel chipset mainboards have additionally to the Intel SATA ports other SATA ports, which are managed by another on-board SATA Controller (from JMicron, ASMedia or Marvell). Before you continue with your preparations, you should check, if the S-ATA cable of the HDD/SSD, where you want to get the OS and the boot sector installed, is really connected to one of the Intel ports. If it should be connected to any of the non-Intel SATA ports, you have to integrate/load the related special JMicron/ASMedia/Marvell textmode driver instead of the Intel one. Otherwise Windows Setup will not detect your S-ATA connected HDD, SSD or RAID array at all.

Does anybody know how to detect that? Do I have to disassemble laptop really? Look where exactly? Can this be seen via software? Maybe that is the culprit.

## Page 349

#5221 | infuscomus | ⇗ @nijazxp The patch integrator has a generic SATA driver so you wont need to look for an intel SATA driver.

#5222

nijazxp

I just tried windows xp integral edition with these patches under [YES] enabled:
1. [YES] Integrat Microsoft SATA/AHCI driver (Backported Win8 driver).
2. [NO] Integrat Microsoft NVMe driver (Backported Win7 driver).
3. [NO] Integrat Samsung NVMe driver (Backported Win7 driver).
4. [YES] Integrat Microsoft USB 3.0 xHCI driver (Backported Win8 driver).
5. [NO] Integrat AMD/Intel USB 3.0 xHCI driver (Patched Win7 AMD driver).
6. [YES] Integrat ACPI Patch (For Intel 370/390 Chipsets and AMD Ryzen CPUs).
7. [YES] Integrat PAE 4GB RAM Patch (Use this to avoid stability issues).
8. [NO] Integrat PAE 128GB RAM Patch (May have stability issues).
9. [NO] Remove Windows XP SP3 SSE2 Updates (For CPUs without SSE2 support).
D. [YES] Remove DriverPacks BASE with the included Driver Packs.
K. [YES] Integrat Kernel-Mode Driver Framework 1.11 (Backported Win7 driver).
U. [YES] Integrat UAS/UASP driver (Improves USB storage device performance).
F. [YES] Fixes a PM Timer problem with the Intel CPUs beginning with Skylake.
L. [NO] Add configuration settings for creating a Live USB Setup.
And it does not work in any case. In case of new easy2boot that developer sent me to fix not enough RAM, it powers off pc when xp displays choice to install or repair.
In case of winsetupfromusb same as above.
In case of original easy2boot it freezes before is loads at all, while still in easy2boot phase.
Could this be because of bad ACPI patch or grub bug?
Is there any other option without grub?
I will also try winpe method of easy2boot, but I think it still uses buggy grub...downloading windows 7 now to get winpe as recommended by easy2boot.
Hope authors will quickly fix grub and easy2boot for my laptop today...

#5223

infuscomus

⇗ @nijazxp
Those options look correct -
the author of integral edition recommends winsetupfromusb for XP installs via USB.
For ACPI Try one of the other ACPI drivers
in Integrator Files\Patches\ACPI drivers
replace acpi.sys with one of the other options available -
e.g
copy acpi.sys in acpi 5048 - 2019.11.1 - diderius6 into
Integrator Files\Patches\ACPI drivers
when prompted to replace the file click yes
then build a new XP ISO
P.S As a last resort to try you can disable ACPI by pressing F7 but you'll lose multicore support if you choose this

#5224 | AddFun | Now somebody needs to patch in proper support of modern nVidia cards under XP (Pascal+) and we can have some pretty amazing WinXp builds! :D What is the last nVidia gen to support WinXp, (iCafe WinXP drivers for GTX 960?) ... .. .
#5225 | infuscomus | ⇗ @AddFun you can go up to highest end maxwell - 980ti/Titan X - with an INF mod
#5226 | AddFun | Is the driver model for 1xxx/2xxx series that radically different?
#5227 | AddFun | Also, actual on-topic question, I swapped my working Z390 partition to a Z490 machine. Boots perfectly, but once at desktop, about 5 seconds in I get a "IRQL_NOT_LESS_OR_EQUAL (0x000000A)" BSOD.... Anyone any idea. This CPU has HT (10700k) vs CPU on Z390 (9600k), although I don't think that's it.

#5228

slavainaction

Hi,
There is a problem with installing Generic USB 3.0 xHCI driver v1.2 via Device Manager on my PC.
The HW ID of my USB controller: VEN_8086&DEV_A12F.
Before installing driver I've installed Kernel Mode Driver Framework 1.11 (updated) which i've founded on another forum.
I can't check any errors cause my usb mouse and keyboard stop working after installing driver.
Any ideas how to fix it?

#5229 | infuscomus | ⇗ @slavainaction you need to also have the ntoskrnl extender in integrator Files\Patches\Miscellaneous copy ntoskrn8.sys into system32\drivers

#5230

slavainaction

> Zitat von ⇗ infuscomus im Beitrag ¶ #5229

> @slavainaction
> you need to also have the ntoskrnl extender
> in integrator Files\Patches\Miscellaneous copy ntoskrn8.sys into system32\drivers

Well, the problem wasn't solved.
I've installed this update WindowsServer2003.WindowsXP-KB2864202-x86-INTL. Then from WinXP-IE_Optional_Patch_Integrator_v2.3.4b17\Integrator Files\Patches\Miscellaneous copied ntoskrn8.sys into system32\drivers. And tried to install Microsoft USB 3.0 xHCI driver v2.1 via Device Manager.

#5231 | diderius6 | ⇗ @slavainaction use WinXP-IE_Optional_Patch_Integrator_v2.3.3b20 Dietmar

#5232

slavainaction

> Zitat von ⇗ diderius6 im Beitrag ¶ #5231

> @slavainaction
> use
> WinXP-IE_Optional_Patch_Integrator_v2.3.3b20
> Dietmar

Still nothing. I've tried to install:
Only driver
Driver + ntoskrn8.sys + Framework 1.11
Driver + Framework 1.11
Driver + ntoskrn8.sys
And it doesn't work.

#5233 | infuscomus | ⇗ @slavainaction you'll need to run the patch integrator on the vanilla ISO to make a patched ISO and then use that to do a fresh install of XP
#5234 | diderius6 | ⇗ @slavainaction I installed this USB 3 driver (from WinXP-IE_Optional_Patch_Integrator_v2.3.3b20) after setup from a original german XP CD. And it works Dietmar

#5235

slavainaction

> Zitat von ⇗ infuscomus im Beitrag ¶ #5233

> @slavainaction
> you'll need to run the patch integrator on the vanilla ISO to make a patched ISO and then use that to do a fresh install of XP

My USB 2.0 ports connect throw the USB 3.0 Controller. I understood this when I've updated device manager and my mouse and keyboard stopped working. Also XP doesn't see my connected USB flashes. I guess that's why i've got BSOD 07b when i've tried to install XP via USB flash. If I find the correct USB 3.0 driver, I will not get the BSOD 07b, will I?(I've already found the correct AHCI driver and integrate it by nLite).
So could you write me small instruction how to use this integrator? I mean, what do I need to do for the integrator to see my clean image?
UPD: I've patched(choosed Integrat Generic USB 3.0 xHCI driver (Backported Windows 8 driver)) my clean ISO and when I try to boot installation from flash, I've got BSOD 0x00000096.
Used patch: WinXP-IE_Optional_Patch_Integrator_v2.3.3b20
UPD2: WinXP-IE_Optional_Patch_Integrator_v2.3.4b17 gives me BSOD 0xDEADBEEF.
UPD3: FIXED my problem with USB by using this driver: AMD&Intel USB 3.0 xHCI drivers from WinXP-IE_Optional_Patch_Integrator_v2.3.4b17.

## Page 350

#5236 | AddFun | Alright. Got a clean install. Finally got it to boot out of safe mode. Noticed a issue: stuck at 4GHz clock wise no matter what the motherboard settings. Thought this was a safe mode issue. Didnt have this on z390/9600k. Why would it be capping my clock speed st 4ghz? (benchmarks prove i am at 4ghz +/- 5%)
#5237 | slavainaction | Does someone have a driver for the integrated video card Intel HD Grapics 530 for XP 32bit? HW ID: ven_8086&dev_1912 Without a driver, my monitor runs at 40Hz. That is very painful for my eyes.
#5238 | infuscomus | ⇗ @slavainaction there is a universal 2D driver that will work, but no 3D driver at this time.

#5239

slavainaction

> Zitat von ⇗ infuscomus im Beitrag ¶ #5238

> @slavainaction
> there is a universal 2D driver that will work, but no 3D driver at this time.

Where can I find it? Please give me link in PM.

#5240

genieautravail

⇗ @daniel_k
About WinXPPAE:
There is a specific to USB issue.
If I try to format an USB device, the process hang and USB ports 2.0 stop to works until reboot.
Thank you to let us know if this is a weakness of the Microsoft USB driver or if it can be fixed.
Somebody on the My Digital Life forum posted about the same issue and on another one.
Have a nice day!

#5241 | kukonosau | ⇗ @diderius6 Hello. Where to find LAST VERSIONS drivers acpi, SATA AHCI, USB31, USB30 and so on for Windows XP x86 for Ryzen? Can you send me, please? Maybe, do you have another drivers for another devices?

#5242

diderius6

⇗ @kukonosau
Most of the new drivers for XP SP3 can be found on the webside
⇗ https://www.zone62.com
for example in
WinXP-IE Optional Patch Integrator v2.3.3b20
and the newest one
WinXP-IE Optional Patch Integrator v2.3.4b17
Look with Google for them.
And also in
⇗ https://forums.mydigitallife.net/threads...hardware.81607/
from ⇗ @daniel_k
At the moment I do not have more drivers for myself.
But in very next future I will work here on it again
Dietmar
PS: I would be interested in lan driver for i219 and also on DirectX 10, 11, 12.
⇗ @Mov AX, 0xDEAD was working on but I do not hear news about for a long time.

#5243

gordo999

⇗ @diderius6 ..."Look with Google for them". The fascists at Google are blocking many legitimate sites that Google regards as dangerous sites. I had to use the dogpile search engine to find the integrator. So far I have only found the v2.3.3b14 version on dogpile. Found it on a Russian site and you have to look carefully to find the link.
ps. just found it on dogpile using "WinXP-IE Optional Patch Integrator v2.3.3b17.zip" ...without quotes.
BTW...thanks for your outer space version of ACPI. Still using it on XP.

#5244 | Outbreaker | The Betas can now be ignored because the final "⇗ Optional Patch Integrator" version is out, bundled with the WinXP-IE but works also on every other WinXP when renaming the ISO file.

#5245

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5242

> PS: I would be interested in lan driver for i219 and also on DirectX 10, 11, 12.
> @Mov AX, 0xDEAD was working on but I do not hear news about for a long time.

Hi diderius6,
"Vista driver model" for WinXP is hard puzzle, dont except much in quick time )

#5246 | kukonosau | ⇗ @diderius6 Hello. Thanks for yesterday post. But I don't know how to integrate USB 3.0 or USB 3.1 drivers for Windows XP x86. How to install Windows XP x86 on Ryzen without PS/2 mouse and keyboard? Nlite isn't help me. Dosnet.inf and txtsetup.sif isn't help me also. USB drivers wasn't detected in install time. Maybe, use WinXP Patch Integrator? How use him?
#5247 | diderius6 | ⇗ @kukonosau Take a look at the last post here from ⇗ @Outbreaker #5244 Dietmar
#5248 | kukonosau | ⇗ @diderius6 Thanks. But I don't understand how to use Integrator. Cannot find archive...
#5249 | diderius6 | ⇗ @kukonosau Rename your xp.iso to Windows XP Professional SP3 x86 - Integral Edition 2020.9.9 (Vanilla).iso Dietmar
#5250 | kukonosau | ⇗ @diderius6 Thanks! So, Integrator nothing add except drivers? Unnecessary programs will not? Drivers only?

## Page 351

#5251 | kukonosau | ⇗ @diderius6 So, drivers USB modify Win8 doesn't fit. How to integrate AMD USB 3.1 WHQL? Where are download it? I forgot page.

#5252

slavainaction

I have a problem with shutdown and reboot, sometimes they work good, sometimes I press shutdown/reboot, then I have a screen "Windows is shutting down" and system freezes.
The problem was after modified system with both integrators WinXP-IE_Optional_Patch_Integrator_v2.3.4b17 and Windows XP Professional SP3 x86 - Integral Edition 2020.9.9
I just choose ACPI patch and AMD/Intel USB 3.0 xHCI driver, nothing else.

#5253

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #5246

> Nlite isn't help me.

⇗ @kukonosau ...nlite must be XP version and must be run on an XP machine. XP on VM will work.

#5254 | kukonosau | ⇗ @gordo999 Nlite integrated successfully, but USB 3.1 is not detected in installation time. How to add USB 3.1 to text mode? For example, SATA AHCI added successfully because has file txtsetup.oem. But USB 3.1 doesn't working.
#5255 | infuscomus | ⇗ @kukonosau you should use the integrator to integrate the USB 3 drivers correctly if the integrator is not outputting a customized ISO then make sure the folder path is short so the .cmd file can do what it needs to do e.g C:\XPIE\
#5256 | kukonosau | ⇗ @infuscomus Integration was successfully, but USB drivers doesn't working in installation time. But ACPI and SATA AHCI working correctly!!!
#5257 | infuscomus | ⇗ @kukonosau try the alternative AMD/Intel USB 3.0 xHCI driver
#5258 | kukonosau | ⇗ @infuscomus Thanks. I will checking. But how to integrate any drivers to text mode, not only SATA AHCI? For example, I want detect graphics card in installation time and integrate driver 368.81. This is opportunity? But all drivers working after installation Windows XP only, on desktop. AMD USB 3.1 WHQL working only desktop, after install only, but I want to working in installation time when use partition.
#5259 | herotoss | ive been trying to install win xp on my 2400g+ab350m ds3h+ati2400pro without any success, first installation works then after the xp logo it shows this bsod, no matter wich acpi i try it show always 0xA5.. ⇗ https://i.imgur.com/Qy5OAww.jpg tried both integral and original,,
#5260 | diderius6 | ⇗ @herotoss I think, the acpi.sys is restored back to its original. So, you have to copy by hand the acpi.sys from outerspace ) (last version) into windows\system32\drivers bei hand Dietmar
#5261 | herotoss | ive already tried that.. no luck

#5262

Mov AX, 0xDEAD

> Zitat von ⇗ herotoss im Beitrag ¶ #5259

> no matter wich acpi i try it show always 0xA5.. ⇗ https://i.imgur.com/Qy5OAww.jpg

Hi All
error is 0xC0000034, probably it is ArbCrackPRT again...
⇗
better to have crashdump, but if bsod occur in SETUP GUI phase, i think it is hard to get dump file
another way is to change every 0xC0000034 to other increment value to investigate which proc was failed

    0xC0000034 -> 0xC0000134
    0xC0000034 -> 0xC0000135
    0xC0000034 -> 0xC0000136
    ...
    26 times :)
    ...
    0xC0000034 -> 0xC000014E

#5263

diderius6

⇗ @Mov AX, 0xDEAD
Can you do it for us on the acpi.sys from outerspace ),
just rename all the places, where exact this BSOD with 0xC0000034
happens?
So, step by step acpi.sys from outerspace ) will be perfect
Dietmar

#5264 | usa1ec | Detailed instructions for installing Windows XP on modern PCs in Russian. Методика установки Windows XP на современные ПК не помещается в форумный пост, рекомендую скачать TXT файл - в нем всегда актуальная и обновленная информация. ТХТ инструкция от 12.09.2020 года (58 кБ) - ⇗ https://www.upload.ee/files/12265364/Win...2020_9.txt.html

#5265

infuscomus

⇗ @Mov AX, 0xDEAD
I made the changes you suggested - only went up to 14D though so I might have missed one.
infuscomus has attached files to this post

- ⇗ acpi_test_14d.zip

## Page 352

#5266 | herotoss | ⇗ @infuscomus using acpi_test_14d.zip the error changed to 7B,, ⇗ https://i.imgur.com/zBy0jwT.jpg
#5267 | infuscomus | ⇗ @herotoss strange - you should still be getting the A5 BSOD you got before, only the 0xC0000034 part should change to make it easier to pinpoint the ACPI error 7B BSOD is a storage related issue so that error could be AHCI, NVMe or USB 3.0 driver related (although I integrated those drivers in the ISO I sent you so I'm not sure why you are getting that BSOD)
#5268 | herotoss | ⇗ @infuscomus hahahh i know trust me i have tried many many times installing xp with different drivers and none of them worked.. im getting crazy here.

#5269

gordo999

> Zitat von ⇗ herotoss im Beitrag ¶ #5268

> ...i have tried many many times installing xp with different drivers and none of them worked.. im getting crazy here.

⇗ @herotoss ...might not be helpful but I approached it initially from a different direction. I had a stock XP already installed on its own disk from an older system with all the required drivers for nvidia, creative, etc. On my newer B360M I also have PS/2 ports for mouse/keyboard.
When I fired the XP disk up on the B360M it immediately failed with an A5 ACPI error. That was before diderius6 issued his ACPI from outer space. I simply dropped the current modded ACPI.sys in the windir\sys32\driver folder and that fixed the A5 error. Then I got a 7B error which was related to the SATA driver. You said you checked the manual acpi.sys installation. My system did not use acpi.sys, maybe yours does. Did you check that the system did not replace it? If it does, first go into the folder from which the system gets its originals and replace the original with the new acpi.sys. Then replace it in windir\sys32\drivers. You may have to do that offline from another system. I have XP, W7 and W10 all running on my system on separate drives.
About that time, I discovered the XP SP4 unofficial update from Harkus and I applied it. He uses one of the SATA drivers from winraid which you can find when you download the package, or on this site. That got me right to the desktop using a PS/2 mouse/keyboard. Things were surprisingly stable at that point although I had to mess with new nvidia drivers and creative drivers. At least I had it running and could fiddle with a working system.
I bought a USB 3 add-on card and found some VIA drivers on a Czech site, That got me going with USB and I could use my mouse/keyboard via USB. Then ⇗ @daniel_k came out with his AMD drivers and I applied those. Suddenly I had all my mobo USB ports plus my VIA ports. Have not tried the next generation based on win8 drivers but as I said, I have a working system to use when I do.
Might add that nlite has to be an XP version and must be run on an XP system. There is a check box on one of the pages that needs to be checked in order to get the repair install feature going. Otherwise, you end up with a parallel installation of XP if you select to carry on while leaving your current system alone. Also, you cannot access the repair prompt from the installation disk unless it is checked.

#5270 | infuscomus | ⇗ @herotoss I tried to load my acpi_test_14d in textmode setup and got "acpi.sys is corrupted" so it seems I broke it - that explains the 7B BSOD instead of A5 BSOD because the acpi.sys driver never successfully loaded.

#5271

Andalu

⇗ @herotoss
this is not the only case where the XP installation is more problematic than expected (or where it cannot even be installed at all). ¶ Here I reported a similar experience. Clearly, mine is not an encouragement to downgrade the bios but a failed XP installation can also depend from that because there is not yet a perfect acpi.sys (as well as hal.dll) suitable for every motherboard, system, situation.
Anyway, I hope we can find the right suggestion to solve the issues.

#5272

diderius6

⇗ @infuscomus
For to change the BSOD numbers,
you need to check careful, only which 0xC0000034 belongs to
0x000000A5 (0x00000003, xxx, 0xC0000034, yyy) (special acpi BSOD).
And you have to rebuild each identic matching number also at the place, to which the special Acpi-BSOD 03 jumps,
so that you can identify the exact place, where this error happens. And some acpi errors are only listed (and happen) in the source code of ntoskrnl.exe,
for example BSOD 0x7B
Dietmar
PS: Here in the forum I listed long time ago all the 0xA5,(0x03,..) Bsods.

#5273 | herotoss | ⇗ @Andalu yea i was thinking the same that could be my mobo or the bios that cause xp to fail becouse i have it updated to the latest version...
#5274 | kukonosau | ⇗ @diderius6 Hello. Where is drivers SATA AHCI for XP x64 for Ryzen? I lost Skullteria post.
#5275 | diderius6 | ⇗ @kukonosau ⇗ https://ufile.io/ohtuy2p1 Dietmar
#5276 | infuscomus | ⇗ @diderius6 did you mean don't change every instance of 0xC0000034 in acpi.sys?
#5277 | diderius6 | ⇗ @infuscomus Yes:)) Have a nice day Dietmar
#5278 | herotoss | ⇗ @diderius6 ⇗ @infuscomus ok guys dont waste more time on it it is my hard drive that is broken, i tried installing win10/win8 and it says inaccessible boot device (7B) r.i.p.,,,, im gonna buy a new one.. im very srry
#5279 | infuscomus | ⇗ @herotoss just buy a new drive, the rest of your system should be OK and work just fine. I'd like to get this ACPI BSOD solved just in case someone else encounters this problem.

#5280

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5265

> I made the changes you suggested - only went up to 14D though so I might have missed one.

Hi infuscomus
Import table is reconstructed => fully damaged, i mean .rdata section

## Page 353

#5281

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5272

> For to change the BSOD numbers, you need to check careful, only which 0xC0000034 belongs to
> 0x000000A5 (0x00000003, xxx, 0xC0000034, yyy) (special acpi BSOD).
> And you have to rebuild each identic matching number also at the place, to which the special Acpi-BSOD 03 jumps,
> so that you can identify the exact place, where this error happens.

Hi diderius6,
exact place where 0xA5,(0x03,..) generated cannot be determinated because subcode 0x03 generated only in one place - ACPIBuildCompleteMustSucceed
what is ACPIBuildCompleteMustSucceed ? i think this is generic CallBack/Filter/Assert handling function.
One of subcalls generate return value as C0000034 (error value), then after many "RETs" cpu will switch to ACPIBuildCompleteMustSucceed at end

#5282 | infuscomus | ⇗ @Mov AX, 0xDEAD ⇗ @diderius6 It would be beneficial if we could get Vista's ACPI driver to work for XP (or at least Vista beta 5365) we could solve these left over compatibility issues. It would be very difficult to do this however - I tried already to do this and did not succeed - kept getting a 7E BSOD in ntoskrn8.sys
#5283 | kukonosau | ⇗ @diderius6 Hello. Thanks for your working, create drivers for XP! This is great work! But I have bad news: NFS Undercover has lagging for me on Windows XP SP3. Other games very well working! My configuration: processor Ryzen 5 2600, graphics card MSI NVIDIA GeForce GTX 960, 16 Gb RAM (without PAE on WinXP SP3 x86), motherboard ASUS AM4 B350 PRIME B350M-K. NFS Undercover has lagging on WinXP SP3 x86, unfortunately, but hasn't lagging on Windows 10. Why? May be, I installed XP incorrectly? Or not enough drivers? I frustrated because XP is better operating system. I must be deleted her and install Windows 10 again. I can't have two operating system together(((

#5284

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #5283

> NFS Undercover has lagging for me on Windows XP SP3.

⇗ @kukonosau ...check the hall.dll and intelppm files. I reported on this problem here but diderius6 had already reported on it.
See post #4271:
After installing the correct hal.dll and intelppm.sys my games worked normally and my Firefox browser started working as well.

#5285 | kukonosau | ⇗ @gordo999 Thanks for answers. But where is posts with correct hal.dll? It was many by diderius6. Intelppm.sys is driver for all motherboards? I have motherboard on AMD chipset. I must copy hal.dll into System32 folder? Intelppm.sys into system32/drivers?

#5286

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #5285

> where is posts with correct hal.dll?

⇗ @kukonosau ...sorry I can't remember where the drivers are located. There is a discussion here:
⇗ https://www.win-raid.com/t6268f45-What-exactly-is-the-hal-timer-problem.html
I don't know if you are working with the older drivers or the newer W8-based drivers. I don't know if this applies to them.

#5287

XPLives

⇗ @Pill Monster

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > Zitat von ⇗ XPLives im Beitrag ¶ #4337

> > ⇗ @Pill Monster
> > 2000 Advanced Server already had > 4GB memory support. And standard XP Pro 32-Bit could utilize above the 4GB range for a Ramdrive so it wasn't completely neutered.
> > Possibly you misunderstood me?
> > With [quote]"XP Pro 32-bit could utilize above the 4GB range"

> - 4GB range of what?

Obviously it means what it means. Anything ABOVE the 4GB memory limit. If you had 32.0GB installed that would mean between 4.0GB -> 32.0GB.

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> Licensing caps aside, the maximum amount of RAM supported by XP is exactly equal to the maximum amount of RAM supported by the CPU, less hardware reserved.
> XP Pro x86 officially supports 64GB of RAM.

I have already tested Server 2003 and it cannot see above 64.0GB. But it does not mean it would not be possible for someone to find a way to extend beyond this.

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> RAM drives utilizing "hidden memory" I label snake oil because there are no hidden addresses that can be seen by RAM disk software but not the CPU.
> RAM disks reside in something called a section object, the OS sees part of this section object - the WS partition. The CPU sees all of it and maps data in and out of the process view using pointers.
> XP natively supports 36bit addressing using pae (Page Address Extension). Pae adds 4 bits to an address - two Page Table Directories and a PTD pointer.
> Until SP2 enabled was the default boot mode. Hence why XP Pro x86 is not called XP Pro 32-bit.

It's called XP Professional.
⇗ http://web.archive.org/web/2020092506164...z~g/s-l1600.jpg
The 32-Bit was tagged on because it's better for laymans to differentiate between the two. The x86 is derived from the 8086 processor. However seeing the x86/x64 next to each other some newbies may think the x86 is superior given the larger number. I think you've swallowed way too many pills and it's time to cut back.
I disagree with Ramdrives as being snake oil. They are quite useful in many applications compared to using XP without one. You may not like how it was employed but without this ability it makes XP on modern hardware under utilized. You should also blame Microsoft from releasing XP Professional as Server 2003 in full functionality. That would have made everything better from the start.

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > Zitat von ⇗ XPLives im Beitrag ¶ #4337

> > But what is the model number of this supposed $2500 36-Bit Xeon?

> I guess you had to be there.
> ⇗

Not really. I was there and even there when the 8088 CPUs and the Apple ][s were selling. You neglected to again mention the "model number" of the Xeon. You only provided the link to the Pentium III specs with that article. Often times you will have the exact model number on the CPU itself or in this case the protective plastic outer casing would have it shown.
Even this link beats your by 3 months.
⇗ https://www.cnet.com/news/intel-releases...iii-based-xeon/
The closest link I could find on the possible CPU specs:
⇗ https://ark.intel.com/content/www/us/en/...00-mhz-fsb.html
Shows it was nothing special if this IS the CPU you are referencing. Single Core, Single Thread. Most of the time they include the MSRP. Even if this CPU could tap into the above 4GB memory limit most motherboards at that time probably could not achieve 32.0GB like on Ivy Bridge would be my guess without even looking at all the Xeon P3 server motherboards you could find.
The only interesting tidbit is that it was 36-Bit and nothing more which is why I was asking about the exact model number, not the specs description.
Also you were non specific in the first statement referring to a Xeon processor without specifying what chipset generation. Had you listed it as the P3 Xeon instead of just $2500 36-Bit Xeon it would have narrowed down to specificity which is why I asked for the "model" number of the CPU. As for it being expensive this is one reason most people never used this stuff except companies who can afford it. The best consumer P3 I obtained was the 1 GHz Slot 1 which at the time was the king hitting that first Ghz Barrier. However, it wasn't until the P4 to break the 3GHZ barrier. After that most CPUs began to focus more on cores instead of clock speed dominance. And I think we should all be glad because I was getting sick of the jet turbine engine CPU cooler fan noise of those days.
Also as interesting as P3 Xeons are, they weren't as interesting as ultralite laptops with the Pentium M for the lowest wattage possible. One reason why the P3s were better than P4s when it came to running them fanless.
The only interesting desktop Xeons to speak of that I've encountered are the Haswell ones that had the 13 Watts. After that generation nothing since has achieved such low levels and most enthusiast motherboards have excluded Xeons from being installed which is a pity as they are exceptionally efficient CPUs. Now Xeons are forced with iGPUs which I frown upon. I'd rather have more cores inside for that space.

#5288

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #4793

> After testing for days, I am sure it is a very stable USB driver. USB card from ASMedia, VIA, NEC, TI, Etron chips all on the same mainboard together.
> ⇗
> ⇗

Very nice! Almost like me during SkyLake days. Bought all the USB cards for XP testing... Only ones missing are the legacy PCI ones. ;)
P.S. Why are most of yours missing rear metal brackets?

#5289

XPLives

⇗ @canonkong

> Zitat von ⇗ canonkong im Beitrag ¶ #4801

> @infuscomus
> It is ASRock H110 PRO BTC+ mainboard, it has 13 PCI-E slots, cost $40 USD on taobao.

What!? 13 PCIe slots?
This is not ATX, perhaps EATX? Monster motherboard. What computer chassis will you use for it?

#5290 | diderius6 | XP SP1 and win2003 nice nt5src.7z 3.149.677.191 bytes SHA256 2bb3609fa4c2b2641f43aef751a84db5820b64748b7d2d0891d1cb1e55268ce9
#5291 | schreiberstein | ⇗ @diderius6 ... This. Is. So. Beautiful. ... Unbelievable. The crown jewels... after all those years.

#5292

diderius6

⇗ @schreiberstein
yesss, for example usbstor, usbhub, usbehci, acpi, seems really all
Dietmar
PS: Soon I have holidays and then fun starts..
12 years ago I build XP SP1 below 10 MB.
This I try again but now from scratch.

#5293 | ruthan | Check this out some XP source leak: ⇗ https://www.tomshardware.com/news/window...posted-to-4chan
#5294 | diderius6 | ⇗

#5295

RayeR

As already posted, WinXP SP1 and Win2003 server sources has leaked. Torrent was still alive today, got the nt5src.7z. The unpacked size is 6.8GB, 277863 files (XP) and 6GB, 248740 files (2k6), so it could be complete. Here I found a screen that somebody seems compiled it (may be fake, who knows): ⇗ http://is2.4chan.org/g/1600905929934.png
So now it should be possible extend functionality of ACPI.SYS much more comfortable, maybe using ACPICA codes. But unfortunatelly the sources are SP1 only and probably most of users prefers at least SP2 (I use SP3) - wouldn't be problem for acpi.sys to load SP1 version by latest post-SP3 kernel? I hope not mcuh. But in case of implementing NT API and kernel extensions it would be worse to step some 10 years back...

## Page 354

#5296

gordo999

> Zitat von ⇗ RayeR im Beitrag ¶ #5295

> But unfortunatelly the sources are SP1 only and probably most of users prefers at least SP2 (I use SP3) - wouldn't be problem for acpi.sys to load SP1 version by latest post-SP3 kernel?

⇗ @RayeR ...I imagine that you could compile the SP1 version and compare the code to the SP3 binary in IDA to see how the code has changed. Some may have changed a lot while others not much. Also, you could try the SP1 version with SP3 to see what errors you get.

#5297 | diderius6 | Hi, most I can build, but for example winlogon.exe and all the ntoskrnl.exe I cant build Dietmar
#5298 | infuscomus | ⇗ @diderius6 someone managed to build it on 4chan is2.4chan.org/g/1600905929934.png

#5299

diderius6

⇗ @infuscomus
razzle offline
build -cZ
gives also all ntoskrnl.exe but still no winlogon.exe and so others, also no pinball.exe and some errors.
You need about 100 Gbyte(!) free space and 6 hours for compile
Dietmar

#5300 | diderius6 | Next try with razzle free offline build -cZP Dietmar PS: May be, that winlogon.exe is a composition of other before builded files. I saw this in Win95.

#5301

diderius6

Only 9 errors,
but still no winlogon.exe and no pinball.exe :)).
The following is the content of the build error log
Dietmar
2>NMAKE : fatal error U1077: 'cl16' : return code '0x2'
1>NMAKE : fatal error U1077: 'cl16' : return code '0x2'
4>NMAKE : fatal error U1077: 'cl16' : return code '0x2'
2>NMAKE : fatal error U1077: 'cl16' : return code '0x2'
7>NMAKE : fatal error U1077: 'cl16' : return code '0x2'
4>net\tapi\thunk\rc : error RW1024: Couldn't open OBJ\I386\TAPI.RES
4>net\tapi\thunk\rc : error RW1024: Couldn't open OBJ\I386\TAPI.RES
3>net\tapi\thunk\rc : error RW1024: Couldn't open OBJ\I386\TAPI.RES
3>net\tapi\thunk\rc : error RW1024: Couldn't open OBJ\I386\TAPI.RES
PS: Msgina.dll is there.
And from build log:
BUILD: winlogon found in ds\security\gina\dirs., is not a subdirectory of e:\source\xpsp1\nt\ds\security\gina
EDIT: There is no folder winlogon in Source\XPSP1\NT\ds\security\gina
as it should be. This means, no winlogon source code at all, the same for pinball.
You can use sunlogon or minlogon but it has not the same power as winlogon.exe.

#5302 | usa1ec | Where can I download the source codes of Windows XP? Please, give me a direct URL.
#5303 | diderius6 | From English Wikipedia about winlogon.exe in XP: "In September 2020 the source code for Windows XP was leaked online by an unknown party without Winlogon's source code, rendering the leaked operating system uncompilable and incomplete." Dietmar
#5304 | skullteria | You need compile "published" folder first. You can find it on NT\base\published And code of winlogon is missing!
#5305 | infuscomus | ⇗ @diderius6 does win2k3 have its winlogon source code?
#5306 | diderius6 | ⇗ @infuscomus No, same as for XP SP1, no winlogon source code in leaked win2003 Dietmar

#5307

infuscomus

⇗ @diderius6
anything in the windows 2000 source or nt4 source code?
edit:
Someone said this on betaarchive
Do you know how to compile the whole code?
Start Razzle, go to /NT, then run bz. It will compile the whole code which will take a long time.
I'm not sure if this will help though

#5308

infuscomus

⇗ @daniel_k ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD
I've set up a Threadripper system and attempted to install XP onto it.
Unfortunately it freezes on "Setup is Starting Windows" and never throws a BSOD regardless of which HAL I choose
this behavior happens even on a vanilla en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso
so it isn't any modded driver causing this.
any suggestions? If not I'll give up for now

#5309

diderius6

⇗ @infuscomus
About the NT4 and win2000 code I cant say anything, because I dont have.
Interesting is, that the acpi.sys driver from XP SP1 and XP SP3 shows exact the same behavior.
If this is true for other files also, Microsoft will have a really big problem with newer OS.
Have you tried the Threadripper system with a working XP from another compi?
Please tell the exact BSOD in this case so that we can see, what is going wrong
Dietmar
PS: You can make a try with F8 during setup from XP. This is a crazy possiblility and works sometimes.

#5310 | infuscomus | ⇗ @diderius6 I have not tried XP from another PC, I'll have to try that. Unfortunately I haven't got a BSOD, so I'm not sure exactly what the problem is. F8 or F7? (I'm assuming you mean textmode setup?)

## Page 355

#5311 | diderius6 | ⇗ @infuscomus I mean F8, Safe Mode. The crazy but good XP Setup gives you the chance, to set up an XP with only the most needed drivers Dietmar

#5312

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #5310

> Unfortunately I haven't got a BSOD

⇗ @infuscomus ...there is a way to force a BSOD if Windows freezes. Don't have the info on how to do it right before me but I may be able to find it.

#5313

madnikos

Hi everyone,
I'm having problem to instal win xp to my system.
Firstly with the latest Integral edition and the Patch Integrator with acpi 5048 - 2019.11.1 - diderius6(I've tried others too), Microsoft SATA driver v2.0, Microsoft USB 3.0 xHCI driver v2.1, PAE 4GB RAM Unlock I'm getting BSOD with the 7B code.
So then I dont integrate the microsoft sata driver and I integrate the latest intel ahci(v11.2.0.1006 mod by Fernando) and then I'm getting this BSOD 0x0000000A (0x00000000, 0x00000002, 0x00000000, 0x80841D3F).
My specs are: asus Pro WS C246-ACE, i9 9900KS, nvidia titan x maxwell.
I' ve tried the original iso as well with sp3 and integrate the drivers the Patch Integrator with the same BSOD.
Any ideas?

#5314 | diderius6 | ⇗ https://github.com/window-chicken/windows.xp.whistler Dietmar PS: With pinball and winlogon

#5315

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #5314

> ⇗ https://github.com/window-chicken/windows.xp.whistler
> Dietmar
> PS: With pinball and winlogon

Well, this code is from Windows NT 3.5, the leaked version some weeks ago. The winlogon not work on XP or 2003.

#5316

RayeR

It seems that someone on 4chan rebuild Win2k3 sucessfully and boot it in VMware
⇗ https://boards.4channel.org/g/thread/77963845#p77965472
But there's mention about missing winlogon.exe and other files:
So Im missing this files in postbuild
D:\svcpack.x86fre\usa\prerebase\termdd.sys
D:\svcpack.x86fre\usa\prerebase\tdasync.sys
D:\svcpack.x86fre\usa\prerebase\tdipx.sys
D:\svcpack.x86fre\usa\prerebase\tdnetb.sys
D:\svcpack.x86fre\usa\prerebase\tdpipe.sys
D:\svcpack.x86fre\usa\prerebase\tdspx.sys
D:\svcpack.x86fre\usa\prerebase\tdtcp.sys
D:\svcpack.x86fre\usa\prerebase\tsddd.dll
D:\svcpack.x86fre\usa\prerebase\rdpdd.dll
D:\svcpack.x86fre\usa\prerebase\rdpwd.sys
D:\svcpack.x86fre\usa\prerebase\rdpwsx.dll
D:\svcpack.x86fre\usa\prerebase\winlogon.exe
D:\svcpack.x86fre\usa\prerebase\licdll.dll
D:\svcpack.x86fre\usa\prerebase\licwmi.dll
D:\svcpack.x86fre\usa\prerebase\sym\dll\licdll.pdb
D:\svcpack.x86fre\usa\prerebase\sym\dll\licwmi.pdb
D:\svcpack.x86fre\usa\prerebase\sym\exe\winlogon.pdb
Now Im trying to just copy them from my XP instalation, I realised not all are in my system32 but they are all in the ISO. Now the ISO haves the file with a _ at the end like tdasync.sy_. Do you you think renaming and copying would work?
I can imagine that winlogon and RDP could have some higher safety level in MS due a lot of encryption code so the leaker might not have access to them. But those files need not to be modified for new hardware so could be taken from install iso. How about the rebuilt acpi.sys - is it OK?

#5317 | madnikos | Does anyone know why the Microsoft SATA driver dowsnt work or what the problem and im getting bsod?
#5318 | genieautravail | A tutorial for compiling the leaked source code: ⇗ https://gist.github.com/nk2IsHere/f90285...e772631f64fabb9

#5319

gordo999

> Zitat von ⇗ madnikos im Beitrag ¶ #5317

> Does anyone know why the Microsoft SATA driver dowsnt work or what the problem and im getting bsod?

⇗ @madnikos ....are you using the SATA driver signed by Fernando or the original SATA driver from Micro$oft? Or is this the newer drivers based on W8? What's the error number on the BSOD? Need more detailed information...which system...mobo, chipset, etc. . BTW..I presume you are trying to get XP to run.

#5320

XPLives

⇗ @RayeR

> Zitat von ⇗ RayeR im Beitrag ¶ #5295

> As already posted, WinXP SP1 and Win2003 server sources has leaked. Torrent was still alive today, got the nt5src.7z. The unpacked size is 6.8GB, 277863 files (XP) and 6GB, 248740 files (2k6), so it could be complete. Here I found a screen that somebody seems compiled it (may be fake, who knows): ⇗ http://is2.4chan.org/g/1600905929934.png
> So now it should be possible extend functionality of ACPI.SYS much more comfortable, maybe using ACPICA codes. But unfortunatelly the sources are SP1 only and probably most of users prefers at least SP2 (I use SP3) - wouldn't be problem for acpi.sys to load SP1 version by latest post-SP3 kernel? I hope not mcuh. But in case of implementing NT API and kernel extensions it would be worse to step some 10 years back...

Rayer it is good to see you here.
Actually it is unnecessary to worry about this. As long as use the source code for Windows 2000 Server to create the updated ACPI.sys file it can work with XP SP0-SP3, 2009 POS, and Server 2003. I tested this before.
As for SP1 source it won't be an issue for SP2 or SP3 to work with it. What you cannot do is use SP3 source to work with Windows 2000 SP0-SP4, or XP SP0-SP2.
It is imperative to use Windows 2000 source code to create the updated ACPI files so it can be used with all NT5.X versions from Windows 2000->2009 POS.

#5321

XPLives

⇗ @gordo999
⇗ @infuscomus

> Zitat von ⇗ gordo999 im Beitrag ¶ #5312

> > Zitat von ⇗ infuscomus im Beitrag ¶ #5310

> > Unfortunately I haven't got a BSOD

> ⇗ @infuscomus ...there is a way to force a BSOD if Windows freezes. Don't have the info on how to do it right before me but I may be able to find it.

No, once Windows completely freezes you can't do anything. If you're lucky Windows can detect the issue and BSOD. But when Windows freezes before it can BSOD then the keyboard and mouse are unresponsive as well. Only a reset will get you out of it.
The only way to isolate what is causing the Windows Freeze is troubleshooting. Figure out what you were doing right before the Windows freezes. Repeat the same thing multiple times to see if happens again. Then remove this element and let the computer idle and see if it also freezes up. If it does it's a hardware issue. Usually a Windows freezes up when tweaking the system like I have in the past. Trying to squeeze the least amount of voltage required to run at a particular clock speed. Other freezes could be driver related or a card that is installed causing it. So if you have tons of expansion cards you are better off removing all of them. Use just the iGPU of your CPU to get the video output and see if the system freezes up again. You might even try a clean reinstallation from scratch as a final test to make sure it's not a driver or registry issue.

#5322 | infuscomus | ⇗ @diderius6 ⇗ @XPLives So I made an image of a known working XP system (with ACPI, AHCI and USB3 patches) I applied that image to a separate drive in my threadripper system and... black screen, not even an XP logo, just hangs there Similar problem in XP textmode setup - hangs at "Setup is Starting Windows"

#5323

XPLives

⇗ @ruthan

> Zitat von ⇗ ruthan im Beitrag ¶ #5293

> Check this out some XP source leak:
> ⇗ https://www.tomshardware.com/news/window...posted-to-4chan

Yes, but we still need Windows 98SE and ME source code leak.
For Windows 2000 it might be possible to add 16.0TB -> 64.0TB MBR drives now instead of 2.0TB.
I need someone with some storage driver programming and ROM ripping experience to help make this happen.
Also add native NTFS into Windows 9X->ME for 64.0TB glorious storage compatibility with NT5.X.
Then multicore and 64.0GB memory support in 9X->ME. Octa SLI Emulated Voodoo 5 6000 1MB card in virtual memory.

#5324

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5322

> @diderius6 @XPLives
> So I made an image of a known working XP system (with ACPI, AHCI and USB3 patches)
> I applied that image to a separate drive in my threadripper system and...
> black screen, not even an XP logo, just hangs there
> Similar problem in XP textmode setup - hangs at "Setup is Starting Windows"

Always start from scratch rather than a previously installed XP image. Even though XP can usually migrate to a new system it's not clean and sometimes it will hang detecting devices or can't pinpoint the correct resources. Also you want to run in NO ACPI mode for this to work.
Use a clean installation and use F7 NO ACPI method to install from scratch on the Threadripper. It should install with one core and work properly. Do not add any modified drivers to the installation. If necessary just use a USB 2.0 PCIe card just to get the USB mouse support and hook the PS/2 keyboard to the rear for input. Remove all other expansion cards. Disable in BIOS any onboard sound, LAN, serial com port, parallel port, and other onboard devices which can use up IRQ resources. Also disable onboard USB 3.0 if possible. For SATA Controller if it has two brands try and disable the other SATA controller brand also to save more resources. In the BIOS one more tip look for CPU Cores setting. Change it to 1. Some BIOS may not boot on 1 Core and hang so set to 2 Cores. This happened on my Z370.
If you get through XP setup on AM4 like I did then this proves Threadripper can also work in NO ACPI mode. Then a proper BIOS mod might allow ACPI installation and multicore with Threadripper.

#5325 | infuscomus | ⇗ @XPLives Even after pressing F7 it still froze on "Setup is Starting Windows" I've also tried F5 and tried all the different HAL options - still froze on "Setup is Starting Windows"

## Page 356

#5326

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5325

> @XPLives
> Even after pressing F7 it still froze on "Setup is Starting Windows"
> I've also tried F5 and tried all the different HAL options - still froze on "Setup is Starting Windows"

Probably need to brute force it and use DOS to install it. Any chance you can record a video of the display output from installing from a clean XP ISO? No modified drivers. The only driver you will need now that I thought about it some more is the AHCI SATA driver for the AMD SATA controller only. No other drivers should be added to the Clean XP ISO. Also disable all those onboard devices I mentioned and set to 1 Core in the BIOS.
Which ThreadRipper did you get and what motherboard brand and model?
Did you try to locate the oldest BIOS and flash to v1.0?
Make sure no other internal expansion cards. Remove USB PCIe cards also. Use just PS/2 keyboard only.
Ahh just remembered some other things. Downclock the clock speed to 800 MHz and disable Turbo. Disable all sleep modes.
Use HDMI video output on motherboard if it has built in iGPU. If no iGPU then use a GT 710 PCIe graphics card.
I'd give it a shot if you shipped it. But in my opinion only Intel Z370 seems to be the best motherboard that I've tested so far for XP without BIOS modding or ACPI drivers modding to work in multicore. Z390 should work the same as Z370 as well as I can't see any major chipset differences. Z470/Z490 would probably be the same with more CPU cores support. Once they get to 10nm or Sapphire Rapids is where the unknown will be. DDR5 and PCIe 5.0 will be included and whether the BIOS will still be present or removed is the question.

#5327

diderius6

⇗ @infuscomus
I have seen this behavior from XP Setup,
when the Bios of the compi has problems with the geometry layout of the harddisk.
I overcome this with using RMPREPUSB vers 2.1.739.
I put the harddisk in an USB box and let the harddisk been formatted with only this tool.
After during XP Setup I choose "Leave HD as it is" and the blackscreen is gone always (!)
Dietmar

#5328 | infuscomus | ⇗ @diderius6 I do have a 4TB SATA HDD attached so this could be the problem - I don't want to move it to a USB enclosure at the moment. If I change the partition table on the 4TB from MBR to GPT and format to ext4 could doing that solve this?
#5329 | diderius6 | ⇗ @infuscomus Most SATA controllers can not handle under pur XP a 4 TB harddisk. For to understand what is going on, disconnect everything and use a max. 2 TB harddisk, formatted with RMPREPUSB vers 2.1.739 Dietmar
#5330 | madnikos | ⇗ @gordo999 if you look my previous post I gave all the information about my system and what drivers I 've tried but now I have a new update, I managed to finish the first step of xp instalation and then after the restart when it is setting up devices I' m getting again BSOD 0x0000000A. I' m using the win 8 port for usb 3 and sata but i' ve tried the intel achi as well with the same resault. I cant get pass the installing devices part of the instalation without bsod

#5331

infuscomus

⇗ @diderius6
OK, I disconnected all of my SATA drives this time (nothing at all connected) and tried again - still froze at "Setup is Starting Windows"
I am wondering if the problem is ACPI related because my linux install logged these errors (see spoiler) but without a BSOD I can't be sure.

    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.MT5D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.MT4D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.WT4D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.MT3D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.WT3D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.MT2D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.WT2D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.MT1D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CD.WT1D], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.MT5C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.MT4C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.WT4C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.MT3C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.WT3C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.MT2C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.WT2C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.MT1C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CC.WT1C], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.MT5B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.MT4B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.WT4B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.MT3B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.WT3B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.MT2B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.WT2B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.MT1B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CB.WT1B], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.MT5A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.MT4A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.WT4A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.MT3A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.WT3A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.MT2A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.WT2A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.MT1A], AE_ALREADY_EXISTS (20190816/dswload2-326)
    17:26:04 kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20190816/psobject-220)
    17:26:04
     kernel: ACPI BIOS Error (bug): Failure creating named object
    [\_SB.I2CA.WT1A], AE_ALREADY_EXISTS (20190816/dswload2-326)

#5332

diderius6

⇗ @infuscomus
Just hit F7 during Setup and choose Standard PC.
If the error is Acpi related,
you can then install XP
Dietmar
PS: Have you formatted your harddisk with RMPREBUSB?

#5333 | infuscomus | ⇗ @diderius6 I tried F7 option - still froze at "Setup is Starting Windows" although the keyboard turned off but did not turn back on pressing F5 for the other HALs and they also froze I have not formatted the 4TB with RMPREPUSB yet as I have disconnected the drive

#5334

diderius6

⇗ @infuscomus
Please make a try to format your only harddisk for XP Setup with RMPREPUSB in an USB box.
All your symptoms during Setup I have had on some compis, where
the geometry of the harddisk was not recogniced correct.
Strange enough this happens exact only at the place,
that you describe
Dietmar

#5335 | infuscomus | ⇗ @diderius6 I'm skeptical that it is the hard disks causing the problem, it still froze even when no storage was connected at all (except the optical drive for the XP CD)

#5336

diderius6

⇗ @infuscomus
Another possibility is to make a direct XP Setup to an USB disk.
In this case, the problem with harddisk geometry will not happen,
Dietmar
PS: When you put your XP.iso on an USB stick and start install with firadisk,
any problem with the SATA connector will be gone. I make this on a board with destroyed SATA.
For USB install via Firadisk see
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (253)

#5337

infuscomus

⇗ @diderius6
RMPREPUSB did not work unfortunately.
This might be a larger problem - I tested my recovery media built using PE of Windows 10 1607 and it also froze i.e the swirling ring never showed up, just had the windows logo sitting there forever.
I'll need to find out the earliest windows 10 version that boots.

#5338

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5328

> @diderius6
> I do have a 4TB SATA HDD attached so this could be the problem - I don't want to move it to a USB enclosure at the moment.
> If I change the partition table on the 4TB from MBR to GPT and format to ext4 could doing that solve this?

Ahhh!
There's your problem. It's your SATA hard drive capacity.
Here's what I recommend use a 120GB Primary Hard Drive for storing your Boot Partition C: - 98SE DOS 2GB FAT32, D: for XP 32GB FAT32, E:32GB FAT32, F:Largest remaining capacity chunk FAT32.
2TB Secondardy Hard drive NTFS one entire 2.0TB partition if you wish or can split it into multiple 128GB partition chunks NTFS if you want to have XP SP0 backward compatibility.
Only hook up the 1st hard drive or SSD 120GB. Install 98SE DOS onto C:, then later install XP to D:
Once the XP installation is successful you can hook up the 2nd 2.0TB SATA hard drive and it will see it fine for additional storage.
I don't recommend you hook up any drive larger than 2.0TB internally as XP cannot see it properly (yet) unless someone helps me modify the storage driver then it would be possible to see 16TB and maybe 64TB drives in XP internally in the future. For now not yet.

#5339 | infuscomus | ⇗ @diderius6 ⇗ @XPLives I'm leaning towards it being an ACPI related error rather than anything to do with the 4TB drive - I tested Vista betas, Vista RTM, Vista SP1, 7 RTM, 7 SP1, 8.0 and 8.1 (Vista and later should have no issue with 4TB drives correct?) and all of them except for 8.1 gave an A5 0x00000011 BSOD when I attempted to boot from them.

#5340

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #5321

> No, once Windows completely freezes you can't do anything.

⇗ @XPLives ...
In case your keyboard still works, and in many cases it does with a freeze in Windows, here's the method for forcing a BSOD.
⇗ https://www.techrepublic.com/article/cre...-in-windows-xp/
"Here's how to create a BSOD:
Launch the Registry Editor (Regedit.exe).
Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters.
Go to Edit, select New | DWORD Value and name the new value CrashOnCtrlScroll.
Double-click the CrashOnCtrlScroll DWORD Value, type 1 in the Value Data textbox, and click OK.
Close the Registry Editor and restart Windows XP.
When you want to cause a BSOD, press and hold down the [Ctrl] key on the right side of your keyboard, and then tap the [ScrollLock] key twice. Now you should see the BSOD".
I read elsehwere that a different service needs to be used if you have a PS/2 keyboard (rather than the i8042prt driver listed above.

## Page 357

#5341

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5339

> @diderius6 @XPLives
> I'm leaning towards it being an ACPI related error rather than anything to do with the 4TB drive - I tested Vista betas, Vista RTM, Vista SP1, 7 RTM, 7 SP1, 8.0 and 8.1 (Vista and later should have no issue with 4TB drives correct?) and all of them except for 8.1 gave an A5 0x00000011 BSOD when I attempted to boot from them.

Vista and Windows 7 will probably encounter an ACPI related issue that you verified and others have as well.
Windows 8.0 and 8.1 to Windows 10 probably will not have the ACPI related issue since they are all based on the same NT branch version with updated ACPI support.
XP does not work with internally connected drives of 2.2TB or higher or 2.0TiB set for MBR. Vista and higher do not have this issue for MBR or GPT high capacity drives. Server 2003 supports GPT so it might possibly accept drives of 4TB internally connected but I have NOT tested this so don't assume this works as it might only allow large capacity GPT drives as internal storage but not the OS boot drive.
XP will probably either lock up the system at the point where you stated if using such a high capacity drive since MBR is only supported and the 512 Bytes per Sector maxes out at 2.2TB. The BIOS may even hang in some cases on much older systems with lower capacity limits.
Try the XP reinstallation using a single 120GB HDD or SSD set for MBR (not GPT) as the Primary internal SATA drive. If possible use another XP working system to delete all the partitions on that drive and recreate it from scratch. XP might not like the partitioning style done by Vista or later Windows versions including Linux. Do not hook up any other drives and repeat the CLEAN ISO not a previous imaged one for the new XP installation test with just only the AMD SATA AHCI driver slipstreamed and no other modified drivers such as the USB 3.0, ACPI, or Daniel_K or Diderius6 enhancements. Use the F7 NO ACPI to do the new test instead of F5. Use the internal SATA optical disc drive for the XP installation source files. Remove all internal PCIe cards and use the CPU iGPU or a GT 710 PCIe card for video output. Use PS/2 keyboard to rear PS/2 motherboard port. Set CPU Cores = 1 and downclock MHz to 800 MHz. Disable Turbo mode and Sleep modes in BIOS if possible.
If you cannot do this exactly you are wasting your time guessing as what's the problem.
Can't really comment on whether that BSOD forced keyboard trick works when adding that registry modification. When my computer completely freezes you can tell it is frozen because the Num Lock and Caps Lock button that lights up cannot be turned on and off aside from the dead mouse cursor. I'd be surprised if this works when my machine has completely frozen without BSOD. I have to reset my system or power it off manually.

#5342

diderius6

⇗ @infuscomus
I build a new acpi.sys for 5.1.2600.1106 (xpsp1.020828-1920)
english (USA) XP pro SP1 for to solve BSOD A5 0x11 on my Asrock fatal1ty gaming k6 board with this XP SP1 version.
MD5 from this original XP SP1 CD engl (USA) Retail CAE234FB80361EDAACEFE5F48B203B86
SHA-1 02695740D94FFB094FC3E80A7111C9501D534F6D
KEY ..
Also I integrate with nlite the Sata driver ver. 1006 from fernando.
XP setup stops (just hangs) with my new acpi.sys at the very first beginning of setup
"Setup is starting Windows".
This is acpi related, because when I chose via F5 "Standard PC" the installation continues
Dietmar
EDIT: Now comes the most most crazy thing: I can install this XP SP1 with the acpi.sys for XP SP3,
I think because it is from outerspace )..
EDIT2: With original acpi.sys (changed back on this installed XP) from XP SP1 I get ACPI BSOD A5 0x11.
With my new build acpi.sys direct from above I get BSOD 0x7B. This means, that the acpi BSODs can also make this 0x7B BSOD, which is normally given out, when no boot device can be found by XP (no working arcpath).
With the acpi.sys from outerspace ) all is ok and now the real fun with the new compiled XP SP1 starts.

#5343

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5342

> With my new build acpi.sys direct from above I get BSOD 0x7B. This means, that the acpi BSODs can also make this 0x7B BSOD, which is normally given out, when no boot device can be found by XP (no working arcpath).

⇗ @diderius6 ...I have always related the "Setup is starting Windows" error with the 0x7B error and caused by the SATA driver. I say that because Windows loads a SATA driver at that stage whereas acpi.sys seems to be loaded earlier.
Obviously, a SATA driver is loaded to get the disk running but apparently Windows loads it's own SATA system related drivers when Windows starts. I noticed that when installing from the setup disk. The first error I got was the 0xA5 error claiming my acpi.sys had issues. I could bypass that using F7 (I think) but just as Windows started, I'd get the 0x7B error and that was related to the SATA driver.
Wonder if there is a connection between acpi.sys and Fernando's driver? There probably is because acpi.sys seems to run the entire driver loading chain for PCI.

#5344

diderius6

⇗ @gordo999
What a nice idea!
I do an intensive check for this.
On this Asrock board is also an Asmedia 106 SATA-port.
There happens the same: With my new build acpi.sys (against BSOD A5) (from original english SP1 CD)
also on the Asmedia 106 Sata port I get Bsod 0x7B and works with acpi.sys (XP SP3) from outerspace ).
But then I do USB boot. And voila, my new build acpi.sys (from SP1) works!
So, the normal acpi.sys make fit against BSOD A5, has a problem with SATA drivers.
And now comes the most crazy which gives BIG hope for a really new acpi.sys build from SCRATCH:
My acpi.sys (build from XP SP1) can boot XP SP3
Dietmar
PS: The result from all this testing is:
When the compi gets frozen at the message "Setup is starting Windows"
goes always to the boot device, here Sata, with not shown BSOD 0x7B.
Credit and thank you very much ⇗ @gordo999 .
EDIT: For USB3 boot of XP SP1 I use the nice driver from ⇗ @daniel_k and ⇗ @Mov AX, 0xDEAD
AMDXHCI_XP_FINAL_V3
⇗

#5345 | infuscomus | ⇗ @diderius6 do you have any systems with a problematic ACPI table? i.e A5 BSOD in Vista/7/8.0 and only 8.1 and later work correctly?

#5346

diderius6

⇗ @infuscomus
Yes, I have a crazy notebook,
Lenovo Ideapad flex 10,
where I can install XP only without any acpi.
And no version of Win7 works there, only win8 and win10
Dietmar

#5347

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5344

> When the compi gets frozen at the message "Setup is starting Windows" goes always to the boot device, here Sata, with not shown BSOD 0x7B.
> Credit and thank you very much @gordo999 .

⇗ @diderius6 ...just a guess from me. The credit goes to you. You did the work and have the expertise. Congratulations, and thanks.

#5348

infuscomus

⇗ @diderius6
Normally F7 would also work for me as well to get past an ACPI A5 BSOD - but on my threadripper system it still freezes on "Setup is Starting Windows"
Even with no storage devices connected
I don't think I've mentioned what threadripper hardware I have
Gigabyte TRX40 DESIGNARE
THREADRIPPER 3960X CPU
MSI RTX 2070 VENTUS
G.SKIL 8x8GB 3600mhz RAM
2x KINGSTON 1TB A2000 NVMe SSDs
4x Crucial MX500GB SATA SSDs
1x 4TB WD Blue HDD

#5349 | diderius6 | Make a try with the storport driver from Skullteria Dietmar
#5350 | infuscomus | ⇗ @diderius6 which storport version was this? link please?
#5351 | diderius6 | ⇗ @infuscomus ⇗ https://ufile.io/ngkxtrjm Dietmar

#5352

diderius6

⇗ @infuscomus
I noticed some more about the behavior from XP belonging to
"Setup is Starting Windows".
Even when you do USB boot (or install), there must be a working driver for the harddisk been loaded,
even when no harddisk is connected at all. Or it hangs.
We wonder all the time, why an BSOD 0x7B can happen, when everything is ok for USB boot.
It is also time dependend, XP needs enough time for to switch from harddisk driver to the USB driver at first place for boot
Dietmar

#5353

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5352

> We wonder all the time, why an BSOD 0x7B can happen, when everything is ok for USB boot. It is also time dependend, XP needs enough time for to switch from harddisk driver to the USB driver at first place for bootDietmar

⇗ @diderius6 ....Sorry for the length of this but I don't think the answer to why the 0x7B BSOD error happens is that easy to understand. You probably know all this already, I am just going over what little I remember about the role acpi.sys plays in the enumeration of devices during the Windows boot process. I have a good explanation from Microsoft which I will post if I find it.
Meantime, I found this article which shows the layout of the device tree with acpi.sys at the root of the tree.
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/device-tree
Also....
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/acpi-driver
I am not sure about this but all devices attached to PCI and PCIe busses must be enumerated. Even if you have no SATA drive connected, the SATA port itself on the motherboard needs to be enumerated. The boot process or Windows needs to know there is some kind of storage port available.
My background is in computer hardware so I tend to think of the chips on the motherboard, like bus controllers, as devices as well. Windows definitely sees them as such although much of that may be hidden from the user. So, Windows will see each SATA port as a device through the SATA controller drivers. I think that's what may cause the 0x7B error, if the IDE ATA/ATAPI controller in device manager does not have the required driver for the motherboard ports. That can definitely be related to acpi.sys.
Obviously, when you boot, before Windows is initialized, the system needs to know about the SATA ports. It doesn't care at this point whether they are serial ports or parallel ports, it just checks for the ATA standard, that an ATA port is available. I think that is done in BIOS or in the boot code on the SATA disk, if it is attached. If you use a USB boot device only, the boot code has to be included on the USB device. When you first boot, the system knows nothing about Windows, the loading is done by what we used to call a bootstrap loader.
⇗ https://www.computerhope.com/jargon/b/bootload.htm
During the bootstrap processes, the operating system is initialized. Actually, Windows is still booted by a DOS-like process. When Window's does start, at the 'Setup is Starting Windows', or 'Windows is Starting', Windows needs to load its own drivers, but first it needs to enumerate the system to see what drivers needs to be loaded. ACPI.sys is involved in that process BEFORE the SATA controllers are loaded. That might explain why the 0xA5 error occurs before the 0X7B error when both acpi.sys and storport.sys are not right for XP.
I have forgotten a lot of this and would have to read the theory again. However, the plug and play system is dependent on acpi.sys. ACPI does the enumeration of the entire plug and play system and that pretty well is the PCI/PCIe bus system. If acpi cannot enumerate an appropriate driver for the motherboard SATA ports, it may give that 0X7B error. That might be a problem between acpi.sys and storport.sys.
Please be aware that my description of this theory is not intended to be completely accurate. I am only offering suggestions for why there may be problems between an acpi.sys and a SATA controller driver like storport.sys.
Storport.sys seems to be related to the Device Manager section IDE ATA/ATAPI Controllers. My understanding is that the controllers control the SATA controllers on the motherboard, since SATA means Serial ATA. During Windows initialization, it will be reading that section to initialize the SATA bus (device stack), whether there is a SATA disk connected or not.
In the same manner, if you try to connect a USB drive to a USB port that has not been properly enumerated and initialized, the USB drive will not work. The fact that your system worked from a USB drive suggests acpi.sys and/or the plug and play manager is working correctly with the USB driver stack. The 0x7B error suggests there is a problem between acpi.sys and possibly storport.sys, but only when Windows is trying to load.
If there is a difference (conflict) between what acpi.sys reports during its enumeration of the plug and play devices and what Windows sees through its storport.sys information, that may be the source of the 0x7B error. Storport.sys is likely responsible for sending back data about the motherboard SATA ports and if it cannot talk to acpi.sys, an error will occur.
I don't know, I am only theorizing. If you boot from a USB device, the boot process will involve the boot code on the USB device. However, Windows still has to enumerate the devices on the busses of the motherboard. The USB device stack will be enumerated separately from the storage device stack.
It's not clear to me how acpi.sys fits into this process during setup or during the pre-Windows boot process. Maybe it's not involved till Windows is involved. So, maybe the boot code and the BIOS code handles the SATA controllers on the motherboard before Windows tries to start.
If you do a setup from the installation disk, something on the disk detects in XP that something is wrong with the acpi.sys driver on the XP disk. It would be interesting to see what the original XP setup code is checking for when it determines the acpi.sys driver is not correct. If you bypass that with F7, or install acpi.sys from outer space, and let setup proceed, it will load all the required drivers for XP, then you will see 'Setup is Starting Windows'. If the SATA controller is not the right one, you will get the 0x7B BSOD.
It seems to me acpi.sys and the SATA controller driver (is it storport.sys???) must be matched, whether you have a SATA device attached or not.

#5354

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5348

> @diderius6
> Normally F7 would also work for me as well to get past an ACPI A5 BSOD - but on my threadripper system it still freezes on "Setup is Starting Windows"
> Even with no storage devices connected
> I don't think I've mentioned what threadripper hardware I have
> Gigabyte TRX40 DESIGNARE
> THREADRIPPER 3960X CPU
> MSI RTX 2070 VENTUS
> G.SKIL 8x8GB 3600mhz RAM
> 2x KINGSTON 1TB A2000 NVMe SSDs
> 4x Crucial MX500GB SATA SSDs
> 1x 4TB WD Blue HDD

Now I know the specs. I tried looking at all ThreadRippers and the lowest is 180 Watts and most pushing to 250 Watts. Still too hot for my taste to invest in. If it can get down to 80 Watts in 5th Generation it might be worth it or when AMD releases a DDR5 and PCIe v5.0 chipset to warrant investing.
However I've seen some 1st Gen TR CPUs drop in price in $200 range so maybe I will look into this in the future and find a good TR4 motherboard. The other question is have you ever seen any TR4 motherboard with a legacy PCI slot? So far I've only seen PCIe only.
If you could record a video using a smartphone and upload this to youtube or somewhere to download that shows from before the XP installation begins to the point where it gets to the point where it freezes on "Setup is Starting Windows" I can try and do a comparison to isolate on my own system to do specific tests on Intel and AMD to see what happens if I remove certain drivers at different points to see if still works or freezes up.
I have motherboards that can also disable the Storage Controllers so I could also see what effect this has and I have larger than 2.2TB drives as well. This might be a good test for USB only.
Another thing is modifying a BIOS which is considered XP compliant ACPI and tweaking it until it causes a BSOD A5 Error and doing testing.
What is minimum amount of BIOS modification code to trigger this error on a good XP ACPI.sys compliant BIOS to do extra testing. This would be a way to see how this plays with storage drivers.
Since you tested F7 but neglected to mention if you used a 120 GB HDD or SSD connected as the only primary drive in your testing and no other drives, nor if you only used the correct AMD SATA controller driver and no other modified drivers there are too many variables to make a conclusion.
But you mentioned no storage device connected. Even without any storage devices connected you still have another issue.
HOW are you installing XP? Are you using a SATA optical disc drive?
If so that means it has to load the correct AMD SATA controller driver at some point when it switches from the DOS to the XP GUI setup stage.
Check if in your BIOS can you full disable all SATA controllers onboard and repeat the test.
The other thing I would try is getting an Asmedia 1061 SATA PCIe controller and use that as the Storage Controller to boot from with all on board SATA controllers disabled in the BIOS. Also hook up your SATA optical disc drive to this Asmedia controller. If you cannot disable them in the BIOS you will have to modify it. That will guarantee no conflict caused by the onboard SATA controllers being detected.
I haven't fully investigated this but does the AMD AM3 SATA storage driver work on an AM4 SATA storage controller? Or was there a significant change making it incompatible?
The only interesting thing is if you could make Threadripper work would be getting the 64 Cores / 128 Threads CPU model to work with XP. If that could be done it would be the most powerful system to date.

#5355

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #5352

> @infuscomus
> I noticed some more about the behavior from XP belonging to
> "Setup is Starting Windows".
> Even when you do USB boot (or install), there must be a working driver for the harddisk been loaded,
> even when no harddisk is connected at all. Or it hangs.
> We wonder all the time, why an BSOD 0x7B can happen, when everything is ok for USB boot.
> It is also time dependend, XP needs enough time for to switch from harddisk driver to the USB driver at first place for boot
> Dietmar

What is the source location of the XP installation files when installing to USB? Are you using an optical disc drive to read XP installation files from?

## Page 358

#5356

XPLives

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #5346

> @infuscomus
> Yes, I have a crazy notebook,
> Lenovo Ideapad flex 10,
> where I can install XP only without any acpi.
> And no version of Win7 works there, only win8 and win10
> Dietmar

What is the CPU model installed in this Lenovo Ideapad flex 10? Too many models to find exact specs.
My guess is this is SkyLake or later CPU.

#5357

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5345

> @diderius6
> do you have any systems with a problematic ACPI table? i.e A5 BSOD in Vista/7/8.0 and only 8.1 and later work correctly?

Starting with Coffee Lake you will find this behavior from what I've heard of Windows 7 ACPI problem since they are devoted to Windows 8.1 and 10.0 branch. Although 8.0 should also work. But I believe I could install Vista and Windows 7 onto Z170 with no issues many years ago. The problem is random errors booting up probably caused by ACPI since Haswell on Vista.
A lot of laptops that are XP ACPI compliant when installed in NO ACPI mode will not work correctly such as the internal keyboard or touchpad will not function. Some devices require ACPI to work.

#5358

infuscomus

⇗ @diderius6 ⇗ @XPLives
regarding XP and larger than 2TB hard drives -
I noticed the import table for disk.sys of vista RTM is a match for XP ntoskrnl hal and classpnp.sys
I'm wondering if it might be possible to swap XP disk.sys with vista RTM disk.sys to get larger disk support?
edit:
and disk.sys of windows 7 SP1 is a match with ntoskrn8 extender.

#5359 | diderius6 | ⇗ @infuscomus Just try. I did the same with the files from winserver2003 and works, but only for GPT disks and <=2 TB Dietmar
#5360 | infuscomus | ⇗ @diderius6 It seems partmgr.sys is also needed for 2TB+ drives to become available - but needed imports are missing. ⇗ @Mov AX, 0xDEAD if you are able can you add functions to ntoskrn8 extender for partmgr.sys to work?
#5361 | sashbbbb | Helo frierds! Need aspi.sys for install windows xp on lenovo laptop 100-15iby(Intel Celeron N2840 Bay Trail DDR3 2GB ) . Tried all versions is tried all versions from WinXP-IE assembly Optional Patch Integrator v2.3.3b20/ error in boot windows BSOD 0x000000B4 (The video driver failed to initialize)

#5362

gordo999

> Zitat von ⇗ sashbbbb im Beitrag ¶ #5361

> Helo frierds! Need aspi.sys ...error in boot windows BSOD 0x000000B4 (The video driver failed to initialize)

⇗ @sashbbbb ....do you mean acpi.sys or aspi.sys? If you mean aspi.sys, you won't find it here. Try here:
⇗ http://web.ncf.ca/aa571/aspi.htm
If you have reached the stage where you are getting a video driver error, you are past the point where acpi.sys could be a problem. Look for the text, 'Windows is Starting' during boot or setup. If you get past that point, then the error occurs, you need to fix your video driver problem. You might be able to use F8 during boot to reach the selection screen where you can select a VGA driver, so you can boot. Then you will have to fix your video driver error.

#5363

YuriyCN

New SATA AHCI Controller driver StorAhci version 1.0 with SOURCE CODE.
StorAhci is based on Microsoft's storahci sample driver for Windows 8 and was changed to support Windows Server 2003 SP1 and SP2 with out of the box storport.sys driver. In addition we added a txtsetup.oem file to load it from a driver floppy disk at the F6 text setup stage. StorAhci is a universal SATA AHCI Controller driver for use with AMD, Intel and any other chipsets.
⇗ https://sourceforge.net/projects/storahci-for-windows-2003/

#5364 | sashbbbb | This is error in boot windows BSOD 0x000000B4 in safe boot sashbbbb has attached images to this post ⇗ lenovo laptop 100-15ibyWi ⇗ boot last known configura ⇗ save boot not driver VGA. ⇗ save boot.jpg ⇗ boot.jpg

#5365

diderius6

⇗ @sashbbbb
Make a try with the STORAHCI driver with storport.sys from ⇗ @skullteria .
⇗ https://ufile.io/ngkxtrjm
The storport.sys you have to add by hand into windows\system32\drivers
Dietmar
PS: And use the acpi.sys from outerspace ) .

#5366

diderius6

For the very first time I succeed to compile XP SP1 from Sources without any error.
There I noticed, that for ntoskrnl.exe not all source files are there, some are precompiled and there only as *.obj.
After instruction for W2003 build, you should remove all "read only" marks.
But when you make a clean build with build -cZP those *.obj are deleted and no ntoskrnl.exe is build.
Now fun starts: I make a mini XP SP1 from them by scratch
Dietmar
EDIT: This XP SP1 has a storport.sys 5.1.2600.1106 .

#5367 | skullteria | Well, it's occours because source haven't exinit.c and systime.c, only generated obj for x86 and ia64. So, when you run clean, delete these obj too, and build fail to compile kernel

#5368

diderius6

Oh so much fun
I just build with ntldr, ntdetect.com, hal.dll and ntoskrnl.exe fresh compiled from Source
a working XP SP1 with commandline.
I integrate iastor.sys from Fernando into this minixp
and this runs on 8700k Asrock fatalty board
Dietmar
PS: As winlogon.exe I use renamed minlogon.exe from XP embedded.
⇗

#5369

RayeR

> Zitat von ⇗ XPLives im Beitrag ¶ #5320

> Actually it is unnecessary to worry about this. As long as use the source code for Windows 2000 Server to create the updated ACPI.sys file it can work with XP SP0-SP3, 2009 POS, and Server 2003. I tested this before.
> As for SP1 source it won't be an issue for SP2 or SP3 to work with it. What you cannot do is use SP3 source to work with Windows 2000 SP0-SP4, or XP SP0-SP2.
> It is imperative to use Windows 2000 source code to create the updated ACPI files so it can be used with all NT5.X versions from Windows 2000->2009 POS.

I need to clarify this...
So you mean there was already leaked sources of acpi.sys from W2k that can be rebuild and used for all newer windows up to SP3/Wk3? I read that some subset of W2k sources had leaked before but didn't investigated further.
Are you sure there was not any critical acpi.sys updates in newer OS versions that would require some minimal version for specified OS version? I would guess ahat acpi.sys from XP SP1 would be more advanced than one from W2k.
And how about that acpi.sys patches linked in this thread? I though they are original binaries that was hacked/patched on binary level using disassembler and hexa exitor, not rebuilded from sources. am I right?
diderius6 also mentioned about acpi.sys from XP SP3 from "outer space" that it worked for him, it's meant to be original SP3 version or some hacked one?
He aslo mentioned "I build a new acpi.sys" - is it mean from leaked src?
Update: oh, I see you just rebuild and run 'miniXP' - congrats :) But a pitty about missing kernel sources :(
BTW from the ⇗ posted description of acpi.sys it seems it's respnsible for enumerating other devices and loading drivers so I can imagine that if something not anumerated properly then disk driver is not loaded getting other error.
BTW2 there's mention about AMLI debugger, did someone able to run it? It should help debugging ACPI issuses.

#5370

diderius6

I succeed to integrate the original winlogon.exe
into my minixp.
But now comes a screen, that I have never seen before
and which names should be put there
Dietmar
PS: Admin or Administrator works but then hangs for a minute and then asks again;)) for..
⇗

## Page 359

#5371 | schreiberstein | ⇗ @diderius6 I suppose it is a language mismatch. Did you try to place US English binaries instead of German ones?

#5372

diderius6

⇗ @schreiberstein
I tried both, english and german XP SP1 winlogon.exe.
Also with winlogon from server2003, XP SP0, XP SP3,
only original from XP SP1 works,
but fails via password
Dietmar
I see, that you have to build the user profile by hand.
Oh, this is a hard job. But look at the date of build;))
Dietmar
⇗

#5373 | diderius6 | 92.5% of files are build via Sources and work all. When you add the missing 7.5% files from working XP SP1, you have a full XP SP1 Dietmar ⇗

#5374

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5370

> PS: Admin or Administrator works but then hangs for a minute and then asks again;)) for..

⇗ @diderius6 ...Dietmar...that Window seems to be the registration Window, not the logon window, and I have seen this behavior before. If I remember correctly it is related to the Internet Explorer version.
Ps. (added later)...press the Options button (Optionen) and see if it leads you to options for registering, like by phone.
I don't remember whether you have to change IExplorer from version 8 to version 6 or vice versa. Or, you may not have IExplorer installed. Registration needs it and if it's not there or working the registration window fails.
Not sure if XP1 required you to install IExplorer from the Windows Components menu where the Add/Remove files is located. Microsoft had legal issues with it and had to make IExplorer removable.
Would be nice to get Windbg working remotely so we could debug problems like that. I was working on it but I have been busy with other projects during the summer.

#5375

diderius6

I make an interesting discovery with my minixp.
You get BSOD 0x7B with an acpi-XP (halmacpi.dll together with ntkrpamp.exe and acpi.sys),
when for any reason the acpi.sys driver is not loaded
Dietmar
As you can see on the pic, the driver iastor.sys for the harddisk is loaded but acpi.sys is missed.
So you need an entry in registry for acpi.sys.
EDIT: Yeppp, this was the very first time, that I succeed to switch direct on 1 XP installation,
via edit only HKLM\SYSTEM\ControlSet001 and
change hal.dll, ntoskrnl.exe => halmapic.dll, ntkrpamp.exe, acpi.sys
with result of a working
"Standard PC" => "Multiprocessor Acpi PC"
EDIT2: For this minixp with unmodified acpi.sys happens no BSOD A5 (acpi related). This is interesting.
⇗
⇗

#5376

diderius6

minixp "Standard PC" bootlog
Service Pack 110 14 2020 16:23:21.500
Loaded driver \WINDOWS\system32\ntoskrnl.exe
Loaded driver \WINDOWS\system32\hal.dll
Loaded driver \WINDOWS\system32\KDCOM.DLL
Loaded driver \WINDOWS\system32\BOOTVID.dll
Loaded driver pci.sys
Loaded driver isapnp.sys
Loaded driver MountMgr.sys
Loaded driver ftdisk.sys
Loaded driver \WINDOWS\System32\DRIVERS\WMILIB.SYS
Loaded driver PartMgr.sys
Loaded driver iaStor.sys
Loaded driver disk.sys
Loaded driver \WINDOWS\System32\DRIVERS\CLASSPNP.SYS
Loaded driver KSecDD.sys
Loaded driver Ntfs.sys
Loaded driver \SystemRoot\System32\DRIVERS\swenum.sys
Loaded driver \SystemRoot\System32\DRIVERS\i8042prt.sys
Loaded driver \SystemRoot\System32\DRIVERS\kbdclass.sys
Loaded driver \SystemRoot\System32\Drivers\Fs_Rec.SYS
Loaded driver \SystemRoot\System32\drivers\vga.sys
Loaded driver \SystemRoot\System32\Drivers\Npfs.SYS
minixp "ACPI Multiprocessor" bootlog
Service Pack 110 14 2020 15:30:09.093
Loaded driver \WINDOWS\system32\ntoskrnl.exe
Loaded driver \WINDOWS\system32\hal.dll
Loaded driver \WINDOWS\system32\KDCOM.DLL
Loaded driver \WINDOWS\system32\BOOTVID.dll
Loaded driver ACPI.sys
Loaded driver \WINDOWS\System32\DRIVERS\WMILIB.SYS
Loaded driver pci.sys
Loaded driver isapnp.sys
Loaded driver MountMgr.sys
Loaded driver ftdisk.sys
Loaded driver PartMgr.sys
Loaded driver iaStor.sys
Loaded driver disk.sys
Loaded driver \WINDOWS\System32\DRIVERS\CLASSPNP.SYS
Loaded driver KSecDD.sys
Loaded driver Ntfs.sys
Loaded driver \SystemRoot\System32\DRIVERS\i8042prt.sys
Loaded driver \SystemRoot\System32\DRIVERS\kbdclass.sys
Loaded driver \SystemRoot\System32\DRIVERS\swenum.sys
Loaded driver \SystemRoot\System32\Drivers\Fs_Rec.SYS
Loaded driver \SystemRoot\System32\drivers\vga.sys
Loaded driver \SystemRoot\System32\Drivers\Npfs.SYS

#5377 | RayeR | Yes it's logical as ACPI is the root enumerator if you select ACPI compatible PC it then loads other buses drivers.

#5378

diderius6

⇗ @Gelip ⇗ @skullteria
Do you have real Windows XP Embedded SP1 at Beta archive?
I mean not the normal XP Embedded.
There has been a Windows XP Embedded that works with the real files from XP SP1,
without any fba.exe
Dietmar

#5379

ruthan

BTW what is target of these source codes experiments?
1) Of course it could help to understand how XP works, to fix some problems and add some functionality, but what else?
2) Its there big difference between SP1 and SP3, do you thing that you can use some enhanced SP1 files and make them run with SP3, without big flaws?
3) Its there any chance just make this SP1 build more advanced and compatible than SP3, its too much work?
Im asking because lots of apps are simply requiring some SP2 or SP3 installed, im sure that you could somehow to bypass that, but maybe these SPx really adding some important functionality not mostly some security fixes.. but never studied it in deep?

#5380

diderius6

⇗ @ruthan
The most important is to have an acpi.sys for any compi using XP SP3.
And here we have a good chance, because acpi.sys from XP SP1 can boot XP SP3 and shows very similar behavior.
And the Source Code for acpi.sys is complete.
Dietmar
PS: And yes, very interesting to know, how XP in detail works.

#5381

789

> Zitat von ⇗ diderius6 im Beitrag ¶ #5380

> an acpi.sys for any compi using XP SP3.

Do you mean there might be hope for 2003 beyond Haswell ?

#5382 | diderius6 | ⇗ @789 Do you mean Win2003? I remember, that Windows Embedded for XP uses the acpi.sys from Win2003. So, until now Win2003 should run on nearly any newer compi with modded acpi.sys outerspace ) from XP SP3 Dietmar

#5383

diderius6

I succeed to build an Multiprocessor ACPI XP SP1 from the Source files and storahci from fernando,
with real winlogon.exe and a size of about 70 MB.
Now comes the most strange thing, which is so interesting to take a deeper look on.
On the first boot with the acpi.sys build from Source I get NO BSOD.
But when I reboot it again, I get Bsod A5 (0x11) acpi related
Dietmar
EDIT: This behavior is reproducible. This happens in registry. When I replace registry (whole folder config) after A5 BSOD with the original registry,
no Bsod A5 happens. It looks, like registry has a memory for Bsods. System.log is nearly empty after 1. start with original acpi.sys and gives Bsod on reboot. And the most crazy thing is: After this Bsod A5 (11) even the acpi.sys from outerspace )
gives the same Bsod. Just like memory for Bsod in registry.
Service Pack 110 15 2020 12:49:57.093
Loaded driver \WINDOWS\system32\ntoskrnl.exe
Loaded driver \WINDOWS\system32\hal.dll
Loaded driver \WINDOWS\system32\KDCOM.DLL
Loaded driver \WINDOWS\system32\BOOTVID.dll
Loaded driver ACPI.sys
Loaded driver \WINDOWS\System32\DRIVERS\WMILIB.SYS
Loaded driver pci.sys
Loaded driver isapnp.sys
Loaded driver MountMgr.sys
Loaded driver ftdisk.sys
Loaded driver PartMgr.sys
Loaded driver iaStor.sys
Loaded driver disk.sys
Loaded driver \WINDOWS\System32\DRIVERS\CLASSPNP.SYS
Loaded driver KSecDD.sys
Loaded driver Ntfs.sys
Loaded driver NDIS.sys
Loaded driver Mup.sys
Loaded driver \SystemRoot\System32\DRIVERS\i8042prt.sys
Loaded driver \SystemRoot\System32\DRIVERS\kbdclass.sys
Loaded driver \SystemRoot\System32\DRIVERS\swenum.sys
Loaded driver \SystemRoot\System32\DRIVERS\update.sys
Loaded driver \SystemRoot\System32\Drivers\Fs_Rec.SYS
Loaded driver \SystemRoot\System32\drivers\vga.sys
Loaded driver \SystemRoot\System32\Drivers\Msfs.SYS
Loaded driver \SystemRoot\System32\Drivers\Npfs.SYS
Loaded driver \SystemRoot\System32\DRIVERS\rdbss.sys
Loaded driver \SystemRoot\System32\DRIVERS\mrxsmb.sys
⇗

#5384

diderius6

I make a test, if one of the new drivers (see bootlog)
can make this Bsod A5 (0x11).
But I come also to dektop via real winlogon without them,
meaning the same driver list as with minixp.
And the strange behavior of 1 time possible boot with normal acpi.sys stays.
So, this Bsod A5 (0x11) is not related to the new *.sys drivers (I check, that none of them is loaded) but
for full winlogon and its dlls.
This Bsod I do not understand at all, because it means, that a Bsod can happen driver independend
Dietmar
PS: When I change back full winlogon against the renamed minlogon from Windows Embedded, this Acpi Bsod A5 0x11 is gone.
But I get Bsod C000021A with the remaining extra dlls needed for full winlogon.
STOP: 0xC000021A
Cause
This error occurs when a user-mode subsystem, such as WinLogon or the Client Server Run-Time Subsystem (CSRSS), has been fatally compromised and security can no longer be guaranteed. In response, the operating system switches to kernel mode. Microsoft Windows cannot run without WinLogon or CSRSS. Therefore, this is one of the few cases where the failure of a user-mode service can shut down the system.

#5385

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5384

> I make a test, if one of the new drivers (see bootlog)
> can make this Bsod A5 (0x11).

⇗ @diderius6 ...this may help...or not.
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa5--acpi-bios-error

## Page 360

#5386

diderius6

Yesssssa,
I just build a fresh acpi.sys from sources
which will NEVER show again Bsod A5 (0x11,0x8,..).
And the very best is:
I have a XP, which shows exact this error before
and with this brandnew acpi.sys this is gone(!), means
boots normal, waaaoh, we see light at the end of the tunnel with Bsod A5
Dietmar
⇗ https://ufile.io/72r8ilvh
and the next (better) acpi.sys
⇗ https://ufile.io/hsjutifo

#5387

diderius6

In C:\NT\base\busdrv\acpi\driver\shared
acpiinit.c
//
// Now call the Interpreter to read the Differentiated System
// Description Block and build the ACPI Name Space.
//
status = AMLILoadDDB( table, &diffDataBlock );
if (NT_SUCCESS(status) ) {
//
// Remember that we have loaded this table and that we have a
// handle to it
//
RsdtInformation->Tables[Index].Flags |= RSDTELEMENT_LOADED;
RsdtInformation->Tables[Index].Handle = diffDataBlock;
} else {
ACPIPrint( (
ACPI_PRINT_CRITICAL,
"ACPIInitializeDDB: AMLILoadDDB failed 0x%8x\n",
status
) );
ASSERTMSG(
"ACPIInitializeDDB: AMLILoadDDB failed to load DDB\n",
0
);
KeBugCheckEx(
ACPI_BIOS_ERROR,
ACPI_SYSTEM_CANNOT_START_ACPI,
8,
(ULONG_PTR) table,
table->Header.CreatorRev
);
}
return STATUS_SUCCESS;
}
=>
//
// Now call the Interpreter to read the Differentiated System
// Description Block and build the ACPI Name Space.
//
status = AMLILoadDDB( table, &diffDataBlock );
if (NT_SUCCESS(status) ) {
//
// Remember that we have loaded this table and that we have a
// handle to it
//
RsdtInformation->Tables[Index].Flags |= RSDTELEMENT_LOADED;
RsdtInformation->Tables[Index].Handle = diffDataBlock;
} else {
RsdtInformation->Tables[Index].Flags |= RSDTELEMENT_LOADED;
RsdtInformation->Tables[Index].Handle = diffDataBlock;
}
return STATUS_SUCCESS;
}

#5388

gordo999

⇗ @diderius6 ...a bit of research revealed that the RSDT table has pointers to other tables. One of them is the Debug Port Table 2 (DBG2). If you have the time, could you look to see if there is a pointer to the Debug Port Table?
I have been unable to get a remote debugging connection using the acpi from outer space? I will work on this myself but I have a long learning curve ahead of me.
Thanks for your effort on this.

#5389

diderius6

⇗ @gordo999
In the Source for acpi is no pointer to the DBG2 table,
so this table seems not direct related to acpi. In the RSDT table itself I dont find a pointer to DBG2.
But a search for the string DBG2 shows its appearance
at a lot of other places, see picture, for example in cdebug.cpp
Dietmar
⇗

#5390

kukonosau

⇗ @diderius6
Hi! Why Windows Vista x64 different BSOD crash randomally? My configuration: CPU AMD Ryzen 5 2600, motherboards ASUS B350M-K, GPU GTX 960, 16 Gb RAM in 2 slots 8 Gb. BIOS Update to actually version doesn't help me. I see often 0x0000000A and 0x0000019 errors. I see often IRL_NOT_LESS_OR_EQUAL or BAD_POOL_CALLER or BAD_POOL_HEADER. Why? ACPI is not compatible? Platform updates Vista doesn't help also. I tried disable LAN Controller and HD Audio Controller in BIOS, but this is not help me also.
And why Windows 7 x64 is lagging? Windows 7 has not BSOD, but games (for example, GTA V) lagging, however FPS is highest than Windows 10 often. Windows Vista has many BSOD, but games very well working, opportunately. I don't sure in 100 per cents. Windows XP x86 thanks to your drivers generally working normally. Why? BIOS ASUS specially limit perfomance old operating systems? If buy analog motherboards from GIGABYTE then system will working normally, probably?
What happen? Where is problem? I must be buy motherboards with socket AM3+ for old operating systems? Can you help me, please? Wait answers...

#5391

diderius6

⇗ @kukonosau
The US army uses XP SP3. I think that this is the reason why it is much more stable than newer OS.
XP64 is much more unstable.
Because acpi.sys seems to be compatible through all Win OS,
today I make a try with acpi.sys from win8.1 under XP
Dietmar

#5392 | kukonosau | ⇗ @diderius6 Problem with acpi? I don't mistake? Win7 acpi don't compatible also? I forget check Win8.1 in all games. But Mafia: Definitive Edition in Win8.1 working properly. Why Win7 working incorrectly in games, but Vista correctly? However, Win7 hasn't BSOD, but Vista has many BSOD. Win10 also check disks after install Win7 or Vista. But if install your modify XP with Patch Integrator then Win10 willn't checking disks.
#5393 | kukonosau | ⇗ @diderius6 Why Vista crash randomally in Ryzen? From acpi? Do you have crash Vista or it is working properly?

#5394

diderius6

⇗ @kukonosau
Vista was for me only like a game. I succeed to boot it from USB and to put it on a Fat32 partition.
That was enough. And about Win7: I compare Skype on XP via Win7 in 2009. Oha, this was the last time that I had an daily installation with win7. A little bit I like win 8.1. And from win10 I like, that I can install it together with XP on my Thinkpad x230 Lenovo notebook. In my eyes there has been no advantage in OS since XP SP1. Take a look at the search function and you will agree with me at once
Dietmar
PS: Vista is something like a bad clone from winserver 2003 with new driver model. For what I need this?
On my compi with x58 chipset I have not seen a single bluescreen for years. So I use this machine with harddisk for compiling.
With SSD I get errors but with harddisk not. SSD are soso much bad for safe data, USB sticks also.

#5395

diderius6

In acpi.sys from win8.1 32 bit there are
51 missing functions in ntoskrnl in XP SP3
6 missing functions in hal.dll in XP SP3.
I checked this via Dependency Walker for acpi.sys vers. 6.3.9600.18939 (winblue_ltsb.180210-0600)
and acpi.sys version 6.3.9600.17393 (winblue_r4.141006-1627)
Dietmar

#5396

RayeR

I just try to replace acpi.sys in my WinXP SP3 by one that I compiled from W2k3 sources (without any modification, just recompiled). The system booted normally, no errors in event log but I quickly found that my CPU (i7-2600K) is heating a lot, about 70C like in full load but real CPU load was 0-1%. When I swapped acpi.sys back to my SP3 version and rebooted the temparature dropped back to normal 35C for idle load. So there must be some compatability problem between them...
EDIT I could try your fresh builds...
BTW where are printed debug messages by ACPIPrint() function? Can be seen via serial line WinDbg?

#5397 | diderius6 | ⇗ @RayeR This may be a problem because cpu always runs in C0 state. Change intelppm.sys against modified one Dietmar
#5398 | RayeR | Yes, same behavior with your ACPI.SYS Where can I find the modified INTELPPM.SYS please? BTW my SP3 version is 5.1.2600.5512 and same for INTELPPM.SYS
#5399 | diderius6 | ⇗ https://ufile.io/8zdzlh8v

#5400

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5386

> Yesssssa,
> I just build a fresh acpi.sys from sources
> which will NEVER show again Bsod A5 (0x11,0x8,..).
> And the very best is:
> I have a XP, which shows exact this error before
> and with this brandnew acpi.sys this is gone(!), means
> boots normal, waaaoh, we see light at the end of the tunnel with Bsod A5
> Dietmar

I tried to install the Integral Edition 2020.9.9 ISO with your "acpiDBBhackbetter" on my crazy Asrock H310M-HDV but I still got the A5 BSOD even if with a different code (0x03,0x8,0xC,0x4). Same BSOD with a working XP disk drive from another motherboard (Q370).
P.S.: do you have the possibility to choose a different hosting site, please? Sorry to point this out but Ufile is really a hassle, it requires to solve the reCaptcha even to download a few bytes. Also to log in here another reCaptcha to solve and other waste of time.

## Page 361

#5401 | infuscomus | ⇗ @Andalu UFile has a reCaptcha? I've never seen it - not sure why you get it.

#5402

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5401

> @Andalu
> UFile has a reCaptcha? I've never seen it - not sure why you get it.

take a look:
⇗
Downloading on that site is not possible without allowing these requests:
⇗

#5403 | diderius6 | ⇗ @Andalu With Firefox Browser and XP SP3 I dont see any Captcha on ufile.io Dietmar

#5404

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5403

> @Andalu
> With Firefox Browser and XP SP3 I dont see any Captcha on ufile.io
> Dietmar

The updated image I posted is from Firefox and XPSP3.
However, beyond the reCaptcha, to download from that site is mandatory allow requests also from google otherwise it is not possible. Anyone can verify it for himself.
I just wanted to report this without any other intention.

#5405

RayeR

> Zitat von ⇗ diderius6 im Beitrag ¶ #5399

> https://ufile.io/8zdzlh8v

Thanks, but when I replaced only ACPI.SYS and INTELPPM.SYS my CPU is still running hot. When I replaced also HAL.DLL from the package I got BSOD
STOP: 0xA, (0, 2, 1, 0x80522848)

#5406

diderius6

Hi,
after talk with ⇗ @daniel_k I understand,
what I have to do to make acpi.sys from outerspace ) also immun against BSOD
0x000000A5 (0x00002001,1,xx,yy)
Dietmar
PS: It is really crazy: The Source Code from XP SP1 in acpiosnt.c told me, that for XP it is unimportant
if the OS gives a hint, if it is PIC model or APIC model. XP looks ONLY, if the model is there..
Now I do not have a single board or notebook left, where I cant install full acpi XP.
In this moment I am installing XP SP3 on the crazy Lenovo Ideapad Flex 10.
Win7 cant be installed there, BUT XP SP3 ..
⇗ https://ufile.io/nr34td75

#5407

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #5390

> I see often 0x0000000A and 0x0000019 errors. I see often IRL_NOT_LESS_OR_EQUAL or BAD_POOL_CALLER or BAD_POOL_HEADER. Why? ACPI is not compatible?

⇗ @kukonosau ...the error 0x19 is related to the IRL_NOT_LESS_OR_EQUAL or BAD_POOL_CALLER or BAD_POOL_HEADER errors. You may have problems with your RAM memory boards. I think that because your system runs OK with Win x86 but not with Win x64.
Try running the memory board one at a time with each board in the first slot. I presume you have installed the boards correctly as per the B350M manual. An 8 Gb memory card should be enough to run both x86 and x64 well enough so games don't lag. Also, make sure the memory cards are properly inserted. While you have the cards out of the socket, look at the contacts to make sure they are clean and use 99% isopropyl alcohol to clean the contacts. Don't use anything less than 99% since that type has water in it and you don't want water on the contacts.
Have you run a memory diagnostic? Sometimes a faulty memory card won't show up with just a few runs, you need to run the test repeatedly for a long time. Even then, the best way is to use a known good memory card. If you insert them one at a time, it's not likely that both cards are bad. I have found the problem is usually the cards not being inserted properly. Just removing them and re-inserting them often works well.
The 0xA error can be related to a bad memory card or to a card not inserted properly. Or it could be related to a bad driver or hardware device. It could be caused by the wrong ntoskrnl.

#5408

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #5400

> P.S.: do you have the possibility to choose a different hosting site, please? Sorry to point this out but Ufile is really a hassle, it requires to solve the reCaptcha even to download a few bytes. Also to log in here another reCaptcha to solve and other waste of time.

⇗ @Andalu ...I get a captcha error message but it claims it cannot contact the captcha site. The file downloads OK however. Are you running an app that could be blocking Captcha?
I am running NoScript and AdBlock on Firefox. Sometimes I have to 'Allow' certain sites on NoScript and turn of AdBlock. I know there have been problems with Captcha due to sites running the wrong version.

#5409

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #5406

> In this moment I am installing XP SP3 on the crazy Lenovo Ideapad Flex 10.
> Win7 cant be installed there, BUT XP SP3 ..
> ⇗ https://ufile.io/nr34td75

I will try this acpi.sys on my threadripper system.
edit: No good, still stuck at "Setup is Starting Windows"

#5410

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #5408

> @Andalu ...I get a captcha error message but it claims it cannot contact the captcha site. The file downloads OK however. Are you running an app that could be blocking Captcha?
> I am running NoScript and AdBlock on Firefox. Sometimes I have to 'Allow' certain sites on NoScript and turn of AdBlock. I know there have been problems with Captcha due to sites running the wrong version.

My problem is that the reCaptcha is required too many times on Ufile.io.
I have already listed the requests necessary to download a file for that site, now I try to explain better:
from the main page of any ufile link, to access the download function, you must first authorize the scripts from 'ufile.io' to 'ajaxgoogleapis.com' and then, to activate the real "download" function for the related button, you must authorize the scripts to the reCaptcha site (google.com and gstatic.com) even if it won't be displayed anymore.
So, even if the reCaptcha is not displayed or requested, it was still necessary to allow the scripts from ufile.io to the reCaptcha site, otherwise the download became impossible to enable. It can be easily verified with NoScript or other similar FF add-ons.

#5411 | infuscomus | ⇗ @Andalu on mine I have ublock origin 1.30.4 popup blocker ultimate 11.1.0 maybe popup blocker blocks the captchas?

#5412

infuscomus

⇗ @diderius6
Unrelated to ACPI
it seems that win2k3 supports accessing larger than 2tb disks - and the import tables match XP.
infuscomus has attached files to this post

- ⇗ 2k3_morethan2tb.zip

#5413

diderius6

⇗ @infuscomus
I use the files in XP SP3,
but my 4 TB harddisk on a Sata port cant work under XP. It is even only recogniced on the Intel Sataport, the asmedia Sata port ignores this 4 TB harddisk complete.
Have you seen a report, that winserver 2003 Bit 32 can work and boot from harddisks >2TB?
Somebody told me, that you can fake an installed winserver 2003 as XP, but I never tested or tried.
I know, that the Kernel is different. But with the leaked sources you can see, that you also can build a XP 3790.
Interesting, if all drivers from XP work there also and if this XP 3790 with disk.sys from win2003 can work with more than
2 TB harddisk
Dietmar

#5414

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5411

> @Andalu
> on mine I have
> ublock origin 1.30.4
> popup blocker ultimate 11.1.0
> maybe popup blocker blocks the captchas?

I don't think it depends on the ad-blocker. Even to log in here you have to solve the reCaptcha so the ad-blocker should block it here too but I believe that hardly happens, or am I wrong?
I just tried two times to download from ufile: the first time the reCaptcha did not appear and the second time it was displayed. It happened within a few seconds from one attempt to the next without changing anything.
This script/XHR (⇗ https://ufile.io/ajax/generate_download/) needed to allow for downloading from ufile.io contains this message: "Please complete the reCAPTCHA field to proceed"

#5415 | infuscomus | ⇗ @Andalu I see on my system the captcha tries to load in the bottom left of my screen, but something blocks it and then the download starts as normal. does installing popup blocker make a difference?

## Page 362

#5416 | Andalu | ⇗ @infuscomus nothing changes even with Popup Blocker Ultimate 8.1 (last version FF 52 compatible). As said before, it's not a pop-up but a script. Are you sure that on the bottom left of the screen Popup Blocker Ultimate blocks the reCaptcha and not the little window referring to privacy terms as is displayed in the image I posted above?
#5417 | infuscomus | ⇗ @Andalu I can see the Captcha if I turn off ublock origin. maybe it's because you're on on old firefox version - try basilisk browser, works with XP.
#5418 | Andalu | I still got the reCaptcha, even if once on three attempts: ⇗
#5419 | infuscomus | ⇗ @Andalu which site would you prefer we use to upload files?

#5420

Andalu

⇗ @infuscomus
I can't recommend any specific file hosting site as I rarely upload. In general, you might prefer some site that does not require mandatory linking to external sites to download (or at least that can be blocked with browser add-ons). I still don't understand why ufile requires to allow a mandatory connection to ajaxgoogleapis.com (maybe for geolocation?).
Much better without the reCaptcha that unfortunately was also introduced in this forum to simply log in. Today I logged in more than 4 times and I had to solve at least 20 reCaptcha

#5421 | gordo999 | ⇗ @Andalu ....I should have mentioned that I was using Windows 7 when I downloaded from ufile.

#5422

YuriyCN

> Zitat von ⇗ infuscomus im Beitrag ¶ #5417

> @Andalu
> I can see the Captcha if I turn off ublock origin.
> maybe it's because you're on on old firefox version - try basilisk browser, works with XP.

RUSSIAN. Browsers for Windows XP
Браузеры для Windows XP:
1) Браузер 360ЕЕ (аналог Google Chrome) - собран на 69 и 78 версии Хрома. 360ЕЕ прекрасно работает на ХР, а штатный Хром для ХР закончился на 49 версии. Описание - ⇗ http://forum.ru-board.com/topic.cgi?foru...73&start=1380#7
Скачать - ⇗ https://yadi.sk/d/U-_l7A5LmbARhA
2) Браузер Basilisk v55 ru-xpmod (аналог FireFox) - по количеству настроек превысит 360ЕЕ, имеет большой набор предустанновленных плагинов, в том числе для резки рекламы, встроен TOR анонимайзер.
Скачать - ⇗ https://yadi.sk/d/HtCypk9HO_H1cw
3) Браузер TOR - браузер на основе FireFox, предназначенный для анонимной работы в сети. Новые версии WinXP не поддерживают. Последняя версия с поддержкой WinXP версия 7.5.6.
Скачать - ⇗ https://yadi.sk/d/UGGKCzNJDEFvIg
Модернизированная версия TOR - браузера на основе последней версии (обновлены внутренние компоненты, добавлена поддержка нод 3-й версии).
Скачать - ⇗ https://www.upload.ee/files/12349986/TB756_ru_0445.ZIP.html
4) Opera v12.18_45 - неофициальная портативная сборка последней классической версии браузера Opera, с исправлениями для корректного отображения сайтов.
Скачать - ⇗ https://www.upload.ee/files/12359701/Ope....18_45.zip.html
5) Прочие браузеры.
Форумчанин rodocop напомнил о целом семействе актуальных браузеров для Windows ХР на движке Goanna.
MyPal - ⇗ https://github.com/Feodor2/Mypal
Centaury - ⇗ https://github.com/Feodor2/Centaury/releases от Feodor'a,
и россыпь сборок roytam'a:
NewMoon - ⇗ https://o.rths.ml/palemoon/palemoon-28.1...cac52b-xpmod.7z
Basilisk - ⇗ https://o.rths.ml/basilisk/basilisk52-g4...cac52b-xpmod.7z
IceApe - ⇗ https://o.rths.ml/hbl-uxp/iceape.win32-2...cac52b-xpmod.7z
Borealis - ⇗ https://yadi.sk/d/e9i4Uzz56le-cQ
А также его любимый Vasilisque - ⇗ https://yadi.sk/d/s8w31JCslJ5vbw и еще более любимый (да, на устаревающем движке, но зато самый легкий из всех приведенных) K-Meleon - ⇗ https://yadi.sk/d/IUdnrsBfsMAzrA
3 последних русифицированы комрадом vikmin (с просторов браузерного рунета) при скромном участии rodocop, и, наряду с MyPal, подготовлены для портабельного использования.
Рекомендация от vikmin - Vasilisque+v.0.13.0-ru-RU Portable_x32 (Кастом-сборка на базе Centaury 0.13.0) - ⇗ https://www.upload.ee/files/12402914/Vas...0-ru-RU.7z.html

#5423

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5406

> Now I do not have a single board or notebook left, where I cant install full acpi XP.

In case you want to find the first board for which, at the moment, it is not possible to install or run XP without any problem, I could suggest you to try with an asrock H310M-HDV

#5424 | diderius6 | ⇗ @Andalu Which Bsod do you see on the asrock H310M-HDV, when you install XP with the acpi.sys from outerspace ) ? Dietmar
#5425 | Andalu | ⇗ @diderius6 here the BSOD with acpi.sys from outerspace: 0x000000A5 (0x0000000D, 0x8A30B818, 0x4449555F, 0X00000000) here the BSOD with acpiOuterspace2001fit: 0x000000A5 (0x0000000D, 0x8A2A41C8, 0x4449555F, 0X00000000)
#5426 | diderius6 | ⇗ @Andalu Oh, I think this Bsod I solved long time ago here in this forum with special acpi.sys for geniautravail (or similar^^) Dietmar
#5427 | diderius6 | Hi, I noticed, that the search function here in the forum gives only results, which are not older than about a month. Is there a special setting in search, that it searches everywhere and for all time Dietmar
#5428 | Andalu | ⇗ @diderius6 I think to have already tried all yours acpi.sys versions. No one of them has worked with my crazy board unless I downgrade the bios to the first released version as reported ¶ here
#5429 | diderius6 | ⇗ @Andalu Look for special acpi.sys here in the forum for this BSOD, I have done this for 0x000000A5 (0x0000000D Bsod Dietmar ⇗ https://ufile.io/griun32t
#5430 | Andalu | ⇗ @diderius6 thanks but its hash value is already listed in my acpi.sys archive I tried however to copy it on a XP working hard drive but without success: 0x0A bsod

## Page 363

#5431 | diderius6 | ⇗ @Andalu Please tell me, what the exact Bsod with this acpi.sys is Dietmar
#5432 | Andalu | ⇗ @diderius6 just tried with the Integral Edition iso (only with acpi and sata-ahci drivers) and it seemed to work but i got the irq_not_less_or_equal error on the gui setup text mode correctly completed error code: 0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5B33) occurred during the devices installation after the license agreement window.
#5433 | diderius6 | ⇗ @Andalu Make a try with an older version, around this (XP from 5 Mai version) winxp-ie-optional-patch-integrator-v2.3.3b14 and chose the storport driver Dietmar
#5434 | Andalu | ⇗ @diderius6 about storport.sys I assume you're referring to the nvme driver

#5435

Andalu

⇗ @diderius6
iso from WinXP-IE 2020.5.5 patch integrator v2.3.3b14 (nvme, acpi, sata-ahci and USB3 drivers included):
on usb3 port: system hangs on "setup is starting windows"
on usb2 port: 0xDEADBEEF bsod
iso from WinXP-IE 2020.5.5 patch integrator v2.3.3b14 (acpi, sata-ahci and USB3 drivers included):
on usb2 port: system hangs on "setup is starting windows"
on usb3 port: text mode completed - same irq_not_less_or_equal error as above on the gui mode

#5436 | diderius6 | ⇗ @Andalu No, just change the driver for your harddisk to old STORAHCI with storport from ⇗ @skullteria Dietmar PS:And boot from real CD, connected to a SATA port.

#5437

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5436

> @Andalu
> No, just change the driver for your harddisk to old STORAHCI with storport from @skullteria
> Dietmar
> PS:And boot from real CD, connected to a SATA port.

To prepare an iso with the skullteria driver I must use an older patch integrator version because the v2.3.3b14 contains the storpor8.sys and I also have to find a cd to burn :)

#5438 | Andalu | ⇗ @diderius6 I just done an attempt to replace storahci.sys. storahci.inf, storport.sys (besides acpi.sys) with the skullteria version on a working XP disk: identical irql_not_less_or_equal error as before.
#5439 | diderius6 | ⇗ @Andalu Hit direct before GUI setup F8 and chose "Safe Mode". This Bsod 0x0000000A (0x000000B0, 0x00000002, 0x00000000, is a driver problem, not related to Acpi Dietmar

#5440

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #5435

> @diderius6
> iso from WinXP-IE 2020.5.5 patch integrator v2.3.3b14 (nvme, acpi, sata-ahci and USB3 drivers included):
> on usb3 port: system hangs on "setup is starting windows"
> on usb2 port: 0xDEADBEEF bsod

Hi Andalu
0xDEADBEEF is error of ntoskrnl_extender, it means it found some error when someone called it (ported usb3 driver), second code can tell more, i numerated it as 0,1,2,3 to define what procedure inside sources generated it

#5441

Mov AX, 0xDEAD

Hi,
1) For compiling acpi.sys i use little helper (first run "tools\razzle.cmd offline free" to setup environment variables)

    set __BUILDMACHINE__=xpsp1
    set BUILDDATE=020828-1920

    rem set 386_OPTIMIZATION=/Og
    rem set LINK_TIME_CODE_GENERATION=1

    build /Zegbw

Generated acpi.sys fully match with acpi.sys from downloadable "winxp sp1 eng KBxxxxxx" (except debug/build timestamps). You can uncomment two REMs to enable compiler's global optimization (it works, but i never tested working state of final binary)
2) Comparing acpi.sys from SP1 and SP3 with BINDIFF (plugin for IDA) show me no difference, but only one thing is important - acpi.sys SP1 was compiled with /Oy optmization, SP3 with /Oy-, this mean SP1 dont use EBP register as frame base.
Basicaly on x86 we don't need frame pointer because ESP is enough for this purpose, but M$ in SP3 dont care about compiler flags :)

#5442

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5440

> Hi Andalu
> 0xDEADBEEF is error of ntoskrnl_extender, it means it found some error when someone called it (ported usb3 driver), second code can tell more, i numerated it as 0,1,2,3 to define what procedure inside sources generated it

Hi Mov
the error code on the gui mode setup is always the same and I got it always on the same point after the license agreement window during the "Installing Devices" step:
0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5B33)

#5443

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5439

> @Andalu
> Hit direct before GUI setup F8 and chose "Safe Mode".
> This Bsod 0x0000000A (0x000000B0, 0x00000002, 0x00000000,
> is a driver problem, not related to Acpi
> Dietmar

No way to enter the safe mode, I got the following message:
"Windows XP Setup cannot run under safe mode. Setup will restart now"

#5444

diderius6

⇗ @Andalu
It is another driver, which makes this problem. This other driver writes in wrong memory.
So with F8, or working XP from other compi or with disabling nearly everything in Bios you can overcome this.
I have had the same message on the Asus A320M board
Dietmar

#5445 | diderius6 | ⇗ @Andalu Use an original XP SP3 from CD with wished integrated drivers Dietmar

## Page 364

#5446 | Andalu | ⇗ @diderius6 I added no other driver than acpi and sata-ahci in the ISO. Even in bios all other devices are disabled.
#5447 | diderius6 | I just make a new acpi.sys on the base of ⇗ @daniel_k very last 5048 version against BSOD 0x000000A5 (0x00002001,..) Dietmar ⇗ https://ufile.io/6svkbsz6

#5448

diderius6

⇗ @Andalu
Make a try with original XP SP3 CD(!), only modded acpi.sys
and the STORAHCI driver with storport.sys from ⇗ @skullteria on it
Dietmar
PS: When you have another Ryzen board with working XP, make a try with this XP and the
SATA ⇗ @skullteria driver.

#5449

Andalu

⇗ @diderius6
on my crazy board is mounted a 9400F (without graphics) so using a working XP I have to enable safe mode with VGA support and even in this case I get the identical error.
I'll try your advices on the next hours, thanks ;)
Edit: please note that XP correctly installs on this board by downgrading the bios to the first release v1.20 (as reported ¶ here) so I can think that the issue is "bios-dependent".
P.S.: only intel boards here, unfortunately.

#5450

diderius6

⇗ @Andalu
Make a try with your own "F8".
Delete all drivers, that you dont need,
on the setup CD (dont forget to delete cache also) or on the driver folder after txt Setup on harddisk.
I have never tested this methode for Setup
but on a working XP I succeed with this to overcome crazy BSODs because of an unknown driver.
Even the driver is mentioned in registry,
via bootlog you can see, that nothing bad happens,
only the (unknown)bad driver is not loaded.
It is like to work with Windows Embedded, only vice versa
Dietmar
EDIT:
Edit: "please note that XP correctly installs on this board by downgrading the bios to the first release v1.20 (as reported here) so I can think that the issue is "bios-dependent".
Can you downgrade your Bios again? If yes, set up then there a fresh XP, update your Bios and do F8 boot with this XP from before.

#5451 | Andalu | ⇗ @diderius6 I can still make a new downgrade because I had not updated to the final version (4.20) but to the last downgradeable version (3.30).

#5452

Andalu

⇗ @diderius6
I first tried the way most simple :):
Bios downgraded to the older version (1.20) > XP installed with the ISO from Patch Integrator v2.3.3b14 (only acpi.sys and sata-ahci driver from reactOS) > installation completed without issues > system turned off before the first reboot > updating bios to the v3.30 > system rebooted but working only in safe mode. In normal mode it restarts automatically just the XP logo appears. I also updated the vga driver but the result doesn't change.
Maybe I have to switch my two coffee lake CPUs, using the one with integrated vga on this board.

#5453

diderius6

⇗ @Andalu
"system rebooted but working only in safe mode"
Now you can delete/rename/disable any driver, that you dont need for boot.
Via this way you will find the driver, which gives BSOD
Dietmar
PS: In first place I think, it is one of the sata-drivers, which gives this Bsod.
And the real reason is bad new BIOS. You can compare the DSDT tables old Bios /new Bios.

#5454

Andalu

⇗ @diderius6
doesn't seem to be depending from the sata-ahci driver, I already tried almost of them but XP restarted in all attempts.
A weird thingh is that the USB2.0 Hub shows the exclamation point on each restart even if I correctly updated it before.
The USB3 XHCI works.
I'll make a new attempt on the next hours, now I have to take a time-out :)
thank you very much

#5455

diderius6

⇗ @Mov AX, 0xDEAD
So this means, we have the Source code for acpi.sys for XP SP3:)).
Very interesting tool BINDIFF. I look for such a tool but do not find.
Do you know how it works? Is it just looking, if for different inputs the output for two binaries
is always identic or is it more intelligent and tried to "understand" the Binaries?
Interesting is to compare hal.dll and ntoskrnl from XP SP1 and SP3.
hal.dll SP1 uses the old hardware clock but hal.dll SP3 not.
And even ntoskrnl from XP SP1 has a storport, this does not work together with storport from win2003
Dietmar

#5456

Andalu

⇗ @diderius6
I just tried the following operations:
- Bios downgraded once again to the version 1.20
- WinXP-IE 2020.5.5 installed with these options:
⇗
- Installation completed without issues but the USB mouse didn't work during GUI setup
- XP starts correctly but USB2 and USB3 don't work anyway (error code 10)
- Bios updated to the v3.30 and system restarted with same hard disk with no changes
- system restarts automatically when the XP logo appears
- XP works in safe mode only, below the Device Manager:
⇗
Maybe I have the craziest board around?

#5457 | diderius6 | ⇗ @Andalu Make a new try without the UASP driver Dietmar

#5458

Andalu

⇗ @diderius6
just tried installing an XP-IE iso with acpi and sata drivers only, nothing changes. Below an image from the bios version 1.20 (older):
⇗
At moment, I have to alternatively switch between keyboard and usb mouse (+adapter) on the only PS/2 port existing.
This time upgrading to the bios version 3.3 the system restarts automatically even in safe mode

#5459 | diderius6 | ⇗ @Andalu When you succeed to start in Safe Mode, disable everything in Device Manager. It is an driver which makes Bsod, a driver which is only loaded in normal mode. Still I think about problems with the Sata driver Dietmar

#5460

Andalu

⇗ @diderius6
I disabled almost all (perhaps even the required ) as from the images below:
⇗ ⇗ ⇗
and also the most obvious thing I had forgotten ("automatically restart" on the system failure) so I can report the irq_not_less_or_equal error code:
0x0000000A (0xB0, 0x02, 0x00, 0x804F5B33) that I got in all attempts made, until now, with the following sata-ahci drivers:
⇗ ⇗ ⇗

## Page 365

#5461

Mov AX, 0xDEAD

> Zitat von ⇗ Andalu im Beitrag ¶ #5442

> Hi Mov
> the error code on the gui mode setup is always the same and I got it always on the same point after the license agreement window during the "Installing Devices" step:
> 0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5B33)

No, i talk about your second error 0xdeadbeef(x,y,z,a)
0x0000000A generated outside of acpi.sys

#5462

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5455

> @Mov AX, 0xDEAD
> So this means, we have the Source code for acpi.sys for XP SP3:)).
> Very interesting tool BINDIFF. I look for such a tool but do not find.
> Do you know how it works? Is it just looking, if for different inputs the output for two binaries
> is always identic or is it more intelligent and tried to "understand" the Binaries?

⇗ @diderius6
Yes, probably sp1 sources is same as sp3, but w2003 acpi sources has little difference and look better(i think bugfixes ), OS list inside acpi.sys

    WinXP SP1                                                            Windows 2001 SP1
    WinXP SP2                       Windows 2001 SP2                     Windows 2001 SP1
    WinXP SP3                       Windows 2001 SP2                     Windows 2001 SP1
    W2003 RTM                                          Windows 2001.1    Windows 2001 SP1
    W2003 SP2  Windows 2001.1 SP1   Windows 2001 SP2   Windows 2001.1    Windows 2001 SP1

same in sources:

    WinXP  SP1                                                            Windows 2001 SP1
    W2003                                              Windows 2001.1     Windows 2001 SP1

this mean M$ not added "Windows 2001.1 (W2003)" to any XP's apci.sys, but added "WinXP SP2" to W2003 SP2 binary
BINDIFF is very smart, it compare "flow" and "blocks", not registers or other primitive differencies

> Zitat

> Interesting is to compare hal.dll and ntoskrnl from XP SP1 and SP3.
> hal.dll SP1 uses the old hardware clock but hal.dll SP3 not.
> And even ntoskrnl from XP SP1 has a storport, this does not work together with storport from win2003

hal maybe different because MS killed DMA above 4G in hal.dll sp2+
ntoskrnl sp3 has more exportable funcs compared to sp0 or sp1

#5463

diderius6

⇗ @Mov AX, 0xDEAD
Some time ago I noticed,
that Windows Embedded uses the acpi.sys from Win2003.
Question in this is, what changed and where is advantage.
acpi.sys from Win2003 is more similar to acpi.sys from Vista.
When you build an 3790 XP, work all drivers from XP SP3 there
Dietmar
Dietmar

#5464

Andalu

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5461

> No, i talk about your second error 0xdeadbeef(x,y,z,a)
> 0x0000000A generated outside of acpi.sys

Here the complete error code I got when I try to install a Win-XP Integral Edition 2020.5.5 iso via usb stick connected to a usb2 port:
0xDEADBEEF (0x00000002, 0x8A226B18, 0x8A339858, 0x00000000)

#5465

diderius6

Hi,
somebody here who knows,
what this line means for the Sata device in Bios in DSDT?
Is Osel some kind of Operation System selector?
Dietmar
Device (SATA)
{
Name (_ADR, 0x00130000) // _ADR: Address
OperationRegion (SATR, PCI_Config, 0x74, 0x04)
Field (SATR, WordAcc, NoLock, Preserve)
{
Offset (0x01),
PMEE, 1,
, 6,
PMES, 1
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((OSEL == 0x02))
{
Sleep (0xC8)
}
Return (0x0F)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
}

#5466 | diderius6 | ⇗ @Andalu See my post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (200) There it was for sure the Sata driver with exact the same behavior as yours Dietmar

#5467

daniel_k

⇗ @diderius6, what is the chipset of your laptop?
Need to check datasheet
OSEL can be found in OperationRegion (GNVS, SystemMemory, 0xFFFF0000, 0xAA55) section, memory mapped registers (?!) where chipset configuration is stored.
Can you find OSEL variable in other tables? May be related to OS version.
Is really suspicious, if OSEL = 0x2, _STA (status) sleeps for 0xC8 (200 ms), way above 1.76 ms timeout value that SATA specs says.
Your DSDT has some stupid multiple OS checks.
OS version is stored in many variables:
1) stored in OSVR var
If (_OSI ("Windows 2001 SP3")) -> does NOT exist in ACPI.SYS, useless!

    {
     Store (0x04, OSVR)
    }

2) Direct check against _OSI method:

    If (LOr (_OSI ("Windows 2006"), _OSI ("Windows 2009"))) {}

3) stored in OSYS var

    If (_OSI ("Windows 2001 SP2"))
    {
     Store (0x07D2, OSYS)
    }

Search for OSYS, OSVR and (_OSI ("Windows... to find where an OS check is being performed.

#5468

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5462

> Yes, probably sp1 sources is same as sp3

MS must have changed something, as my system hangs when using acpi.sys from SP1 (original SP1 or compiled from leaked sources) on an SP3 install disc.

#5469

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #5454

> ... I already tried almost of them but XP restarted in all attempts.

⇗ @Andalu ...can you turn off automatic reboot at the F8 menu to produce a BSOD screen...to see the error message? There may be another driver involved. Also, do you have another graphics card you can plug in the mobo video slot? That way you can turn off the internal graphics in BIOS.

#5470

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #5468

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5462

> > Yes, probably sp1 sources is same as sp3

> MS must have changed something, as my system hangs when using acpi.sys from SP1 (original SP1 or compiled from leaked sources) on an SP3 install disc.

Ok, i was wrong, sp3 sources different, but i dont found yet any critical difference, even extracted kernel structs (bless PDB Ripper) from acpi.pdb dont show byte shifts
After many try&tests i found MS C/C++ compiler and some options who is most similar to produce SP3 acpi.sys - v13.10.4035 from W2003 SP1 DDK
(need update i386mk.inc + makefile.* also), bindiff show most functions compiled SP1 to be 100% byte match with acpi.sys SP3, difference is about 15 funcs:

> Zitat

> already done:
> 0.97 _ParseScope
> 0.99 _OSInterface
> 0.97 _GetPciAddressWorker
> 0.82 _While
> 0.42 _OSNotifyDeviceCheck
> 0.98 ACPIWakeEnableDisableAsync(x,x,x,x)
> pending:
> 0.91 _AmliTestDebugPrintFunc
> 0.72 _ACPIThermalTempatureRead
> 0.99 AcpiArbRetestAllocation(x,x)
> 0.99 AcpiArbTestAllocation(x,x)
> 0.96 AcpiArbRollbackAllocation(x)
> 0.95 ACPIInterruptServiceRoutine(x,x)
> 0.90 ACPIDevicePowerProcessPhase3()
> 0.70 ACPIRootIrpCompleteRoutine(x,x,x)
> 0.36 ACPIInternalGetDeviceExtension(x)

"done" mean changes to *.c to produce sp3 exact logic

#5471

daniel_k

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5470

> Ok, i was wrong, sp3 sources different, but i dont found yet any critical difference, even extracted kernel structs (bless PDB Ripper) from acpi.pdb dont show byte shifts
> After many try&tests i found MS C/C++ compiler and some options who is most similar to produce SP3 acpi.sys - v13.10.4035 from W2003 SP1 DDK
> (need update i386mk.inc + makefile.* also), bindiff show most functions compiled SP1 to be 100% byte match with acpi.sys SP3, difference is about 15 funcs:

Thanks for looking into it!
Interesting that the original or compiled acpi.sys from SP1 works on VirtualBox and an old Sandy Bridge Lenovo laptop, but hangs on my CFL system.
Certainly SP3 code improved compatibility with newer systems.

#5472

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #5469

> @Andalu ...can you turn off automatic reboot at the F8 menu to produce a BSOD screen...to see the error message? There may be another driver involved. Also, do you have another graphics card you can plug in the mobo video slot? That way you can turn off the internal graphics in BIOS.

I had already enabled the way to see the error code on bsod as reported ¶ here and replaced the graphics card without success. In the bios there is no reference to internal graphics because my cpu (i5 9400F) does not have an integrated vga.

#5473

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5466

> @Andalu
> See my post
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (200)
> There it was for sure the Sata driver with exact the same behavior as yours
> Dietmar

Nothing changed even using an XP ISO from the "en_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-73974" CD to which I manually added storport.sys v5.2.3790.4173 and StorAhci driver from skullteria via nLite, besides the working acpi.sys:
- with bios v1.20 it correctly installs but usb is still not working (error code 10):
⇗
- with bios v3.30 XP starts only in safe mode:
⇗
in normal mode I got the same A5 bsod as always even disabling "all the disableable".

#5474

daniel_k

⇗ @Andalu
Which patched acpi.sys are you using?
That error 10 seems to be related to the qword dsdt table issue.
What is the device ID of the following devices?
- PCI Data Acquisition and Signal Processing Controller
- Unknown Device

#5475

Andalu

⇗ @daniel_k
I'm using acpi.sys 5048 with SHA-1: B368439FE2C052A81EF1F388EA7F5DD81FA970F3
here the device IDs:
- PCI Data Acquisition and Signal Processing Controller (VEN_8086&DEV_A379&CC_SUBSYS_A3791849&REV_10)
- for the "unknow device" now I see ACPI\ACPI000E but I have installed a different ISO from the posted images. But if I'm not wrong I seen a different ID for the ISO of the images.
Give me please some time to downgrade the bios and then reinstall that ISO.
Edit1: I didn't need to reinstall from the beginning, it was enough to downgrade the bios to the v1.20 and then restart from gui mode since the text mode was correctly completed with the bios v3.30 before to get the usual bsod on the "Devices Installation" step.
The unknow device has now the ID ACPI\INT3450
Edit2: the posted images are from the ISO with acpi.sys 6666 of the "acpiOuterspace2001fit" package.

## Page 366

#5476 | daniel_k | ⇗ @Andalu, no need to downgrade the BIOS.

#5477

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5475

> Edit1: I didn't need to reinstall from the beginning, it was enough to downgrade the bios to the v1.20 and then restart from gui mode since the text mode was correctly completed with the bios v3.30 before to get the usual bsod on the "Devices Installation" step.
> The unknow device has now the ID ACPI\INT3450

Hmm
With BIOS 1.20 the unknown device is ACPI\INT3450 ?
With BIOS 3.30 there is no (unknown) device with the same ID?
This ID is from Intel Serial IO host controller, which is usually hidden on purpose by the DSDT table on any Windows version below 8.0.

#5478

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #5476

> @Andalu, no need to downgrade the BIOS.

at moment the XP installation is impossible without downgrading to the older bios version (1.20)

> Zitat von ⇗ daniel_k im Beitrag ¶ #5477

> Hmm
> With BIOS 1.20 the unknown device is ACPI\INT3450 ?
> With BIOS 3.30 there is no (unknown) device with the same ID?
> This ID is from Intel Serial IO host controller, which is usually hidden on purpose by the DSDT table on any Windows version below 8.0.

I confirm that with bios v3.30 there is not such ACPI\INT3450 but ACPI\ACPI000E.
As a little note about the bios v3.30: with acpi5048 I got the A5 bsod in normal mode but the system enters the safe mode.
With acpi666 I got an acpi bsod with both normal and safe mode.

#5479 | daniel_k | ⇗ @Andalu Do you have a PS/2 keyboard? Try to disable the USB3 controller and see if it boots in Normal mode with BIOS 3.30. I'm suspicious of the XHCI/RHUB related entries in the DSDT table.
#5480 | Andalu | ⇗ @daniel_k as from the images ¶ here I disabled almost all but nothing changed, same A5 bsod occurred in normal mode

#5481

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5480

> @daniel_k
> as from the images ¶ here I disabled almost all but nothing changed, same A5 bsod occurred in normal mode

Sorry, I missed that.
Did you already post the complete error code with the 4 parameters?
Sometimes we get a hint from those parameters.

#5482 | Andalu | ⇗ @daniel_k no problem to report it once again: 0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5A97)

#5483

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5482

> @daniel_k
> no problem to report it once again:
> 0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5A97)

Huh, thought you were getting the A5 BSOD in your message below:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (365)

#5484

diderius6

⇗ @Andalu ⇗ @daniel_k
The DSDT tables from Bios 1.20 and Bios 3.30 are very different
Dietmar
diderius6 has attached files to this post

- ⇗ H310M-HDV-DSDT.rar

#5485

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #5483

> [Huh, thought you were getting the A5 BSOD in your message below:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (365)

I have to clarify which are the error codes and the circumstances they occurred.
Bios v3.30
acpi5048 (SHA-1: B368439FE2C052A81EF1F388EA7F5DD81FA970F3):
- normal mode -> BSOD 0x0000000A (0x000000B0, 0x00000002, 0x00000000, 0x804F5A97)
- safe mode -> OK
acpi6666 (SHA-1: 7CA08F984C0D4D91E554E11D643929D4A286CA7C):
- normal and safe mode -> BSOD 0x000000A5 (0x0000000D, 0x898FD4B0, 0x4449555F, 0x00000000)
Bios v1.20
acpi5048 (SHA-1: B368439FE2C052A81EF1F388EA7F5DD81FA970F3): normal mode -> OK
acpi6666 (SHA-1: 7CA08F984C0D4D91E554E11D643929D4A286CA7C): normal mode -> OK
No USB3 driver works with the bios v1.20 (error code 10 - this device cannot start).

#5486

diderius6

I looked for my own DSDT and I was right
in Bios from 2013 is written in DSDT for the Flex 10 (no OSEL variable at all(!))
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
in last Bios from 2015 is written in DSDT
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (LEqual (OSEL, 0x02))
{
Sleep (0xC8)
}
Return (0x0F)
}

#5487 | daniel_k | ⇗ @Andalu Now it's clear. When you can, please try this: ⇗ http://www.mediafire.com/file/x2zskq56vbla9pu It's based on acpi6666, there are 2 variants.

#5488

daniel_k

⇗ @diderius6
What is the "oldest" Windows you can install?
You can fake the version by patching acpi.sys.
Rename the Windows 2001 SP1 string to:
Windows 2012 - Windows 8
Windows 2013 - Windows 8.1
Windows 2015 - Windows 10
Erase " SP1" with zeros.

#5489 | Andalu | ⇗ @diderius6 Thank so much Unfortunately I don't understand anything about DSDT table (and not only about it )
#5490 | Andalu | ⇗ @daniel_k acpi give me the 0x000000D1 bsod but.......... acpi2 works!!!! Thanksssss

## Page 367

#5491 | daniel_k | ⇗ @Andalu Seriously? I want a screenshot!

#5492

diderius6

⇗ @daniel_k
This means, that this Bsod 0x000000A5 (0x0000000D,xx,yy)
goes to
ACPIDetectDuplicateHID(x) (brrr..)
and we have a better acpi.sys from outerspace )
Dietmar

#5493

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #5491

> @Andalu
> Seriously? I want a screenshot!

Thank you for the trust
⇗
Do you know that the latest bios version for my former crazy board is the 4.20?

#5494

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5493

> Thank you for the trust

I had to see it to believe it!
Nice!

> Zitat

> Do you know that the latest bios version for my former crazy board is the 4.20?

Yes, you're going to update it?

#5495

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #5494

> Yes, you're going to update it?

I do not know. After the v3.30 it is no longer possible to downgrade, at least that's what they report.

#5496 | diderius6 | ⇗ @Andalu Dont upgrade Bios!!! Only when you have an EEpromer and a lot of free time;)) Dietmar
#5497 | Andalu | ⇗ @diderius6 to avoid problems I have not updated the bios of the asus Q370 anymore

#5498

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5495

> > Zitat von ⇗ daniel_k im Beitrag ¶ #5494

> > Yes, you're going to update it?

> I do not know. After the v3.30 it is no longer possible to downgrade, at least that's what they report.

Was just asking.
If you have no issues, stick with 3.30, of course!

#5499

daniel_k

⇗ @Andalu and ⇗ @diderius6
Can you please try the latest acpi.sys 6666 from yesterday, now modified to fake Windows Vista, 8, 8.1 and Windows 10?
⇗ http://www.mediafire.com/file/hwio6yp5je1hqkq
I'd like to test the reliability of acpi.sys. On my Gigabyte Z370, in a quick test, it seems to work just fine even with Windows 10 (Windows 2015 string) version.
By doing this. acpi.sys "runs" code from DSDT table that is usually hidden by a version check. Also may expose devices that are also hidden in older versions of Windows.
Please take note of any misbehavior and new device that might be detected.

#5500

diderius6

Hi Daniel,
on the Asrock Fatalty K6 all 5 acpi.sys work, nice:)).
On the crazy Flex 10 no one.
Interesting, I found another compi, where the same symptoms happen of
disappearing harddisk under XP, Win7.
It is the compi with board ef10mi2.
I compare their Bios DSDT version: The version 1.4 shows this behavior,
but the very first bios version 0.26 not. In Spain this board is
in a lot of school laptops Intel® Classmate PC Marble Point (EF10MI2) and there are videos on Youtube,
how they flash their Bios back to ver. <1.4 and voila, now win7 works and I think XP also.
I compare those Bios: In old version no OSEL at all, no sleep order for Sata.
And some devices are not present. And it seems important,
to disable the USB2.0 ehci.sys driver in the DSDT table.
So, with some work I can edit my DSDT also and boot XP.
But this means, that I have to desolder the Bios chip again
and I am not sure, if this Mini laptop survives it a second time.
Would be nice to have an easy to use DSDT upload program for any Bios (also Insyde, brrr..)
Dietmar
PS: When you think about, what this mean: Intel, Lenovo force the people to install at least Win8.1.
May be the easy trick in DSDT is, just to let the Sata wait and you get Bsod 0x7B.

#5501

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #5500

> Hi Daniel,
> on the Asrock Fatalty K6 all 5 acpi.sys work, nice:)).

Great! It's seems to be a pattern, desktop boards are easier to deal with.

> Zitat

> On the crazy Flex 10 no one.

The same Stop A5 0x2001 error?

> Zitat

> PS: When you think about, what this mean: Intel, Lenovo force the people to install at least Win8.1.
> May be the easy trick in DSDT is, just to let the driver from the harddisk wait and you get Bsod 0x7B.

On laptops they do whatever is needed to prevent unsupported OSes from being installed.

#5502 | diderius6 | ⇗ @daniel_k No, with newer acpi.sys from outerspace ) the A5 2001 Bsod is gone. No message, no Bsod, only that no harddisk can be found Dietmar

#5503

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #5502

> only that no harddisk can be found

I think that our patches make acpi.sys ignore something that Windows 8.1's acpi processes.
Does Linux boots on that Flex 10? If so, can it detect the hard disk?

#5504 | Andalu | ⇗ @daniel_k XP correctly starts on my Asus Q370 with all five acpi.sys. I don't have noticed any issue but the time for testing has been short :) About the unknow devices, here the new recognition only with the acpi2015 version: ⇗ I'll try with asrock H310 soon.
#5505 | daniel_k | ⇗ @Andalu, thanks for testing the files. Great news!

## Page 368

#5506 | Andalu | ⇗ @daniel_k all acpi versions also work on the asrock H310M-HDV and a new recognition with acpi2015 only. Also the ID for the unknow device is identical (ACPI\INT33A1): ⇗ Edit: updated the image
#5507 | infuscomus | ⇗ @daniel_k I tested your acpi2015.sys on TRX40 Threadripper. No good.
#5508 | daniel_k | ⇗ @Andalu Thanks, so we finally have an acpi.sys that survives Win10 specific codes of DSDT table (at least for Intel systems)!

#5509

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5507

> @daniel_k
> I tested your acpi2015.sys on TRX40 Threadripper.
> No good.

Doesn't surprise me.
AMD screwed up the ACPI tables.
Sadly, Intel is much easier to deal with (regarding desktop boards) than AMD.

#5510 | infuscomus | ⇗ @daniel_k would you be willing to help me in trying to mod the ACPI tables to get this to work?

#5511

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5510

> would you be willing to help me in trying to mod the ACPI tables to get this to work?

Sorry, but it's a too time consuming hit and miss task.
I've already take a look at the tables of Ryzen/Threadripper boards. Too much different than Intel's.
What I can suggest you is to search if there is a board that does work with Win7, grab its BIOS and compare the tables with the ones from your board.

#5512

infuscomus

⇗ @diderius6
I do have an AM4 Ryzen board (ASRock AB350 G K4) that I can confirm does work for both 7 and XP - since I lack experience with ACPI coding the only difference I can see is the AB350 uses iasl compiler 20120913 and the Threadripper uses 20190509.
It's not a huge loss if I don't get XP working on Threadripper, but it's interesting and I think it would still be cool if I can somehow manage to get it to work.

#5513 | diderius6 | ⇗ @infuscomus Can you see any harddrive on Threadripper using XP or win7 Dietmar PS: Have you extracted the DSDT table? Is there a command "OSEL"?

#5514

infuscomus

⇗ @diderius6
I'm not sure at this time, windows 7 has an A5 BSOD and XP gives a black screen. I'm guessing that the storage devices will work once ACPI works.
I've disassembled my DSDT - it has OSVR for OS detection - "Windows 2001 SP1" is 0x09 so I've use notepad++ to change all the OSVR <= 0x0C parts to 0x09
Windows 7 will load the DSDT now, but it seems to get stuck on the CPUSSDT table (because parameter4 of A5 0x11 0x8 BSOD is 0x03242016)
So I'm assuming there is still something I need to fix in my DSDT.

#5515

diderius6

⇗ @infuscomus
I take a look at the DSDT table from AB350 and the threadripper. They are very different.
I can see, that in the Threadripper DSDT is made heavy use of OS select.
I think, that also the acpi.sys from win7 can be hacked for this Bsod.
But very strange appears for me, that with hitting F5 and chose "Standard PC" XP does not work.
This means, the problem is not only acpi related
Dietmar

#5516 | infuscomus | ⇗ @diderius6 Do you think you could hack acpi.sys of windows 7?

#5517

diderius6

⇗ @infuscomus
You can send me your acp.sys from win7 with A5 0x11 0x8 BSOD
and I try
Dietmar
PS: I just think, that maybe the black screen under XP on Threadripper can be the videodriver.
So make a try with VGA.

#5518

infuscomus

⇗ @diderius6
here
infuscomus has attached files to this post

- ⇗ acpi_windows_7.zip

#5519

diderius6

⇗ @infuscomus
here
⇗ https://ufile.io/b9oz1igy
and next better :))
⇗ https://ufile.io/n2yl4xt1
and the last one with absolute blockade of Bsod A5 (0x11,..)
⇗ https://ufile.io/dxh0is6o
Dietmar
PS: This one is build with very very old Ida. I think, it is the best, because other IDA versions show different machinecode???
⇗ https://ufile.io/yd1oggj9
and the laast one
⇗ https://ufile.io/ybkcc6ih
⇗ https://ufile.io/9otk450d Now I am out of ideas.
Before it was like slaughter of acpi.sys. Now comes chirurg for Bsod 0x000000A5 (0x00000011,0x00000008,yyy,zzz)
⇗ https://ufile.io/ncpa34rv

#5520

789

> Zitat von ⇗ diderius6 im Beitrag ¶ #5382

> modded acpi.sys outerspace

acpi.sys from service pack 3 for XP which you attribute to aliens ? What about service pack 2 for windows 2003 ?
And will the modified acpi.sys be available for download as the modified iaStor.sys is available ?

## Page 369

#5521

infuscomus

⇗ @diderius6
your acpi88.sys works!!! no DSDT mod required!
No USB 3.0 or NVMe just yet, I still need to integrate those drivers, but the SATA drives showed up just fine (Easy2boot has an additional command prompt portion to windows 7 setup where it lists all the drives detected)
Sorry I don't have pictures yet, phone died, recharging.
Hopefully we can now do the same for XP!
⇗
edit: added picture - NVMe driver working, USB 3.0 need to try again -
for USB 3.0 I think I forgot to include KMDF.

#5522

diderius6

⇗ @infuscomus
What a crazy fight with different Ida versions. Modern versions of Ida show parallel working flow diagrams??
I always think, in acpi.sys is everything done step by step. And I am right.
The last acpi88.sys I make with Ida 4.7.0.830 from 2003(!),
6 years before win7 was on the market, no Vista no XP SP2:))..
I am happy, that it works for you.
Because this crazy fight with Ida, now I understand for the very first time a lot, how acpi.sys works.
So, it gives for me also nice result
Dietmar
PS: And win7 is nothing than a clone from XP SP1.

#5523 | infuscomus | ⇗ @diderius6 can you try the same hack that worked on windows 7 acpi.sys with XP acpi.sys?

#5524

diderius6

⇗ @infuscomus
I thought, that I have done this hack on 28 December 2018 an acpi.sys for XP.
But just now I notice,
that this hack was not complete.
So, I try in the afternoon today, in 6 hours
Dietmar

#5525 | canonkong | ⇗ @infuscomus TRX40 can work on win7 with the mod acpi.sys mow? ⇗ TRX40 win7 64bit driver
#5526 | infuscomus | ⇗ @canonkong 32-bit only for now.

#5527

diderius6

⇗ @infuscomus
This is the last possible hack for acpi.sys in XP SP3 from outerspace ) (also with the very last update from ⇗ @daniel_k ),
for the very first beginning of Acpi ACPIInitializeDDB.
There are a lot of other possibilities, but this hack works against all solved Bsods before and
0x000000A5 (0x00000011,0x00000007,xx,yy)
and
0x000000A5 (0x00000011,0x00000008,uu,zz)
Dietmar
⇗ https://ufile.io/t2ok9fmg

#5528

daniel_k

⇗ @diderius6
We can "ignore" most errors, but the 0xA5 (0x03) cannot be ignored.
When processing non-critical methods, acpi.sys calls ACPIBuildCompleteGeneric, which does not crashes if fails.
When processing critical methods, acpi.sys calls ACPIBuildCompleteMustSucceed, which crashes if fails.
This usually occurs with opcodes in required methods (_INI and others) that acpi.sys (still) does not understand/support.
ACPIBuildCompleteMustSucceed can be replaced with ACPIBuildCompleteGeneric, but this only works if the DSDT tables have no incompatibilities, otherwise Windows crashes with 0xA (IRQL_NOT_LESS_OR_EQUAL).

#5529

infuscomus

⇗ @diderius6
I'm sad to say that this did not work unfortunately - same result as before.
So I'm guessing a windbg session is now required - I'm very new to this so I'll need alot of help with it.
edit:
I have an idea -
you were thinking it might be my RTX 2070 preventing boot, so this got me thinking.
Since I know windows 7 can boot in CSM mode with the RTX 2070 I am thinking of using BOOTVID.DLL from windows 7 in XP - Import table is a match.

#5530

diderius6

⇗ @infuscomus
It can be also the 4TB harddisk or any other device, that is connected.
So, disconnect all, disable in Bios nearly all,
look that in Bios is all set to maximal CSM compatibility
and make new try with this new acpi.sys from outerspace )
Dietmar
PS: Use original CD connected to a Sata port.

#5531 | infuscomus | ⇗ @diderius6 will do, On another subject regarding 4TB drives - I was able to see in a VM that these server 2003 drivers - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (361) - allowed me to see larger than 2TB disks in XP. But this was in a VM, real hardware might be different.
#5532 | daniel_k | A large disk won't prevent XP from booting. Probably the core count is the issue here, HAL or Kernel go nuts.

#5533

infuscomus

⇗ @daniel_k
I searched my motherboard manual and found this option -
Downcore Control
Allows you to select the number of CPU cores to enable (the number of CPU cores may vary by CPU).
(Default: Auto)
I'll see if lowering the number of CPU cores makes a difference.

#5534 | daniel_k | ⇗ @infuscomus Didn't know you could limit the number of cores on TR. Fingers crossed!

#5535

infuscomus

⇗ @daniel_k ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD
⇗
Yep!! that was it!! ( options available under it were labeled weirdly in BIOS Though, it was either "Two (1 + 1)" or "Four (2 + 2)" or Auto)
Damn, so the XP kernel panics with too many cores! That's a bummer.
Also, the generic USB 3.0 that Mov AX, 0xDEAD made does not work, but I found the source code for the windows 10 USB 3.0 driver (xhci and hub) in the shared source kit - Mov AX, 0xDEAD did you want to try and port that?

## Page 370

#5536

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5535

> Yep!! that was it!! ( options available under it were labeled weirdly in BIOS Though, it was either "Two (1 + 1)" or "Four (2 + 2)" or Auto)
> Damn, so the XP kernel panics with too many cores! That's a bummer.

What is the setting that fixes it? Two or Four? And how many available cores you see in Task Manager?

> Zitat

> Also, the generic USB 3.0 that Mov AX, 0xDEAD made does not work, but I found the source code for the windows 10 USB 3.0 driver (xhci and hub) in the shared source kit - Mov AX, 0xDEAD did you want to try and port that?

Error 10 in controller or hub in Device Manager?
Mov AX, 0xDEAD already said that the source is incomplete, missing many include files. And, to be honest, it wouldn't help you as probably should a resource allocation issue related to ACPI.

#5537 | diderius6 | nice!!!
#5538 | infuscomus | ⇗ @daniel_k Two (1 + 1) was the setting that fixed it. I only went into XP textmode setup to see if it froze or not, it no longer froze. So I haven't yet looking in task manager to see the core count (it's late I'll check tomorrow) - and I don't have PS/2 or USB 2.0 in this machine so I don't have a way to interact with XP right now.

#5539

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat

> Also, the generic USB 3.0 that Mov AX, 0xDEAD made does not work, but I found the source code for the windows 10 USB 3.0 driver (xhci and hub) in the shared source kit - Mov AX, 0xDEAD did you want to try and port that?

Hi infuscomus,
- I never tried to compile usb3.0 because part of *.h is missed, maybe they are external (from kernel tree) or maybe absense in leak.
- Sources is not identical with 8.0 binaries because they are rip from "Win 8.1/10 ARM", they want some newer functs from 8.1+ kernels (ExTimer* stuff)
- If someone can recreate missed *.h i think compiling is possible

#5540 | Mov AX, 0xDEAD | I have some news: acpi.sys SP1 sources can be converted to be like SP2/3 version (SP3 is same as SP2, no changes in binary), bindiff now show 100% byte-match codebase, confirmed to work on few pre-skylake bioses with Windows XP SP3

#5541

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5522

> PS: And win7 is nothing than a clone from XP SP1.

⇗ @diderius6 ..seems that way. I think what they have done mainly with W7 is remove the 16 bit functionality and make it more a true 32/64 -bit system. Then again, if you take all the stupid tablet stuff from W8 and W10, and built in spying and other toys, they're not all that different than XP. You guys have proved that by adapting W8 drivers to XP.

#5542

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #5529

> So I'm guessing a windbg session is now required - I'm very new to this so I'll need alot of help with it.

⇗ @infuscomus ...do you actually have a remote connection using windbg to XP? I started on that a while ago but had to put it aside while I did other stuff. I am just getting back to it now.
I had a remote connection from a W7 host to a W7 and W10 target using a USB to serial adapter on the host. I was able to run windbg on the host and trace through the W7/W10 target OS's. At this time I cannot re-establish the connection to either W7, W10, or XP.
There are some tricks to learn when using windbg but it's not all that difficult at a basic level. There is so much depth to windbg as to what it can dump and how to do that. That's the hard part, the language can get pretty heavy in how to address it.

#5543 | infuscomus | ⇗ @daniel_k Two (1 + 1) gives 8 cores and 16 threads. Can you try to patch the kernel to handle more CPU cores?
#5544 | infuscomus | ⇗ @canonkong Your patched Windows7 x64 ACPI driver worked - however none of the attached storage devices were detected, no SATA or NVMe even though they showed up just fine in Windows7 x86.

#5545

infuscomus

⇗ @diderius6 ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD
I tested these USB 3.0 drivers
backported win8.0 usbxhci driver
patched amdxhc 1.1.0.0276
patched etronxhci driver
along with daniel_k's acpi2015.sys
None of these USB 3.0 drivers are working on my Threadripper machine. All my motherboard USB 3.0 ports are useless :(

#5546

diderius6

⇗ @infuscomus
Take a look in Bios, if all those USB ports are enabled
and if there are other settings too.
What shows USB 3 xhci and USBhub in device manager
Dietmar
PS: Does USB mouse, keyboard work there?

#5547 | infuscomus | ⇗ @diderius6 No USB Mouse or Keyboard, so I'll need a remote desktop session to check device manager but I don't have network drivers installed in this XP image, so I need to reimage it with the network drivers installed.
#5548 | canonkong | ⇗ @infuscomus Here is two mod win7 64bit acpi.sys for TRX40, you can try it.
#5549 | infuscomus | ⇗ @canonkong the one you posted yesterday already got past the A5 BSOD, what changed in this acpi.sys?
#5550 | canonkong | ⇗ @infuscomus I used other ideas to modify the file, hope it can work fine.

## Page 371

#5551

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5543

> Can you try to patch the kernel to handle more CPU cores?

I have no idea how and where Windows enumerates and manages cores.

> Zitat

> No USB Mouse or Keyboard, so I'll need a remote desktop session to check device manager but I don't have network drivers installed in this XP image, so I need to reimage it with the network drivers installed.

I'm afraid that it'll be useless.
Probably issue with ACPI x PIC (interrupt controller).
Try to load XP setup in Standard PC (no ACPI), press F7 when you see the "Press F6 if you need to install a third-party SCSI or RAID driver".

#5552 | infuscomus | ⇗ @daniel_k Standard PC froze on "Setup is Starting Windows" - even with downcore set to Two (1 + 1) I did a quick test with a server 2003 ISO to see if it also had a kernel panic over CPU cores - it did not and gave an A5 BSOD (same BSOD as windows 7), so there is a way to fix the panic somewhere in 2003 kernel.

#5553

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5552

> I did a quick test with a server 2003 ISO to see if it also had a kernel panic over CPU cores - it did not and gave an A5 BSOD (same BSOD as windows 7), so there is a way to fix the panic somewhere in 2003 kernel.

Unfortunately we don't have a modded Server 2003 acpi.sys.
Try to use the one from XP.

#5554

diderius6

⇗ @infuscomus
If the very laast acpi.sys from outerspace ) not works,
you can send me your win2003 acpi.sys and I try to mod it against
Bsod A5 (0x11,0x08,xx,yy)
Dietmar
PS: May be it is really better, always to use the kernel from win2003.
But I dont know if it can be hacked, so that it appears always like XP SP3 to outer world.

#5555

diderius6

I make a strange discovery.
After I succeed to change in Bios from Sata => Standard Mode (IDE),
I get message, that the acpi.sys is defect (acpi.sys ist beschädigt).
This message for acpi.sys from outerspace ) I never saw before.
Now I change acpi.sys to the 5048 acpi.sys (very last version from ⇗ @daniel_k )
and modd it against Bsod A5 2001.
And voila, now my harddisk can be seen and for the very first time
I can direkt install XP to the most most crazy notebook Flex 10 Ideapad from Lenovo,
because the trap in Bios about sleeping for Sata is now over;))
Dietmar
PS:This was the hardest job ever to enable full Acpi on this Baytrail notebook. No mouse, brrr..;))
This is with the last x64 Bios for win10^^.
acpi.sys laast 5048 version also against A5 2001 Bsod
⇗ https://ufile.io/k778gsaw
Edit: Without acpi all USB2, USB3, USB mouse work. With acpi even no USB mouse.
In device manager is shown correct xhci Host controller and Usb3 root Hub but the usb devices have vid_&pid_
000000 numbers or are shown as unknown devices. This is for the modded USB3 diver from Win8 and from the AMD USB driver from ⇗ @daniel_k true. I also tried Daniels acpi15.sys, no difference.
⇗

#5556

diderius6

Found in Source in NT\public\sdk\inc\ks386.inc
for XP SP1 but this 00020H means 32 processors maximal is also true for Win2003 from the leaked source.
In the Debug version of ntkrnlmp.exe XP SP3 it is also mentioned MAXIMUM_PROCESSORS
but on other place or file is its value 00020H declared.
So, first test is, if this win2003 can run on Threadripper. If yes, the problem is at other place.
;
; Miscellaneous Definitions
;
MAXIMUM_PROCESSORS equ 00020H
INITIAL_STALL_COUNT equ 00064H
IRQL_NOT_GREATER_OR_EQUAL equ 00009H
IRQL_NOT_LESS_OR_EQUAL equ 0000AH
MUTEX_ALREADY_OWNED equ 000BFH
THREAD_NOT_MUTEX_OWNER equ 00011H

#5557 | Labudico | Hello! Please help me to choose right acpi for Asrock Z390M Pro4. If i select i486 mode windows XP installed with all drivers for SATA, NVME SSD, PAE 128GB. But in acpi mode i have these BSOD Labudico has attached images to this post ⇗ IMG_20201025_005911_187.j
#5558 | diderius6 | ⇗ @Labudico Make try with this acpi.sys Dietmar ⇗ https://ufile.io/3504p4rp

#5559

infuscomus

⇗ @diderius6
In NT\public/sdk/inc/ntpsapi.h there is also
// begin_nthal
#if defined(_WIN64)
#define MAXIMUM_PROCESSORS 64
#else
#define MAXIMUM_PROCESSORS 32
#endif
// end_nthal
you have the SP1 code right?
can you compile both an original SP1 ntoskrmp\hal and a modded ntoskrmp\hal with the increased maximum processor changes to ntpsapi.h and ks386.inc ?
This way we can spot the differences to see what we might need to change to increase CPU core count support.

#5560

infuscomus

USB 3 works correctly in windows 8.1 but ntoskrnl extender would need extra functions for it to work.
missing functions -

    ExCancelTimer
    ExDeleteTimer
    ExSetTimer
    ExAllocateTimer
    PoFxCompleteIdleCondition
    PoFxCompleteIdleState
    PoFxUnregisterDevice
    PoFxReportDevicePoweredOn
    PoFxIdleComponent
    PoFxCompleteDevicePowerNotRequired
    PoFxActivateComponent
    PoFxStartDevicePowerManagement
    PoFxRegisterDevice
    PoFxSetDeviceIdleTimeout
    ZwUpdateWnfStateData
    ZwQueryWnfStateNameInformation

that's alot of work to do.

#5561 | diderius6 | ⇗ @infuscomus Have you tried to install the very first win2003 on Threadripper board? If it works, the number of processors is not the main problem Dietmar PS: There may be also other files needed for XP boot, which depends on MAXIMUM_PROCESSORS.
#5562 | infuscomus | ⇗ @diderius6 server 2003 RTM? I have not. The one that worked was server 2003 SP2.
#5563 | infuscomus | ⇗ @diderius6 Server 2003 RTM - has the problem. Server 2003 SP1 - does not have the problem.
#5564 | diderius6 | ⇗ @infuscomus MAXIMUM_PROCESSORS appears at >45 places in Source code from XP SP1 for i386. Now I am looking, in which of this files the number of MAXIMUM_PROCESSORS is set to 32 and I simple change it everywhere to 64 and compile Dietmar

#5565

diderius6

MAXIMUM_PROCESSORS is set to 32 in
hal386.inc
Ks386.inc
ndis.h
ndismain.h
ntddk.h
nthal.h
ntifs.h
ntpsapi.h
wdm.h
winnt.h
So, at least MAXIMUM_PROCESSORS appears in halmacpi.dll (not mentioned in Debug halmacpi.dll) and ntkrnlmp.exe (in Debug version mentioned)
Dietmar
PS: Other variables may depend on MAXIMUM_PROCESSORS <= 32, so there is no garantie, that it will work.
Until now I do not find in the Debug Binaries from XP SP3, at which place MAXIMUM_PROCESSORS is set to 32.
This may be, because the place, where it is set to 32, may have another name.

## Page 372

#5566 | kukonosau | ⇗ @diderius6 Hello. WinXP64 is unstable working on Ryzen. But how do you fix errors IRQL_NOT_LESS_OR_EQUAL and SYSTEM_SERVICE_EXCEPTION in post #2202? And how to programmers drivers? Where is literature? I must learning C/C++ or 7IDAFreeware?
#5567 | infuscomus | ⇗ @kukonosau I would suggest using XP-32bit instead.
#5568 | kukonosau | ⇗ @infuscomus Okay, I know. But I am interesting x64 Edition. Is Patch Integrator for XP64 exist? ACPI from #2202 by diderius6 is last acpi for XP64? Where is last acpi for XP64 for Ryzen?

#5569

infuscomus

⇗ @diderius6 ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD
I setup an XP install in VMWare with acpi,ahci,usb3,pae all integrated - imaged that VM and then restored that VM to my real threadripper hardware.
I've gotten to the XP desktop on threadripper in ACPI mode with downcore option, but I have no USB and no network - however I can see there is an XP driver for my NIC HWID but without input I can not install it.
any way to install the NIC drivers without input?

#5570

diderius6

⇗ @infuscomus
With Nlite this is possible
Dietmar
PS: I just put all needed XP SP1 files from Source for 32 => 64 processors,
now compiling on very fast compi, cross fingers:))..
Until now no errors..

#5571

Labudico

⇗ @diderius6
Thank you! This ACPI work!
My PC:
CPU: Intel i3 8350k
MB: AsRock Z390M Pro4
RAM: 32GB (2x16) Samsung ECC Reg
VGA: GTX 1060 6GB
SSD Sata and SSD NVME
I installed system from DVD-rom, Easy2boot and Yummi not working on my motherboard, i don't now why, whith him only in i486 mode.
whith this ACPI all work good, if only one problem - not work restart - system freeze after end all tasks, PC off with only when click Shutdown. It's possible to change ACPI on istalled system?
My Windows image with: SATA driver, NVME driver, ACPI (Dietmar), PAE 128GB, USB 3.0 driver - see on my screentshot - I upload this image on the mega.nz
Labudico has attached images to this post ⇗ 2020-10-26_003927.png

#5572 | diderius6 | ⇗ @Labudico Niceee:))! I think, soon we have XP SP3, which can run on 64 cores. Just compare normal XP SP1 files with them with updated for 64 processors and put this changes to XP SP3 in binaries, Dietmar

#5573

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5412

> Unrelated to ACPI
> it seems that win2k3 supports accessing larger than 2tb disks - and the import tables match XP.

It doesn't work in XP SP3 on a 4TB disk connected to a sata port:
⇗
nothing changes even using the Paragon GPT Loader included in the WinXP-IE 2020.09.09 ISO.

#5574 | infuscomus | ⇗ @Andalu damn, I was hopeful it would work because it worked in a VM, but I guess not.

#5575

diderius6

Compiling is ready, in 1 hour(!) XP SP1 compiled.
Ntoskrnl, hal.dll are all there with 32 => 64 processors.
But I get 1 error in build log:
12>NMAKE : U1073: don't know how to make '..\analysis\filtercf\obj\i386\dvranalysisfiltercf.lib'
Now I change files against new compiled and look, if XP SP1 starts with them
Dietmar

#5576 | lsmlcx | Where can i get the WinXP-IE 2020.09.09 ISO ? thanks. -------------------------------------------------- I have got. ⇗ https://www.zone94.com/downloads/softwar...ntegral-edition
#5577 | Labudico | Driver for Intel(R) Ethernet Connection (7) I219-V where i can donwload for Windows XP?
#5578 | diderius6 | ⇗ @Labudico Until now, they do not exist. Until now, very last version for XP is i218 (all versions) Dietmar
#5579 | Andalu | ⇗ @infuscomus I too had hoped for that. I still don't remember the procedure I applied a few years ago to have a 4TB MBR disk recognized.

#5580

Labudico

> Zitat von ⇗ lsmlcx im Beitrag ¶ #5576

> Where can i get the WinXP-IE 2020.09.09 ISO ?
> thanks.

Image based on WinXP-IE 2020.09.09 for AsRock Z390M Pro4
⇗ https://mega.nz/file/UYVEABwb#tkfb1STY4a...rlFD-vDSTIr_x3o
Cleaned WinXP-IE image:
⇗ https://mega.nz/file/sYEngaRL#ceX3Nc8iZc...f8TxyBltcu3VsbU

## Page 373

#5581

diderius6

Yeppp,
miniXP with full acpi support starts with brandnew for 64 processors build
ntkrpamp.exe
halmacpi.dll
Now I only need a compi with 64 processors ;))
Dietmar
⇗

#5582 | infuscomus | ⇗ @diderius6 can you PM me the ISO? I'll test it.

#5583

diderius6

⇗ @infuscomus
Until now, it is not possible to build an *.iso
from the files of the leaked XP SP1 source.
I can send you my minixp with 64 processors for hal.dll and ntoskrnl.exe,
it has Iastor driver and full acpi support, it should run in any virtual surroundings
Dietmar
Just copy and paste it to your harddisk and after run diskcheck, thats all.
At once we will see: Works or not. May be others files build for 64 processors are also needed.
I have them.

#5584 | infuscomus | ⇗ @diderius6 OK, send me your minixp.

#5585

schreiberstein

Okay... Back to XP...
I have recently upgraded my computer to the Z490 platform.
- Motherboard: Gigabyte Z490 Vision D
- CPU : Intel Core i9 10850K
- RAM: 4 x 16GB DDR4 3200 MHz (64GB)
- GPU - SLOT 1 : Sapphire AMD Radeon RX 5700 XT Pulse
- GPU - SLOT 2 : Sapphire AMD Radeon 7970 Dual-X (3GB VRAM)
- Intel NIC Onboard : i225 2.5G (8086:15F2)
- Intel NIC Onboard : i219-V 1G (8086:0D4D)
- Audio: Realtek ALC 1220 (compatible OOTB with last XP driver)
Attached via Exsys 1010 PCI-Express to PCI box for enhanced XP functionality
- Intel PRO/1000 PCI card
- Creative Audigy 2 ZS
Due to a slight lack of time, I decided to install via the XP Integral Edition 2020.9.9.
I did not look into XP further previously on my Z390 Designare in late 2019 after I encountered several deal breaking issues:
- AMD USB XHCI driver is awful => Breaks 16-Bit applications (NTVDM crashes immediately)
--> Dead NTVDM also resulted in many program installers not working (perhaps due to 16-Bit code paths for compatibility)
--> USB devices often did not work upon reboot
--> Flaky connection
--> Low transfer speeds
- Booting was unreliable (often stuck on black screen)
- Switching graphics drivers would result in annoying black screen (only safe mode workaround)
- Less than 1GB of RAM usable
- Slow boot
When my used Nvidia Geforce 780 GTX just randomly died, I did not continue my experiments.
Now I have a Radeon 7970 and it is excellent.
I was at first scared to purchase a motherboard (Z490 Vision D) without any PS/2 ports. (You may purchase the Vision G variant which has one PS/2 port where both keyboard and mouse can be connected via a Y-cable adapter)
However, the new Windows 8 based XHCI driver works absolutely flawless! So, no regrets in regards to giving up PS/2 for good.
I NEVER had any issues so far. Installation worked fine. Very stable and good speeds!
Excellent, native experience! And best of all, NTVDM works and 16-Bit applications are not a problem anymore.
------
Right now, I am using XP with:
- Backported Microsoft XHCI driver
- Backported Microsoft AHCI driver (should probably switch to Intel RST based driver, but don't know which one as of right now)
- Integral patched ACPI.sys for modern systems
- Integral HAL timer patch
It works much much better than last year! :-)
I also attempted the 4GB and ALL RAM patch for ntoskrnl, but it did not work properly:
The system boots with both configurations and detects 4GB or 63.xGB respectively.
Problems:
- daniel_k Creative Audigy driver audio output is only noise (ASIO and DirectSound can work fine though, but not as Windows Mixer device) - Realtek works just fine
- When NIC and Audigy are used, the system can just hang
- Windows GDI (UI, scrolling, etc.) performance is DRAMATICALLY reduced! Window moving is choppy, scrolling in browser is awfully slow. TOM2D benchmark score decreases from 1400 to 400
Strangely, prime95 and other memory intensive benchmarks did not report any errors, crash the system, or report any corrupted results, even when it used way more RAM than the detected 890 MB.
I patched the files myself via the presumably latest patcher.
I hope memory detection can be improved by extending XP (perhaps with the newly discovered source code) to not use any conflicting memory regions.
At least 4GB would be very sweet. Or at least more than 1. Cannot imagine 1GB used to be considered "WOW! THATS OVERKILL!"
Some 2000 workloads are really fine on this machine. But opening a web browser in 2020 will really cripple this machine.
Old games, old apps, EAX sound work as they should.
It would be nice to get Intel Turbo Boost. It was enabled (?) by default on my Z390 Designare XP setup (4.8 GHz), but on my Z490 setup it is LOCKED at 3.6 GHz, no matter the workload.
(Turbo Boost works on any other operating system)
And yes, hyperthreading is enabled and I see 20 threads.
Boot is also significantly faster. When the boot screen disappears on my 5700 XT, my 7970 gets activated as primary display output. The 5700 XT is only used when a MS-DOS application goes into fullscreen mode.
I have a KVM-Switch and easily can switch inputs for this purpose.
It would also be nice to have some kind of native Intel network driver for any of the onboard NICs.
Overall, I am very very happy to see so much progress over the past year, especially in regards to the USB3 driver.
Terrific work!
Thank you very much to everyone involved!
Cheers,
schreiberstein

#5586 | diderius6 | In acpi.sys Debug version of XP SP3 is MAXIMUM_PROCESSORS not mentioned Dietmar
#5587 | Andalu | Thanks to the own formatting utility the WD external USB3 4TB disk drive is now correctly recognized in XP: ⇗ Now I have to find a solution for the seagate 4TB disk
#5588 | Andalu | ⇗ @schreiberstein thanks for your very complete report which is an excellent reference for those who will choose to use XP on a comet lake system .....I am tempted too :) I am confident that the PAE issue can also be solved.

#5589

infuscomus

⇗ @diderius6
So I was not sure how to properly get your minixp onto my XP SSD - So I instead decided to swapout the ntoskrnl and hal on an original XP SP1 ISO with the modded version and rebuild the ISO use nlite.
XP_SP1_MOD.ISO - gets to "Setup is Starting Windows" and then... reboots immediately! damn!
does SFC check ntoskrnl and hal? if so, how do I overwrite it?
-----
Can you try compiling again just with fewer changes this time?
try changing only these lines of code?
ntpsapi.h - 32 -> 64
nthal.h - 32 -> 64
ks386.inc - 00020h -> 00040h
hal386.inc - 00020h -> 00040h - there are 3 hal386.inc in XP source, did you get them all?

#5590

sashbbbb

Hello friend!
Need new acpi.sys Windows Xp for notebook lenovo laptop 100-15iby (Intel Celeron N2840-Bay Trail-M 2160 МГц, DDR3L 2 ГБ)
All aspi 2019 (WinXP-IE Optional Patch Integrator v2.3.4 Stable) not working!
Replacing files (storport.sys,STORAHCI.inf,storahci.sys,)gave nothing!
Not working Windows PE, Windows XP SP1, Windows XP SP2, Windows XP SP3,Windows 2003.
working only all windowsx86x64 7,8,10, 7PE,8PE,10PE,
MAXIMUM it turned out
windows starts to load blue screen appears and the computer shuts or error 0x000000b4
sashbbbb has attached images to this post ⇗ led of.jpg ⇗ b4.jpg

#5591

smedos

> Zitat von ⇗ schreiberstein im Beitrag ¶ #5585

> Okay... Back to XP...
> I have recently upgraded my computer to the Z490 platform.
> - Motherboard: Gigabyte Z490 Vision D
> - CPU : Intel Core i9 10850K
> ...
> - Integral patched ACPI.sys for modern systems

Which version of acpi.sys are you using?
I cannot find the correct acpi.sys for my Gigabyte B460M AORUS PRO (chipset B460 Express) board with Comet Lake CPU.
Windows XP installation stops very early when it detects hardware.
Maybe I need to disable some options in the BIOS?

#5592 | canonkong | I successfully modified the win7 64bit ACPI.sys and no A5 BSOD no A5 BSOD any longer. ⇗ ⇗
#5593 | infuscomus | ⇗ @diderius6 also, found a comment in allproc.c // Loop asking the HAL for the next processor. Stop when the // HAL says there aren't any more.

#5594

diderius6

@infuscoumus
I make a new xpmini,
with all the files that are avaible from XP SP1 all modded for 64 processors.
Most easy is, to copy and paste them on a harddisk, run diskcheck and run them.
Other possibility is, to change them all (!) one by one on the setup *.iso CD from XP SP1
(as long as there is a file with this name also on CD)
Dietmar
PS: I think, much more files depends on processors 64. And this is for us until now the only way.
This minixp works on my compi, but I dont have 64 processor cpu ;))..
"there are 3 hal386.inc in XP source, did you get them all?"
Yes, I check before compiling everything twice and so it works.

#5595 | infuscomus | ⇗ @canonkong I didn't know you had a threadripper system - Can you test to see if XP has the same behavior on your system as it does on mine? (not booting when all cores are enabled)

## Page 374

#5596 | diderius6 | ⇗ @sashbbbb Bsod 0x000000b4 means VIDEO_DRIVER_INIT_FAILURE, so you have to enable vga video on boot Dietmar
#5597 | canonkong | @ infuscoumus It is my friends PC, he only help to test win7 64bit, because he still need it to work.
#5598 | infuscomus | ⇗ @canonkong Oh OK, no worries then.
#5599 | infuscomus | ⇗ @diderius6 Just to be sure, what are the steps needed to setup your minixp? I don't want to mess it up. can I have the .PDB symbols for your modded ntoskrnl and hal? also, have you tried integrating your modded ntoskrnl and hal into an original XP SP1 ISO? If not can you try that? I want to know if it also immediately reboots on your machine too.

#5600

diderius6

⇗ @infuscomus
The story, how I build this minixp is 12 years ago.
Microsoft wrote about XP, that it is not possible to build such an XP,
without any WPA and so on^^.
I took a look at Windows Embedded,
how there XP image is build.
And this procedure I repeat step by step and the result is this minixp.
I think, that you do not need to repack the drivers, just replace them unpacked on CD,
one by one. I have not tested. It can only work on a CD, where you have integrated Iastor.sys via Nlite for example.
Any Storport driver does not work with XP SP1. In a virtual machine it is not needed to integrate the Iastor driver,
because it can use the IDE driver from XP.
The only problem, why it may be not work is, that until now not all Source Code is there,
so some files are from original XP SP1
Dietmar
PS: It works on any compi, where iastor works. When you get Bsod 0x7B you have to change in registry
of the minixp the VEN_&DEV_ number to this from your PC.
When you get "Ntldr not found" you forget to run diskcheck after copy and paste of all the files from minixp.
PDB
⇗ https://ufile.io/spqvw4zu

#5601

infuscomus

⇗ @diderius6
OK and regarding the installation of minixp
1) format existing XP drive
2) extract minixp.7z to XP drive
3) run diskcheck on new minixp drive
--
anything else needed?

#5602 | diderius6 | ⇗ @infuscomus Hi, yes, may be you have to change the VEN_&DEV_ number for the Sata Iastor in the registry of the minixp to yours. On a virtual machine you can use the IDE driver. Storport does not work. Dietmar
#5603 | infuscomus | ⇗ @diderius6 diskcheck doesn't work in cmd on windows 10, what have I missed?
#5604 | diderius6 | @ infuscomus You can run diskcheck on any other compi, where you connect this harddisk with minixp Dietmar
#5605 | infuscomus | ⇗ @diderius6 how do I run diskcheck? If I skip diskcheck does it work?
#5606 | diderius6 | ⇗ @infuscomus I think, you get "ntldr not found". When you have working XP, connect your harddisk with minixp and run Extras -> Diskcheck (with correcting errors in filesystem) (in XP at the place above defrag) Dietmar

#5607

diderius6

⇗ @infuscomus
I just try your idea to build an *.iso from this minixp.
In a first step I replace all drivers from XP SP1 with 64 cpu, without recompress them.
Cant believe,
works:))
Dietmar
PS: So, I am able to build an XP.iso with all the files from leaked and modded XP SP1.

#5608 | isopc1999a | ⇗ @canonkong How stable is windows7 on TRX40 motherboards?
#5609 | infuscomus | ⇗ @diderius6 I may have built my modded XP SP1 ISO incorrectly - can you send me yours?
#5610 | diderius6 | ⇗ @infuscomus When I change all files to the modded ones on *.iso it also reboots for me. So, until now only minixp Dietmar

## Page 375

#5611 | infuscomus | ⇗ @diderius6 I'm going to send you the hard disk imaging software I use - can you use it to image your minixp disk so I can easily restore an exact copy to my machine?
#5612 | diderius6 | ⇗ @infuscomus I think, this software can make problems, because it is very unnormal XP. Just copy and paste the files from minixp to your harddisk Dietmar

#5613

diderius6

⇗ @infuscomus
I make a try, with only replacing hal.dll and ntoskrnl.exe (all full acpi versions)
with the modded files on the XP installations CD.
Gives also reboot after message "Setup starts Windows".
This means, that there are other dependencies too on the installations CD,
that I dont know, so only minixp
Dietmar

#5614 | diderius6 | ⇗ @infuscomus Prepare your harddisk with RMPrepUSB 2.1.739, harddisk in an usb box Dietmar
#5615 | Labudico | Windows XP on AsRock Z390M Pro4
#5616 | infuscomus | ⇗ @diderius6 I successfully copied your miniXP onto my SSD. I saw 2 options in your boot menu so I tested both. Unfortunately, immediate reboot, same as XP SP1 ISO. So it seems 32->64 MAXIMUM_PROCESSORS is not the solution.
#5617 | infuscomus | ⇗ @diderius6 In KeStartAllProcessors of 2k3 SP1 kernel and later there is some extra code not in XP kernel. ⇗ I'm not sure if this is what makes it work on threadripper though.
#5618 | canonkong | ⇗ @isopc1999a Work very stable, and I also test the MOD ACPI.sys on an A5 BSOD intel 10th notebook, it also work well, no A5 BSOD. ⇗
#5619 | diderius6 | ⇗ @infuscomus Now a Windbg session can show you all, why reboot happens Dietmar

#5620

sashbbbb

> Zitat von ⇗ diderius6 im Beitrag ¶ #5596

> @sashbbbb
> Bsod 0x000000b4 means VIDEO_DRIVER_INIT_FAILURE,
> so you have to enable vga video on boot
> Dietmar

When enable vga video on boot, the computer thinks for a long time at boot and then turns off.
Needed aspi.sys on the basis of Windows 8 or Windows 7.

#5621 | diderius6 | ⇗ @infuscomus Today in the afternoon (in 7 hours) I try to build a minixp for 64 processors and full acpi with IDE drivers Dietmar

#5622

diderius6

⇗ @infuscomus
May be the reason for reboot of minixp is just,
that the driver for the Sata harddisk cant be loaded.
And when it is an AMD board,
iastor will not work there at all
and I think an IDE driver also not
Dietmar
PS: Storport driver does not work under XP SP1.

#5623 | infuscomus | ⇗ @diderius6 I recall you said XP source code has a storport, does that work?
#5624 | isopc1999a | ⇗ @canonkong Good news for upcoming platforms users
#5625 | diderius6 | ⇗ @infuscomus This storport driver from XP SP1 sources does not work together with the driver from ⇗ @skullteria, I tested Dietmar

## Page 376

#5626 | infuscomus | ⇗ @diderius6 try this storahci maybe? ⇗ https://sourceforge.net/projects/storahc...ows-2003/files/ source code is available too
#5627 | skullteria | Well, Storport from XP SP1 or Server 2003 RTM has missing functions than 2003 SP1 or SP2 versions
#5628 | diderius6 | ⇗ @infuscomus ⇗ @skullteria Yes, I tested a lot of different storport.sys together with the new storahci.sys driver from Kai. Does not work on XP SP1 Dietmar
#5629 | ruthan | With source code, is not possible now add just something like WinXp start step by step, or some more debug messages or info, about method / line when it crashes or something like that? To make crashes more user friendly?
#5630 | diderius6 | ⇗ @ruthan Not for all files there is Source Code. And most what you ask for can be done, just crazy hard work Dietmar
#5631 | infuscomus | ⇗ @diderius6 ⇗ @daniel_k How do I tell XP to not prompt with the Add Hardware Wizard? I want to get the NIC driver installed so I can remote desktop into it to see what device manager says about the USB not working, but the prompt is preventing the NIC from installing.
#5632 | ruthan | I did same thing, sideloaded NIC drivers, but it was just through nlite, NIC was detected during installation.. not through some bat installer etc.
#5633 | ruthan | Other option is use Paragon HDD Suite - highest editions, they have P2P adjust was means that they are able from boot CD / USB add some drivers to existing system.. Other option is just temporarily add some NIC, which have already build in XP drivers.
#5634 | infuscomus | ⇗ @ruthan The backported USB 3.0 drivers not working is making this way more of a hassle than it should be.

#5635

ruthan

Lets start with NIC drivers, its more easier..
USB is other matter, more complicated - i made some spread sheet about it:
⇗ https://docs.zoho.com/sheet/published.do...22a5b950420cb22 you really need to connect USB devices one by one, to discover and avoid ones which are causing login screen black screen freeze.
Maybe, maybe if these ebay Chinese PS/2 PCI-E cards are complete fakes, now with source codes some can make them working to avoid these problems.
⇗ https://www.ebay.com/itm/PCI-Express-To-...8oAAOSwtzVfZ5IwThe following contents have been linked to this post:

#5636 | infuscomus | ⇗ @ruthan The black screen freeze was caused by having too many CPUs - more than 32 and XP dies. USB 3.0 not working is a separate problem.

#5637

diderius6

⇗ @infuscomus
Set up a XP SP1 on Threadripper with the acpi.sys from outerspace ) with reduced processor number.
Then change all files against the files from minixp. Winlogon you can change or not, 2 different tries.
config (registry) do not change against the config from minixp.
Then set the processor number to full and see what happens
Dietmar
PS: Next try would be vice versa: Change only config on minixp and add the missing drivers for the harddisk to minixp.

#5638 | infuscomus | ⇗ @diderius6 I'm not sure how to setup XP SP1 without storport - I have no AHCI driver without it.
#5639 | diderius6 | ⇗ @infuscomus In your special case I think the only possibility is to boot XP SP1 from Ram Dietmar
#5640 | infuscomus | ⇗ @diderius6 regarding the NIC add hardware install wizard prompt do you know of a way to skip it? - remember I don't have any input devices at the moment.

## Page 377

#5641 | diderius6 | ⇗ @infuscomus I do not know a way to do this. The only way in my eyes is, to integrate the Nic driver in the Setup CD Dietmar

#5642

ruthan

> Zitat von ⇗ infuscomus im Beitrag ¶ #5636

> The black screen freeze was caused by having too many CPUs - more than 32 and XP dies.

Are sure, i would expect some bluescreen instead of that.. regardless, i saw zillions of black screen caused just by connected incombatible USB devices to port, even without any drivers.

#5643 | infuscomus | ⇗ @ruthan I'm sure its a more than 32 CPUs problem - I can repeat the freeze by just turning on more CPU cores.

#5644

Mov AX, 0xDEAD

Hi ,
Unfortunately HAL XP SP1 sources is not same as SP3 version, probably W2003 sources was used (for example some fields in binary was changed to from "long" to "long long", same changes applied to W2003 HALs sources )
Also SP2/SP3 HALs was compiled with disabled definition _HALPAE_ (important option for translation physical adresses + dma stuff), so physical adresses are equalent to usual Pointer to memory.
If you try to repeat sp3 build and disable _HALPAE_, you will get compilation error on few functions because MS did some other changes to make it compilable

#5645 | daniel_k | ⇗ @Mov AX, 0xDEAD Even with the patcher you've guide me to create, much more patches are needed? Do you think it's possible or feasible to completely replicate PAE from W2003?
#5646 | infuscomus | ⇗ @Mov AX, 0xDEAD I'm still not having any luck with USB 3 on threadripper - do you have any new drivers I could try? also, any news on ntoskrnl extender?

#5647

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5412

> it seems that win2k3 supports accessing larger than 2tb disks - and the import tables match XP.

The w2k3 drivers worked in XP for my seagate 4TB GPT disk, but only if mounted on a sata to USB3 adapter with the ASM1051 chipset and its older firmware version (101026_00_68_00).
None of the other adapters I have tried work (chipsets JMS577, ASM1153E, VL715) or maybe I need to find the older firmware versions for them too.
With the original XP v5512 drivers the same GPT disk is not detected.
Below the image with the 'bytes per sector' (512) as recognized in Win10 for the drive connected to a sata port and if inserted in the original USB3 enclosure (a seagate expansion with the JMS577 chipset):
⇗
The same GPT disk recognized in XP with the ASM1051 sata to USB3 adapter (4096 'bytes per sector'):
⇗

#5648

diderius6

⇗ @infuscomus
On this weekend I make a try for ramboot of my minixp.
This is very interesting for me also,
because this XP will be booted on any compi
without any modification
Dietmar

#5649

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #5645

> @Mov AX, 0xDEAD
> Even with the patcher you've guide me to create, much more patches are needed?
> Do you think it's possible or feasible to completely replicate PAE from W2003?

We patched only place where hal select creating dma map registers or not, but after looking at sources i see much more places with checks about active PAE or not. Problem is lack of sp3 sources, for controlling PAE MS used newer variables, W2003 SP2 and WinXP SP3 HAL's sources is next generation, but bindiff show many changes between.
Currently i dont see any tips to improve SP3 HAL, it work properly with "proper" vendor's drivers, so maybe HAL itself is good enough.
Also i know a little about DMA, too "dark" place for me

#5650

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5646

> @Mov AX, 0xDEAD
> I'm still not having any luck with USB 3 on threadripper - do you have any new drivers I could try?
> also, any news on ntoskrnl extender?

Hi infuscomus,
- I dont have more usb3 drivers, Win8.0 was last, Win8.1 require implementing TimerEx functionality, i just lazy to do this ):
- What news are you talking ? extender has enough exports required by popular drivers, i dont know what more to add, some ask me to add videodriver's funcs, but it is useless because native vista+ video drivers not compatible with XP due significal changes in graphic subsystem

#5651 | infuscomus | ⇗ @Mov AX, 0xDEAD I think it would be good to get the Windows 8.1 USB 3 driver working in XP to have compatibility for the few remaining USB 3 controllers that don't work with the windows 8.0 driver. How much extra work would be required to get the windows 8.1 USB 3 driver working?

#5652

gordo999

Question on the use of windbg to trace the code on system modules. My experience with windbg is that it will not allow you to trace through system code (ring 0). At the entry point to system code you will encounter a 'SYSENTER' function which prepares for the transition from user mode to kernel mode. Windbg seems to jump over that call while completing the system code but it does not allow you to enter system code and see what's going on.
In the old days, I used the softice debugger and it would step into system code and allow you to trace through it.
If anyone knows of a way to do that with windbg, I'd appreciate you sharing that knowledge. With softice, I could trace through Hal or any other system code. Not with windbg so far. I am currently tracing through an app and windbg allows tracing through ntdll.dll but it is a user mode module. At least, it transitions user code to system code. Whenever there is a call into the kernel code, a SYSENTER appears and windbg will not enter system code.
There may be a way to set a BP somewhere in system code and get past SYSENTER, I don't know.

#5653

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5651

> I think it would be good to get the Windows 8.1 USB 3 driver working in XP to have compatibility for the few remaining USB 3 controllers that don't work with the windows 8.0 driver.

Your issue is related to the ACPI driver.
It is not properly enumerating/assigning resources to the devices.
⇗ @canonkong has just confirmed that my ported Win8 USB3 driver works on his friend's TRX40 system running Win7.

#5654 | infuscomus | ⇗ @daniel_k OK, so which ACPI driver works for TRX40?

#5655

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #5654

> OK, so which ACPI driver works for TRX40?

I think there is currently none.
You are the first one to try XP on TRX40 here.
Unless someone steps in and implements ACPI 5.0 using the leaked souce code, I think there isn't much we can do for the existing patched acpi driver.
Did you try MPS Uniprocessor / Multiprocessor PC using fewer cores?

## Page 378

#5656 | infuscomus | ⇗ @daniel_k MPS does not work on any of my AMD systems - no MPS table in BIOS.
#5657 | daniel_k | ⇗ @diderius6 Send me a PM with the drivers you use (storport.sys and xhci driver) as I don't know which version you're using. I'm patch them for you. Tried them myself here, works just fine. Did some researching and learned that the missing import, KeFlushQueuedDpcs, does nothing on SP2. Serioulsly, it's just a RETN 0.

#5658

Rockylpx

⇗ @Fernando
Take a look at my setup. No BSOD so far . Front Usb ports not working. wireless keyboard with mouse works fine. Internet works . I followed almost all the suggested methods. below are the missing drivers .
amd Gpio driver
amd smbus driver
amd gpio ( for promontory)
Balanced power plan
amd pci device driver
oem applications profiles
Drivers . These only exists in x64 bit. it was on the CD that came along with motherboard . Can you help me
Thank you once again
Rockylpx has attached images to this post ⇗ Capture-0.jpg

#5659

Fernando

⇗ @Rockylpx:
Welcome to the Win-RAID Forum!
Since you problems have
a) nothing to do with the topic of ⇗ >this< thread, where you posted them, and
b) you are using the extremely old OS Windows XP,
your post has been moved by me into this already existing thread, which is the home of our XP experts.
I cannot help you myself and hope, that you will get some support here. It may be a good idea to check and post the HardwareIDs of the devices, which are shown within the Device Manager with a yellow question mark.
Good luck!
Dieter (alias Fernando)

#5660

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5651

> How much extra work would be required to get the windows 8.1 USB 3 driver working?

You already wrote answer - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (371)
FX - power framework, not exist on pre-win8 kernels, just return zero/error
Wnf - another crap, return zero/error
need only this:
ExCancelTimer
ExDeleteTimer
ExSetTimer
ExAllocateTimer

#5661

Mov AX, 0xDEAD

Today played with "KernelEx" by Xeno86, this amazing tool allow add to existing DLL any custom code written in C or ASM !
Main feature is patch engine, it can do many things automaticaly - extend export table, add new imports, create final file. Tools has some little bugs (for example it erroneous process DLL with bound imports, many Windows's dll have this import type). Support of C language is very limited - only GCC supported with additional limits on code struct.
Still unique tool for adding new export to critical files like ntdll.dll becase if you try use usual redirection tricks on it, you get troubles

#5662

schreiberstein

I mistakingly assumed that this ~900MB RAM limit would only occur on Windows XP SP3 (without PAE patch).
However, the situation is the same on i686 Linux.
I submitted a ticket to Gigabyte asking if there is some kind of fix for the abysmal amount of available memory in 32-Bit mode.
Well, I doubt much will come from it, but Gigabyte has helped some of us hackintosh folks in the past (supplying a modified BIOS for MSR unlocking, I believe).
Maybe they will have mercy.
schreiberstein
⇗ @Rockylpx
Interesting how you have 3.25GB with 3rd gen Ryzen.

#5663

diderius6

Waaoh ,
I just get an storport.sys from ⇗ @daniel_k
that works with the Storahci.sys from Kai Schtrom under XP SP1,
nicccee,
now XP SP1 comes very near to XP SP3
Dietmar
PS: I just install my Optane nvme on XP SP1 with this nice storport.sys from ⇗ @daniel_k .
⇗

#5664 | ruthan | @ schreiberstein I had some problem, you need WinXPAE fix from this thread to pach dlls,i have one from post 3631, i dunno if there is newer one.
#5665 | infuscomus | ⇗ @daniel_k I just tested your ACPI 2015 version to see if USB 3 enumerated - no such luck.

#5666

YuriyCN

[ENGLISH]
Updated set of solutions for installing Windows XP on a modern PC from 10/27/2020 (detailed descriptions, mod drivers, programs, ready-builds OS)
[RUSSIAN]
Обновленный комплект решений по установке Windows ХР на современный ПК от 27.10.2020 (подробные описания, модернизированные драйвера, программы, готовые сборки ОС)
TXT (65KB) - ⇗ https://yadi.sk/d/HAR4hfxiAenpbg

#5667

infuscomus

⇗ @diderius6
I tested your new minixp -
With SMT (Simultaneous Multi Threading) disabled = 24 CPUs
Option 1 - XP Logo - 7B BSOD
Option 2 - XP Logo - 7B BSOD
With SMT (Simultaneous Multi Threading) enabled = 48 CPUs
Option 1 - instant reboot
Option 2 - instant reboot
So it seems setting MAXIMUM_PROCESSORS to 64 was not the correct solution and it must be something else.

#5668 | diderius6 | ⇗ @infuscomus Dows minixp boot with 1+1 processor setting? If not, still the harddrive is not recogniced Dietmar
#5669 | infuscomus | ⇗ @diderius6 On 1 + 1 setting it also 7B BSOD

#5670

Rockylpx

⇗ @schreiberstein
This OS was installed as it is . Drivers were manually inserted ( front usb still not working) I didn't meddle with the boot.ini or fix the PAE . It has actually 16 GB DDR4 . Until I find the last 32 bit drivers I can't go any further
Rockylpx.

## Page 379

#5671

diderius6

⇗ @infuscomus
I make a new XP SP1,
which boots from NVME. So,
put this XP SP1 to an nvme disk.
I changed in this XP SP1 only ntoskrnl.exe and hal.dll
(both full acpi support) against the versions build for 64 processors
Dietmar

#5672 | schreiberstein | ⇗ @daniel_k Do your Creative drivers for the X-Fi series work more robustly on Windows XP with PAE than the drivers for the Audigy 2 series? I am mostly concerned about using EAX properly when PAE is enabled.
#5673 | daniel_k | ⇗ @schreiberstein My drivers have no actual driver changes, user mode only. Last time I've tried these cards on XP with PAE enabled, they didn't work. Will see if there is something we can do about it. Curiously, C-Media cards do work fine, although they have just audio controllers, no DSP

#5674

savagebanana

Hi everyone,
so i am trying to install windows xp on my asus x542uq laptop.
I have created bootable xp cd and i have used iso from this link
⇗ https://www.zone62.com/downloads/softwar...?page_comment=1
I have integrated optional ahci drivers.
The thing is when the setup starts copying file...it starts giving errors such as "setup cannot copy file...."
I have tried creating 2-3 more bootable cd but getting always same result

#5675 | infuscomus | ⇗ @savagebanana If you're burning a CD, burn it on a slower speed and use verify after burning.
#5676 | gordo999 | ⇗ @daniel_k ...I am not using PAE and my Xf-i card works fine on XP. I think I'm using your drivers, not sure. I was but I reloaded drivers only from the Creative site. BTW...I had XP running on a hard drive for an earlier Intel mobo and upgraded to the B360 chipset with the i5-8400 series processor. I did not have to remove the sound card driver package but I had to mess with it to get the features working correctly.

#5677

gordo999

> Zitat von ⇗ savagebanana im Beitrag ¶ #5674

> I have integrated optional ahci drivers. The thing is when the setup starts copying file...it starts giving errors such as "setup cannot copy file...."

⇗ @savagebanana ...what infusconous said...I burn at the lowest rate, usually 2 to 4 times speed. I also use Imgburn, which is good at detecting required settings.
With acpi.sys, I did not bother compressing it, I just loaded it in nlite as acpi.sys full size. The windows installer doesn't seem to care.
Another thing...you need to run the XP nlite version and run it on an XP based OS, even in a virtual machine. I tried running it on W7 and the installation failed.

#5678 | infuscomus | ⇗ @gordo999 for nlite you need .NET framework 2.0 - windows 10 will prompt for this and install it so it works on 10, not sure about 7 though.

#5679

sashbbbb

> Zitat von ⇗ diderius6 im Beitrag ¶ #5671

> @infuscomus
> I make a new XP SP1,
> which boots from NVME. So,
> put this XP SP1 to an nvme disk.
> I changed in this XP SP1 only ntoskrnl.exe and hal.dll
> (both full acpi support) against the versions build for 64 processors
> Dietmar

this is full log for all windows xp x68 for notebook lenovo laptop 100-15iby.
need working aspi !!
THE BEST ASPI by Fernando on boot windows , only PC power of /
Need change this aspi for full boot windows Xp
loading in different boot modes and change all aspi.sys gave nothing.
Screen bag--
sashbbbb has attached files to this post

- ⇗ acpi mod Fernando(234kb).rar

sashbbbb has attached images to this post ⇗ IMG_20201103_142224.jpg ⇗ IMG_20201103_145042.jpg ⇗ IMG_20201103_150658.jpg ⇗ IMG_20201103_150818.jpg ⇗ acpi mod Fernando(234kb).

#5680 | canonkong | Here is the early win8 M1 64bit (NT6.1.7850) system drivers, maybe can help us. If you need, I can upload the 32bit too. ⇗ https://yadi.sk/d/ScEmx9Ar9v9nRw
#5681 | infuscomus | ⇗ @canonkong I'm interested in the 32-bit version.
#5682 | canonkong | Here is the early win8 M1 32bit (NT6.1.7850) system drivers, maybe can help us. ⇗ https://yadi.sk/d/g4ww_L4k2Lpk-Q

#5683

diderius6

⇗ @sashbbbb
I take a look at the DSDT table from the notebook Lenovo 100-15IBY Laptop (ideapad)
Bios CCCN21WW(V2.07) from 09 Jan 2017 . This Insyde Bios contains the same strange sleep order for Sata devices as on other Baytrail notebooks from Lenovo. Without modding this DSDT it is nearly impossible to install a full acpi XP SP3 on it,
because no Sata harddisks are found.
For me, the only way for XP without modding Bios is to set in Bios the harddisk to "compatible" mode IDE.
Ram boot of XP could work also. NVME boot of XP does not work, because this board hasnt.
Dietmar

     Device (SATA)
                   {
                Name (_ADR, 0x00130000)  // _ADR: Address
                OperationRegion (SATR, PCI_Config, 0x74, 0x04)
                Field (SATR, WordAcc, NoLock, Preserve)
                           {
                    Offset (0x01),
                    PMEE,   1,
                        ,   6,
                    PMES,   1
                           }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                           {
                    If ((OSEL == 0x02))
                                   {
                        Sleep (0xC8)
                                   }

                    Return (0x0F)
                           }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                           {
                           }
                   }

#5684

sashbbbb

> Zitat von ⇗ diderius6 im Beitrag ¶ #5683

> @sashbbbb
> I take a look at the DSDT table from the notebook Lenovo 100-15IBY Laptop (ideapad)
> Bios CCCN21WW(V2.07) from 09 Jan 2017 . This Insyde Bios contains the same strange sleep order for Sata devices as on other Baytrail notebooks from Lenovo. Without modding this DSDT it is nearly impossible to install a full acpi XP SP3 on it,
> because no Sata harddisks are found.
> For me, the only way for XP without modding Bios is to set in Bios the harddisk to "compatible" mode IDE.
> Ram boot of XP could work also. NVME boot of XP does not work, because this board hasnt.
> Dietmar

>      Device (SATA)
>                    {
>                 Name (_ADR, 0x00130000)  // _ADR: Address
>                 OperationRegion (SATR, PCI_Config, 0x74, 0x04)
>                 Field (SATR, WordAcc, NoLock, Preserve)
>                            {
>                     Offset (0x01),
>                     PMEE,   1,
>                         ,   6,
>                     PMES,   1
>                            }

>                 Method (_STA, 0, NotSerialized)  // _STA: Status
>                            {
>                     If ((OSEL == 0x02))
>                                    {
>                         Sleep (0xC8)
>                                    }

>                     Return (0x0F)
>                            }

>                 Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
>                            {
>                            }
>                    }

is not booting in mode "compatible"
sashbbbb has attached images to this post ⇗ is not booting in mode co

#5685

diderius6

⇗ @sashbbbb
Use an original XP SP3 CD.
Change there only acpi.sys against this one
⇗ https://ufile.io/7yoq75ti
Set harddisk mode to "compatible" in Bios.
Enable all for CSM in Bios, no secure boot
Dietmar

## Page 380

#5686

cerulliber1

hello everyone,
I've search a lot for a click and "burn" iso for a Ryzen pc
If somebody can pm me a dowload link would be great !
or at least point me which xp version should I try and a small tutorial.
(my specs msi b450 pro m.2 max, ryzen 240ge gt730, 2x8gb ram 3200, ssd sata 256gb gigabyte ( GP-GSTFS31256GTND )
thanks you so much!

#5687

Mov AX, 0xDEAD

DLL Merger
Command line tool to merge two x32 DLL to one DLL, currently it can merge sections, relocations, imports and exports.
Main purpose is adding external exports from second DLL to first DLL. You can create second
DLL with any language/compiler, but take care about some limitations.
Tool uses open-source "PE Bliss" library for most PE manupulations.
Limitations:
1) Both DLL must have same section aligment
(user-space DLLs usually have 0x1000, drivers have 0x80, to change aligment in MS link.exe, use option "-align")
2) Second DLL can't have bound or delayed imports
3) Resources section from second DLL will added like separate section, no any merging
4) If second DLLs has same exports ordinals with first DLL, they will be replaced to new generated numbers
5) DLLEntryPoint in second DLL is ignored, if you need hook this, manualy change Entry Point in first DLL PE Header
6) Merging TLS/LOAD_CONFIG of second DLL not supported
7) If second DLL import some of exports from first DLL, only internal exports allowed. To import "forwarded" exports from first DLL, recompile second DLL to import directly from "final" DLL
Usage:
dll_merge.exe advapi32.dll new_exports.dll
Take attention on system DLLs like ntdll.dll, they chained each to each regarding
coffbase.txt/baseaddress.x86.fre.* files and normaly you can't increase size of these DLLs without overlapping adress space.
To fix this problem find enough hole in adress space, for example in Windows XP SP3 SXS.DLL probably is last dll in chain,
so range 0x7E7D0000 - 0x7F6F0000 is free.
To change loading adress of DLL , use PE_Rebaser:
pe_rebaser.exe merged_advapi32.dll 7E7D0000
Finaly fix PE checksum with any tool:
checksum.exe rebased_merged_advapi32.dll
Simple example of new_exports.dll(new_exports.c):

    #pragma comment (linker, "/export:newexport_funct1=_newexport_funct1@0")
    #pragma comment (linker, "/export:newexport_funct2=newexport_funct2")
    #pragma comment (linker, "/export:_newexport_funct1@0,@7777,NONAME")
    #pragma comment (linker, "/export:export_forward=kernel32.xxxx")

    #include "windows.h"

    static int global = 123;
    int global2 = 123;

    void __stdcall
    newexport_funct1()
    {
     global = 456	;
    }

    void __cdecl
    newexport_funct2()
    {
     global2 = 789	;
    }

    void
    DummyDLLEntryPoint(void *arg0, void *arg1, void *arg2)
    {
    }

Mov AX, 0xDEAD has attached files to this post

- ⇗ dll_merge.zip
- ⇗ dll_merge_v2.zip

#5688 | Mov AX, 0xDEAD | Hi, I present my "side" open-source mini project, sucessfully tested on ntdll.dll and avapi32.dll ! Sources will be published later.

#5689

diderius6

Hi,
I have a Flex 10 Lenovo Ideapad.
There I installed full acpi XP SP3. In next holidays I try to enable the video driver under XP SP3 for the n2806 chip also.
I also changed the Wifi pcie mini card against a Lan Ethernet pcie mini card with realtek 8111h chip and RJ45 connector.
But when I reboot this notebook,
I get message
"Unauthorized wireless network card is plugged in. Power off and remove it"
I make a full dump direct of my Bios chip with a very good EEpromer Revelprog IS.
My Bios version is from original 64 bit Win01BTIL99.fd from 2015.
⇗ https://ufile.io/3kkvgocx
Any help is welcome to remove the Whitelist for the Wlan card on the Flex 10 Bios,
thanks a lot
Dietmar
EDIT: With search for text string via UEFI tool for "unauthorized" I found this message in
Section_PE32_image_B6845A50-9BAD-44DC-BE3E-20A8693D46E8_DeviceSupport_body.efi
But I have no idea how to edit it.
Maybe, that Ida Pro can help. But my version does not support *.efi files.
EDIT 2: May be the easiest solution is just to delete whole Guide DeviceSupport.
This crazy word "unauthorized" happens only in Guide in Bios from Lenovo.

#5690 | ruthan | This Lenovo problem they have some whitelist for used wireless cards.. online are some cracked bioses.. but often outdated.
#5691 | diderius6 | Here I think, the whitelist can be killed. May be just forced jmp EB. It is from DeviceSupport from Bios of Flex 10 Dietmar ⇗ https://ufile.io/ian7jb6r
#5692 | Labudico | Hello, Who can tell me because appeared this error? Page file is on, free space on the ssd 100GB. PAE128GB work good, because i can use over 4GB Ram. ⇗

#5693

gordo999

⇗ @Labudico ....Maybe someone has a better explanation, I have not tested this kind of extended memory on XP 32-bit. I don't think Autocad can use that extended memory in XP x86 unless you have drivers like the PAE drivers in Server 2003. Those drivers allow apps to access over 4 Gb RAM in a 32-bit system.
If I'm wrong, someone will reply and correct me. My understanding is that the extra memory available in XP 32-bit is to run a RAM drive. However, apps written to run on XP 32-bit are assigned a 2 Gb virtual memory space for the user. I don't think the app will know about memory beyond 2Gb for user space. There may be a way to fix that, I don't know.
If you look at the address space on a 32 bit system, the user space is from 00000000 - 80000000 and the system uses 80000001 - ffffffff, where 0xffffffff = 4 Gb. If you look at a 64 bit system, there are another 8 spaces to the left of ffffffff as in 00000001 ffffffff. One 64-bit app I'm working on right now has addresses like 000007fe e4f61dfe.
Your PAE extended space will begin at 1'00000000 and if Autocad doesn't have the addresses capable of reaching those extended address, which it won't with normal 32-bit XP, then it cannot see that extended memory. I would think it would need a translator of some kind as found in Server 2003. I think it has a mechanism for temporarily storing 32 bit address pages in extended memory and retrieving them when required.

#5694 | Labudico | ⇗ @gordo999 - Thnaks, for repply, you right - Autocad 32bit not capable to use more 2GB, but i find solution - open each files in a separate process (window) and separately each open file in a separate does not reach 2GB and so you can open 100 files and fill at least all 32GB of RAM.

#5695

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #5693

> If you look at the address space on a 32 bit system, the user space is from 00000000 - 80000000 and the system uses 80000001 - ffffffff, where 0xffffffff = 4 Gb.

Hi,
/3GB in boot.ini change memory partitioning to "3Gb User + 1Gb System"
autocad.exe must have bit LARGEADDRESSAWARE in PE Header (can be easy setted with any PE editing tool)
XP even with /3GB has issues with allocation memory above 2G, maybe on W2003 it may be better, i dont know...

#5696

gordo999

⇗ @Labudico ....Good. You found a solution. I don't know how XP 32-bit knows about the extra memory but it must have something to do with kernel code related to PAE. Good to know.
Also, read the post from ⇗ @Mov AX, 0xDEAD ...about adjusting the PE header and adding the line /3GB to boot.ini. The following example applies to Win 7 but the same should apply to XP 32-bit if you edit the boot.ini file in the C:\ directory. It is usually hidden so you may have to edit the file attributes using the attrib command in a cmd window.
⇗ https://knowledge.autodesk.com/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/How-to-enable-a-3GB-switch-on-Windows-Vista-Windows-7-or-Windows-XP-s.html

#5697

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5695

> XP even with /3GB has issues with allocation memory above 2G, maybe on W2003 it may be better, i dont know...

⇗ @Mov AX, 0xDEAD ....thanks for advice on PE header and /3GB command for boot.ini.
I may be wrong but I heard that XP SP1 allowed access to >4GB till Microsoft removed that feature. May be similar to W2003.
There is also a file in the SP1 DDK called ntldr_dbg that is a replacement for NTLDR during boot that can be used with a kernel extension .kdfiles so you can get a remote windbg session to stop before the OS loader. Have not tried it yet, just passing on the info in case it interests you. Apparently it requires a serial COM 1 connection between host and target but I have a USB-serial adapter that has worked for me in the past. Such a setup may help you troubleshoot acpi.sys, etc. during the boot stage. My B360M as target has a serial port.
⇗ https://kobyk.wordpress.com/2008/07/04/replacing-boot-load-drivers-with-the-windows-boot-debugger/

#5698

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #5697

> There is also a file in the SP1 DDK called ntldr_dbg that is a replacement for NTLDR during boot that can be used with a kernel extension .kdfiles so you can get a remote windbg session to stop before the OS loader. Have not tried it yet, just passing on the info in case it interests you. Apparently it requires a serial COM 1 connection between host and target but I have a USB-serial adapter that has worked for me in the past. Such a setup may help you troubleshoot acpi.sys, etc. during the boot stage. My B360M as target has a serial port.

Hi gordo,
This feature dont actually needed because usual kernel windbg is enough, you can set breakpoint after kernel+hal was loaded and before loading any driver

#5699

infuscomus

⇗ @Mov AX, 0xDEAD ⇗ @diderius6 ⇗ @daniel_k
So I finally got some USB running through an addon card - ASMedia 1242 chip - PCI\VEN_1B21&DEV_1242
The unknown USB devices I think are left over failed enumerations on the AMD USB controllers - they have IDs like
USB\VID_0000&PID_0001\8&308CDB7C&0&4
USB\VID_0000&PID_0001\8&308CDB7C&0&5
USB\VID_0000&PID_0001\8&308CDB7C&0&6
USB\VID_0000&PID_0001\8&14937D77&0&5
USB\VID_0000&PID_0001\8&14937D77&0&6
But the AMD USB 3.0 controllers -PCI\VEN_1022&DEV_148C - PCI\VEN_1022&DEV_149C
and hubs USB\ROOT_HUB30&VID1022&PID148C - USB\ROOT_HUB30&VID1022&PID149C
by themselves seem to be working fine at least according to windows XP. It's just the end devices that failed.
The USB hub on the thunderbolt 3 controller is in a failed state though, but that is expected without a thunderbolt driver.

#5700

diderius6

⇗ @infuscomus
On the Lenovo Flex 10 happens the same, VID_0000&PID_0000 for all USB devices, even mouse.
There only mod of the DSDT helps. The idea how to mod the DSDT there I get from older Bios from Baytrail boards.
I also see, that addon cards for PS/2 exist
Dietmar
⇗ https://www.amazon.de/MZHOU-PS2-Controll...e/dp/B07RLFPDNZ
The following contents have been linked to this post:

## Page 381

#5701 | infuscomus | ⇗ @diderius6 Fortunately for me, the ASMedia PCI-E USB 3.0 is working correctly so I won't need to get that PS/2 card. Could you try and do a mod of my DSDT table for me? - uploaded already in this thread - ⇗ resolving an A5 BSOD in windows7 using grub2?
#5702 | infuscomus | ⇗ @Mov AX, 0xDEAD could the USB\VID_0000&PID_0001 problem be caused by a bug in the windows 8.0 USB driver?
#5703 | diderius6 | ⇗ @infuscomus It happens also with the AMD USB driver from ⇗ @daniel_k . In the DSDT the xhci driver is blocked for XP, but I have no idea how to mod this DSDT, Dietmar
#5704 | infuscomus | ⇗ @diderius6 Now that I have XP in a usable state I would like to try and use windbg to see if I can see where XP dies when there is more than 32 CPUs. I have no experience with this though, so if you have a step-by-step guide or something like that for beginners I'd appreciate it.

#5705

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #5704

> I have no experience with this though, so if you have a step-by-step guide or something like that for beginners I'd appreciate it.

⇗ @infuscomus ...the Net is full of step-by-step guides. The problem is that the learning curve is steep and requires a constant focus on application of the various commands. It was easier for me since I had years of experience with debuggers. Even at that, I am likely not past the novice stage yet with windbg.
For kernel-mode debugging between two computers there are different rules for different OSs. Whereas you can set up network debugging between a W7 host and a W10 target you can't do that between W7 and XP because net debugging does not exist in such an environment. I had a good setup using a USB-serial port adapter on a W7 host connected to a B360 mobo with serial port as target. I can't get it going anymore for some reason. I suspect its because I am dual booting W7 and W10 on the target machine and I found out by fluke that the W10 boot loader needs to be in place rather than the W7 bootloader.
I also had a net remote debugging session going between W7 and W10. The point is the debugging connection can be really finicky and setting it up could take days if not weeks. Meantime, you lose a few years off your life through exasperation.
Many people use a VM environment but I found that can be finicky as well. You also need a symbol store setup since windbg is reliant on symbols (pdb files). You have to make sure the paths are set correctly so windbg can find its symbols.
I hope you go for it and get it going. Just warning you that it might not be easy. It's definitely worth it because what is going on here with XP revival is often being done in the dark. Better to see the code and how it is behaving. That's not as easy as it sounds either since the bloatware used today is full of code that has no meaning to someone tracing through it.

#5706

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5702

> @Mov AX, 0xDEAD
> could the USB\VID_0000&PID_0001 problem be caused by a bug in the windows 8.0 USB driver?

Hi Infuscomus,
this vid/pid seems similar to previous 0000/0000 with amd driver, this mean one - controller was not configured properly,
it detect some inserted/internal device but can't communicate with it
in case with amd driver this was failed hardware register programming when running on PAE systems.
but MS USB3 driver is very good and widely tested by end-users, there must no problem with it (excluding acpi part), did you tried to run original Windows 8.0 on your fresh MB (for example any LiveCD with Win8.0) ?

#5707

infuscomus

⇗ @gordo999
Hopefully I can learn how to do it.
⇗ @Mov AX, 0xDEAD
Windows 8.0 gives an ACPI BSOD - It disappears very quickly but I'm reasonable sure it is the same A5 BSOD 0x11 0x8 that windows 7 had (from my testing it was the CPU SSDT giving the BSOD)
So Windows 8.0 acpi.sys will need patching before I can properly test.
⇗ @diderius6
can you patch the windows 8.0 acpi.sys driver so I can test?
infuscomus has attached files to this post

- ⇗ acpi_win80.zip

#5708

diderius6

⇗ @infuscomus
AMLILoadDDB in Win8 is other organized than in Win7 or XP.
So, I can only cross fingers, that one of the 4 acpi.sys works
Dietmar
⇗ https://ufile.io/ff6xhp3y
PS: Today I try to enable a Windbg over Lan connection with the mini Pcie adapter to the Lenovo Flex 10 notebook.
I get there everything to work under XP SP3, only not the graphik driver. This will be a hard job.
But the setting on of this Lan session via Windbg XP SP3 <=> XP SP3 I will describe here in detail.

#5709 | infuscomus | ⇗ @diderius6 Thanks, I will test this when I can.

#5710

diderius6

After crazy work I succeed to connect the Lenovo Flex 10 notebook
via an pcie mini to a RJ45 connection.
I overcome the Whitelist in Bios of the Flex 10 with just deleting whole entry
"DeviceSupport" GUID: B6845A50-9BAD-44DC-BE3E-20A8693D46E8 in Bios and flash with Epromer.
The Realtek 8111H pcie minicard to RJ45 does not work on the Flex 10 board.
I tried 2 different cards. The card is correct listed in Device Manager,
the LED shows with yellow and green led connection but always the message appears,
that no Lan cable is connected.
Then I try an Intel Pcie minicard to Rj45 with chip 82574L from 2008(!) VEN_8086&DEV_10D3 .
This card is supported for debug via Lan on Win8 and Win8.1 and XP SP3 now thanks to ⇗ @Mov AX, 0xDEAD .
And voila, for the very first time I have a chance to debug the Lenovo Flex 10 notebook via Lan with Windbg
Dietmar
⇗
⇗

#5711 | infuscomus | ⇗ @Mov AX, 0xDEAD ⇗ @diderius6 using patched acpi.sys from diderius6 I was able to boot into windows 8.0 Once booted in Windows 8.0 USB devices were enumerated correctly - So does this mean the problem is ACPI? or not ACPI? Should I try and use the usbccgp.sys driver from windows 8.0? could that resolve this USB\VID_0000&PID_0001 problem?

#5712

diderius6

⇗ @infuscomus
I think, the problem is only in DSDT.
Without building a whole new acpi.sys for XP (on the base of win8.1(!) ) the only chance is,
to look for a similar Bios, where the motherboard works also under win7
and look, what is changed for xhci in its DSDT
Dietmar
PS: This methode works for the crazy Bios from the Flex 10 board. No win7 or win8 can be installed there.
Only win8.1 and win10. And with modded acpi.sys alone, all USB devices have VID_0000&PID_0000.
With for xhci modded DSDT, all USB devices are recogniced correct.

#5713 | infuscomus | ⇗ @diderius6 Do you have original and modded DSDT for your lenovo flex 10? I'd like to compare them to get some hints for what I need to change.
#5714 | diderius6 | ⇗ @infuscomus Here it is Dietmar ⇗ https://ufile.io/sd54s8b0
#5715 | infuscomus | ⇗ @diderius6 Thanks, I'll take a look at them.

## Page 382

#5716 | infuscomus | ⇗ @diderius6 I see the flex 10 original has OS Detection code that was removed in modded DSDT, but my DSDT does not have this code around any USB devices, so it must be something else. Perhaps Windows 8.0 acpi.sys knows more ACPI words than outerspace XP acpi.sys does and my DSDT is using the new words?
#5717 | diderius6 | ⇗ @infuscomus I think, the acpi version, which words are recogniced, is the same for Win7 and win8. For me it would be the only chance for to mod DSDT is to find a Bios for Threadripper, that works also with win7 Dietmar PS: Such a Bios you can download from Internet (manufacturer or somebody else) and extract the DSDT table with Uefi tool.
#5718 | Black Raven | you didn't do it you posted a request on the forum bios-mods and received a mod

#5719

diderius6

⇗ @infuscomus
I read, that win7 has problems with the Pcie3 mode. Make a try to switch it back in Bios to Pcie2.
And for USB it can be, that the devices are all set to sleep mode.
In win7 is a switch for any USB, not to go to sleep mode.
The MSI X399 Gaming Pro Carbon and Asus Prime X399-a can work with win7,
take a look at their DSDT
Dietmar

#5720

tumagonx

> Zitat von ⇗ tumagonx im Beitrag ¶ #5002

> Forgot to ask, I read in nvidia forum someone complaining that driver after 332.21 break PAE support, effectively limit XP PAE to Kepler generation instead of Maxwell, is this confirmed?

just want to make correction about Nvidia driver + >4gb PAE, while driver 321.21 only support kepler, CUDA 6.0.37 SDK (cuda_6.0.37_winxp_general_32.exe) bundling PAE friendly driver (dated Apr 2014) that support maxwell GM107 chip (officially support GTX 745/750/850M/860M) but may support others through devid inject (GTX 950M/960M, Quadro K620/K1200/K2200/M600M/M1000M/M2000M).

#5721 | infuscomus | ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD Windows 7 also has the same USB\VID_0000&PID_0001 problem. Trying to add extra code to the DSDT keeps giving a 7B BSOD.
#5722 | infuscomus | I tried to signup to the bios-mods forum hoping someone there could help me mod my DSDT table - but I didn't get an activation email, I can't post in the forum, no one is in the live chat, and the contact us link goes to a blank page. The web admins over there must just not care.
#5723 | infuscomus | ⇗ @Mov AX, 0xDEAD Do you have an improved acpi.sys that might help with failed USB device enumeration? edit: ACPI 5048 gives A5 0x02 BSOD

#5724

infuscomus

I wnt looking through canonkong USB 3.0 Windows 7 Thread and noticed he mentioned you need a specific "AMD PCI" driver from the AMD chipset driver package (If I read that correctly.)
I think the one I need is - PCI\VEN_1022&DEV_1485 - It is on the same PCI bridge as the USB ports.
The chipset drivers installer won't install on XP - ⇗ @canonkong Can you extract the individual drivers from the installer?

#5725 | canonkong | ⇗ @infuscomus Only inf fake drivers.
#5726 | infuscomus | Well, I managed to get it working. I installed a null driver for the ? "AMD PCI" device. I reinstalled the USB 3.0 driver. I think I probably just needed to reinstall the USB 3.0 driver - but at least it works now.
#5727 | diderius6 | ⇗ @infuscomus Please tell, what works now on the Threadripper board under XP Dietmar

#5728

infuscomus

⇗ @diderius6
Working
USB 3 working (although I'm still not sure if that null driver is needed)
LAN working (Depends on your motherboard, I'm lucky mine has an official XP driver)
GPU working (PCI-E GT 710)
SOUND working (PCI-E Audigy Rx)
possibly working
Titan Ridge Thunderbolt 3 - there is an old Alpine Ridge Windows 7 32-bit driver I found that might work with the ntoskrnl extender, I have not tried it yet.

#5729 | infuscomus | ⇗ @diderius6 Regarding maximum processors some anon on 4chan found this ⇗

#5730

infuscomus

The motherboard USB 3 ports are still non-functional in XP textmode setup.
So, at least for now, to get XP installed on Threadripper -
First - you will need to image an XP installation with pre-patched ACPI, AHCI, USB3, PAE already integrated, and then apply that image to your Threadripper system.
Second since motherboard USB ports will not work right away you will need a PCI-E USB 3 card to be able to use input devices - then you can reinstall the USB 3 driver on the motherboard USB 3 ports.

## Page 383

#5731 | infuscomus | The motherboard USB ports have stopped working again! OK, It seems disabling and re enabling the XHCI controller gets everything working, but do I have to do this on every boot? and this also leaves me stumped for a solution for textmode setup - how do I disable and re-enable a device in textmode?
#5732 | infuscomus | ⇗ @Mov AX, 0xDEAD Why would disabling and then re-enabling the motherboard XHCI controller suddenly make it work? any ideas?

#5733

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5732

> Why would disabling and then re-enabling the motherboard XHCI controller suddenly make it work? any ideas?

Hi infuscomus
You question has no answer because too many actions happen between disabling and enabling in DM.
1) win8 usb3 driver is not ideal, it depends on some acpi subsystem, for example mapping ports or other things
2) when windows start usb3 driver, all usb hardware already is fine because initialized/in use by bios, mouse and keyboard controlled by bios "usb driver"
one of first action of win8 usb3 driver is switch controling of hardware from bios to driver, bios receive this command and someway reprogram usb hardware to go "switch off state", after this phase you have problem, i dont know why hardware is not work properly after win8 driver reinited it after bios's usaging

#5734

Pill Monster

> Zitat von ⇗ XPLives im Beitrag ¶ #5287

> @Pill Monster

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > > Zitat von ⇗ XPLives im Beitrag ¶ #4337

> > > @Pill Monster
> > > 2000 Advanced Server already had > 4GB memory support. And standard XP Pro 32-Bit could utilize above the 4GB range for a Ramdrive so it wasn't completely neutered.
> > > Possibly you misunderstood me?
> > > With

> > > > Zitat

> > > > "XP Pro 32-bit could utilize above the 4GB range"

> > > - 4GB range of what?

> > [quote]Obviously it means what it means. Anything ABOVE the 4GB memory limit. If you had 32.0GB installed that would mean between 4.0GB -> 32.0GB.

> Not obvious at all. "4GB" is an ambiguous term since it could refer to total address space including space on HDD OR it could refer to RAM only.
> To me memory is RAM.
> To those schooled at M$ developer school memory is an inexhaustible resource consisting of RAM and when that runs out, as much swap space as an application requires, with little or no impact on performance.

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > Licensing caps aside, the maximum amount of RAM supported by XP is exactly equal to the maximum amount of RAM supported by the CPU, less hardware reserved.
> > XP Pro x86 officially supports 64GB of RAM.

> [quote] I have already tested Server 2003 and it cannot see above 64.0GB. But it does not mean it would not be possible for someone to find a way to extend beyond this.

> Zitat

> That's due to the OS Page Address Extension directory pointer limitation. But what hardware did you test on - does it support over 64GB? Anything over 64GB would probably be used for swap space.

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > RAM drives utilizing "hidden memory" I label snake oil because there are no hidden addresses that can be seen by RAM disk software but not the CPU.
> > RAM disks reside in something called a section object, the OS sees part of this section object - the WS partition. The CPU sees all of it and maps data in and out of the process view using pointers.
> > XP natively supports 36bit addressing using pae (Page Address Extension). Pae adds 4 bits to an address - two Page Table Directories and a PTD pointer.
> > Until SP2 enabled was the default boot mode. Hence why XP Pro x86 is not called XP Pro 32-bit.

> [quote] It's called XP Professional.

I know what it's called. You missed my point; XP Professional x86 - not XP Professional 32-bit.

> Zitat

> The 32-Bit was tagged on because it's better for laymans to differentiate between the two. The x86 is derived from the 8086 processor. However seeing the x86/x64 next to each other some newbies may think the x86 is superior given the larger number.

That is nonsense. :)
I'm aware x86 is short for 8086 CPU architecture. A CPU of the x(80)86 family which supports 64bit instructions was known as x86-64, later shortened to x64, it's not an indication of CPU memory support.
32bit refers to the number of data bus lines between the CPU memory controller and RAM. 32 bits allows 4GB of storage space in RAM. This is where the hardware specific 4GB memory limit comes from.
"x86" in current times refers to and ONLY refers to 32bit processors with a 4GB RAM limit. Basically anything prior C2D on Intel's side...

> Zitat

> I disagree with Ramdrives as being snake oil. They are quite useful in many applications compared to using XP without one. You may not like how it was employed but without this ability it makes XP on modern hardware under utilized.

Then provide an example along with rereliable source

> Zitat

> You should also blame Microsoft from releasing XP Professional as Server 2003 in full functionality. That would have made everything better from the start

. This comment I actually agree with. I blame both MS & Intel both. MS were able to charge more for a "Server" edition which was essentially the same as Client XP.

> Zitat von ⇗ Pill Monster im Beitrag ¶ #4373

> > Zitat von ⇗ XPLives im Beitrag ¶ #4337

> > But what is the model number of this supposed $2500 36-Bit Xeon?

> I guess you had to be there.
> ⇗

> Zitat

> Not really. I was there and even there when the 8088 CPUs and the Apple ][s were selling. You neglected to again mention the "model number" of the Xeon. You only provided the link to the Pentium III specs with that article. Often times you will have the exact model number on the CPU itself or in this case the protective plastic outer casing would have it shown.

The model is clearly shown on the page, along with the price. Try reading it again. I can always make the screenshot bigger

> Zitat

> Even this link beats your by 3 months.

⇗ https://www.cnet.com/news/intel-releases...iii-based-xeon/
CNET? Great reliable source.

#5735

Pill Monster

⇗ @XPLives
Fwiw early Xeon (P3/4/5) could address up 64GB of RAM in total, divided into 4GB blocks. The MCU had to access one 4GB block at a time using bank switching.
Windows kernel/user VAS segmented memory protection & PAE are both based on Intel's physical memory model.
I can post a diagram of the memory bus if you're interested.

#5736

HowManyPentiums?

Hello all
X58 user looking to go to a new or newish platfrom.
How likely is an Asus X570 board able to boot XP for some light gaming? Intermittent crashes I can deal with.
I did see it briefly mentioned in the thread.
⇗ @Pill Monster
That Xeon 900Mhz Slot 2 CPU, I have it with the retail box if you need any info. Mine is part of the recall batch as well.

#5737

Pill Monster

> Zitat von ⇗ HowManyPentiums? im Beitrag ¶ #5736

> Hello all
> X58 user looking to go to a new or newish platfrom.
> How likely is an Asus X570 board able to boot XP for some light gaming? Intermittent crashes I can deal with.
> I did see it briefly mentioned in the thread.
> @Pill Monster
> That Xeon 900Mhz Slot 2 CPU, I have it with the retail box if you need any info. Mine is part of the recall batch as well.

No kidding - how did you come to possess it? Surely it'd be a rather valuable collectors item by now.. :)

#5738 | infuscomus | ⇗ @HowManyPentiums? you can get XP 32-bit working on X570 with patched drivers but not XP 64-bit.

#5739

HowManyPentiums?

> Zitat von ⇗ Pill Monster im Beitrag ¶ #5737

> > Zitat von ⇗ HowManyPentiums? im Beitrag ¶ #5736

> > Hello all
> > X58 user looking to go to a new or newish platfrom.
> > How likely is an Asus X570 board able to boot XP for some light gaming? Intermittent crashes I can deal with.
> > I did see it briefly mentioned in the thread.
> > @Pill Monster
> > That Xeon 900Mhz Slot 2 CPU, I have it with the retail box if you need any info. Mine is part of the recall batch as well.

> No kidding - how did you come to possess it? Surely it'd be a rather valuable collectors item by now.. :)

It was by luck I got this boxed one, I wanted a loose one for my Supermicro S2DG2 retro build.
I had an ebay search saved, someone listed it as something like a 900mhz 256kb xeon.
Some photos :)
⇗
⇗

> Zitat von ⇗ infuscomus im Beitrag ¶ #5738

> @HowManyPentiums?
> you can get XP 32-bit working on X570 with patched drivers but not XP 64-bit.

Great news thanks, that is one less barrier for me to get a Ryzen 5000 system.

#5740

diderius6

Hi,
I just found this in
⇗ http://www.cs.sjtu.edu.cn/~kzhu/cs490/3/...Structuring.pdf
So, it should be not too difficult to enlarge the maximal numbers of processors in XP.
Current implementation limit is # of bits in a native
word
! 32 processors for 32-bit systems
! 64 processors for 64-bit systems
! Not an architectural limitjust implementation
Dietmar

#5741 | infuscomus | ⇗ @diderius6 That document is only referring to maximum licensed processors though not the maximum registered.
#5742 | tumagonx | additional info about nvidia driver and PAE issue, according to CUDA handbook, runtime version 6.5 add Compute Capability 5.0 for Maxwell which one of new feature is Unified Virtual Adressing as represented by cuMemcpy/cudaMemcpy function (in the cuda dll). I suspect this is the reason for the changes and CUDA toolkit 6.0.37 itself target up to CC 3.5 (kepler). As observed in "true" maxwell nv4_mini.sys IAT there are changes about memory adressing.

#5743

infuscomus

⇗ @diderius6
So I compiled ntoskrnl and hal from source - first with 32 CPUs for MAXIMUM_PROCESSORS - second with 512 CPUs for MAXIMUM_PROCESSORS
I used relyze disassembler and made ASM files of them to compare in notepad++
In halmacpi the main difference I can see is a significantly larger data size for HalpProcessorPCR
I don't know how to increase data size using disassembler.
Unfortunately the ntkrnlmp ASM files are too large for notepad++ so it crashes.
edit: nevermind it just took a while to load
In ntkrnlmp I see in KeSetTargetProcessorDpc an instruction is omitted add al, 0x20
Haven't noticed anything else yet.
KeStartAllProcessors is also different.
I'll upload my files here.
infuscomus has attached files to this post

- ⇗ 32CPUS.7z.zip
- ⇗ 512CPUS.7z.zip

#5744 | infuscomus | I just built a server 2003 ISO with my 512 CPU kernel. Same result - freeze at "Setup is Starting Windows" So the problem is somewhere else - NUMA nodes maybe? I'm just guessing.
#5745 | skullteria | Well, maybe maximum pocessores are related with this improvement of Windows 7 kernel: ⇗ https://channel9.msdn.com/Shows/Going+De...nside-Windows-7

## Page 384

#5746 | infuscomus | ⇗ @skullteria We don't need to go as far as Windows 7 - Server 2003 SP1 already has a fix - it does not freeze at "Setup is Starting Windows" when SMT is enabled. However I don't know exactly what the fix is. edit: I'm just guessing, but it might be this - ⇗ https://mskb.pkisolutions.com/kb/821047
#5747 | skullteria | On x86 or x64? Because i found what Windows 10 x86 support only 32 cores, so, maybe it is really the limit of x86
#5748 | infuscomus | ⇗ @skullteria XP x86 Although Windows 10 x86 (and all the way back to server 2003 SP1 x86) don't crash if there is more than 32 CPUs though.

#5749

infuscomus

⇗ @Mov AX, 0xDEAD
referring to this - ⇗ https://mskb.pkisolutions.com/kb/821047
could you change HalpDefaultInterruptAffinity in XP HAL from 0 to 16 to match server 2003 SP2 HAL?
infuscomus has attached files to this post

- ⇗ HALMACPI_XPSP3.zip

#5750 | ruthan | It could be simply problem, that more than 32 cores werent really tested or properly implemented within MS code.. regardless of licence and its enough cores for desktop cap.

#5751

diderius6

⇗ @infuscomus
Do you have the patch KB821047 for win2003?
If yes, you can compare all files of win2003 before this patch and after
for to look what changes.
And just try, if an original very first win2003 with this patch can run on Threadripper
with more than 32 processors
Dietmar

#5752 | infuscomus | ⇗ @diderius6 Unfortunately I don't have it - and Microsoft have taken the hotfixes down, so I'm looking for it.

#5753

gordo999

⇗ @infuscomus ...when I was trying to trace through an Intel installer, the CPU was checked with a CPUID instruction. It identified the CPU model and the text "GenuineIntel...". I would think the info regarding the number of processors would be related to CPUID.
It's not clear to me whether you are talking about processors (CPUs) or cores. I am sure you mean CPUs since a CPU with 512 cores would not make much sense.
⇗ https://en.wikipedia.org/wiki/CPUID

#5754 | infuscomus | I just tried a modded hal with HalpDefaultInterruptAffinity changed from ULONG to ULONGLONG in source - no change.
#5755 | infuscomus | ⇗ @Mov AX, 0xDEAD Can your backported KDNET driver from windows 8 be used in XP testmode setup? or do I need to use a full XP installation?

#5756

diderius6

Hi,
I succeed to get any device to work under XP SP3 on the Lenovo Flex 10 notebook,
only not the videodriver.
There are drivers from Win7, win8.1 for it,
device name VEN_8086&DEV_0F31 .
I do not find any videodriver under XP for this in the cpu n2806 integrated Valleyview videocard.
But under XP there are Intel videodrivers with VEN_8086&DEV_0166 "Intel(R) HD Graphics 4000".
So my question is: Is it possible, to change this DEV_ name on the cpu itself?
If yes, I will change it on the n2806 cpu from 0F31 => 0166
and look, if this driver (now all for DEV_0166) under win7 still works.
And then, try to install under XP
Dietmar
PS: The problem is in this videodriver igdkmd32.sys , that the DEV_ id is hardcoded there and even second step harcoded with Magic Numbers.

#5757

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5755

> @Mov AX, 0xDEAD
> Can your backported KDNET driver from windows 8 be used in XP testmode setup? or do I need to use a full XP installation?

Hi infuscomus,
problem is how to enable any debug in txtsetup, even with COM ports, add boot.ini to CD rootdir ? i dont know......

> Zitat

> could you change HalpDefaultInterruptAffinity in XP HAL from 0 to 16 to match server 2003 SP2 HAL?

i wrote before - "affinity" on x86 is unsigned long = 32 bits, first find what trick MS done in w2003 sp2
⇗ https://docs.microsoft.com/ru-ru/windows...ty-and-priority
(CPU/NUMA groups was introduced in vista or win7)

#5758 | infuscomus | ⇗ @Mov AX, 0xDEAD XP/2003 ntoskrnl/hal have functions with numa in the name - are they not doing anything? e.g ExpQueryNumaAvailableMemory ExpQueryNumaProcessorMap

#5759

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #5758

> @Mov AX, 0xDEAD XP/2003 ntoskrnl/hal have functions with numa in the name - are they not doing anything?
> e.g
> ExpQueryNumaAvailableMemory
> ExpQueryNumaProcessorMap

@infuscoumus ....looking up those functions out of interest returned this:
What is NUMA ( Non-Uniform Memory Access ). Simply put, in a multi-CPU system, each CPU has its own memory (local memory). Of course, a CPU can also access the memory of other CPUs, but the access speed is faster than Accessing your own memory is much slower.
The opposite of NUMA is UMA ( Uniform Memory Access ). Many current x86 systems (IA) are based on UMA architecture. Multiple CPUs access the main memory through the front side bus (FSB), and each CPU sees the same main memory.
The IA architecture started with the NUMA architecture from the CPU codenamed Nehalem. The product for the desktop market is Core i7, and the product for the server market is Xeon 5500.
In a NUMA architecture system, the CPU accesses the local memory much faster than the memory of other CPUs, so the physical location of the allocated memory is no longer as irrelevant as before. Ideally, each CPU is accessing most of the time Local memory".
****
The function ExpQueryNumaProcessorMap seems to return the number of nodes, or CPUs (not cores). The function ExpQueryNumaAvailableMemory seems to return info about the memory used by each node/processor.
It would seem that if you are not running a NUMA system the functions likely won't be called.

#5760

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5758

> @Mov AX, 0xDEAD
> XP/2003 ntoskrnl/hal have functions with numa in the name - are they not doing anything?
> e.g
> ExpQueryNumaAvailableMemory
> ExpQueryNumaProcessorMap

Hi infuscomus,
these functs are information only, kernel dont use it
but struct for storing NUMA information has 64bit field for affinity :)

## Page 385

#5761

skullteria

Well, returning to a old problem: XDDDM drivers on UEFI on XP/2003. Somebody tested these drivers on Vista/7? Because, starting on Vista, ROM BIOS 16 bits firmware, both x86 and x64 is emulated by emulator on HAL. It is initialized by kernel. I thnk, it is the reason to get BSOD on XP x64 when trying load it winload from Vista without NO_GUI parameter.
I'm adapting win32ss to support WDDM drivers and for get it, maybe we need use videoprt from Vista, because it use watchdog as Display ownership manager, like dxgkrnl does.

#5762 | infuscomus | ⇗ @Mov AX, 0xDEAD any progress on getting SP1 ACPI sourcecode to match acpi.sys of SP3? or outerspace acpi.sys?

#5763

diderius6

Hi,
does someone have the Bios for the Asrock Q1900M board
version
Q1900M(1.00)ROM.zip or
Q1900M(1.10)ROM.zip or
Q1900M(1.20)ROM.zip
I try to enable the Intel videodriver igxpmp32.sys 6.14.10.5449 (for XP Embedded) for XP SP3 under Baytrail cpu.
This is crazy hard work.
I noticed, that even in the early Bios version Q1900M(1.30)ROM.zip (which I have),
still the Sata drivers are set to sleep via Osel. May be, that the reason why this VGA driver does not work to full until now,
is located in DSDT (via OSEL or something similar)
Dietmar

#5764 | infuscomus | ⇗ @diderius6 I don't have the BIOS version you are looking for - but I'm willing to maybe help you do a DSDT mod for it? You won't need to flash the BIOS each time - I can confirm with certainty that the grub2 ACPI patching method works (the compiler date on the ACPI table changed and I confirmed it was using the altered table in XP)

#5765

diderius6

⇗ @infuscomus
Can you please write a Tutorial for this?
When I succeed with the Videodriver for Baytrail on the Q1900M board (Baytrail J1900 cpu with DEV_0F31),
I write a Tutorial about using Windbg for Lan debug on the Lenovo Flex 10 board
Dietmar
PS: The steps what I need to do are clear for me: The Baytrail Videodriver is a GT1 driver,
so its nearest partner is with DEV_0156 (HD2500, not(!) HD4000).
In Win7 (32 Bit) I followed step by step 0156h and compare to 0F31h and its magic numbers, which I have now all.
So I am about 99% sure, that I will have success. Until now, no Baytrail Videodriver for XP on this world;))..

#5766

infuscomus

⇗ @diderius6
It is best to use the Easy2boot+AgFM combo for this (although if you do not need XP textmode setup you can just use AgFM
1. Have a spare USB stick to be formatted.
2. Download the latest Easy2boot - ⇗ https://www.easy2boot.com/download/
3. Run Easy2boot and tell it which drive to format - in my case I:\
4. Wait for it to finish formating and copying the files it needs.
5. There should be a 1st drive lable E2B created - your ISOs go here if you are doing a new XP install.
5. A 2nd drive should also exist labeled E2B_PTN2 - go to this drive and create an ACPI folder on it and put your DSDT.bin file in there.
6. Boot from your Easy2boot drive and select the AgFM option from the menu.
7. Once booted into AgFM press F6 to reach the grub2 console
8. type this into your grub2 console - your hdX and msdosX number might be different, so use the ls command to be sure you have the right drive
grub> acpi (hd0,msdos2)/ACPI/DSDT.bin
9. Your ACPI table should now be modded
10. Press F3 to select a drive to boot from - If you have an existing XP already installed select that, if not select your E2B drive and follow the steps to complete XP setup.

#5767 | infuscomus | ⇗ @diderius6 can I have your DSDT? I will try to mod it.

#5768

diderius6

⇗ @infuscomus
Here ist the original DSDT from Bios 1.30 for the Asrock Q1900M board.
The OSEL sleep command has to be canceled for the SATA device and may be
something other also, which is done by INTEL not to let XP to work on this Baytrail board
Dietmar
⇗ https://ufile.io/jv3rluqw

#5769 | infuscomus | ⇗ @diderius6 Thanks, Can I have the original binary .bin file too?
#5770 | diderius6 | ⇗ @infuscomus Here is the wished *.raw file from Bios 1.30, from which the DSDT is build. Interesting, which and how many steps Intel took, for to prevent a working XP, Win7 and Win8 on the Baytrail chipset Dietmar ⇗ https://ufile.io/7ghhc2lp
#5771 | infuscomus | ⇗ @diderius6 Thanks
#5772 | infuscomus | ⇗ @diderius6 OK, try booting this - ⇗ https://anonfiles.com/BfFfA8uepd/dsdt13-mod_aml

#5773

diderius6

⇗ @infuscomus
Thanks a lot, the most critical OSEL is gone:)).
Do you have another master DSDT, from where you take ideas
Dietmar
PS: I also notice, that in the sleeping mode D0, now OSEL is gone.
This may be important for a lot of other devices too.

#5774 | infuscomus | ⇗ @diderius6 No Master DSDT table, Every DSDT table is a bit different, they have code in common though so I make educated guesses. is everything working now? or not yet tested?

#5775

diderius6

⇗ @infuscomus
Until now I have not tested, because I have to build up everything for the Asrock Q1900M board.
But I compare your steps with my modded DSDT for the Flex 10 board and so I can see,
that for the very first time the sleeping mode D0 itself is modded also. This I forget,
Dietmar

## Page 386

#5776

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5770

> Interesting, which and how many steps Intel took, for to prevent a working XP, Win7 and Win8 on the Baytrail chipset Dietmar

⇗ @diderius6 ....Dietmar...I was wondering about that. So, if you have 3 operating systems running on a machine, like XP, W7 and W10, each OS has its own section in the BIOS? Or are you saying that Intel has modded parts of the BIOS to prevent XP running with W7 and W8?
I have a newer system, an Asus B360M mobo/chipset and Asus only supplies driver for W7 and newer. XP runs OK, using modded drivers, but I wonder if BIOS data covering XP has been omitted or compromised.
I know there were issues with DSDT earlier in this thread but it was fixed somehow by mods in the drivers. I'll need to go back and read the issues more carefully.
Please don't let the difficulty level discourage you. In reverse engineering I have faced problems that seemed well beyond my capabilities but I also found that when I persevere, my brain seems to compensate for the difficulty and gives insight. In other words, when something seems impossible, or too hard, don't pay any attention to the difficulty level. Take a break, do something else, then return to the problem. Challenging your brain causes brain cells to grow.
When I look back on the things I have worked out in reverse engineering over the past 15+ years, I can only shake my head. Have no idea how I worked such problems out. You guys, yourself, Infuscomus, Mov AX DEAD, Daniel K and others are doing really good work and I want you all to know your efforts are appreciated.
Keep up the good work.

#5777 | diderius6 | ⇗ @gordo999 Thanks for nice words:))! For the Lenovo Flex 10 (Baytrail) I have prove, that Intel disabled via DSDT in Bios the install of XP, Win7, Win8 Dietmar

#5778

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5777

> For the Lenovo Flex 10 (Baytrail) I have prove, that Intel disabled via DSDT in Bios the install of XP, Win7, Win8 Dietmar

⇗ @diderius6 ...that does not surprise me. Intel made good motherboards but they have not produced thier own motherboards since about 2013. Makes me wonder if it is Intel disabling the OSs or the manufacturer like Lenovo. When you buy an Asus mobo, for example, the BIOS comes from Asus, not Intel. Asus buys the chipset rights and designs them around an Asus style.
I do have evidence that Intel is interfering in other ways to prevent the use of XP on newer mobos. The fact that they removed any drivers that could operate on XP is proof of collusion with Microsoft. The management at Intel seems to have taken on an international flavour rather than the US accent it had when it first started. Same at Microsoft. There is a new attitude at Microsoft and Intel with regard to forcing users to upgrade to newer OSs like W10.

#5779 | infuscomus | ⇗ @diderius6 did the modded DSDT work for you?

#5780

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5762

> any progress on getting SP1 ACPI sourcecode to match acpi.sys of SP3? or outerspace acpi.sys?

Hi infuscomus,
Patched SP1 acpi srcs was done in october when i posted about it, if you'll compile it with compiler from win2003 ddk, you get SP2/3 binaries (not 100% byte match, but 100% BinDiff match), i didn't shared it because it is just proof-of-concept, sources will not work with ACPI2.0+ dsdt/ssdt.
I never planned to do something more with these sp1 acpi srcs because acpi.sys v.6666(outerspace) already support acpi2.0 syntax (except 64-bit things) and based on original SP3' acpi.sys.

#5781

789

> Zitat von ⇗ Labudico im Beitrag ¶ #5571

> USB 3.0 driver - see on my screentshot

How did you manage the Intel USB3 driver ? I have a Haswell laptop. I would love to learn how modify and persuade the Intel driver to install and work.

#5782

rm3113

Hi all
I have a problem installing XP on x570 with 5600x cpu,
i think this is from agesa 1.1.0.0?
with agesa 1.0.xx it works but not with 1.1xx
thank you for your support
ps:
I can start winxp (with the gosht) but I am missing the usb

#5783

diderius6

For the very first time I succeed to load and start this XP Embedded Videodriver 6.14.10.5436 igxpmp32.sys modded from me for the Baytrail Lenovo Flex 10 netbook.
It starts, but then crash.
Very soon comes the most crazy lan debug session for this Flex 10
Dietmar
138: B9 E8
139: 1A E4
13A: 27 26
20EF5: 0F 90
20EF6: 8F 90
20EF7: E1 90
20EF8: 00 90
20EF9: 00 90
20EFA: 00 90
20F05: 0F E9
20F06: 84 08
20F07: D7 0A
20F08: 0A 00
20F0A: 00 90
21925: 09 05
21932: 0C 0F
⇗

#5784 | infuscomus | ⇗ @diderius6 I just wanted to confirm with you - did the DSDT mod work?
#5785 | diderius6 | ⇗ @infuscomus At the moment I have small time. In 2 weeks I have holidays and I will test your DSDT. I checked it few times and I am sure, that it works. Just now I try some hacks on igxpmp32.sys with interesting results as above Dietmar

#5786

XPWELL64

Hi, I'm back to Win-Raid forums. I'm asking you to how to inject modded dsdt.aml into my bios without bsod error. I found another step to fix it. Use IASL to mod extractedasis.aml file.
Here is the link:
XPWELL64 has attached files to this post

- ⇗ dsdt.zip

#5787 | infuscomus | ⇗ @XPWELL64 Follow this guide - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (385)

#5788

XPWELL64

⇗ @infuscomus ⇗ @diderius6
I think there is problem with injecting dsdt.aml wrong way. The system can't get dsdt.aml. Do you mod dsdt.aml extracted as-is to inject the dsdt.aml not wrong? Here is the original dsdt.aml extracted as is:
XPWELL64 has attached files to this post

- ⇗ extractedasis.zip

#5789 | infuscomus | ⇗ @XPWELL64 are you using the modded acpi.sys? what BSOD are you getting?
#5790 | XPWELL64 | ⇗ @infuscomus I replaced my dsdt.aml body, it gets bsod on every OSes including windows 10. With original dsdt in bios it gets bsod only in XP. Can replacing as is instead of body solve this bsod on XP?

## Page 387

#5791 | infuscomus | ⇗ @XPWELL64 Post a screenshot of the BSOD XP gives you - both with and without the mod.
#5792 | XPWELL64 | ⇗ @infuscomus ⇗ @diderius6 0x000000a5 0x00000001 0x00000002 with original dsdt 0x000000a5 0x000000011 0x00000008 with modded dsdt replaced body in bios
#5793 | infuscomus | ⇗ @XPWELL64 this might take a while to mod In the mean time try this acpi.sys mod by daniel_k - ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (367) take acpi2015.sys and rename it to acpi.sys and put it in your XP install
#5794 | XPWELL64 | Thank you for modding my dsdt. I'll use acpi.sys.

#5795

blackwingcat

Hi.
I think Build 6666 luck method 0x1f LoadTable. :3
Is it no problem ?

     L0003B990:
      		dd	00000001h
     		dd	L0002CB10
      		dd	00000002h
     		dd	L0002CA90
      		dd	00000012h
     		dd	L0002CE50
      		dd	00000013h
     		dd	L0002CA30[rot]
      		dd	0000001fh
      		dd	offset Call_LoadTable[/rot]

    And IOCTL_ACPI_METHOD Note
     L0002A720:
      		mov	edi,edi
      		push	ebp
      		mov	ebp,esp
      		mov	ecx,[ebp+0Ch]
      		cmp	byte ptr [ecx+20h],00h
      		mov	edx,[ecx+60h]
      		jnz	L0002A754
      		mov	eax,[edx+0Ch]
      		sub	eax,0032C000h
      		jz 	L0002A79B // IOCTL_ACPI_ASYNC_EVAL_METHOD_V1
      		sub	eax,00000004h
      		jz 	L0002A78F // IOCTL_ACPI_EVAL_METHOD_V1
      		sub	eax,00000004h
      		jz 	L0002A783 //
      		sub	eax,00000004h
      		jz 	L0002A777 //
      		sub	eax,00000004h
      		jz 	L0002A76B // IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK
      		sub	eax,00000004h
      		jz 	L0002A75F // IOCTL_ACPI_RELEASE_GLOBAL_LOCK
      		sub	eax,00000004h
      		jz 	L0002A78F //CALL_IOCTL_ACPI_EVAL_METHOD_EX
      		sub	eax,00000004h
      		jz 	L0002A79B // CALL_IOCTL_ACPI_ASYNC_EVAL_METHOD_EX
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_ENUM_CHILDREN [8]
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_UNKNOWNFUNC9
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_CALL_IOCTL_ACPI_GET_DEVICE_INFORMATION [10]
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_UNKNOWNFUNC11
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_UNKNOWNFUNC12
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_UNKNOWNFUNC13
      		sub	eax,00000004h
      		jz 	CALL_IOCTL_ACPI_GET_DEVICE_SPECIFIC_DAT [14]
      		sub	eax,00000004h
      		jz 	L0002A78F // CALL_IOCTL_ACPI_EVAL_METHOD_V2 [15]
      		sub	eax,00000004h
      		jz 	L0002A79B // CALL_IOCTL_ACPI_ASYNC_EVAL_METHOD_V2 [16]
      		sub	eax,00000004h
      		jz 	L0002A78F // CALL_IOCTL_ACPI_EVAL_METHOD_V2_EX [17]
      		sub	eax,00000004h
      		jz 	L0002A79B // CALL_IOCTL_ACPI_ASYNC_EVAL_METHOD_V2_EX [18]

#5796 | infuscomus | ⇗ @blackwingcat I think ⇗ @Mov AX, 0xDEAD can tell you more, if I'm not mistaken he is the one who made it.
#5797 | ruthan | Wow legend is here, Blackwingcat welcome.
#5798 | XPWELL64 | ⇗ @infuscomus Does the acpi.sys ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (367) work for vista? I'm helping a new member installing vista.
#5799 | infuscomus | ⇗ @XPWELL64 Unfortunately no, Vista has it's own driver that needs to be modded - I think ⇗ @diderius6 can help you with that.
#5800 | blackwingcat | Hi. I bought ASUS X590 PRO, and try to install Windows 2000 into it. I can install Windows XP, but acpi problem prevents from my installing Windows 2000 :3 So I'm trying to improve Windows 2000 acpi.sys .
#5801 | diderius6 | ⇗ @blackwingcat Hi, you can send me your acpi.sys from win2000 and the exact BSOD. Then I try to to make acpi.sys work Dietmar

#5802

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5766

> It is best to use the Easy2boot+AgFM combo for this (although if you do not need XP textmode setup you can just use AgFM
> 1. Have a spare USB stick to be formatted.
> 2. Download the latest Easy2boot - ⇗ https://www.easy2boot.com/download/
> 3. Run Easy2boot and tell it which drive to format - in my case I:\
> 4. Wait for it to finish formating and copying the files it needs.
> 5. There should be a 1st drive lable E2B created - your ISOs go here if you are doing a new XP install.
> 5. A 2nd drive should also exist labeled E2B_PTN2 - go to this drive and create an ACPI folder on it and put your DSDT.bin file in there.
> 6. Boot from your Easy2boot drive and select the AgFM option from the menu.
> 7. Once booted into AgFM press F6 to reach the grub2 console
> 8. type this into your grub2 console - your hdX and msdosX number might be different, so use the ls command to be sure you have the right drive
> grub> acpi (hd0,msdos2)/ACPI/DSDT.bin
> 9. Your ACPI table should now be modded
> 10. Press F3 to select a drive to boot from - If you have an existing XP already installed select that, if not select your E2B drive and follow the steps to complete XP setup.

Thanks for the guide
I would like to point out that if you want to prepare a USB stick in the easiest way, you have to use Windows10 and it is mandatory to have an internet connection because "Make_E2B.exe" must connect to the easy2boot.com site, presumably (and in my opinion unusually) to check the availability of an updated version otherwise the procedure can't start.
Instead by using XP, Win7 and 8, as indicated on the same site, the second partition "PTN2" will not be created on a USB stick so you have to use a fixed hard disk.
Is there an easier way to get a working USB stick or I have only to try the more complicated alternative procedure reported on that site?
Edit: I'll try to get a working usb stick using the "diskmod" driver in XP/Win7.

#5803 | infuscomus | ⇗ @Andalu I admit I only tested on windows 10 and did not test in earlier versions of windows. on this site - ⇗ https://www.fosshub.com/Easy2Boot.html you can try this option Easy2Boot ZIP E2B v2.06A for Linux, Windows 7 and XP systems (password is e2b)

#5804

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #5803

> @Andalu
> I admit I only tested on windows 10 and did not test in earlier versions of windows.
> on this site - ⇗ https://www.fosshub.com/Easy2Boot.html
> you can try this option
> Easy2Boot ZIP E2B v2.06A for Linux, Windows 7 and XP systems (password is e2b)

I had already tried all the listed versions but none of them work on XP for creating and reading the 2nd partition on a USB stick.
A workaround is the use of the diskmon driver thanks to which XP correctly recognizes now the second E2B_PTN2 partition of a USB stick where I manually copied the agFM files. Everything seems to work correctly until the selection of the disk from which to start the XP installation: here, once the boot disk has been selected, I got the main easyboot screen again or the classic horizontal lines that fill the screen as a sign of error.
I am forced to read again the quite confusing instructions on the easy2boot website
I also find it really strange that a program that is used to create a booting disk needs a mandatory internet connection
Edit: I also tried to configure a fixed hard drive with easy2boot but even in this case, despite the instructions say otherwise, the program is unable to create the secondary partition on XP. I have tried every possibility so I can say that easy2boot doesn't work at all on my system.
I'll be happy to be proven wrong

#5805

Mov AX, 0xDEAD

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5795

> Hi.
> I think Build 6666 luck method 0x1f LoadTable. :3
> Is it no problem ?

Hi blackwingcat,
yes, v6666 lack of loadtable, is any bios exist with this rare opcode ?

## Page 388

#5806

Andalu

⇗ @infuscomus
I tried the other option you mentioned in the procedure at step 10. "Press F3 to select a drive to boot from - If you have an existing XP already installed select that" but after running the command "acpi (hd0,msdos2)/ACPI/DSDT.bin" in the grub console (without getting errors) and then selected the booted disk with XP already installed, I got the A5 BSOD anyway.
I have used the dsdt.bin extracted via aida64 trought the option "acpi dsdt dump" on my Asrock B250M Pro4 where other modded acpi drivers work fine.
Where did I go wrong?
Edit: I realized what I missed: a modded dsdt.bin so the question remains the same: how to modify a dsdt table?

#5807 | infuscomus | ⇗ @Andalu I'm still learning dsdt modding myself - I use this resource to interpret A5 BSODs ⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error what A5 BSOD did you have? did you want me to try and mod yours?

#5808

diderius6

Driver for Baytrail VGA for Win7 compiled for OS version 5.0 (win2000)
I have a question. This driver from Intel for Win7 32 bit is compiled for Win2000.
There are some missing functions in ntoskrnl.exe
_chkstk
memcpy_s
KeAcquireGuardedMutex
KeInitializeGuardedMutex
KeInvalidateAllCaches
KeReleaseGuardedMutex
MmAllocatePagesForMdlEx
PoRegisterPowerSettingCallback
PoUnregisterPowerSettingCallback
⇗ @Mov AX, 0xDEAD
I remember that with Vista, a new driver model was introduced, also for the videodriver.
But when it is compiled for OS version 5.0 (see picture from Dependency Walker),
is there a chance to make it work with Kernel Extender for XP SP3
Dietmar
PS: Only the marked functions are until now not in the nice Kernel Extender.
Link for this videodriver
⇗ https://ufile.io/7oqczfkh
⇗

#5809

Andalu

⇗ @infuscomus
Thanks for the link ;)
I would like to learn how to modify a DSDT table by myself. Unfortunately all guides I found are not for windows or even for beginners.
Regarding my B250 board, I would like to solve the restart problem that doesn't work in XP, getting stuck on the "windows is shutting down" screen, really annoying.
No such problem in Win10, so I suppose it could just be a DSDT table issue.
The A5 bsod code I got is "0x00000003,0x8A095E44,0xC0000034,0x494E495F" which does not occur with other acpi.sys (outerspace,acpi2015 etc) but the failed restart is always present with them too.

#5810 | infuscomus | ⇗ @Andalu weird that it would get stuck at "Windows is shutting down" I've only ever had that problem if a program gets stuck and won't let itself die. maybe try msconfig with a selective startup - enable/disable individual programs to see if one of them is causing it?
#5811 | Andalu | ⇗ @infuscomus the issue already occurs during the XP installation at end of the GUI setup, precisely on the last reboot before entering the desktop for the first time. Even in that case it must always be restarted manually, so for all further times when a reboot is required. Only the shutdown works normally.
#5812 | infuscomus | ⇗ @Andalu very strange, I've never had ACPI not restart before so I'm not entirely sure how to solve this.
#5813 | infuscomus | ⇗ @diderius6 for KeInvalidateAllCaches we have the WRK code at least.

#5814

pappyN4

I have the exact same issue as Andalu with restarts.
My system is Gigabye B450 Aorus M with Ryzen Zen2 (Matisse) stock F41 BIOS (AGESA 1.0.0.3AB), pure XP64 SP2 ISO except for acpi.sys from post 2202 and integrated AHCI drivers.
In the text mode of the install it gets to Restating Now but I have to manually hit the restart button, same issue with GUI installer. Once windows is installed, shutdown runs normally. But the restarting it stops at the Shutting Down part and I have to hit restart button.
It looks like windows closes everything off properly, no errors when booting up, just does not send that final command to restart. I tried integrating other SATA drivers while I was trying to solve another problem but never could get restart working properly... Something outside of high level windows functions, low level windows/apci/BIOS is my uneducated guess.
No BSOD, no other drivers yet, all normal in Event Viewer.
-SATA1.2.1.321 from last XP 13.4 chipset drivers, drivers ran ok, restart issue
-SATA1.2.1.402 amd_sata.sys (from Win7pack) paired with amd_xata.sys1.2.1.321 (from XP pack) (xata has missing dependencies), drivers ran ok (have to recheck, it was a while ago), restart issue
-SATA1.2.1.402 patched with NTOSKRNL_Emu, immediate 7B BSOD when updated, it did not like me doing this at all... Looks like i patched ok, recalc checksum, added import to redirects.h, all green in DependencyWalker.
-StorAhci_V1.0_20200928 drivers ran ok, no SMART data, restart issue
Shutdown is normal for all

#5815 | diderius6 | ⇗ @pappyN4 I noticed this behavior with missing restart, when the videodriver is not correct installed Dietmar

#5816

diderius6

⇗ @infuscomus
I flashed with Revelprog IS EEpromer your modded DSDT (for OSEL) for the Asrock Q1900M board
Baytrail J1900 cpu with Valley View VGA.
I doublecheck success of the Bios flash.
Board starts and now with your nice mod of DSDT I can chose for the very first time IDE mode for the harddisk.
The Bios version is P1.30, the very first version, that I can get for this board.
Now the crazy journey for to make a Baytrail videodriver for XP SP3 starts
Dietmar

#5817 | XPWELL64 | ⇗ @diderius6 Does the driver in post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (388) works for windows xp or 2000? I have intel hd graphics 5500
#5818 | XPWELL64 | ⇗ @infuscomus Did you complete my dsdt mod?

#5819

diderius6

⇗ @XPWELL64
Until now, I am even not sure if this driver works for Win7 32 bit, because it is not build for Baytrail Valley View VGA,
but in its binaries via IDA Pro you can see, that DEV_0F31 appears there for Valley View.
A lot of work more is needed, I have 3 weeks
Dietmar

#5820 | XPWELL64 | ⇗ @infuscomus Is there any acpi.sys for vista? I'm helping a user to install windows vista.

## Page 389

#5821 | XPWELL64 | ⇗ @diderius6 Is there any modded acpi.sys for vista? I'm helping a new user.
#5822 | Andalu | ⇗ @diderius6 about the non-working restart, I would like to report that in my case on the asrock B250M Pro4 no video card is installed, the graphics component comes from the intel processor.
#5823 | diderius6 | ⇗ @XPWELL64 Until now I have not seen a modded acpi.sys for Vista. You can send me your acpi.sys from Vista with the exact BSOD and I try to mod it Dietmar
#5824 | diderius6 | ⇗ @Andalu "no video card is installed, the graphics component comes from the intel processor." Yepp, exact in this case this crash on last reboot happens when this graphics from Intel is not recogniced correct Dietmar
#5825 | diderius6 | On install with original XP SP3 CD in IDE mode on the Q1900M board I get BSOD 0x0000007E (C0000005, xxx, yyy, zzz). This BSOD seems to be characteristic for Baytrail CPU and XP. With acpi.sys from outerspace ) this BSOD is gone Dietmar
#5826 | Andalu | ⇗ @diderius6 with a video card installed (HD6450 + iCafe-WinXP v9.000.300.3010 drivers) the restart doesn't work anyway: the system remains always on and only the monitor turns off. I still have to manually reset the system. Shutdown ok.
#5827 | diderius6 | ⇗ @Andalu Can you disable the onboard videocard and also its sound HD, hdmi in Bios Dietmar

#5828

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5827

> @Andalu
> Can you disable the onboard videocard and also its sound HD, hdmi in Bios
> Dietmar

Same as before: system always on / monitor off.
No problem in Win7 with or without video card.

#5829

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #5816

> I flashed with Revelprog IS EEpromer your modded DSDT (for OSEL) for the Asrock Q1900M board
> Baytrail J1900 cpu with Valley View VGA.

I would have preferred you test that it works with the grub2 method first, but oh well.

#5830 | infuscomus | ⇗ @XPWELL64 your DSDT has so many OS version entries it's a pain to get through. did the acpi2015.sys work at least?

#5831

infuscomus

⇗ @diderius6
do you have any DSDT table with the missing OSYS entries?
e.g - OSYS = 0x07D9 etc...
⇗ @XPWELL64 's DSDT is missing them

            Method (_INI, 0, Serialized)  // _INI: Initialize
                   {
                OSYS = 0x07D9
                If (CondRefOf (\_OSI, Local0))
                           {
                    If (_OSI ("Windows 2009"))
                                   {
                        OSYS = 0x07D9
                                   }

                    If (_OSI ("Windows 2012"))
                                   {
                        OSYS = 0x07DC
                                   }

                    If (_OSI ("Windows 2013"))
                                   {
                        OSYS = 0x07DD
                                   }

                    If (_OSI ("Windows 2015"))
                                   {
                        OSYS = 0x07DF
                                   }
                           }

The ones I have different OSYS code so I can't use them - I think I had a DSDT table with OSYS code like this but can't seem to find it.

#5832

diderius6

⇗ @infuscomus
Here it is
Dietmar

            Method (_INI, 0, Serialized)  // _INI: Initialize
                   {
                OSYS = 0x03E8
                If (CondRefOf (\_OSI, Local0))
                           {
                    If (_OSI ("Windows 2001"))
                                   {
                        OSYS = 0x07D1
                                   }

                    If (_OSI ("Windows 2001 SP1"))
                                   {
                        OSYS = 0x07D1
                                   }

                    If (_OSI ("Windows 2001 SP2"))
                                   {
                        OSYS = 0x07D2
                                   }

                    If (_OSI ("Windows 2001.1"))
                                   {
                        OSYS = 0x07D3
                                   }

                    If (_OSI ("Windows 2006"))
                                   {
                        OSYS = 0x07D6
                                   }

                    If (_OSI ("Windows 2009"))
                                   {
                        OSYS = 0x07D9
                                   }

                    If (_OSI ("Windows 2012"))
                                   {
                        OSYS = 0x07DC
                                   }

                    If (_OSI ("Windows 2013"))
                                   {
                        OSYS = 0x07DD
                                   }

                    If (_OSI ("Windows 2015"))
                                   {
                        OSYS = 0x07DF
                                   }
                           }
               }

#5833 | infuscomus | ⇗ @diderius6 Thanks

#5834

infuscomus

⇗ @XPWELL64
Thanks to help from diderius6 I have DSDT mod for you now.
infuscomus has attached files to this post

- ⇗ XPWELL64_DSDT_MOD.7z.zip

#5835

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5808

> Driver for Baytrail VGA for Win7 compiled for OS version 5.0 (win2000)
> I have a question. This driver from Intel for Win7 32 bit is compiled for Win2000.

Hi diderius6,
Probably it is just linker.exe bug, it set OS ver in *.sys to 5.xx
Search in main *.sys for magic unicode utf-16 string "dxgkrnl", if *.sys contains this string = Vista video model driver
W2000 model video drivers has import from VIDEOPRT.SYS

## Page 390

#5836

diderius6

⇗ @Mov AX, 0xDEAD
The device igdkmd32.sys Version 9.17.10.2963 does NOT contain the string "dxgkrnl", I just check with Ida.
So, there is hope for a W2000 model driver. And the crazy Bsod 0x00000050 may come from videoport.sys.
I changed videoport from XP SP3 against videoport from XP SP 2, but same 0x50 BSOD.
And for to make the very last check: I look at a igdkmd32.sys version 10.18.10.4176
compiled for OS version 6.3 subvers 6.1 (Win7) and there the string "dxgkrnl" appears
Dietmar
The Magic Number for Valley View in XP SP3 for DEV_0F31 seems to be 9 5 (7?) 0Eh
The Magic Number for Valley View in Win7 for DEV_0F31 seems to be 9 5 0Fh

#5837

pappyN4

⇗ @diderius6
No restart issue happens both with no drivers installed (SATA only) and with most drivers installed (SATA/audio/LAN/GPU/IOMMU/SMBUS/chipset USB. Remaining missing disabled. Still trying to get CPU USB working so disabled for this test.
Tested nvidia GT710 default XP driver and with latest 368.81 driver.
Tested amd HD5450 with default XP driver and with latest catalyst14.4 driver.
I'll test tomorrow with different SSD drive. Actually i do not have a spare, so HDD :(
I could also try BIOS update. Any possible issue with acpi if update from current AGESA 1.0.0.3AB to second newest BIOS 1.0.0.6 or newest that adds Zen3 1.1.0.0 D ?
F60e
2020/12/09
Update AGESA ComboV2 1.1.0.0 D for AMD Ryzen 5000 series CPU support
F51
2?020/08/03
Update AMD AGESA ComboV1 1.0.0.6 for 3rd Gen AMD Ryzen XT series processors
Fix AMD security vulnerabilities for SMM Callout Privilege Escalation
F50
2?019/11/27
Update AMD AGESA 1.0.0.4 B
Improve system boot time
Improve RAID function compatibility
Improve PCIe device compatibility
Note:
Before updating BIOS to this new version, you MUST follow the steps as detailed under BIOS F40 description.
F42g
2?019/10/18
Update AGESA 1.0.0.3 ABBA
Improve Destiny 2 gaming compatibility
Correction of PCIe Gen4 being disabled when using a 3rd Gen Ryzen (Matisse) CPU due to AGESA change
Note:
Before updating BIOS to this new version, you MUST follow the steps as detailed under BIOS F40 description.
F41
2?019/07/22
Update AGESA 1.0.0.3 AB
Improve M.2 SSD compatibility
Forgot to add. Windows 7x64 has no problem.

#5838

genieautravail

About the shutdown issue. I have a similar issue with the modded Intel USB3 HCSwitch (Gen4_Series8_C220_and_later) provide by PPeti66x on the MDL forum.
Since one month I'm playing with a ZOTAC ZBOX EN760 mini PC (Haswell processor).
Every is fine except this stupid problem when I try to shutdown or reboot the computer.
I must press the power button for that.
If I switch back to the original PCI bus, the issue disappear.
I'am pretty sure that the switcher doesn't stop properly and block the shutdown process.
I have already posted a message on the MDL forum one month ago with some screenshots.
But nobody has answered until now.
A solution will be welcome.

#5839

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5835

> W2000 model video drivers has import from VIDEOPRT.SYS

Кстати, обратите внимание, что VIDEOPRT.SYS взятый с дистрибутива с SP2 имеет до +200% лучшую 2D-производительность на Radeon видеокартах, при работе ОС без режима PAE и до +300% прирост 2D под патченой системой через WINXPPAE v2.0, чем оригинальный VIDEOPRT.SYS последней версии, взятый с SP3. На NVidia видеокартах сей феномен не наблюдается. Толи в драйвере косяк, толи в этом файле косяк, я не разобрался, просто использую файл с WinXP SP2.

#5840

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5839

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5835

> > W2000 model video drivers has import from VIDEOPRT.SYS

> VIDEOPRT.SYS взятый с дистрибутива с SP2

Привет/Hi,
rus:
Да, я помню про твою находку с SP2 версией VIDEOPRT.SYS, на встройке intel тоже надо попробовать.
Но мне кажется дело в банальном vsync, в sp2 возможно оно игнорируется и от этого такая разница в 2d
eng:
Yes, i remember your finding with SP2 version of VIDEOPRT.SYS, I should try too it on intel embedded.
But I think it's a trivial vsync, in sp2 it may be ignored and that's why there is such a difference in 2d

#5841

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5836

> @Mov AX, 0xDEAD
> The device igdkmd32.sys Version 9.17.10.2963 does NOT contain the string "dxgkrnl", I just check with Ida.

Hi diderius6
You did not found string because you've used case-sensive find
try without it and you will get surprise

#5842

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5836

> @Mov AX, 0xDEAD
> The device igdkmd32.sys Version 9.17.10.2963 does NOT contain the string "dxgkrnl", I just check with Ida.

@diderius6.... Dietmar, I have found that the search engine in IDA sometimes misses strings. IDA won't identify a string unless the decompiler managed to find it. It's an 'interactive' decompiler because it relies on the user to help it decompile. On many occasions I have had to find decompiled code/data and point it out to IDA.
You probably know this already but if you find a string in IDA and it is in unicode, (if you can find the uncompiled code/data), and you want to decompile it, you can set the string type in the Options menu under General. Look for the Strings tab and then 'Default string literal type'. The default is C-style but you can select different string types in the drop-down menu, including unicode. If you try to decompile unicode without changing that option it won't compile.
Sometimes the strings in executables and dlls are in unicode and a straight text search in IDA won't find it. You have to search for the unicode bytes. I prefer using a text editor like UltraEdit or HxD to locate strings, or a grep tool. They are better suited to finding strings based on an entered byte sequence. I have found that the IDA search engine doesn't find byte sequences very well in code/data that is not decompiled. Even with decompiled code I have found it does not always find the strings.
Maybe it's just me. Then again, maybe it's not there.

#5843

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #5842

> IDA won't identify a string unless the decompiler managed to find it. It's an 'interactive' decompiler because it relies on the user to help it decompile. On many occasions I have had to find decompiled code/data and point it out to IDA.

In IDA to search bytes/strings switch to HEX VIEW screen, by default it can search only byte sequences, but it accept strings too
but it still search in logical sections only, this mean if string hidden in resources or between sections, search will fail

#5844

diderius6

I make some tests with the Intel graphik driver version 5436 for XP.
igxpmp32.sys is loaded, but then crashes and get unloaded on reboot for the Valley View Baytrail VGA with DEV_0F31 .
I found with Ida the exact place, where this crash happens,

>     .text:10021D87

>     .text:10021D87 loc_10021D87: ; CODE XREF: sub_10020DD0+F98 j
>     .text:10021D87                 movzx   eax, [ebp+var_469]
>     .text:10021D8E                 cmp     eax, 1
>     .text:10021D91                 jnz     short loc_10021DB0
>     .text:10021D93                 mov     ecx, [ebp+var_470]
>     .text:10021D99                 push    ecx
>     .text:10021D9A                 lea     edx, [ebp+var_468]
>     .text:10021DA0                 push    edx
>     .text:10021DA1                 push    offset aHardwareinfo_1 ; "HardwareInformation.AdapterString"
>     .text:10021DA6                 mov     eax, [ebp+arg_0]
>     .text:10021DA9                 push    eax
>     .text:10021DAA                                                 call    ds:VideoPortSetRegistryParameters
>     .text:10021DB0

>     .text:10021DB0 loc_10021DB0: ; CODE XREF: sub_10020DD0+FC1 j
>     .text:10021DB0                 push    12h
>     .text:10021DB2                 push    offset aInternal ; "Internal"
>     .text:10021DB7                 push    offset aHardwareinfo_2 ; "HardwareInformation.DacType"
>     .text:10021DBC                 mov     ecx, [ebp+arg_0]
>     .text:10021DBF                 push    ecx
>     .text:10021DC0                 call    ds:VideoPortSetRegistryParameters
>     .text:10021DC6                 push    22h
>     .text:10021DC8                 push    offset aIntelVideoBios ; "Intel Video BIOS"
>     .text:10021DCD                 push    offset aHardwareinfo_3 ; "HardwareInformation.BiosString"
>     .text:10021DD2                 mov     edx, [ebp+arg_0]
>     .text:10021DD5                 push    edx
>     .text:10021DD6                 call    ds:VideoPortSetRegistryParameters
>     .text:10021DDC

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 50, {b9d18000, 0, 80c84241, 0}

>     *** ERROR: Module load completed but symbols could not be loaded for igxpmp32.sys
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     Probably caused by : igxpmp32.sys ( igxpmp32+21db0 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3

>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     PAGE_FAULT_IN_NONPAGED_AREA (50)
>     Invalid system memory was referenced.  This cannot be protected by try-except,
>     it must be protected by a Probe.  Typically the address is just plain bad or it
>     is pointing at freed memory.
>     Arguments:
>     Arg1: b9d18000, memory referenced.
>     Arg2: 00000000, value 0 = read operation, 1 = write operation.
>     Arg3: 80c84241, If non-zero, the instruction address which referenced the bad memory
>     	address.
>     Arg4: 00000000, (reserved)

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640

>     READ_ADDRESS:  b9d18000

>     FAULTING_IP:
>     nt!CmpSetValueDataNew+363
>     80c84241 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]

>     MM_INTERNAL_CODE:  0

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x50

>     PROCESS_NAME:  System

>     TRAP_FRAME:  b9d16bf0 -- (.trap 0xffffffffb9d16bf0)
>     ErrCode = 00000000
>     eax=00003a70 ebx=e11fc024 ecx=00000acb edx=00000000 esi=b9d18000 edi=e11fcf68
>     eip=80c84241 esp=b9d16c64 ebp=b9d16ca0 iopl=0         nv up ei pl nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010206
>     nt!CmpSetValueDataNew+0x363:
>     80c84241 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
>     Resetting default scope

>     LOCK_ADDRESS:  80afd6c0 -- (!locks 80afd6c0)
>     NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
>     NTSDEXTS: Please check your symbols

>     PNP_TRIAGE:
>     	Lock address  : 0x80afd6c0
>     	Thread Count  : 1
>     	Thread address: 0x89c80b30
>     	Thread wait   : 0x1254

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     b9d16724 80a30d7b 00000003 b9d18000 00000000 nt!RtlpBreakWithStatusInstruction
>     b9d16770 80a319e6 00000003 00000000 c05ce8c0 nt!KiBugCheckDebugBreak+0x19
>     b9d16b50 80a31f77 00000050 b9d18000 00000000 nt!KeBugCheck2+0x574
>     b9d16b70 80aa55ac 00000050 b9d18000 00000000 nt!KeBugCheckEx+0x1b
>     b9d16bd8 80ae20a8 00000000 b9d18000 00000000 nt!MmAccessFault+0x1016
>     b9d16bd8 80c84241 00000000 b9d18000 00000000 nt!KiTrap0E+0xdc
>     b9d16ca0 80c8832b e1037008 b9d170bc 00003a70 nt!CmpSetValueDataNew+0x363
>     b9d16cf0 80c8b208 e1037008 ce350444 b9d16dd0 nt!CmpSetValueKeyNew+0x13d
>     b9d16d78 80c6bfcc e19a1ab0 b9d16dd0 00000003 nt!CmSetValueKey+0x234
>     b9d16e14 80adedd8 80000430 b9d16ed4 00000000 nt!NtSetValueKey+0x2dc
>     b9d16e14 80a3c855 80000430 b9d16ed4 00000000 nt!KiFastCallEntry+0x158
>     b9d16eb0 80c00ed7 80000430 b9d16ed4 00000000 nt!ZwSetValueKey+0x11
>     b9d16ee0 b9327fa3 00000000 e1a2c2d0 a7f3a768 nt!RtlWriteRegistryValue+0x75
>     b9d16f0c b9334ba4 89c0f358 e1a2c2d0 b9d170bc VIDEOPRT!VPSetRegistryParameters+0xc9
>     b9d16f2c a7d4cdb0 89c0f358 a7f3a768 b9d170bc VIDEOPRT!VideoPortSetRegistryParameters+0x2a
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     b9d17524 a7f84e65 89c0f358 e17c0008 00000000 igxpmp32+0x21db0
>     b9d17660 a7d2e99d 89c0f358 00000000 00000000 igxpmp32+0x259e65
>     b9d17680 b9335318 89c0f358 00000000 00000000 igxpmp32+0x399d
>     b9d17884 b9335c9a 8996bc20 89acb450 89acb458 VIDEOPRT!VideoPortFindAdapter2+0x3ec
>     b9d178b0 b932fc41 8996bc20 89acb450 89acb458 VIDEOPRT!VideoPortFindAdapter+0x7c
>     b9d17a1c 80a21c8d 89c0f040 899bd188 89c0f040 VIDEOPRT!pVideoPortPnpDispatch+0x6ad
>     b9d17a34 80b5e526 b9d17aa4 89c8fb68 89c74700 nt!IopfCallDriver+0x51
>     b9d17a60 80b5e66e 89c0f040 b9d17a80 00000000 nt!IopSynchronousCall+0xf0
>     b9d17aa8 80a2c123 89c74700 00000001 00000000 nt!IopStartDevice+0x82
>     b9d17ac4 80b5d2e8 89c74700 b9d17d01 89bbbfe0 nt!PipProcessStartPhase1+0x9f
>     b9d17d20 80b5de56 89c8fb68 00000001 00000000 nt!PipProcessDevNodeTree+0x238
>     b9d17d58 80a2d0ab 89bbbfe0 89c80b30 80b1365c nt!PiRestartDevice+0x116
>     b9d17d80 80ad51a9 00000000 00000000 89c80b30 nt!PipDeviceActionWorker+0x17f
>     b9d17dac 80bd81ac 00000000 00000000 00000000 nt!ExpWorkerThread+0x10f
>     b9d17ddc 80ae4212 80ad509a 00000001 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     igxpmp32+21db0
>     a7d4cdb0 6a12            push    12h

>     SYMBOL_STACK_INDEX:  f

>     SYMBOL_NAME:  igxpmp32+21db0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: igxpmp32

>     IMAGE_NAME:  igxpmp32.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  50f711fb

>     FAILURE_BUCKET_ID:  0x50_igxpmp32+21db0

>     BUCKET_ID:  0x50_igxpmp32+21db0

>     Followup: MachineOwner
>     ---------

#5845

diderius6

⇗ @Mov AX, 0xDEAD
Yes, you are right. I find this string at 4 places in igdkmd32.sys version 9.17.10.2963, for example in
mov [ebp+var_18], offset aSDeviceDxgkrnl ; "S\\Device\\DxgKrnl"
But I searched before also with not case-sensive, so ⇗ @gordo999 is right also,
Dietmar

#5846

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5844

> igxpmp32.sys is loaded, but then crashes and get unloaded on reboot for the Valley View Baytrail VGA with DEV_0F31 .
> I found with Ida the exact place, where this crash happens,

>     .text:10021D93                 mov     ecx, [ebp+var_470]
>     .text:10021D99                 push    ecx
>     .text:10021D9A                 lea     edx, [ebp+var_468]
>     .text:10021DA0                 push    edx
>     .text:10021DA1                 push    offset aHardwareinfo_1 ; "HardwareInformation.AdapterString"
>     .text:10021DA6                 mov     eax, [ebp+arg_0]
>     .text:10021DA9                 push    eax
>     .text:10021DAA                                                 call    ds:VideoPortSetRegistryParameters

    VideoPortSetRegistryParameters(
        PVOID   HwDeviceExtension,
        PWSTR   ValueName,
        PVOID   ValueData,
        ULONG   ValueLength
           );

`HwDeviceExtension = arg_0 = OK
ValueName= "HardwareInformation.AdapterString" = OK
ValueData = &(ebp+var_468) = local bufer on stack = ???
ValueLength = *(ebp+var_470) = lengh of this buffer = ???`
i assume problem is var_468 , it must be be null-terminated string

#5847

diderius6

⇗ @Mov AX, 0xDEAD
From the Sourcecode of XP SP1 from videoprt.c there is written

    VP_STATUS
    VideoPortSetRegistryParameters(
        PVOID HwDeviceExtension,
        PWSTR ValueName,
        PVOID ValueData,
        ULONG ValueLength
           )

    /*++

    Routine Description:

        VideoPortSetRegistryParameters writes information to the CurrentControlSet
        in the registry.  The function automatically searches for or creates the
        specified parameter name under the parameter key of the current driver.

    Arguments:

        HwDeviceExtension - Points to the miniport driver's device extension.

        ValueName - Points to a Unicode string that contains the name of the
            data value being written in the registry.

        ValueData - Points to a buffer containing the information to be written
            to the registry.

        ValueLength - Specifies the size of the data being written to the registry.

    Return Value:

        This function returns the final status of the operation.

    Environment:

        This routine cannot be called from a miniport routine synchronized with
        VideoPortSynchronizeRoutine or from an ISR.

    --*/

Because I am very bad in Assembler,
can you please describe, how the 4 parameters via `eax, ecx, edx` are given to

    VideoPortSetRegistryParameters(
        PVOID HwDeviceExtension,
        PWSTR ValueName,
        PVOID ValueData,
        ULONG ValueLength
           )

From the output of Windbg, only the value of the register `edx` is zero, I think this `edx=00000000`

    ValueData = &(ebp+var_468) from .text:10021D9A lea edx, [ebp+var_468]

    eax=00003a70 ebx=e11fc024 ecx=00000acb edx=00000000 esi=b9d18000 edi=e11fcf68
    eip=80c84241 esp=b9d16c64 ebp=b9d16ca0 iopl=0 nv up ei pl nz na pe nc
    cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010206
    nt!CmpSetValueDataNew+0x363:
    80c84241 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]

And why can this error happen? What has to be stored in var_468 and can I give a value by hand to var_468?
As far as I understand, the function VideoPortSetRegistryParameters
writes values for the VGA device (here from Baytrail with DEV_0F31) into the registry.
They are a lot.
Question is, which values for DEV_0F31 (Baytrail) have to be different from DEV_0166 (HD4000).
There are differences, because in other case to mod the *.inf would be enough.
I compare those entries in Win7 via its *.inf there, most are the same.
Question is also, where the VALUES (concrete numbers) for this registry entries are stored
Dietmar

    FILE COMPARISON
    Produced: 18.12.2020 12:41:54

    Mode:  Just Differences

    Left file: C:\Dokumente und Einstellungen\Administrator\Desktop\Neu Textdokument (17).txt
    Right file: C:\Dokumente und Einstellungen\Administrator\Desktop\Neu Textdokument (18).txt
    L1  [iIVBM_w7]
    R1  [iVLV2M_w7]
    ---------------------------------------------------------
    ---------------------------------------------------------
    L26 DelReg =   PwrCons_UserPolicy_DelSwSettings
        AddReg  = XVYCCFeature_AddSwSettings
        DelReg   = XVYCCFeature_DelSwSettings
        AddReg   = DisplayDPP_IVB_AddSwSettings
        DelReg   = DisplayDPP_IVB_DelSwSettings
        AddReg = DualLFPRCR_AddSwSettings
        DelReg = DualLFPRCR_DelSwSettings

    R26 AddReg   = AsyncFlips_VLV2_AddSwSettings
        DelReg     = AsyncFlips_VLV2_DelSwSettings
        AddReg    = ScalerToHDMI_VLV2_AddSwSettings
        DelReg    = ScalerToHDMI_VLV2_DelSwSettings
        AddReg    = DisplayOptimization_VLV2_AddSwSettings
        DelReg    = DisplayOptimization_Generic_DelSwSettings
        AddReg   = AvoidPPSOutsideModeSet_AddSwSettings
        DelReg   = AvoidPPSOutsideModeSet_DelSwSettings
        AddReg   = AudioLPE_WA_AddSwSettings
        DelReg   = AudioLPE_WA_DelSwSettings
    ---------------------------------------------------------

#5848

diderius6

These are the exports from videoprt.sys from XP SP3.
The name of the export functions are the same in XP SP2 and XP SP3.
Compared with XP SP1, those functions appear new in XP SP2, SP3

    PortNotification
    VideoPortDbgReportComplete
    VideoPortDbgReportCreate
    VideoPortDbgReportSecondaryData
    VideoPortNotification

Dietmar
EDIT: igxpmp32.sys from XP SP3 imports 44 functions from videoport.sys.

>     NAME VIDEOPRT.SYS XP SP3

>     EXPORTS for XP SP3

>     VideoPortInterlockedDecrement
>     VideoPortInterlockedExchange
>     VideoPortInterlockedIncrement
>     PortNotification
>     VideoPortAcquireDeviceLock
>     VideoPortAcquireSpinLock
>     VideoPortAcquireSpinLockAtDpcLevel
>     VideoPortAllocateBuffer
>     VideoPortAllocateCommonBuffer
>     VideoPortAllocateContiguousMemory
>     VideoPortAllocatePool
>     VideoPortAssociateEventsWithDmaHandle
>     VideoPortCheckForDeviceExistance
>     VideoPortCheckForDeviceExistence
>     VideoPortClearEvent
>     VideoPortCompareMemory
>     VideoPortCompleteDma
>     VideoPortCreateEvent
>     VideoPortCreateSecondaryDisplay
>     VideoPortCreateSpinLock
>     VideoPortDDCMonitorHelper
>     VideoPortDbgReportComplete
>     VideoPortDbgReportCreate
>     VideoPortDbgReportSecondaryData
>     VideoPortDebugPrint
>     VideoPortDeleteEvent
>     VideoPortDeleteSpinLock
>     VideoPortDisableInterrupt
>     VideoPortDoDma
>     VideoPortEnableInterrupt
>     VideoPortEnumerateChildren
>     VideoPortFlushRegistry
>     VideoPortFreeCommonBuffer
>     VideoPortFreeDeviceBase
>     VideoPortFreePool
>     VideoPortGetAccessRanges
>     VideoPortGetAgpServices
>     VideoPortGetAssociatedDeviceExtension
>     VideoPortGetAssociatedDeviceID
>     VideoPortGetBusData
>     VideoPortGetBytesUsed
>     VideoPortGetCommonBuffer
>     VideoPortGetCurrentIrql
>     VideoPortGetDeviceBase
>     VideoPortGetDeviceData
>     VideoPortGetDmaAdapter
>     VideoPortGetDmaContext
>     VideoPortGetMdl
>     VideoPortGetRegistryParameters
>     VideoPortGetRomImage
>     VideoPortGetVersion
>     VideoPortGetVgaStatus
>     VideoPortInitialize
>     VideoPortInt10
>     VideoPortLockBuffer
>     VideoPortLockPages
>     VideoPortLogError
>     VideoPortMapBankedMemory
>     VideoPortMapDmaMemory
>     VideoPortMapMemory
>     VideoPortMoveMemory
>     VideoPortNotification
>     VideoPortPutDmaAdapter
>     VideoPortQueryPerformanceCounter
>     VideoPortQueryServices
>     VideoPortQuerySystemTime
>     VideoPortQueueDpc
>     VideoPortReadPortBufferUchar
>     VideoPortReadPortBufferUlong
>     VideoPortReadPortBufferUshort
>     VideoPortReadPortUchar
>     VideoPortReadPortUlong
>     VideoPortReadPortUshort
>     VideoPortReadRegisterBufferUchar
>     VideoPortReadRegisterBufferUlong
>     VideoPortReadRegisterBufferUshort
>     VideoPortReadRegisterUchar
>     VideoPortReadRegisterUlong
>     VideoPortReadRegisterUshort
>     VideoPortReadStateEvent
>     VideoPortRegisterBugcheckCallback
>     VideoPortReleaseBuffer
>     VideoPortReleaseCommonBuffer
>     VideoPortReleaseDeviceLock
>     VideoPortReleaseSpinLock
>     VideoPortReleaseSpinLockFromDpcLevel
>     VideoPortScanRom
>     VideoPortSetBusData
>     VideoPortSetBytesUsed
>     VideoPortSetDmaContext
>     VideoPortSetEvent
>     VideoPortSetRegistryParameters
>     VideoPortSetTrappedEmulatorPorts
>     VideoPortSignalDmaComplete
>     VideoPortStallExecution
>     VideoPortStartDma
>     VideoPortStartTimer
>     VideoPortStopTimer
>     VideoPortSynchronizeExecution
>     VideoPortUnlockBuffer
>     VideoPortUnlockPages
>     VideoPortUnmapDmaMemory
>     VideoPortUnmapMemory
>     VideoPortVerifyAccessRanges
>     VideoPortWaitForSingleObject
>     VideoPortWritePortBufferUchar
>     VideoPortWritePortBufferUlong
>     VideoPortWritePortBufferUshort
>     VideoPortWritePortUchar
>     VideoPortWritePortUlong
>     VideoPortWritePortUshort
>     VideoPortWriteRegisterBufferUchar
>     VideoPortWriteRegisterBufferUlong
>     VideoPortWriteRegisterBufferUshort
>     VideoPortWriteRegisterUchar
>     VideoPortWriteRegisterUlong
>     VideoPortWriteRegisterUshort
>     VideoPortZeroDeviceMemory
>     VideoPortZeroMemory
>     VpNotifyEaData

#5849 | Mov AX, 0xDEAD | And why can this error happen? What has to be stored in var_468 and can I give a value by hand to var_468? Set breakpoint before call VideoPortSetRegistryParameters() and you will see all regs and vars Because you dont know asm, you won't be able to go deep further
#5850 | diderius6 | ⇗ @Mov AX, 0xDEAD Oh, I can learn a lot and I have 3 weeks time Dietmar

## Page 391

#5851

diderius6

May be the most easy way, to get correct values for the Baytrail with DEV_0F31 for the registry of XP SP3
is just to install Win7 on the Baytrail J1900 board
and extract the changes in registry for the ialm device (and etc.), do the same for HD4000 (via force in *.inf) and then put the changes compared to HD4000 into the registry of XP SP3.
So, no need for any *.inf for the igxpmp32.sys and etc. under XP
Dietmar
PS: Under XP, I can see in registry, that the ialm device (2 devices) have an root enum entry and with Windbg that the root device is started, but only not for the DEV_0F31.
So may be, that my mod of the igxpmp32.sys for DEV_0F31 is already working,
but only the correct entries in registry for DEV_0F31 Baytrail Valley View are missed.

#5852

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5843

> In IDA to search bytes/strings switch to HEX VIEW screen...

⇗ @Mov AX, 0xDEAD ...thanks for tip. There are times when I encounter large amounts of code that has not been decompiled correctly and I work through it a bit at a time using the 'undefine' command. Then I go through that data looking for obvious strings. Sometimes, I also look for common assembly instructions like a jump or return, which helps identify code.
I always load the resources section when loading the executable and go through it as well. My version of IDA is an older version so maybe yours does a better job of disassembly. I do have the free version 7 as well.

#5853

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5847

> Because I am very bad in Assembler,
> can you please describe, how the 4 parameters via `eax, ecx, edx` are given to

>     VideoPortSetRegistryParameters(
>         PVOID HwDeviceExtension,
>         PWSTR ValueName,
>         PVOID ValueData,
>         ULONG ValueLength
>            )

⇗ @diderius6 ...if you look before the CALL VideoPortSetRegistryParameters statement you will see PUSH instructions to PUSH eax PUSH ecx, etc. The PUSH closest to the CALL is usually the first parameter in the statement above. There are different calling conventions but the one I have described is the one I have always encountered in apps running Windows code.
You can't do that using IDA in the straight decompiler mode. I have not used the IDA debugger so I'm not familiar with how it works. You need a debugger like Windbg. You need the ability inherent in a debugger to dump the memory at a specific address so you can see what is there.
Of course, the PUSH statements are pushing those values onto the stack, a temporary memory location. The CALLed function can then retrieve the values from the stack. The return address is PUSHed automatically by the system and that provides a means of tracing back through code when you are nested deep in a CALL structure (A called function calls another function which calls another function....).
You can sometimes confirm you have the right parameter by looking at the address referenced in the PUSH statement. For example, if the statement before the CALL references the second parameter, PWSTR ValueName, it is a pointer to the address of a string. PWSTR means pointer to a wide string where wide means a unicode string. When you see the string in memory it will be the ASCII characters separated by zeros, 0x00.
Of course, the PWSTR is not there in the assembly code unless you also have the source code loaded in the debugger. So, you have to learn to dump the address indicated at PWSTR ValueName and look for the string. If it's not there, and sometimes it isn't for some reason, there may be another address at that location, so you can dump that address to see if the string is there. It can all seem very complex but once you start tracing through code it becomes second nature.
I learned by keeping a Win32 programming manual beside the computer, an ASCII table, and of course, the Intel assembly instruction manual. You can look up most functions on the Net these days.
You can't do this using IDA. You need a debugger like Windbg. The problem today is that most code is 64 bit and many debuggers were written for 32-bit code. I have used the 64-bit version of Olly and the newer x64dbg debugger. Windbg has a steep learning curve and is not always as easy to use as something like x64dbg. It's a trade-off, depending on what you are trying to do. I have not ncountered problems tracing 64-bit code as opposed to 32-bit. The major difference is the size of the addresses and data. Most of the time, the 8 least significant bytes is all you need. I use the few most significant bytes to orient myself in the code, nothing overly complex.
If you encounter a CALL VideoPortSetRegistryParameters, the first parameter of the function will be PUSHed last, so it will appear right before the CALL. Sometimes, they use MOV instructions, or LEA instructions with the PUSH instructions, so the code before the CALL can be quite spread out and not neat, and compact as indicated in your statement above.

#5854

diderius6

⇗ @gordo999
Thanks a lot for help!
Today I think, that the problem itself is not in the modded igxpmp32.sys driver.
I notice, that from the versions 5441, 5445, 5449 (last) the Device for Baytrail with DEV_0F31 is mentioned
in the line with

    cmp     eax, 0F31h

May be, that the much bigger problem is to set the correct values for the Valley View (Baytrail) to registry.
Some settings are different for HD4000 (DEV_0166), because in other case *.inf mod would work for Valley View (Baytrail) also.
And also in Win7 they are separated, HD4000 with [iIVBM_w7]
and Valley View (Baytrail) with [iVLV2M_w7] in the *.inf file.
Do you know, where the concrete numbers for the entries from the *.inf file are stored?
May be in a *.dll?
And the question is, if such a *.dll needs to be modded for to support DEV_0F31 or is it only needed one time for to set the correct values to registry? With other drivers this problem does not happen, because their entries are very few and only in
HKLM\System\ControlSet001\Services.
May be the Bsod 0x50 happens, because XP does not know, where to find the correct values for the entries for Valleyview (Baytrail) to the registry (because they just do not exist until now under XP)
and so an empty string is the result in ValueData in

    VideoPortSetRegistryParameters(
    PVOID HwDeviceExtension,
    PWSTR ValueName,
    PVOID ValueData,
    ULONG ValueLength
    )

Dietmar
PS: May be, that the correct values for PVOID ValueData can be given by hand.
For that you need to know, WHICH values are needed at this place from VideoPortSetRegistryParameters to registry.
VideoPortSetRegistryParameters is called several times and the first call of it survives without Bsod.

#5855

diderius6

I take a look at the mod from ⇗ @canonkong
for HD510 => UHD610 under Win7.
He modded only *.inf and *.sys.
And the way how he did this, is clear for me.
The problem with Baytrail Valley View Mod is harder, because in Win7 there is only one packet called
iSKLD_w7
in its *.inf. And all the different DEV_ numbers also in mod belong only to this package.
This is other in Win7 for DEV_166 (HD4000) and DEV_0F31 (Baytrail, Valley View).
There are 2 different packages in its *.inf.
So, this other package has to be put to registry for Baytrail, a little bit different from HD4000
Dietmar

#5856

schreiberstein

New report:
After testing out the Sapphire AMD Radeon 7970 graphics card for a while now, I fount its performance to be lackluster on my Z490 platform:
Pro:
- Modern driver support in "modern" operating systems (e.g. Windows 10, Apple macOS, ...)
- Reasonable performance for a card from ~2011
- Vulkan support
- Quiet, high quality card
- Sharp image output
- 4K compatibility with HDMI and DisplayPort
Neg:
- Performance feels dated when playing games at 1440p
- Windows XP 2D performance is very slow (~1900 pts in Tom 2D Benchmark)
---> Regardless of the blazing fast 10 core CPU, the UI feels very sluggish like an old Intel Centrino notebook from 2005.
---> Performance degraded even further when using the PAE memory patch to enable more than ~900 MB of RAM (~1900 pts to ~400 pts on Tom 2D Benchmark) = UNUSABLE PERFORMANCE!
---> Scrolling in web browser felt slow
- Catalyst Control Center buggy on Windows XP
Out of frustration and curiosity, I purchased a MSI NVIDIA GeForce 980 Ti (circa late 2015) and installed it in my Z490 system.
I use a Sapphire Radeon 5700 XT Pulse as my primary graphics card (also during boot), and the 980 Ti in the second slot.
After boot, I use my DVI KVM switch to switch to the 980 Ti's DVI output.
The driver's need to be modded in order for them to work with 900 series cards higher than the GTX 960:
(Source: Polish tutorial ⇗ https://www.youtube.com/watch?v=xwWrxu84hDw)
- Go to NVIDIA Website
- Download driver for GeForce 960 for Windows XP (368.81-desktop-winxp-32bit-international.exe) from 2016
- Execute installer until it crashes (no compatible card found) = Installer files are now extracted!
- Edit "C:\NVIDIA\DisplayDriver\368.81\winxp\International\Display.Driver\nv4_dispi.inf"
- Under "Manufacturer" add:
%NVIDIA_DEV.13C2% = Section008, PCI\VEN_10DE&DEV_13C2
%NVIDIA_DEV.13C0% = Section008, PCI\VEN_10DE&DEV_13C0
%NVIDIA_DEV.17C8% = Section008, PCI\VEN_10DE&DEV_17C8
%NVIDIA_DEV.17C2% = Section008, PCI\VEN_10DE&DEV_17C2
%NVIDIA_DEV.17F0% = Section012, PCI\VEN_10DE&DEV_17F0
- Under "Strings" add:
NVIDIA_DEV.13C2 = "NVIDIA GeForce GTX 970"
NVIDIA_DEV.13C0 = "NVIDIA GeForce GTX 980"
NVIDIA_DEV.17C8 = "NVIDIA GeForce GTX 980 Ti"
NVIDIA_DEV.17C2 = "NVIDIA GeForce GTX TITAN X"
NVIDIA_DEV.17F0 = "NVIDIA Quadro M6000"
- Save file
- Execute installer setup.exe "C:\NVIDIA\DisplayDriver\368.81\WinXP\International\setup.exe"
- Install driver normally
The experience is SIGNIFICANTLY better than with the AMD Radeon 7970 card! :
- Tom 2D Benchmark results improved from ~1900 pts to ~6380
- UI feels really responsive, like I would expect from a modern system
- No performance degradation when using PAE patch to fully use my 64GB of RAM (maybe ~300 pts less in Tom 2D? But certainly not noticeable)
- Browsing experience very smooth with MyPal
- Significantly better performance overall, even in modern applications or games
Keep in mind that this card is NOT supported in modern macOS versions and probably never will!
I recommend the NVIDIA GeForce 900 series for modern Windows XP systems.
The system finally works like I always wanted it to work: Snappy, overkill, quiet.
I can finally use more than ~900 MB of RAM without the system becoming an unresponsive, slow mess!
If I could find any way to use Creative EAX sound with PAE enabled (any Creative card or USB card driver for that matter), it would be perfect.
Because all drivers I tested for Creative PCI cards only emitted noise when using any PAE patch (4GB or ALL).
Right now, I am using a USB3 Ethernet adapter with Realtek 8153 chipset until there is some way to enable the onboard NICs.
The modded Microsoft generic XHCI driver works fabulously.
I thank you all.
Best regards,
schreiberstein

#5857

onuracengiz

⇗ Unofficial Windows XP Service Pack 4
⇗ .Net Framework runtimes
⇗ The latest supported Visual C++ downloads
⇗ Potplayer
⇗ K-Lite Codec Pack Mega 13.8.5 for Xp
⇗ Windows Media Format Runtime for Windows XP/Vista
⇗ 7-zip
⇗ Privazer
⇗ Smart Defrag
⇗ DirectX End-User Runtimes (June 2010)
⇗ DirectX 3.0, 5.2, 6.1, 7.0, 8.0, 8.1, and 8.2
⇗ Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update
⇗ Microsoft UAA Bus Driver for High Definition Audio
⇗ OpenAL
⇗ TCP Optimizer
⇗ K-Meleon
⇗ CabMaker 1.2 (sapientcoder's / dated 7 May 2018)

#5858

tumagonx

> Zitat von ⇗ schreiberstein im Beitrag ¶ #5856

> New report:
> If I could find any way to use Creative EAX sound with PAE enabled (any Creative card or USB card driver for that matter), it would be perfect.
> Because all drivers I tested for Creative PCI cards only emitted noise when using any PAE patch (4GB or ALL).
> schreiberstein

Thanks for the report thats really cool hardware!
I didn't know maxwell driver is compatible with the PAE patch. I have read conflicting info about PAE and maxwell:
⇗ https://www.nvidia.com/en-us/geforce/for...pport-pae-mode/
⇗ http://fireswordblog.blogspot.com/2014/0...msys-after.html
Have you try ASUS Xonar with their emulated EAX (C-Media chipset)?
Another thing, can you use your 64GB RAM fully (say run multiple 7zip at max compression)?
according to this paper:
⇗ https://demandtech.com/wp-content/upload...ws-anUpdate.pdf
there is 16GB barrier of "normal" use and the rest will need AWE (like lmdisk). Assuming pagefile is disabled.

#5859

tumagonx

To BIOS modder here,
Is there easy way to spot XP ACPI incompatibility before buying new motherboard? let say by downloading BIOS update from vendor and check for particular strings in ROM file?
Could I rely on specs information where vendor claim ACPI 1.x compatibility like: ⇗ https://www.asrockrack.com/general/produ...#Specifications
PS: assuming I use vanilla XP acpi.sys.

#5860

onuracengiz

> Zitat von ⇗ schreiberstein im Beitrag ¶ #5856

> If I could find any way to use Creative EAX sound with PAE enabled (any Creative card or USB card driver for that matter), it would be perfect.

⇗ SB Audigy Series Support Pack 6.1 (maybe?)

#5861

diderius6

⇗ @tumagonx
Yes, a Bios with Acpi 1.b is full Acpi compatible with XP.
But there may be no drivers at all under XP for this board.
Until now, I do not find a single motherboard,
where mod of Bios DSDT and /or modded acpi.sys does not work for to start XP with Acpi
Dietmar

#5862 | diderius6 | I found in the Mod from ⇗ @canonkong, that the Device with DEV_0D26 HD5200 is very similar with Baytrail DEV_0F31 but with other magic numbers and some more stuff for Baytrail Dietmar

#5863

schreiberstein

⇗ @onuracengiz I was already trying it with the daniel_k driver packs. Both Audigy and X-Fi. Nothing. And the X-FI Driver was actually from 2016 or so. Very recent. It seems that everything that Creative touched is not PAE compatible.
My onboard Realtek ALC 1220 on my Z490 Designare D works without problems with non-PAE and PAE. But sadly it does not have ASIO or particularly good sound.
⇗ @tumagonx I have been thinking about the Asus Xonar cards, even though I have read that their EAX emulation is mostly a joke. And it is questionable how well the XP compatibility works.
For USB Audio devices, I am sure that in order to support EAX they would need some kind of special Creative driver... and this would probably result in the same incompatibility.
(ASIO works under PAE, but normal Windows Sounds is high pitched noise.)
If I find a cheap offer on eBay, I will probably get one of these newer Creative USB cards.
Individual tasks on 32-Bit should be limited to 2GB. I will try some high memory programs and try to get some kind of VM hypervisor working. (Need to track down old VMware versions (10?), hoping they will still work with this new CPU).
Overall, I have never been so satisfied with my Windows XP setup.
It would be quite possible to use it as "daily driver" as well.
And btw. I find it amusing that I purchased a 980 Ti for "Retro Gaming / Retro Computer purposes".
I barely play games at all, but many high end cards have very nice to have features (higher resolutions, more ports, zero / low fan speed, higher quality, ...)
EDIT: Remaining problem I have: The CPU does not boost at all! It is constantly stuck at base clock of 3.6 GHz in case of my 10850K. Is there any tweak / setting I could apply to allow it to boost?
I remember that it worked on my 9900K on my Z390 Designare board.

#5864 | onuracengiz | there is no other special creative drivers around,except ⇗ OpenAL is missing in that package (some apps/games were depending on that back in the day) have you tried using an audio control app,like fxsound on top of it? (for pinpointing the problem)
#5865 | infuscomus | ⇗ @schreiberstein have you tried an Audigy RX? This works for my threadripper system.

## Page 392

#5866 | schreiberstein | ⇗ @infuscomus Does it work WITH PAE patch enabled? Which drivers did you use? daniel_k's package? If it works, I would order myself one of those. Cheers, schreiberstein

#5867

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #5853

> You can't do this using IDA. You need a debugger like Windbg.

IDA has internal windbg plugin, i always use IDA for debugging kernel level things
It's little tricky, but works in most cases

#5868

schreiberstein

I can confirm that VirtualBox 5.2.44 from July 2020 (the now unsupported branch before the 6.0 that happened later in 2020) works just fine on my system.
It is possible to allocate up to 3854 MB to the guest.
64 Bit guests work: I confirmed Ubuntu 20.04 to work with 3854MB.
Due to the 32 Bit limitation, I assume it is impossible to allocate more than 3.8GB to a guest.
Maybe this can be circumvented with VMware, but I think the last working release is very very old which may be even more problematic than using VirtualBox.
It is possible that the CPU is incompatible. I will try to confirm that later.
For now, it is simply amazing to be able to run virtual machines. :-)
Cheers,
schreiberstein
EDIT: VMware Workstation 10.0.0.7 is the last supported version for 32-Bit Windows hosts (including XP).
Booting a modern GNU/Linux system results in a Kernel Panic at a very early stage. I think it is an incompatibility with the modern hardware.
However, I found out that VirtualBox can be patched to ignore the arbitrary 3854MB limit (VBoxSVC.exe needs to be patched).
See: ⇗ https://deadfishsw.wordpress.com/2016/07...e-3584mb-limit/
(If this blog ever goes down, contact me, I have a copy of this.)
After the file has been patched, you can edit the ".vbox" file of your virtual machine and adjust the assigned RAM manually. (Cannot be done via the GUI!)
This is slightly inconvenient, but very doable.
I tested assigning 16GB to a 64 Bit guest and it worked flawlessly.
That is, virtualization should be fine for at least several more years.
EDIT2: I can confirm it is working reliably. Running prime95 memory stress mode and several applications lead the system to consume to consume 92% of 16GB RAM. No crashes, no calculation errors in prime95, ... THIS IS GREAT!

#5869

tumagonx

> Zitat von ⇗ diderius6 im Beitrag ¶ #5861

> @tumagonx
> Yes, a Bios with Acpi 1.b is full Acpi compatible with XP.
> But there may be no drivers at all under XP for this board.
> Until now, I do not find a single motherboard,
> where mod of Bios DSDT and /or modded acpi.sys does not work for to start XP with Acpi
> Dietmar

Thanks if possible I want to keep all XP files intact except for kernel and hal where they can be loaded as different filename, I kind of baffled by how random ASrock put their ACPI compliance as the one above is xLake generation and their other xLake MB have ACPI 3.0.
Is there any rules why vendor put particular ACPI level?

#5870

Mov AX, 0xDEAD

> Zitat von ⇗ tumagonx im Beitrag ¶ #5869

> Thanks if possible I want to keep all XP files intact except for kernel and hal where they can be loaded as different filename

you still need patched acpi.sys because most modern MBs use acpi 2.0 syntax
if you want to keep original acpi.sys, need heavy patching DSDT/SSDT tables in bios, this is hard work

#5871

tumagonx

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5870

> > Zitat von ⇗ tumagonx im Beitrag ¶ #5869

> > Thanks if possible I want to keep all XP files intact except for kernel and hal where they can be loaded as different filename

> you still need patched acpi.sys because most modern MBs use acpi 2.0 syntax
> if you want to keep original acpi.sys, need heavy patching DSDT/SSDT tables in bios, this is hard work

That's why I'm hunting down ACPI 1.x compatible MBs :) BTW thank for your ntldr ACPI patcher, I'm considering to patch the NTFS boot record (to load different ntldr).
⇗ @schreiberstein
Once you solve EAX issue, you should post your system on youtube, you will pissing off lots of XP hater there! :D

#5872

gordo999

> Zitat von ⇗ onuracengiz im Beitrag ¶ #5857

> .Net Framework runtimes (from 3.5sp1 to 4.8)

⇗ @onuracengiz ...my understanding is that XP won't run on .Net above version 3.5. Can you confirm?
Thanks for links, I have been running the unofficial SP4 for some time.

#5873

schreiberstein

⇗ @tumagonx I am considering that. Especially now that I have PAE mode working reliably and can run VMs with 16GB of guest memory. Next year is XP anniversary. With a VM for the "OH NO! I NEED THIS APP BUT IT NEEDS WINDOWS 7 OR LATER!!!!1111" moments, it can be used as a daily driver. I only wish MyPal browser would be a tad more reliable. The Chinese Chromium forks are not much better.
I would also like to move XP to a NVME drive. Then it would be perfect overkill.

#5874

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5867

> IDA has internal windbg plugin, i always use IDA for debugging kernel level things

⇗ @Mov AX, 0xDEAD ...thanks for information. My IDA versions are so old they were installed on XP (version 5+). I am using the newer free IDA version 7. I'll try to find the windbg plugin but I'm not sure if it will work with older version.
I miss the softice debugger. It did not have the advanced features of windbg but it could trace anywhere in ring 0. At the sysenter command, you could trace into it and into system code. I have not been able to do that with windbg or any other debugger.
Some people claim you don't need to trace system code but I often found it useful. For example, a directx app uses its own mouse cursor so you can't trap a mouse button press. With softice, I was able to trap a LButtondown command using wmcommand and trace through the mouse driver, through ring 0 code, and into the dx app from the backend.

#5875

diderius6

Hi,
I think, that I am only one step away from to get Baytrail VGA to run on XP.
All wished entries are put to registry.
The 5449 driver starts but then gets unloaded again, for an unknown reason.
⇗ @Mov AX, 0xDEAD
Can you please write a short Tutorial, how to set a breakpoint for the driver igxpmp32.sys vers. 5449?
And how to look with Windbg step by step at which point this driver gets unloaded.
I have no Bsod now. Can this also happen, because I did a small mod for igxpmp32.sys and now setupapi.log cries in Windows about everything is unsigned
Dietmar
PS: I load it up, maybe somebody wants to test. It is the modded driver igxpmp32.sys and modded *.inf all together
with there original ones. I modded the Magic Numbers for XP to 9 5 0Eh .
In the original driver 5449 it was 9 7 0Eh .
⇗ https://ufile.io/s6lgsp56

#5876

YuriyCN

> Zitat von ⇗ schreiberstein im Beitrag ¶ #5856

> New report:
> After testing out the Sapphire AMD Radeon 7970 graphics card for a while now, I fount its performance to be lackluster on my Z490 platform:
> Neg:
> - Performance feels dated when playing games at 1440p
> - Windows XP 2D performance is very slow (~1900 pts in Tom 2D Benchmark)
> ---> Regardless of the blazing fast 10 core CPU, the UI feels very sluggish like an old Intel Centrino notebook from 2005.
> ---> Performance degraded even further when using the PAE memory patch to enable more than ~900 MB of RAM (~1900 pts to ~400 pts on Tom 2D Benchmark) = UNUSABLE PERFORMANCE!
> ---> Scrolling in web browser felt slow
> - Catalyst Control Center buggy on Windows XP

1. To increase 2D performance on RADEON video cards in 2-3 times, you need to replace the videoprt.sys file with a file with WinXP SP2.
⇗ https://www.upload.ee/files/12489589/videoprt_files.zip.html
2. Good Catalyst Control Center for Windows XP
⇗ https://www.upload.ee/files/12377846/AMD...-Pack3.zip.html
3. Scrolling in web browser felt slow - it is observed with PAE only. Without PAE - scrolling in web browser works fast.
Replace the file c:\WINDOWS\system32\drivers\videoprt.sys - and the scroll will work fine!

#5877 | schreiberstein | ⇗ @YuriyCN Thank you very much! If I get around to test the AMD/ATI Radeon card again, I will definitely give this a shot! Wish I had known this a bit earlier... However, the 980 Ti really is a beast. I do not regret upgrading.

#5878

tumagonx

> Zitat von ⇗ schreiberstein im Beitrag ¶ #5868

> I can confirm that VirtualBox 5.2.44 from July 2020 (the now unsupported branch before the 6.0 that happened later in 2020) works just fine on my system.
> It is possible to allocate up to 3854 MB to the guest.
> 64 Bit guests work: I confirmed Ubuntu 20.04 to work with 3854MB.
> Due to the 32 Bit limitation, I assume it is impossible to allocate more than 3.8GB to a guest.
> Maybe this can be circumvented with VMware, but I think the last working release is very very old which may be even more problematic than using VirtualBox.
> It is possible that the CPU is incompatible. I will try to confirm that later.
> For now, it is simply amazing to be able to run virtual machines. :-)
> Cheers,
> schreiberstein
> EDIT: VMware Workstation 10.0.0.7 is the last supported version for 32-Bit Windows hosts (including XP).
> Booting a modern GNU/Linux system results in a Kernel Panic at a very early stage. I think it is an incompatibility with the modern hardware.
> However, I found out that VirtualBox can be patched to ignore the arbitrary 3854MB limit (VBoxSVC.exe needs to be patched).
> See: ⇗ https://deadfishsw.wordpress.com/2016/07...e-3584mb-limit/
> (If this blog ever goes down, contact me, I have a copy of this.)
> After the file has been patched, you can edit the ".vbox" file of your virtual machine and adjust the assigned RAM manually. (Cannot be done via the GUI!)
> This is slightly inconvenient, but very doable.
> I tested assigning 16GB to a 64 Bit guest and it worked flawlessly.
> That is, virtualization should be fine for at least several more years.
> EDIT2: I can confirm it is working reliably. Running prime95 memory stress mode and several applications lead the system to consume to consume 92% of 16GB RAM. No crashes, no calculation errors in prime95, ... THIS IS GREAT!

Haha that's XP as light hypervisor OS.
Then my next question is if you use lmdisk to create ~48GB ramdisk using awealloc and then put 12 x 4095MB pagefiles there, will XP total virtual memory become ~<64GB overall? say in addition of running 16GB VM, you still able to allocate memory for multiple 7zip compressing stuff.
EDIT:
regarding TurboBoost, maybe XP don't properly support version 3.0?
⇗ https://ark.intel.com/content/www/us/en/...o-5-00-ghz.html
vs
⇗ https://ark.intel.com/content/www/us/en/...o-5-20-ghz.html

#5879

blackwingcat

Hi.
When fail to load acpi, Windows 2000 does not show BSoD. It only shows blinking cursor after loading all text mode drivers. :3
Now I modded acpi.sys for Win2000 referencing XP acpi.sys build 6666.
But any structure are different from XP one.
for example , I should change the following code for Windows 2000.

     L0003B672:
      		mov	eax,[esi+2Ch]
      		cmp	word ptr [eax+02h],0002h ->[eax+08h],0002h
      		jnz	L0003B7F9
      		xor	edi,edi
      		inc	edi
      		push	edi
      		push	52545348h
      		push	[L00029000]       // [L0002DCF0]
      		call	SUB_L0001FD9A // SUB_L000234A3
      		mov	ecx,[esi+30h]
      		mov	[ecx+10h] -> [ecx+14h],eax //[ecx+10h]
       		mov	eax,[esi+30h]
      		add	esp,0000000Ch
      		cmp	[eax+10h] -> [eax+14h],ebx
        		jnz	L0003B6DA
        		mov	eax,C000009Ah

Is there modded source file ? :3

> Zitat von ⇗ diderius6 im Beitrag ¶ #5801

> @blackwingcat
> Hi,
> you can send me your acpi.sys from win2000 and the exact BSOD.
> Then I try to to make acpi.sys work
> Dietmar

#5880 | infuscomus | ⇗ @schreiberstein The Audigy RX works in XP with 4GB PAE at least, I have not tested unlimited PAE.

## Page 393

#5881 | schreiberstein | ⇗ @infuscomus Interesting. Which driver are you using?
#5882 | infuscomus | ⇗ @schreiberstein The official Creative driver.

#5883

onuracengiz

> Zitat von ⇗ gordo999 im Beitrag ¶ #5872

> > Zitat von ⇗ onuracengiz im Beitrag ¶ #5857

> > .Net Framework runtimes (from 3.5sp1 to 4.8)

> @onuracengiz ...my understanding is that XP won't run on .Net above version 3.5. Can you confirm?
> Thanks for links, I have been running the unofficial SP4 for some time.

.net framework 4 will run,not sure about 5 yet

#5884 | tumagonx | ⇗ @infuscomus ⇗ @schreiberstein There is a forum that say moving around the slot (or was it PCH vs CPU) affect the driver, and for system with >4GB the bigger the RAM the goner the sound.
#5885 | schreiberstein | ⇗ @tumagonx That would make sense! All Creative cards I have been testing were attached to my main machine via an external ExSys 1010 PCI-Express to PCI conversion box. They worked mostly fine on Windows XP (no PAE) and Windows 10 x64. However, I experienced instability on Windows 10 when I added an Intel PCI NIC into the game. The system would just randomly freeze. Maybe getting a real PCI-Express card would improve the situation. I preferred the older Creative cards because they they had more support for my PC sound system from Cambridge Soundworks (Creative subsidiary) and its special multi channel SPDIF. The newer cards do not even have coaxial SPDIF so I am forced to use an external converter. I will try to order a cheap Audigy RX and test it. But I wish there was a USB sound card with good EAX and ASIO compatibility because that would make my life a lot easier. I might try to get one of these external SoundBlaster cards and test them. The older ones even have the special proprietary Digital DIN SPDIF output for my PC sound system.

#5886

diderius6

⇗ @blackwingcat
Have you tried to use the acpi.sys SP3 from outerspace ) direct on your win2000 installation?
For this, make a test on another motherboard with working acpi win2000, if acpi.sys from outerspace ) works there.
And can you use Windbg? For this, try working win2000 installation
and connect it to your new motherboard using nice Lan Debug from ⇗ @Mov AX, 0xDEAD .
The blinking cursor is a Bsod.
May be the Bsod is BugCheck 0x000000A5, {0x00000011, 0x00000008, xxx, yyy)
AMLILoadDDB failed to load DDB .
This I can hack also for acpi.sys for win2000 as I did for acpi.sys from outerspace ), win7 acpi.sys and win8 acpi.sys.
Make try and send me your win2000 acpi.sys
Dietmar
PS: I see, that you know assembler. I not. Can you tell me, how to set a breakpoint into a drivers code and to look step by step what this driver is doing via Windbg? I look for the reason, why a driver is started (showing 0x306 in windbg) and then gets unloaded.

#5887 | schreiberstein | Is there anyone in here using the Intel Z490 platform on XP/2003 as well? Is your CPU boosting to more than the base clock? (e.g. 3.6GHz) Would appreciate to hear from you.

#5888

diderius6

How to set a breakpoint for a driver in XP?
First I try, after hitting "break" very early in Windbg

    kd> bp igxpmp32!DriverEntry

then I continue for windbg with

    kd> g

and soon Windbg stops as wished, showing to me

    nt!DebugService2+0x11:
    80acb77b 5d              pop     ebp

This message I do not understand.
And the command

    kd> g

no longer works.

    kd> lm

shows me

    start    end        module name
    7c910000 7c9c6000   ntdll      (deferred)
    80100000 80127780   HAL3       (deferred)
    80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb
    b9318000 b932b780   VIDEOPRT   (deferred)
    b932c000 b95a3c00       igxpmp32   (no symbols)
    b95ec000 b9605b80   Mup        (deferred)
    b9606000 b9632980   NDIS       (deferred)
    b9633000 b96bf600   Ntfs       (deferred)
    b96c0000 b96d6880   KSecDD     (deferred)
    b96d7000 b96e8f00   sr         (deferred)
    b96e9000 b9708b00   fltMgr     (deferred)
    b9709000 b9720900   atapi      (deferred)
    b9721000 b9746a00   dmio       (deferred)
    b9747000 b9765d80   ftdisk     (deferred)
    b9766000 b9776a80   pci        (deferred)
    b9777000 b97a6d80   ACPI       (deferred)
    b98a8000 b98b1300   isapnp     (deferred)
    b98b8000 b98c2580   MountMgr   (deferred)
    b98c8000 b98d5200   VolSnap    (deferred)
    b98d8000 b98e0e00   disk       (deferred)
    b98e8000 b98f4180   CLASSPNP   (deferred)
    b9b28000 b9b2e180   PCIIDEX    (deferred)
    b9b30000 b9b34d00   PartMgr    (deferred)
    b9cb8000 b9cbb000   BOOTVID    (deferred)
    b9da8000 b9da9b80   kdcom      (deferred)
    b9daa000 b9dab100   WMILIB     (deferred)
    b9dac000 b9dad700   dmload     (deferred)
    b9e70000 b9e70d00   pciide     (deferred)

and

    kd> !devnode 0 1

    DevNode 0x89b41808 for PDO 0x89abb2d0
              InstancePath is "PCI\VEN_8086&DEV_0F31&SUBSYS_0F311849&REV_0E\3&11583659&0&10"
              ServiceName is "ialm"
              State = DeviceNodeInitialized (0x302)
              Previous State = DeviceNodeUninitialized (0x301)

that the driver igxpmp32.sys for service "ialm" is loaded
as you can see via

    kd> !analyze -v
    Last event: Load module igxpmp32.sys at b932c000
      debugger time: Sun Dec 20 13:32:25.562 2020 (UTC + 1:00)

but what would be next step
Dietmar

#5889

diderius6

May be it makes sense, to set a breakpoint in igxpmp32.sys before one of the 44 import functions from videoport.sys
Dietmar

>     VideoPortAcquireDeviceLock
>     VideoPortEnumerateChildren
>     VideoPortFlushRegistry
>     VideoPortGetAccessRanges
>     VideoPortGetBusData
>     VideoPortGetCurrentIrql
>     VideoPortGetDeviceBase
>     VideoPortGetRegistryParameters
>     VideoPortGetVgaStatus
>     VideoPortInitialize
>     VideoPortInt10
>     VideoPortInterlockedDecrement
>     VideoPortInterlockedExchange
>     VideoPortInterlockedIncrement
>     VideoPortMapMemory
>     VideoPortMoveMemory
>     VideoPortQueueDpc
>     VideoPortReadPortUlong
>     VideoPortReadPortUshort
>     VideoPortReadRegisterBufferUchar
>     VideoPortReadRegisterBufferUlong
>     VideoPortReadRegisterBufferUshort
>     VideoPortReadRegisterUchar
>     VideoPortReadRegisterUlong
>     VideoPortReadRegisterUshort
>     VideoPortReleaseDeviceLock
>     VideoPortSetBusData
>     VideoPortSetRegistryParameters
>     VideoPortSetTrappedEmulatorPorts
>     VideoPortStallExecution
>     VideoPortStartTimer
>     VideoPortStopTimer
>     VideoPortSynchronizeExecution
>     VideoPortUnmapMemory
>     VideoPortVerifyAccessRanges
>     VideoPortWritePortUlong
>     VideoPortWritePortUshort
>     VideoPortWriteRegisterBufferUchar
>     VideoPortWriteRegisterBufferUlong
>     VideoPortWriteRegisterBufferUshort
>     VideoPortWriteRegisterUchar
>     VideoPortWriteRegisterUlong
>     VideoPortWriteRegisterUshort
>     VideoPortZeroMemory

#5890

diderius6

Maybe that to set a breakpoint with Windbg here does not work, because we dont have igxpmp32.pdb .
So the only way is to set a hardcoded breakpoint in igxpmp32.sys itself, but I have no idea how to do this
Dietmar
EDIT:In general, you're going to have to set breakpoints by address, since you
don't have symbols. Oh, this will be a hard job. May be easier, to build whole igxpmp32.sys new adding assembler breakpoints everywhere and heavy use of Pemaker.

#5891

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5888

>     kd> bp igxpmp32!DriverEntry

> then I continue for windbg with

>     kd> g

> and soon Windbg stops as wished, showing to me

>     nt!DebugService2+0x11:
>     80acb77b 5d              pop     ebp

> This message I do not understand.
> And the command

>     kd> g

> no longer works.

Hi diderius6,
this is bug of windbg, it sometimes get mad, stops somewhere in kernel and cant continue
1) to kill this nasty bug, i dont use "bp igxpmp32!DriverEntry", instead i change opcodes inside igxpmp32.sys to EB FE (endless jmp to itself = jmp $), find where DriverEntry placed in file and change first two bytes to EB FE
2) when driver starts, windows will hang (but loading bar still progressing), in windbg pause remote PC and you will get EIP exactly at igxpmp32!DriverEntry
3) change EB FE to original bytes by edit memory under EIP
4) if windows hangs again, this mean driver was reloaded from disk and need patch it in memory again :)

#5892

diderius6

⇗ @Mov AX, 0xDEAD
Driver entry (needs to be separated from where is the driver loaded in memory(!))
for igxpmp32.sys is 10267A20 (together with the offset of 10000000).

    push    ebp <======== 10267A20 (address of driver entry in igxpmp32.sys)
    mov     ebp, esp
    sub     esp, 60h
    mov     eax, [ebp+DriverObject]
    mov     dword_10267864, eax
    push    offset aDriverentryEnt ; "DriverEntry entered\r\n"
    push    80000000h
    call    sub_10016CB0

Which of them has to be changed to EB FE
thanks a lot
Dietmar
EDIT: Is this correct?

    PAGE:10267A20 DriverEntry: ; CODE XREF: PAGE:DriverEntry j
    PAGE:10267A20                 jmp     short DriverEntry

First 2 Bytes from DriverEntry 55 8B => EB FE (changed at address 10267A20)

#5893

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5875

> Hi,
> Can you please write a short Tutorial, how to set a breakpoint for the driver igxpmp32.sys vers. 5449?
> And how to look with Windbg step by step at which point this driver gets unloaded.

⇗ @diderius6
first is easy, but pointless, let's assume you was stoped CPU at start of driver and what you will do next ? how you will check problem variables on stack ? Why var is not as should be ? etc....
"unloading driver" is driver depend, DriverEntry of any driver usualy always return OK because this is time critical (?) to OS and no time to check proper PCI/HW Regs/...But when OS ready to full init driver it start bombing driver with various IRP packets. On every packet driver must return error code, if no error, driver return 0/Not supported/Delayed. If driver found real error it report it as answer to packer and OS unload it.
You need track on which packet driver return error and why
Puzzle ? Yes, for example i didnt found how VIA USB3 driver unload itself on non-via hardware because it do this job unknow way

#5894

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #5892

> @Mov AX, 0xDEAD

>     push    ebp <======== 10267A20 (address of driver entry in igxpmp32.sys)
>     mov     ebp, esp
>     sub     esp, 60h

> EDIT: Is this correct?

>     PAGE:10267A20 DriverEntry: ; CODE XREF: PAGE:DriverEntry j
>     PAGE:10267A20                 jmp     short DriverEntry

> First 2 Bytes from DriverEntry 55 8B => EB FE (changed at address 10267A20)

best is to change mov ebp, esp => EB EF because mov ebp, esp is 2-bytes opcode
but 55 8B => EB EF is OK, just debuger will mess with decoding of:
mov ebp, esp
sub esp, 60h

#5895

diderius6

⇗ @Mov AX, 0xDEAD
Oh, such a lot of fun:)).
There are some possibilities.
In next step I will install naked Win7 32 bit on the J1900 board.
I make an extract of whole registry.
And then I install the Baytrail with DEV_0F31 driver for Win7 there.
Again I make extract of whole registry and compare them one by one with Beyond Compare2.
Then I install win7 with nothing else on the x230 Lenovo thinkpad. It has HD4000 driver.
There I make the same procedure with the same driver and extract of registry before and after and compare.
Via this way I have a chance for to see, if it is a setting in registry, that makes the driver unload
Dietmar
EDIT: I change mov ebp, esp => EB EF
First lesson I learned: I dont want to jmp 17 Bytes back, only 2 Bytes back and so as I did right in first try it has to be
mov ebp, esp => EB FE this was my error.

## Page 394

#5896

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5886

> Can you tell me, how to set a breakpoint into a drivers code and to look step by step what this driver is doing via Windbg? I look for the reason, why a driver is started (showing 0x306 in windbg) and then gets unloaded.

⇗ @diderius6 ...It's not that easy at the best of times, especially if you are new to assembly language.
I have seen many tutorials written for debugging specific applications but it's a lot easier when you are trying to debug a working app. You are trying to debug a system issue, or maybe a fault. That's a lot tougher. The structure of normal Windows apps is well known but the system code which addresses drivers is usually gained by experience. There's a good chance you won't be able to trace into the system code with windbg in order to see why the driver is being unloaded.
You have to set up windbg to use symbols, which means pointing it toward the Microsoft symbol server. If you don't, windbg will complain and if you set a breakpoint, when you get to the code it will be straight assembly language without the function names to let you know where you are. I have done that where no symbols are available but you need to be conversant with the assembly code and what it is doing. There are good tutorials on the Net for setting up windbg.
Secondly, there is really no tutorial anyone could offer for what what you ask. The breakpoints required are specific to the code within a driver. You could set a BP to break when a driver is encountered, or if you know the driver's memory range, you could set a BP to break in that range. However, you could trace forever till the driver is unloaded. Even then, the reason for it unloading might not be obvious.
I suggest you first use another utility like Procmon (process monitor by sysinternals) and see if it detects your driver. If the driver is being loaded during the boot phase, you can enable boot logging in procmon and see if it detects your driver. There may be similar utilities on the Net that can monitor loading/unloading. The idea is to watch the activity around your driver loading/unloading so you can get an idea of related processes.
It would be to your advantage to learn windbg and/or an alternate 64-bit debugger like x64dbg. I know that assembly language can seem complicated at first, but it is not that complicated to learn for tracing through code. It's intuitive, as opposed to higher level languages. The main problem in tracing code is not the assembly instructions, it's the structures imposed on it by higher level languages. Unless you know the format of higher level languages like Delphi, which is based on forms, you can become lost in the assembly code.
I learned basic assembly decades ago related to hardware applications. Even thought the assembly I learned was rudimentary, it taught me the relationship between assembly code and the processor. That's really what it's all about, understanding the processor registers and the operations required to manipulate them.
Go for it. Get into code and begin tracing. Even though you are completely lost, read on it and ask questions. In a week or too you'll begin to feel more comfortable with it. Again, the problem is not the assembly code, it's the underlying structure of an OS like Windows. There are really good books written on that subject by people like Mark Russinovich of sysinternals. However, it takes a long time to read this stuff and digest it.

#5897

diderius6

⇗ @gordo999
Thanks a lot!
"In a week or too you'll begin to feel more comfortable with it. Again, the problem is not the assembly code, it's the underlying structure of an OS like Windows. There are really good books written on that subject by people like Mark Russinovich of sysinternals. However, it takes a long time to read this stuff and digest it."
The book I have, but never read:)).
Even this crazy grapic driver is >2MByte I have an intuition, where I have to look.
Maybe it is the name of the hardware string. There is a connection between it and the Magic Numbers.
Via compare of the settings in registry of the ialm entries in Services I see, that the hardware string changes with the use of different Magic Numbers.
In the Mod from ⇗ @canonkong I noticed via whole compare of driver before and after mod (i do this with Ida Pro and building an *.lst file of it and compare with Beyond Compare2 both. Very nice idea of comparing disambled code!)
that the Magic Numbers all stay as before, but the DEV Ids are careful put to an Magic Number from before.

#5898

diderius6

⇗ @Mov AX, 0xDEAD
After I injected the endless loop in igxpmp32.sys after the place of DriverEntry,
now the bar runs infinitly:)).
Strange, on first try the driver igxpmp32.sys gets corruptet(?) in System32\drivers.
I think, this happens because I change everything putting harddisk in an USB encloser.
And sometimes it happens, that transfer via USB is not complete, means error.
Now fun goes on.
When I hit break in Windbg, now it shows

>     kd> lm
>     start    end        module name
>     7c910000 7c9c6000   ntdll      (pdb symbols)          c:\symbols\ntdll.pdb\1751003260CA42598C0FB326585000ED2\ntdll.pdb
>     80100000 80127780   HAL3       (deferred)
>     80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb
>     b9318000 b932b780   VIDEOPRT   (deferred)
>     b932c000 b95a3c00       igxpmp32     (deferred)
>     b95ec000 b9605b80   Mup        (deferred)
>     b9606000 b9632980   NDIS       (deferred)
>     b9633000 b96bf600   Ntfs       (deferred)
>     b96c0000 b96d6880   KSecDD     (deferred)
>     b96d7000 b96e8f00   sr         (deferred)
>     b96e9000 b9708b00   fltMgr     (deferred)
>     b9709000 b9720900   atapi      (deferred)
>     b9721000 b9746a00   dmio       (deferred)
>     b9747000 b9765d80   ftdisk     (deferred)
>     b9766000 b9776a80   pci        (deferred)
>     b9777000 b97a6d80   ACPI       (deferred)
>     b98a8000 b98b1300   isapnp     (deferred)
>     b98b8000 b98c2580   MountMgr   (deferred)
>     b98c8000 b98d5200   VolSnap    (deferred)
>     b98d8000 b98e0e00   disk       (deferred)
>     b98e8000 b98f4180   CLASSPNP   (deferred)
>     b9b28000 b9b2e180   PCIIDEX    (deferred)
>     b9b30000 b9b34d00   PartMgr    (deferred)
>     b9cb8000 b9cbb000   BOOTVID    (deferred)
>     b9da8000 b9da9b80   kdcom      (deferred)
>     b9daa000 b9dab100   WMILIB     (deferred)
>     b9dac000 b9dad700   dmload     (deferred)
>     b9e70000 b9e70d00   pciide     (deferred)

>     kd> !DevNode 0x89b41808
>     DevNode 0x89b41808 for PDO 0x89abb2d0
>       Parent 0x89af85e8   Sibling 0x89b416d8   Child 0000000000
>       InstancePath is "PCI\VEN_8086&DEV_0F31&SUBSYS_0F311849&REV_0E\3&11583659&0&10"
>       ServiceName is "ialm"
>       State = DeviceNodeInitialized (0x302)
>       Previous State = DeviceNodeUninitialized (0x301)
>       StateHistory[00] = DeviceNodeUninitialized (0x301)
>       StateHistory[19] = Unknown State (0x0)
>       StateHistory[18] = Unknown State (0x0)
>       StateHistory[17] = Unknown State (0x0)
>       StateHistory[16] = Unknown State (0x0)
>       StateHistory[15] = Unknown State (0x0)
>       StateHistory[14] = Unknown State (0x0)
>       StateHistory[13] = Unknown State (0x0)
>       StateHistory[12] = Unknown State (0x0)
>       StateHistory[11] = Unknown State (0x0)
>       StateHistory[10] = Unknown State (0x0)
>       StateHistory[09] = Unknown State (0x0)
>       StateHistory[08] = Unknown State (0x0)
>       StateHistory[07] = Unknown State (0x0)
>       StateHistory[06] = Unknown State (0x0)
>       StateHistory[05] = Unknown State (0x0)
>       StateHistory[04] = Unknown State (0x0)
>       StateHistory[03] = Unknown State (0x0)
>       StateHistory[02] = Unknown State (0x0)
>       StateHistory[01] = Unknown State (0x0)
>       Flags (0x000002f0)  DNF_ENUMERATED, DNF_IDS_QUERIED,
>                           DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED,
>                                                DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED

>     1: kd> !analyze -v
>     Connected to Windows XP 2600 x86 compatible target at (Mon Dec 21 01:08:44.046 2020 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ..........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Unknown bugcheck code (0)
>     Unknown bugcheck description
>     Arguments:
>     Arg1: 00000000
>     Arg2: 00000000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     PROCESS_NAME:  Idle

>     FAULTING_IP:
>     nt!RtlpBreakWithStatusInstruction+0
>     80ac37ec cc              int     3

>     EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: 80ac37ec (nt!RtlpBreakWithStatusInstruction)
>        ExceptionCode: 80000003 (Break instruction exception)
>       ExceptionFlags: 00000000
>     NumberParameters: 3
>        Parameter[0]: 00000000
>        Parameter[1]: 80af4780
>        Parameter[2]: 000003f8

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  80af4780

>     EXCEPTION_PARAMETER3:  000003f8

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x0

>     STACK_TEXT:
>     b9cd3d4c 80ae3e02 00000001 00000000 0000000e nt!RtlpBreakWithStatusInstruction
>     b9cd3d54 00000000 0000000e 3fab8fe8 2df98998 nt!KiIdleLoop+0x32

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!RtlpBreakWithStatusInstruction+0
>     80ac37ec cc              int     3    <------ content of register EIP

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  nt!RtlpBreakWithStatusInstruction+0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     BUCKET_ID:  MANUAL_BREAKIN

>     Followup: MachineOwner
>     ---------

Needs the content 80ac37ec of register EIP to be corrected, because endless loop is one Byte after DriverEntry?
EDIT: I make a test, where the first byte is changed, and EIP shows the same 80ac37ec.
This is a little bit strange for me, because how does Windbg knows, that the endless loop begins at driverentry,
when in real the loop starts one byte later?!
Dietmar

#5899

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5897

> Even this crazy grapic driver is >2MByte I have an intuition, where I have to look. Maybe it is the name of the hardware string. There is a connection between it and the Magic Numbers.

⇗ @diderius6 ...can you find the string reference in IDA? If so, you can probably trace it back to where the call is made to load the string. The magic numbers to which you refer are likely references for identifying the string. Many times, a string is called by different parts of the app or driver. Finding a string can be an art in itself.
Of course, when you find the call that loads the string it will come after the problem that caused the driver to be unloaded. You will probably see a compare statement followed by a conditional jump. If you look before the compare and jump statements you might find another CALL that leads to the cause of the driver being unloaded. However, the code leading up to that may be fairly complex. If you look at the stack in windbg it might give you a clue.
If you find the string referenced in IDA, there is usually a reference to where it is used. If you double-click that reference it will take you to the address in IDA where the string is used. It may be a call to a message box. You could try using the addresses preceding the call to the message box as a BP in windbg. The addresses probably won't be the same but the last 4 hex digits may be the same unless IDA has offset them. You can find the exact offset between IDA and windbg by having both open at the same code reference point.
For example, Mov AX Dead gave you the trick for putting the code into an infinite loop. If you insert that code at the beginning of the driver code, windbg will stop there. Note the address and write down some of the code. Then go to IDA and compare that code to the beginning of the IDA code for the driver.
Or, you might find a function call before the message box call where you can set a BP. Or, if you use the stack, you can find where the current function call will eventually return. Then you can set a BP on one of the functions before your current CALL and restart windbg. It should stop at that BP before the message box call, or the address referenced by the string. Then you can trace to the required code section.
There are tricks for cutting down on the number of traced code steps required. You'll learn those by doing it a lot. I always make detailed notes as a I trace, with addresses. If I trace blindly into a function and realize what it is doing, I mark that CALL with jo, for jump over. Then, if I have to restart I know which CALLs to jump over. In fact, I can set a BP on any of the address I recorded.
In windbg, or any other debugger, you can single-step or jump over a CALL. If you want, you can look ahead in the code and set a BP manually on any address ahead of where you are located in the code. Be careful with that because sometimes the processor does not execute in a linear fashion. Often, if I am caught in a LOOP, I will look for a RET statement after the LOOP and set a BP on it. Then I can bypass the LOOP. Some LOOPS are short but some can take thousands of steps before completing.
Try not to use a common windows function as a BP since that will make windows stop many times before your code. To get around that, learn how to use a conditional BP. That means you set a BP on a function with stated conditions such as EAX = 0x400. The language for that in windbg is unnecessarily complex, IMHO, but there are many examples on the Net. If you learn how to use it, you can use BPs much more effectively.

#5900

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5898

> @Mov AX, 0xDEAD After I injected the endless loop in igxpmp32.sys after the place of DriverEntry, now the bar runs infinitly:)).

⇗ @diderius6 ...you have to write down the code that was there before you replaced it with the infinite loop code. When windbg breaks on it, use windbg to replace the infinite loop code with the real code.
Go to View/Memory and open a Memory dump window. Before you do anything, click on the symbol on the top right corner that seems to be lines on a page. Click on 'Always floating'. That allows you to drag the window to any position. Then click in the window with @$Scope and type in your current address. It should dump the memory at that location. You may be able to just type in EIP, which is the register with the address of the current code location. IP = Instruction Pointer.
If you see the infinite loop code, set the cursor on the first byte, then type in the correct code you replaced earlier. When you hit Enter it should reset the code to the proper code.

#5901

diderius6

⇗ @gordo999
Yes, I found the string with Ida.
In registry is written
`"HardwareInformation.AdapterString"=hex:08,70,03,e1,c4,c4,24,e1,10,a4,27,e1,14,39`
for the Magic Number `9 5 0Eh`
(this I think is the Magic Number, question if this is the correct string. There a test with Win7 can help).
and
`"HardwareInformation.AdapterString"=hex:08,70,03,e1,a4,12,25,e1,cc,85,28,e1,14,39`
for the Magic Number `9 7 0Eh`
It is the same place, where the BSOD happens,
`.text:10021FB8 loc_10021FB8: ; CODE XREF: sub_10020DB0+11E9 j
.text:10021FB8 movzx edx, [ebp+var_469]
.text:10021FBF cmp edx, 1
.text:10021FC2 jnz short loc_10021FE1
.text:10021FC4 mov eax, [ebp+var_470]
.text:10021FCA push eax
.text:10021FCB lea ecx, [ebp+var_468]
.text:10021FD1 push ecx
.text:10021FD2 push offset aHardwareinfo_1 ; "HardwareInformation.AdapterString"
.text:10021FD7 mov edx, [ebp+arg_0]
.text:10021FDA push edx
.text:10021FDB call ds:VideoPortSetRegistryParameters
.text:10021FE1
.text:10021FE1 loc_10021FE1: ; CODE XREF: sub_10020DB0+1212 j
.text:10021FE1 push 12h
.text:10021FE3 push offset aInternal ; "Internal"
.text:10021FE8 push offset aHardwareinfo_2 ; "HardwareInformation.DacType"
.text:10021FED mov eax, [ebp+arg_0]
.text:10021FF0 push eax
.text:10021FF1 call ds:VideoPortSetRegistryParameters
.text:10021FF7 push 22h
.text:10021FF9 push offset aIntelVideoBios ; "Intel Video BIOS"
.text:10021FFE push offset aHardwareinfo_3 ; "HardwareInformation.BiosString"
.text:10022003 mov ecx, [ebp+arg_0]
.text:10022006 push ecx
.text:10022007 call ds:VideoPortSetRegistryParameters`

#5902

diderius6

⇗ @gordo999
Thanks a lot, exact this my next question how to edit the driver in memory back to its original.
And the next next question is, how to come to this place, where the string is loaded.
I think it should be something like bp 0xaddress (for this string load).
For this we need to find this address.
This I do tomorrow,
now I am tired as much as possible
Dietmar
PS: To 99% I am sure, that we will get a working VGA driver for Baytrail under XP.

#5903

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5902

> And the next next question is, how to come to this place, where the string is loaded.

⇗ @diderius6 ...I am tired as well so good idea to leave it for tomorrow. Read through my recent post. I explained how to find the address of the code in IDA, using the string in IDA. The problem might be converting that IDA address to the windbg address.
In the code you included with this post you can see the IDA address at:
`.text:10021FDB call ds:VideoPortSetRegistryParameters`
Quite often, the 1FDB part of 10021FDB is the same in IDA and in windbg. That can help you narrow down the equivalent address in windbg where you can set a BP.
BTW, the code you included seems to be setting the parameters for HardwareInformation.AdapterString in the registry. I can't see this being a cause of the driver unloading unless for some reason it cannot find the right location in the registry. Maybe during one of the calls it tries to read something in the registry it does not like, then shuts down.
In that case, you'd have to follow the call into where it reads the registry.
Note the following code:
`.text:10021FF9 push offset aIntelVideoBios ; "Intel Video BIOS"`
It's pushing the address of the string Intel Video BIOS. That is followed by:
`.text:10021FFE push offset aHardwareinfo_3 ; "HardwareInformation.BiosString"`
If you look at the top of the code you see:
`.text:10021FBF cmp edx, 1
.text:10021FC2 jnz short loc_10021FE1`
That is the only jump statement in the code so there is not enough information in this code to tell what will ultimately happen. The jnz statement above sends the code execution within this code, not past it.
Without the pdb file for the driver you may not be able to BP on VideoPortSetRegistryParameters. However, if you can convert the address at the beginning of this code in idea @ .text:10021FB8 to the proper address in windbg, you can set a BP on the windbg equivalent address then trace through the code you have posted.
If I recall correctly, there are plugins for creating PDB files from an IDA disassembly.

#5904

diderius6

⇗ @Mov AX, 0xDEAD, ⇗ @gordo999
I have a question.
When I now know, where the exact entrypoint is for the driver igxpmp32.sys (80ac37ec, found out with EB FE hack)
why I cant change my driver with endless loop back against the original driver and set a breakpoint with
bp 0x80ac37ec just using now the original driver
Dietmar
EDIT: I just test my idea. Now command g or p works again.
When I hit p, Windbg shows me

    kd> bp 0x80ac37ec
    kd> g
    nt!DebugService2+0x10:
    80acb77a cc              int     3
    0: kd> p
    nt!DebugService2+0x11:
    80acb77b 5d              pop     ebp
    0: kd> p
    nt!DebugService2+0x12:
    80acb77c c20c00          ret     0Ch
    0: kd> p
    nt!DbgLoadImageSymbols+0x42:
    80ac3a12 c9              leave
    0: kd> p
    nt!DbgLoadImageSymbols+0x43:
    80ac3a13 c20c00          ret     0Ch
    0: kd> p
    nt!MmLoadSystemImage+0xd4e:
    80b9b69c 804b3610        or      byte ptr [ebx+36h],10h
    0: kd> p
    nt!MmLoadSystemImage+0xd52:
    80b9b6a0 8b4518          mov     eax,dword ptr [ebp+18h]

But this are not the next codes from the loaded igxpmp32.sys driver??
From where are they above and what can I do to run step by step igxpmp32.sys?
I just compare with driverentry in post
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (393)
They are identic but now with the BIG difference, that p or g command works again.

#5905

diderius6

Now with hitting p again and again it seems,
that the compi hangs in a loop. I think, this is the bombing with irp, about which
⇗ @Mov AX, 0xDEAD told. This loop was overcome after a lot of tries.
Then comes next loop, much longer. At the end of this loop, the driver igxpmp32.sys was unloaded.
Dietmar

    nt!IopLoadDriver+0x4bb:
    80b3f3dd 895da4          mov     dword ptr [ebp-5Ch],ebx
    0: kd>
    nt!IopLoadDriver+0x4be:
    80b3f3e0 8b45a4          mov     eax,dword ptr [ebp-5Ch]
    0: kd>
    nt!IopLoadDriver+0x4c1:
    80b3f3e3 c74486381497a280 mov     dword ptr [esi+eax*4+38h],offset nt!IopInvalidDeviceRequest (80a29714)
    0: kd>
    nt!IopLoadDriver+0x4c9:
    80b3f3eb ff45a4          inc     dword ptr [ebp-5Ch]
    0: kd>
    nt!IopLoadDriver+0x4cc:
    80b3f3ee 837da41b        cmp     dword ptr [ebp-5Ch],1Bh
    0: kd>
    nt!IopLoadDriver+0x4d0:
    80b3f3f2 76ec                                  jbe             nt!IopLoadDriver+0x4be (80b3f3e0) <----- LOOP
    0: kd>
    nt!IopLoadDriver+0x4be:
    80b3f3e0 8b45a4          mov     eax,dword ptr [ebp-5Ch]
    0: kd>
    nt!IopLoadDriver+0x4c1:
    80b3f3e3 c74486381497a280 mov     dword ptr [esi+eax*4+38h],offset nt!IopInvalidDeviceRequest (80a29714)
    0: kd>
    nt!IopLoadDriver+0x4c9:
    80b3f3eb ff45a4          inc     dword ptr [ebp-5Ch]

#5906

diderius6

Just via loop and loop and loop I came step by step to the point with Windbg,
where the driver igxmp32.sys was unloaded.
Another question is, why this happened.
But I have full document of Windbg screen with all the steps of loading until unload
Dietmar
⇗ https://ufile.io/s4364p1c

#5907

schreiberstein

I have ordered the Creative SoundBlaster Live! 24 Bit USB (SB0490) for a few bucks and will report back how well EAX and PAE mode works.
The special Digital DIN output will also support my Cambridge Soundworks (Creative) PC sound system from 1999.
Perhaps after Christmas.
Maybe this is the secret sauce that will perfect this machine.
I have a question regarding NVMe support:
Right now, I already have two Samsung NVMe drives attached to my motherboard.
Since my board has 3 slots in total, I am considering getting one just for XP. Maybe another brand so it is more easy to distinguish them and to disable the other drives in Windows XP.
I had read here a while ago that there were problems with multiple NVMe drives and XP.
Is that still the case? Or should NVMe work just as good (/better) as SATA?
I would appreciate some brief advice on that.
Thank you very much and have a very nice week leading up to Christmas!
Cheers,
schreiberstein

#5908

diderius6

Compi tries more than 200 times

    80b5d43f  0f8533020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d205 0f856d040000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d37c 0f85f6020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d385 0f84ed020000    je      nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d280 0f85f2030000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d41b e958020000      jmp     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

    80b5d678 8bc7            mov     eax,edi

Dietmar

#5909

blackwingcat

Hi.
Sadly, Windows 2000 does not have LAN Debug mode, COM Port only.
And I don't know how to enter to Debug mode when Windows Installation.
Is it correct that ⇗ @Mov AX, 0xDEAD said replace ntldr to ntldr_dbg ?
Here is Win2000 acpi.sys
⇗ v2020
⇗ v2018
⇗ Official version

#5910 | diderius6 | ⇗ @blackwingcat I modded all 3 acpi.sys from Win2000 against "ACPI failed to load DDB" Dietmar ⇗ https://ufile.io/zsylezae

## Page 395

#5911

blackwingcat

Hi.
Thx. I recognized what was changing.

                    mov	ebx,000000A5h
      		jnz	L00031725
      		push	[esi+20h]
      		push	esi
      		push	00000007h
      		push	00000011h
      		push	ebx
      		call	jmp_ntoskrnl.exe!KeBugCheckEx
     L00031725:
      		lea	eax,[ebp-04h]
      		push	eax
      		push	esi
      		call	SUB_L0001DD62
      		pop	ecx
      		test	eax,eax
      		pop	ecx
      		jl 	L00031759 -> nop
      		mov	ecx,[L00029820]
      		lea	eax,[edi+edi*2]
      		shl	eax,02h
      		or	dword ptr [ecx+eax+04h],00000002h
      		mov	edx,[L00029820]
      		lea	ecx,[ecx+eax+04h]
      		mov	ecx,[ebp-04h]
      		mov	[edx+eax+08h],ecx
      		jmp	L00031767
     L00031759:
      		push	[esi+20h]
      		push	esi
      		push	00000008h
      		push	00000011h
      		push	ebx
      		call	jmp_ntoskrnl.exe!KeBugCheckEx

But the changing got no effection.
PC shows only black window and blink cursor :3

#5912 | infuscomus | ⇗ @blackwingcat Try an en_us release of XP, you should be able to see the BSOD instead of a blinking cursor using this version.

#5913

infuscomus

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5909

> And I don't know how to enter to Debug mode when Windows Installation.

I've read online that you can enable debugging in textmode setup by pressing F8 when setup prompts F6 for RAID drivers - try that.

#5914

diderius6

Under Win7 32 bit I can install the HD driver version 10.18.10.3266 for Baytrail with DEV_0F31 on the J1900 board.
I rescued whole registry folder "config" before I install this HD driver.
Then I rescued whole folder "config" after install of driver for Baytrail and compare.
Only in "System" from registry are differences.
Then I mod the *.inf:
At the place for DEV_156 I place DEV_0F31, original line in *.inf I comment out with ";".
And voila, I can install the driver also.
This means: The 2 packages for DEV_156 and for DEV_0F31 in Win7 are compatible.
The packages for DEV_0D26, DEV_0162, DEV_0152 are also compatible with Baytrail under Win7.
A compare between the registry with HD for DEV_0F31 and DEV_0156 shows, that they are nearly identic.
But I noticed a difference in the hardware string settings between Win7 and XP
XP:
"HardwareInformation.AdapterString"=hex:08,70,03,e1,c4,c4,24,e1,10,a4,27,e1,14,39
which is not NULL-terminated (means 00 at its end)
Win7:
"HardwareInformation.AdapterString"=hex:49,00,6e,00,74,00,65,00,6c,00,28,00,52,\
00,29,00,20,00,48,00,44,00,20,00,47,00,72,00,61,00,70,00,68,00,69,00,63,00,\
73,00,00,00
"HardwareInformation.DacType" and "HardwareInformation.BiosString"
are identic in XP and Win7
Dietmar
EDIT: I succeed to integrate the "HardwareInformation.AdapterString" from Win7 into XP registry, but does not help.

#5915 | diderius6 | Strange, that with Windbg it is not possible to find out, when and why a driver gets unloaded Dietmar PS: Is it possible to hack unload procedure? Or something like "force" load?
#5916 | infuscomus | ⇗ @diderius6 can I have a look at your modded driver?

#5917

diderius6

Here it is. It has in the driver an entry for F31h,
which is for Baytrail. This is original(!) from Intel.
The driver loads but then gets unload for an unknow reason.
It depends not on entries in the *.inf file, as Win7 showes me
Dietmar
PS: In Win7 the string "HardwareInformation.AdapterString" in registry is always the same.
In XP it changes with the DEV ID and the Magic Numbers. Something is wrong with "HardwareInformation.AdapterString",
because it is not Null-terminated (00 at its end, here missed).
Maybe, this comes from Hack?!
EDIT: Only this modded driver gives all values for registry, for example video in Services\ialm .
⇗ https://ufile.io/tu1hw2h1

#5918

diderius6

From Microsoft
Setting Hardware Information in the Registry
HwVidFindAdapter can call the VideoPortGetRegistryParameters and VideoPortSetRegistryParameters functions to get and set configuration information in the registry. For example, HwVidFindAdapter might call VideoPortSetRegistryParameters to set up nonvolatile configuration information in the registry for the next boot. It might call VideoPortGetRegistryParameters to get adapter-specific, bus-relative configuration parameters written into the registry by an installation program.
It is recommended that miniport drivers set certain hardware information in the registry to display useful information to the user and for assistance in debugging. A miniport driver can set a chip type, DAC type, memory size (of the adapter), and a string to identify the adapter. This information is shown by the Display program in Control Panel.
The driver sets this information by calling VideoPortSetRegistryParameters. Typically, the driver makes the call in its HwVidFindAdapter routine.
The following table describes the information that the driver can register and provides details for the ValueName and ValueData parameters of VideoPortSetRegistryParameters:
Information for Entry ValueName ValueData
Chip type
HardwareInformation.ChipType
Null terminated string containing the chip name.
DAC type
HardwareInformation.DacType
Null terminated string containing the DAC name or ID.
Memory size
HardwareInformation.MemorySize
ULONG containing, in MB, the amount of video memory on the adapter.
Adapter ID
HardwareInformation.AdapterString
Null-terminated string containing the name(?!) of the adapter.
BIOS
HardwareInformation.BiosString
Null-terminated string containing information about the BIOS.

#5919 | infuscomus | ⇗ @diderius6 I found a 10.18.10.3408 that has only PCI\VEN_8086&DEV_0F31 and nothing else in it for windows 8.1 curious that it's the only HWID supported by this driver (is this graphics chip different from any other intel graphics chip?)

#5920

diderius6

⇗ @infuscomus
I found a report, that DEV_0F31 is the same device as HD2500 or HD4000,
fully hardware compatible with them, only with a different number of lines.
But Intel did something, that it cant work with XP.
There are a lot of Embedded boards on the market with J1900 cpu Baytrail and DEF_0F31 VGA device.
None of them works under XP.
Intel makes an own(!) webside, to tell that Baytrail does not work together with XP
Dietmar

#5921 | diderius6 | What can this mean? GFX Coinstaller (1.2.30.0) I Found disable value in registry; aborting In Win7 there is a lot of stuff from gfx Dietmar

#5922

infuscomus

⇗ @diderius6
maybe it needs some registry entries?
from igxp32.inf

    [CoInst.AddReg]

    HKR,,CoInstallers32,0x10000,"igfxCoIn_v5449.dll,CoDeviceInstall"

    [CoInst.CopyFiles]

    igfxCoIn_v5449.dll,igxpco32.dll,,0x00000010

#5923

diderius6

⇗ @infuscomus
Yes, I found in Win7 an entry in Services for igfx.
But in XP I do not find ANY entry for igfx.
The message above about cancel of coinstaller because of an registry(?) entry is interesting.
Dont know where to look for such an crazy entry for to disable a coinstaller. Intel(?)..
When the mod of the igxpmp32.sys is not done very careful, you do not get all entries in registry, for example no video entry.
And no HardwareInformation.AdapterString . But with my hack I get such a string, but incomplete and not NULL-terminated.
This depends on DEV_ID and the Magic Numbers. I change them from 9 5 E to 9 7 E in the driver for DEV_0F31.
Dietmar

#5924

Mov AX, 0xDEAD

⇗ @blackwingcat

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5909

> And I don't know how to enter to Debug mode when Windows Installation.

txtsetup.sif:
OsLoadOptions = "/fastdetect /noguiboot /nodebug" => OsLoadOptions = "/fastdetect /noguiboot /debug /debugport=..."

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5909

> Is it correct that @Mov AX, 0xDEAD said replace ntldr to ntldr_dbg ?

I never said that

#5925 | infuscomus | ⇗ @Mov AX, 0xDEAD did you make any progress on WDDM? or nothing yet?

## Page 396

#5926

diderius6

When you install the driver igxpmp32.sys AFTER complete XP is bootet,
you can easy follow with windbg each step from its driverentry,
because then no other driver is loaded.
With my last tests, igxmp32.sys gets unloaded very late,
may be good sign
Dietmar
As before: VideoPortSetRegistryParameters gets via var_468 a zero value from register edx.

    nt!PipProcessStartPhase1

gives Bsod. Does this this belong to a missing at all hardwarestring?
This is the very first time, that I succeed to caught the driver exact at the place, where it fails.

    80b5d2e3 e89cedecff      call    nt!PipProcessStartPhase1 (80a2c084)
    1: kd>
    Tue Dec 22 21:20:54.140 2020 (UTC + 1:00):
    *** Fatal System Error: 0x00000050
                                                 (0xB9D14000,0x00000000,0x80C84241,0x00000000)

    FAULTING_IP:
    nt!CmpSetValueDataNew+363
    80c84241 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]

    eax=00003a70 ebx=e1bfb024 ecx=00000acb edx=00000000 esi=b9d14000 edi=e1bfbf68
    eip=80c84241 esp=b9d12c64 ebp=b9d12ca0 iopl=0         nv up ei pl nz na pe nc

    LOCK_ADDRESS:  80afd6c0

    STACK_TEXT:
    b9d12724 80a30d7b 00000003 b9d14000 00000000 nt!RtlpBreakWithStatusInstruction
    b9d12770 80a319e6 00000003 00000000 c05ce8a0 nt!KiBugCheckDebugBreak+0x19
    b9d12b50 80a31f77 00000050 b9d14000 00000000 nt!KeBugCheck2+0x574
    b9d12b70 80aa55ac 00000050 b9d14000 00000000 nt!KeBugCheckEx+0x1b
    b9d12bd8 80ae20a8 00000000 b9d14000 00000000 nt!MmAccessFault+0x1016
    b9d12bd8 80c84241 00000000 b9d14000 00000000 nt!KiTrap0E+0xdc
    b9d12ca0 80c8832b e1037008 b9d130bc 00003a70 nt!CmpSetValueDataNew+0x363
    b9d12cf0 80c8b208 e1037008 d6110e7c b9d12dd0 nt!CmpSetValueKeyNew+0x13d
    b9d12d78 80c6bfcc e1044420 b9d12dd0 00000003 nt!CmSetValueKey+0x234
    b9d12e14 80adedd8 800007f0 b9d12ed4 00000000 nt!NtSetValueKey+0x2dc
    b9d12e14 80a3c855 800007f0 b9d12ed4 00000000 nt!KiFastCallEntry+0x158
    b9d12eb0 80c00ed7 800007f0 b9d12ed4 00000000 nt!ZwSetValueKey+0x11
    b9d12ee0 b9327fa3 00000000 e17bea70 a802a768 nt!RtlWriteRegistryValue+0x75
    b9d12f0c b9334ba4 897d5358 e17bea70 b9d130bc VIDEOPRT!VPSetRegistryParameters+0xc9
    b9d12f2c a7e3cdb0 897d5358 a802a768 b9d130bc VIDEOPRT!VideoPortSetRegistryParameters+0x2a
    WARNING: Stack unwind information not available. Following frames may be wrong.
    b9d13524 a8074e65 897d5358 e1969318 00000000 igxpmp32+0x21db0
    b9d13660 a7e1e99d 897d5358 00000000 00000000 igxpmp32+0x259e65
    b9d13680 b9335318 897d5358 00000000 00000000 igxpmp32+0x399d
    b9d13884 b9335c9a 89868270 899f3a60 899f3a68 VIDEOPRT!VideoPortFindAdapter2+0x3ec
    b9d138b0 b932fc41 89868270 899f3a60 899f3a68 VIDEOPRT!VideoPortFindAdapter+0x7c
    b9d13a1c 80a21c8d 897d5040 899b2300 897d5040 VIDEOPRT!pVideoPortPnpDispatch+0x6ad
    b9d13a34 80b5e526 b9d13aa4 89b41808 89abb2d0 nt!IopfCallDriver+0x51
    b9d13a60 80b5e66e 897d5040 b9d13a80 00000000 nt!IopSynchronousCall+0xf0
    b9d13aa8 80a2c123 89abb2d0 00000001 00000000 nt!IopStartDevice+0x82
    b9d13ac4 80b5d2e8 89abb2d0 b9d13d01 899022d0 nt!PipProcessStartPhase1+0x9f
    b9d13d20 80b5de56 89b41808 00000001 00000000 nt!PipProcessDevNodeTree+0x238
    b9d13d58 80a2d0ab 899022d0 89b32da8 80b1365c nt!PiRestartDevice+0x116
    b9d13d80 80ad51a9 00000000 00000000 89b32da8 nt!PipDeviceActionWorker+0x17f
    b9d13dac 80bd81ac 00000000 00000000 00000000 nt!ExpWorkerThread+0x10f
    b9d13ddc 80ae4212 80ad509a 00000001 00000000 nt!PspSystemThreadStartup+0x34
    00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

    FOLLOWUP_IP:
    igxpmp32+21db0
    a7e3cdb0 6a12            push    12h

    FAILURE_BUCKET_ID:  0x50_igxpmp32+21db0

And from Ida

    .text:10021D87 loc_10021D87: ; CODE XREF: sub_10020DD0+F98 j
    .text:10021D87                 movzx   eax, [ebp+var_469]
    .text:10021D8E                 cmp     eax, 1
    .text:10021D91                 jnz     short loc_10021DB0
    .text:10021D93                 mov     ecx, [ebp+var_470]
    .text:10021D99                 push    ecx
    .text:10021D9A                 lea     edx, [ebp+var_468]
    .text:10021DA0                 push    edx
    .text:10021DA1                 push    offset aHardwareinfo_1 ; "HardwareInformation.AdapterString"
    .text:10021DA6                 mov     eax, [ebp+arg_0]
    .text:10021DA9                 push    eax
    .text:10021DAA                                                 call    ds:VideoPortSetRegistryParameters
    .text:10021DB0

    .text:10021DB0 loc_10021DB0: ; CODE XREF: sub_10020DD0+FC1 j
    .text:10021DB0                 push    12h
    .text:10021DB2                 push    offset aInternal ; "Internal"
    .text:10021DB7                 push    offset aHardwareinfo_2 ; "HardwareInformation.DacType"
    .text:10021DBC                 mov     ecx, [ebp+arg_0]
    .text:10021DBF                 push    ecx
    .text:10021DC0                 call    ds:VideoPortSetRegistryParameters
    .text:10021DC6                 push    22h
    .text:10021DC8                 push    offset aIntelVideoBios ; "Intel Video BIOS"
    .text:10021DCD                 push    offset aHardwareinfo_3 ; "HardwareInformation.BiosString"
    .text:10021DD2                 mov     edx, [ebp+arg_0]
    .text:10021DD5                 push    edx
    .text:10021DD6                 call    ds:VideoPortSetRegistryParameters

#5927

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #5925

> @Mov AX, 0xDEAD
> did you make any progress on WDDM? or nothing yet?

missed import added, but boring to debug it all :) so frozen for best time, too much work, no motivation

#5928

YuriyCN

Windows XP + modern hardware = RTC bug
I observe the strange work of the system time. The system time constantly goes ahead with PC load up to 3-5 minutes a day. When the PC is idle, there is no acceleration of time. This problem occurs on Windows XP only. On Windows 7 or BIOS, time is always accurate - so there are no problems with hardware.
Enabling / disabling HPET in BIOS/UEFI does not affect the course of time. After several experiments, I found out that the difference in the system time appears due to the load on the PC when switching the system (multimedia) timer 16ms - 1ms - 16ms - 1ms. In this case, the clock begins to rush up to 7-10 seconds ahead of 10 minutes. If the multimedia timer is set to period = 1ms = CONST, then the time is running correctly.

#5929

blackwingcat

I tried native XP acpi.sys and modified it.
1. Stop A5 11 08 -> Fixed
2. A5 2001 -> Fixed
3. A5 2 xx 1

      		cmp	[ebp-08h],esi
      		jz -> jmp	L0001E0BB
      		push	[ebp-14h]
      		push	ebx

no effection

    L0002F617:
      		mov	edx,[ebp-08h]
      		cmp	edx,edi
      		jge	L0002F63D
      		cmp	edx,ecx
      		jz 	L0002F63D
      		mov	eax,[esi]
      		and	eax,ebx
      		or	eax,edi
      		jz 	L0002F63D
      		push	[ebp+0Ch]
      		push	00000001h
      		push	esi
      		push	00000002h
      		push	000000A5h
      		call	[ntoskrnl.exe!KeBugCheckEx] <-BSoD

#5930 | Marlen Maksumov | Hello can you upload the files that are needed to boot Windows Vista pure UEFI 32bit?
#5931 | Marlen Maksumov | I have an tablet laptop with 86x UEFI 32bit which searches for ia32bit.efi.
#5932 | infuscomus | ⇗ @Marlen Maksumov There was only ever support for UEFI in 32-bit Vista in the early betas, I'm not sure if it ever worked. earliest official 32-bit UEFI support is windows 8.0
#5933 | Marlen Maksumov | Can someone give the ready iso file of the Windows Vista? because i tried doing by myself doesnt work at all in pure UEFI.
#5934 | infuscomus | ⇗ @Marlen Maksumov As I said, Windows vista won't work in 32-bit UEFI - you'll need to use Windows 8.0 or newer for 32-bit UEFI
#5935 | Marlen Maksumov | One chinese guy he got it working ⇗ https://www.betaarchive.com/forum/viewtopic.php?t=42051
#5936 | infuscomus | ⇗ @Marlen Maksumov Your doing a pure UEFI boot though, pure UEFI lacks CSM which windows 7 and Vista need to function, so this isn't going to work (unless someone has found a way to get windows Vista/7 working without CSM)
#5937 | diderius6 | ⇗ @blackwingcat Is this on an XP installation or on Win2000 for your new motherboard Dietmar
#5938 | Marlen Maksumov | Ok, thanks for the information.

#5939

diderius6

I make a small joke,
and translate the Hexcode to Asci II of "HardwareInformation.AdapterString"
This gives for Win7 for the DEV_0F31 Baytrail Valley View VGA
I n t e l ( R ) H D G r a p h i c s
and for XP
páÄÄ$á¤'á9
which does not make so much sense for me )..
Hm, it looks, as if the driver igxpmp32.sys recogniced everything for DEV_0F31 correct
but then found no information in the driver itself about the special information for Baytrail hardware,
that needs to be put to registry
Dietmar

#5940

diderius6

⇗ @gordo999
When I trace with "p" all assembler from an entrypoint of a driver with Windbg,
is there a way to trace the driver itself?
When I get a Bsod, via IDA I can found the place where it happens,
but not why.
The loong list of assembler orders that I get starting at the entrypoint of a driver,
what are they?
For example there I see test esi,esi which tests esi if it is Zero.
Put where is this test esi,esi stored? Now it is stored in memory, because it a the place in memory after the entrypoint of the driver, but from where is this test esi,esi ? Because only if you know this,
there is chance to hack
Dietmar
PS: Now it is unclear for me as much as possible, from where XP gets the information about the hardware and which part of this information is written to registry.
What does PVOID ValueData contains in

    VideoPortSetRegistryParameters(
    PVOID HwDeviceExtension,
    PWSTR ValueName,
    PVOID ValueData,
    ULONG ValueLength
    )

## Page 397

#5941

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5940

> When I trace with "p" all assembler from an entrypoint of a driver with Windbg,
> is there a way to trace the driver itself?
> When I get a Bsod, via IDA I can found the place where it happens,
> but not why.
> The loong list of assembler orders that I get starting at the entrypoint of a driver,
> what are they?
> For example there I see test esi,esi which tests esi if it is Zero.
> Put where is this test esi,esi stored?

⇗ @diderius6 ...sorry meant to get back to you but I have been thinking about the problem. I noticed you have been tracing with 'p' and wondered why. For example, when you 'break' the program execution, you begin again with 'p', which is a command to jump over a function. You need to use 'g'. The 'p' command, which means 'Step Over' seems to be working for you but it may cause unforeseen problems in some applications.
However, the whole problem is bothering me. Can you describe in more detail how the problem occurs with the driver unloading? Is it during installation or after installation. Is it installed during boot then unloads? You are using windbg in kernel mode. Are you using it within the same computer or in a target/host using two computers?
I don't know exactly what you are doing. Whenever I use windbg on a single machine in kernel mode, I begin by loading an executable. Windbg loads the executable and stops at a certain entry point which is normally in system code before the entry point of the executable code. Windbg causes a 'break' in the execution of the code so you can decide how you want to proceed. However, it has loaded the executable and is awaiting input from the user. As you step through the code, windbg is actually executing the code and the executable will eventually start running. Not sure how that works with a driver that is already loaded.
When an executable is already running, you can attach to it and perform certain operation. That seems to be what you are doing with the driver since it's already loaded. I noticed complaints in the early stages of memory issues related to large pages for Loader and Hal. Don't know if that is a concern.
When I look at the code you supplied, your driver is already loaded completely. Therefore the driver seems to have been loaded independently of any action you took, unless you were installing it via a setup file. You did set a BP on the driver code and windbg stopped there. When the driver unloaded, something really strange happened.
On page 298 of your rtf file, the processor is processing code at:

    80B5D5C2 in nt!PipProcessDevNodeTree

then suddenly it's processing code at:

    80ACB77C in nt!DebugService2+0x11

then at:

    80B9911D in nt!UnloadSystemImage+0x353

At this time, the driver igxmp32.sys is missing from the module list.
This represents a weakness in windbg. It cannot show code executed in the kernel itself but it should indicate an error or exception. If an exception occurred in the driver but it wasn't bad enough to cause a BSOD, it would transfer code execution to windbg for a solution. If windbg could not find a solution, it might unload the driver. However, it is not giving any indication of the exception or why it occurred.
I don't know enough about exceptions but one thing you could try is this. At the beginning, when you enter the BP <address>, instead of hitting 'G' or F5, open the Debug tab on the menu bar and select Go Unhandled exception (gn) or Go Handled Exception (gh). One may give you a BSOD, don't know. I have used the first to get apps to run that won't run with G by itself.
The point is, these forms of Go may reveal more information as to why the driver was unloaded.
Maybe ⇗ @Mov AX, 0xDEAD knows more about this.
Read these two pages on controlling the target with regard to exceptions.
⇗ https://docs.microsoft.com/en-us/windows...ling-the-target⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/controlling-the-target
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/controlling-exceptions-and-events

#5942

diderius6

⇗ @gordo999
"If an exception occurred in the driver but it wasn't bad enough to cause a BSOD, it would transfer code execution to windbg for a solution. If windbg could not find a solution, it might unload the driver."
I think, this is a first step for to look, what is really going on.
Thanks a lot for reading my loong *.rtf document and help!
Something crazy with this vers. 5449 igxpmp32.sys driver from Intel for XP.
It has the device id for Baytrail F31h in it and decides between different Baytrail VGA, for example from device with F30h.
Why should this own driver from Intel not work? May be, that this driver is incomplete? I miss an hardware entry with text
for Baytrail Valley View as the following

    .data:1021FE60 aIntelRHdGra_15:                        ; DATA XREF: sub_100239F0:loc_10023F6A↑o
    .data:1021FE60                 unicode 0, <Intel(R) HD Graphics 2500>,0

Dietmar

#5943

diderius6

⇗ @gordo999
I tried "gn" after bp at driverentry for the igxpmp32.sys
and Windbg gives a Bsod with the following content, at a very early stage, driver is not loaded yet

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Wed Dec 23 23:10:29.218 2020 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
>     *⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
>     Executable search path is: C:\localsymbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     System Uptime: not available
>     WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
>     Wed Dec 23 23:10:31.234 2020 (UTC + 1:00): Break instruction exception - code 80000003 (first chance)
>     nt!DbgBreakPoint:
>     80ac37e0 cc              int     3
>     kd> gn
>     Wed Dec 23 23:10:37.187 2020 (UTC + 1:00): Break instruction exception - code 80000003 (!!! second chance !!!)
>     nt!DbgBreakPoint:
>     80ac37e0 cc              int     3
>     kd> gn
>     Wed Dec 23 23:10:44.796 2020 (UTC + 1:00):
>     *** Fatal System Error: 0x0000008e
>                                                  (0x80000003,0x80AC37E0,0x80AF22D0,0x00000000)

>     Wed Dec 23 23:10:44.812 2020 (UTC + 1:00): Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Wed Dec 23 23:10:44.968 2020 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 8E, {80000003, 80ac37e0, 80af22d0, 0}

>     Probably caused by : ntkrpamp.exe ( nt!KiDispatchException+3d9 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Some common problems are exception code 0x80000003.  This means a hard
>     coded breakpoint or assertion was hit, but this system was booted
>     /NODEBUG.  This is not supposed to happen as developers should never have
>     hardcoded breakpoints in retail code, but ...
>     If this happens, make sure a debugger gets connected, and the
>     system is booted /DEBUG.  This will let us see why this breakpoint is
>     happening.
>     Arguments:
>     Arg1: 80000003, The exception code that was not handled
>     Arg2: 80ac37e0, The address that the exception occurred at
>     Arg3: 80af22d0, Trap Frame
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     FAULTING_IP:
>     nt!DbgBreakPoint+0
>     80ac37e0 cc              int     3

>     TRAP_FRAME:  80af22d0 -- (.trap 0xffffffff80af22d0)
>     ErrCode = 00000000
>     eax=80086ef8 ebx=000000ff ecx=80124cdc edx=80af5242 esi=80086eb0 edi=80085000
>     eip=80ac37e1 esp=80af2344 ebp=80af234c iopl=0         nv up di ng nz na po nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000082
>     nt!DbgBreakPoint+0x1:
>     80ac37e1 c3              ret
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x8E

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     80af1a4c 80a30d7b 00000003 80af1da8 00000000 nt!RtlpBreakWithStatusInstruction
>     80af1a98 80a319e6 00000003 00000000 80af227c nt!KiBugCheckDebugBreak+0x19
>     80af1e78 80a31f77 0000008e 80000003 80ac37e0 nt!KeBugCheck2+0x574
>     80af1e98 80a397af 0000008e 80000003 80ac37e0 nt!KeBugCheckEx+0x1b
>     80af2260 80adfa09 80af227c 00000000 80af22d0 nt!KiDispatchException+0x3d9
>     80af22c8 80ae01d1 80af234c 80ac37e1 badb0d00 nt!CommonDispatchException+0x4d
>     80af22c8 80ac37e1 80af234c 80ac37e1 badb0d00 nt!KiTrap03+0xb9
>     80af2340 80123c39 ffdff120 80af2368 80123dcb nt!DbgBreakPoint+0x1
>     80af234c 80123dcb 80085000 00000000 80afc980 HAL3!HalpGetParameters+0x91
>     80af2368 80d2ff9f 00000000 80085000 80afe260 HAL3!HalInitSystem+0x33
>     80af24f8 80d41cd4 00000000 80085000 8003fc00 nt!ExpInitializeExecutive+0x171
>     80af254c 80d3f6ec 80afe4c0 80afe260 80af2810 nt!KiInitializeKernel+0x568
>     00000000 00000000 00000000 00000000 00000000 nt!KiSystemStartup+0x2c4

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!KiDispatchException+3d9
>     80a397af cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!KiDispatchException+3d9

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x8E_nt!KiDispatchException+3d9

>     BUCKET_ID:  0x8E_nt!KiDispatchException+3d9

>     Followup: MachineOwner
>     ---------

>     kd> lm
>     start    end        module name
>     80001000 80004000   BOOTVID    (deferred)
>     80007000 80008100   WMILIB     (deferred)
>     80009000 80009d00   pciide     (deferred)
>     8000a000 8000b700   dmload     (deferred)
>     80010000 80011b80   kdcom      (deferred)
>     80012000 8001b300   isapnp     (deferred)
>     80062000 80072a80   pci        (deferred)
>     80100000 80127780   HAL3       (pdb symbols)          c:\symbols\halmacpi.pdb\E84507EBCC884EC88312CED392E768A61\halmacpi.pdb
>     8038c000 803bbd80   ACPI       (deferred)
>     803bc000 803c2180   PCIIDEX    (deferred)
>     803c3000 803cd580   MountMgr   (deferred)
>     803ce000 803ecd80   ftdisk     (deferred)
>     803ed000 803f1d00   PartMgr    (deferred)
>     803f2000 803ff200   VolSnap    (deferred)
>     804d7000 804fca00   dmio       (deferred)
>     804fd000 80514900   atapi      (deferred)
>     80515000 8051de00   disk       (deferred)
>     8051e000 8052a180   CLASSPNP   (deferred)
>     8052b000 8054ab00   fltMgr     (deferred)
>     8054b000 8055cf00   sr         (deferred)
>     8055d000 80573880   KSecDD     (deferred)
>     80574000 80600600   Ntfs       (deferred)
>     80601000 8062d980   NDIS       (deferred)
>     8062e000 80647b80   Mup        (deferred)
>     80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb

#5944

diderius6

The driver igxpmp32.sys gets unloaded at the call of

    nt!PpSynchronizeDeviceEventQueue

Dietmar

#5945

blackwingcat

I want to install Windows 2000.
So, I'm analyzing and using your XP acpi.sys patch on XP SP3 DVD . :3
Now I can not avoid BSoD STOP A5 0x00000002 XXXXXXXX 0x00000001
Which patch should I apply to ?

> Zitat von ⇗ diderius6 im Beitrag ¶ #5937

> @blackwingcat
> Is this on an XP installation or on Win2000
> for your new motherboard
> Dietmar

#5946

schreiberstein

⇗ @blackwingcat Mr. Blackwingcat, perhaps this question is heretical to you, but couldn't you consider making the jump from 1999 to 2001 and join forces with the fine folks in the XP community, extend XPs kernel and improve compatibility with modern hardware and software?
I personally think that XP has many benefits to offer.
There is now an excellent USB3 XHCI driver, NVMe drivers, ACPI patches and many more excellent things.
No more updates that could ruin customized changes.
Hardware compatibility is already great all the way up to the mid-2010s.
Over the years, I tried to use Windows 2000 with several improvement, however, I was never able to get it as "usable" as Windows XP.
Especially without a usable browser like MyPal, or VirtualBox, Office 2010 or modern AMD Catalyst support, I found it hard using it for more "modern" workloads.
(Or cool things like WinBTRFS, VeraCrypt, ...)
I know that many things have been improved, but I always had problems with getting FireFox / modern browsers to work well among other things.
So, I always ended up using XP instead.
I use the "Inexperience Patcher" to make the entire UI look mostly indistinguishable from Windows 2000 (It calls itself Windows 2002) and to my mind, this is the best of both worlds.
Perhaps you have a different use case, preferences or specialized legacy applications and my observation does not apply.
Don''t get me wrong, I will be thrilled to see a screenshot posted here of a Japanese Windows 2000 running on one of the latest systems. I would even like to try it myself. But without the other improvements that make Windows XP so sweet to use (especially the Windows 8 USB XHCI driver), it does not look like a really usable / functional system.
I really respect your work and I have followed your blog for many years now.
Kind regards, Merry Christmas and thank you for your work.
schreiberstein

#5947

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #5943

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     FAULTING_IP:
>     nt!DbgBreakPoint+0
>     80ac37e0 cc              int     3

⇗ @diderius6 ....seems to have faulted on its own breakpoint. When windbg sets a BP it removes the code at that location and inserts an 0xCC = int 3. Out of curiosity, can you try gh to see how it handles the exception? Or, you might remove the BP and let it run with gn to see if it encounters another exception related to the driver.
BTW, I have used that trick on occasion, inserting my own 0xCC at an address. You have to save the original code (some instructions at the beginning of a function are single byte codes, like a PUSH), and replace the 0xCC byte with it when it breaks. If it's not a single byte instruction you can pad it with 0x90 = NOP instructions, if required. NOP means No Operation, nothing is executed. Windbg knows about the int 3 instruction and takes steps to handle the exception. By using gn you told it to ignore its process for recovery, so it caused a BSOD.
The NOP is also used if you have a conditional jump instruction the app takes and you don't want it to take the jump. You replace the jump code with 0x90s. If the app does not take the jump and you want to, you change the conditional jump code to a JMP code, normally 0xEB for a short jump. Little more complex if it's a long jump but the complexity is only in the math calculations and where to begin.
You can set the EIP register to point at the instruction you removed after you replace it, to make sure it executes that instruction. When it breaks on the 0XCC it has already executed the instruction at that address and may point to the next address. Just replace the 0xCC with original code and set the EIP register to point to it, if it's not pointing there already. Just be sure no other instructions have been executed since that can cause instability.

#5948

diderius6

⇗ @blackwingcat
Bsod 0x000000A5, (0x00000002, xxx, yyy, zzz)
is error in ACPIRangeValidatePciResources
So, patch is
74 14 FF 75 EC 53 => EB 14 FF 75 EC 53 for Acpi XP SP3
74 14 FF 75 FC 53 => EB 14 FF 75 FC 53 for Acpi Win2000
Dietmar

#5949

YuriyCN

1) I found a fix for intel chipsets, attached file here - ⇗ What exactly is the hal timer problem? (2)
2) halmacpi.dll rename in hal.dll and put into c:\WINDOWS\system32
3) Rebooted the PC and repeated the timer test.
Result.
The frequency of the QPC timer has been changed from 3.580 MHz to 3.192 MHz.
But RTC bug isn't solved. The system time constantly goes ahead.

#5950

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5949

> But RTC bug isn't solved. The system time constantly goes ahead

Hi YuriyCN,
1) Problem is QPC calculation, cpu frequency must be 3000/3100/3200 Mhz (100Mhz * bus ratio ), but it show strange 3.192 value (QPC=rdtsc=CPU Freq)
2) ACPI timer by default is disabled on skylake+, so where cpu-z get it ?
3) We dont know how all values was calculated, so it can be cpu-z only issue

del-8

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5950

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #5949

> > But RTC bug isn't solved. The system time constantly goes ahead

> Hi YuriyCN,
> 1) Problem is QPC calculation, cpu frequency must be 3000/3100/3200 Mhz (100Mhz * bus ratio ), but it show strange 3.192 value (QPC=rdtsc=CPU Freq)
> 2) ACPI timer by default is disabled on skylake+, so where cpu-z get it ?
> 3) We dont know how all values was calculated, so it can be cpu-z only issue

3.192 это приблизительно 3.200 = 100 МГц * 32
CPU-Z использую просто для демонстрации, мне пофиг что он показывает.
Суть моей проблемы - спешат часы под WinXP.
Процессор - Skylake Intel i5-6500. Материнская плата на H110 чипсете. Под BIOS и под Windows 7 системные часы идут правильно и очень точно. За 1 день уход времени - несколько секунд, что приемлемо.
Но под Windows XP творится какой-то бред. За день работы часы могут уйти до 7 минут вперед! Причем скорость ухода зависит от загруженности ПК. В некоторые моменты время идет правильно, а в некоторые начинает ускоряться. Я начал копать интернет и изучать данную проблему. С железом проблемы 100% нет, проблема чисто софтовая и проявляется только в Windows XP.
Почитав в интернете, я понял, что проблема может быть связана:
1) с HPET таймером
2) с переключением частот процессора на лету
3) с таймерами
Включение/отключение HPET на этот глюк никак не влияет. С переключением частот сложно мониторить, вообще в простое частота может падать до 800 МГц, в номинальном режиме 3200 МГц, в boost режиме 3600 МГц. Далее, я провел эксперименты с мультимедиа таймером. Когда ПК работает - то его период постоянно переключается между 16 мс и 1 мс. Например запуск Хрома приводит к переключению таймера на 1 мс, а запуск Мозиллы не приводит и таймер остается на 16 мс.
Период таймера контроллирую с помощью программы:
Clockres v2.1 - Clock resolution display utility
Copyright (C) 2016 Mark Russinovich
Sysinternals
Maximum timer interval: 15.625 ms
Minimum timer interval: 1.000 ms
Current timer interval: 15.625 ms
Перепробовал варианты патченых hal.dll и intelppm.sys - глюк не убирается. Можно настроить синхронизацию с инетом 2 раза в день - но нафиг такое решение....
Далее я нашел программу, которая жестко устанавливает период таймера в 1мс и на дефолтные для WinXP 16 мс таймер уже не переключается. И произошло чудо - часы стали идти правильно!! На данный момент постоянно держать в памяти эту программу - это единственное приемлемое решение.
Вывод:
1. Почему RTC уходит причину не нашел
2. Запуск фоновой проги жесто устанавливающей период 1 мс решает проблему
3. Уход времени вперёд происходит при переключении периода 1мс <-> 16 мс
4. Если таймер жестко стоит или на 16 мс или на 1 мс то ухода нет
5. Возможно поможет и отключение boost до 3600 МГц, ограничить частоту CPU я ещё не пробовал
Нужен корректный патч системных файлов. Можете чем нибудь помочь?
Готов тестировать.

#5951

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-8

> Но под Windows XP творится какой-то бред. За день работы часы могут уйти до 7 минут вперед! Причем скорость ухода зависит от загруженности ПК

clock is independ hardware, own quartz, own chip, there is no any write control by design

del-9

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5951

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #del-8

> > Но под Windows XP творится какой-то бред. За день работы часы могут уйти до 7 минут вперед! Причем скорость ухода зависит от загруженности ПК

> clock is independ hardware, own quartz, own chip, there is no any write control by design

Так и было, но 10 лет назад. А новые (слишком умные) материнские платы с UEFI лезут даже в работу RTC. Возможно мешает IME, возможно ещё что-то. Нужно написать тестовую программу, которая постоянно дергает периодом мультимедиа таймера, переключая его с 16 мс на 1 мс и обратно - таким образом можно активировать глюк и накручивать время.
Я находил в интернете описания с подобным глюком. Но вопрошающего сразу забрасывали простыми рецептами - мол часы штука аппаратная, меняй кварц или батарейку. Но здесь дело хитрее... Я думал патч РАЕ мешает, убрал его, но глюк остался. Модифицированные HAL и INTELPPM также не помогают.
ВинХП при простое (тик таймера 16 мс) - время идет точно.
ВинХП при жестко установленном тике =1 мс - время идет точно.
ВинХП под реальной работой, когда тик таймера меняется - время ускоряется.
Это можно проконтроллировать, сравнивая время с обычными часами, так и по программе CPU-Z, поскольку ACPI и QPC таймера насчитывают = 525 секунд, а RTC таймер = 529 секунд, то есть +4 секунды за 10 минут.

#5952

Mov AX, 0xDEAD

> Zitat

> нет, нужна программа, которая показывает время из аппаратных регистров cmos часов, под linux есть hwclock, под windows гугл ничего полезного не дал, без такой проги непонятно кто врет - железка или винда

Edit: swiss knife named "RWEverything" can do this:
Specific -> IO Index/Data - >CMOS 70/71
first 5 bytes are sec:min:hour, in BCD coding (no need hex converting)

#5953

pappyN4

Trying to get USB from Zen2 CPU working. DEV149C
AMD 1.0.5.3 (official driver win7x64 for B450 motherboard)
Used this Windows 7 driver to get the B450 chipset USB DEV43D5 working. Needed to copy usbd.sys, but looks like it works fine. Did not work for 149C
AMD 1.1.0.276
Did not work for 149C.
AMD 2.0.0.60 (official driver win 7x64 for CPU)
xhci install ok, hub gives error. Looked at Dependency Walker. Added ksecd8.sys 6.0.5456.5 and ntoskrn8.sys with hexplorer, PEChecksum corrected. NTOSKRNL Emu_Extender added missing imports from ntoskrnl.exe

    ///////amdhub3.sys v2.0.0.60
    #pragma comment (linker, "/export:KeReleaseSpinLock=ntoskrnl.KeReleaseSpinLock")
    #pragma comment (linker, "/export:ExReleaseFastMutex=ntoskrnl.ExReleaseFastMutex")
    #pragma comment (linker, "/export:ExAcquireFastMutex=ntoskrnl.ExAcquireFastMutex")
    #pragma comment (linker, "/export:KeAcquireSpinLockRaiseToDpc=ntoskrnl.KeAcquireSpinLockRaiseToDpc")
    #pragma comment (linker, "/export:_vsnwprintf=ntoskrnl._vsnwprintf")
    #pragma comment (linker, "/export:__C_specific_handler=ntoskrnl.__C_specific_handler")

    ///////ksecdd 6.0.5456.5 for amdhub3.sys v2.0.0.60
    #pragma comment (linker, "/export:_strnicmp=ntoskrnl._strnicmp")
    #pragma comment (linker, "/export:_wcsicmp=ntoskrnl._wcsicmp")
    #pragma comment (linker, "/export:_wcsnicmp=ntoskrnl._wcsnicmp")
    #pragma comment (linker, "/export:ExpInterlockedPushEntrySList=ntoskrnl.ExpInterlockedPushEntrySList")
    #pragma comment (linker, "/export:ExpInterlockedPopEntrySList=ntoskrnl.ExpInterlockedPopEntrySList")
    #pragma comment (linker, "/export:ExQueryDepthSList=ntoskrnl.ExQueryDepthSList")
    #pragma
     comment (linker, "/export:_local_unwind=ntoskrnl._local_unwind")

Dependency Walker shows all good. Driver installs and usb mouse/flash drive works. BUT, when shutting down, always BSOD DRIVER_POWER_STATE_FAILURE 9F (0x500,0x002,,) Looking over thread, from post 3962, maybe windows expects PoStartNextPowerIrp to be called, but this driver does not.
AMD Radeon USB 1.0.0.13
same works/BSOD as 2.0.0.60
Windows 8 USB3 with Emu_Extender
From Win8x64 ISO, ucx01000.sys, usbhub3.sys, usbxhci.sys, wpprecorder.sys, usbd.sys 6.2.9200.16384. From win7x64 ISO WdfLdr.sys 1.11.9200.16384. ksecdd.sys 6.0.5456.5. Renamed, hexplorer, PEchecksum..

    ///////ksecdd,usbd,ucx01000,usbxhci,usbhub for win8 generic usb3
    #pragma comment (linker, "/export:_stricmp=ntoskrnl._stricmp")
    #pragma comment (linker, "/export:KeLowerIrql=ntoskrnl.KeLowerIrql")
    #pragma
     comment (linker, "/export:KfRaiseIrql=ntoskrnl.KfRaiseIrql")

Dependency Walker shows one issue, ntoskrn8.sys trying to get KeInitializeSpinLock from ntoskrnl.exe but is not finding it. Tried with ntoskrnl.exe from SP1 (5.2.3790.1830), SP2 (5.2.3790.3959), and latest (5.2.3790.5583).
Currently stuck. Any ideas?
AMD 2.0.0.60 works but is not quite compatible (does not call PoStartNextPowerIrp?) BSOD
Win8 USB3 Emu_Extender, KeInitializeSpinLock not found, cant test

#5954

infuscomus

⇗ @pappyN4
Very strange that it can't find KeInitializeSpinLock - it's definitely there, has been in ntoskrnl since win2000.
try this - ⇗ https://anonfiles.com/N6m68b2cp3/WinXP-I...r_v2.3.4b17_zip
inside these folders -
\Integrator Files\Patches\Microsoft USB 3.0 xHCI driver v2.1 (usb3 driver)
\Integrator Files\Patches\Miscellaneous (ntoskrn8)
are prepatched files, try them out.

#5955

Squall Leonhart

> Zitat von ⇗ infuscomus im Beitrag ¶ #5954

> Very strange that it can't find KeInitializeSpinLock - it's definitely there, has been in ntoskrnl since win2000.

changed between windows 7 and 8

> Zitat

> This function is inlined for x64 systems from Windows XP till Windows 7. Starting in Windows 8, this function is exported from ntoskrnl.lib. As a result, if you are using the Windows 10 WDK to build a binary that runs on Windows 7 (and therefore you need NX pool usage to pass Windows 10 HLK tests), you must define WIN9X_COMPAT_SPINLOCK. Otherwise, you may see Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39).

del-10

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5952

> > Zitat

> > нет, нужна программа, которая показывает время из аппаратных регистров cmos часов, под linux есть hwclock, под windows гугл ничего полезного не дал, без такой проги непонятно кто врет - железка или винда

> Edit: swiss knife named "RWEverything" can do this:
> Specific -> IO Index/Data - >CMOS 70/71
> first 5 bytes are sec:min:hour, in BCD coding (no need hex converting)

Если после накрутки времени в Windows XP, перегрузиться и зайти в BIOS - то время уже идет вперед. Кто из них начинает врать - не понятно, но в BIOS новое время записывается. Сегодня ещё потестирую с блокировкой частот CPU и шины. Может появится дополнительная информация.
Если нужная программа есть под Linux, наверняка к ней идет исходный код, который можно перекомпилировать под Windows?

## Page 398

#5956

diderius6

⇗ @Mov AX, 0xDEAD
I just startet XP Lan debug, XP as Host (where windbg runs) and XP Target (the compi, which I want to debug).
First it does not start.
Then I noticed, that I have to set the IP adresses correct for my home network.
So, may be you give a hint for this in your nice Tutorial ⇗ https://github.com/MovAX0xDEAD/KDNET .
I use now for Debug boot.ini on compi with XP, which I want to debug (Target) with debug ntoskrnl and debug timer hacked hal

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows
     XP SP3 DEBUG" /KERNEL=ntos3.exe /HAL=hal3.dll /debug /debugport=COM1
    /baudrate=115200 /BREAK
    C:\WINDOWS="KDNET"     /noexecute=optin /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG /DEBUGPORT=NET
             /HOST_IP=192.168.2.101 /HOST_PORT=50000 /ENCRYPTION_KEY=make.winxp.great.again /CPUFREQ=3000 /TARGET_IP=192.168.2.103
    C:\WINDOWS="KDNET_Brk" /noexecute=optin /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG /DEBUGPORT=NET
             /HOST_IP=192.168.2.101 /HOST_PORT=50000 /ENCRYPTION_KEY=make.winxp.great.again /CPUFREQ=3000 /TARGET_IP=192.168.2.103 /BREAK

PS: MSVCRTD.DLL on XP SP3 Compi where Windbg runs (Host) is version 6.00.8797.0 from ⇗ @blackwingcat
SHA-1 F6C83FBF9BE1F5AB40CABD63DFDE4DF340CB74C9

#5957

diderius6

I want to compare the Windbg whole driver output from driverentry of igxpmp32.sys on the Lenovo x230 with DEV_0166 HD4000
for to compare it with Baytrail.
Crazy, the last Intel (R) HD drivers 6.14.10.5441, 6.14.10.5445 and 6.14.10.5449 give a black screen on the x230.
So, I try the laast version before (without Haswell) 6.14.10.5437 (also with best laast sound)
and this one works, now compare can start
Dietmar

#5958

diderius6

The driver igxpmp32.sys is unloaded between

    80b5d309 e840efecff      call    nt!PipProcessStartPhase2 (80a2c24e)
    1: kd>
    nt!PipProcessDevNodeTree+0x25e:
    80b5d30e 8bf0            mov     esi,eax
    1: kd>
    nt!PipProcessDevNodeTree+0x260:
    80b5d310 85f6            test    esi,esi
    1: kd>
    nt!PipProcessDevNodeTree+0x262:
    80b5d312 0f8dd6000000    jge     nt!PipProcessDevNodeTree+0x33e (80b5d3ee)
    1: kd>
    nt!PipProcessDevNodeTree+0x268:
    80b5d318 817b1806030000  cmp     dword ptr [ebx+18h],306h
    1: kd>
    nt!PipProcessDevNodeTree+0x26f:
    80b5d31f bece0200c0      mov     esi,0C00002CEh
    1: kd>
    nt!PipProcessDevNodeTree+0x274:
    80b5d324 0f851b010000    jne     nt!PipProcessDevNodeTree+0x395 (80b5d445)
    1: kd>
    nt!PipProcessDevNodeTree+0x395:
    80b5d445 807d1c00        cmp     byte ptr [ebp+1Ch],0
    1: kd>
    nt!PipProcessDevNodeTree+0x399:
    80b5d449 0f8529020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)
    1: kd>
    nt!PipProcessDevNodeTree+0x39f:
    80b5d44f ffb5c8fdffff    push    dword ptr [ebp-238h]
    1: kd>
    nt!PipProcessDevNodeTree+0x3a5:
    80b5d455 ffb5d0fdffff    push    dword ptr [ebp-230h]
    1: kd>
    nt!PipProcessDevNodeTree+0x3ab:
    80b5d45b 6a01            push    1
    1: kd>
    nt!PipProcessDevNodeTree+0x3ad:
    80b5d45d ff7518          push    dword ptr [ebp+18h]

#5959 | blackwingcat | I bought serial blanket yesterday. I tried it , but F8 press on F6 period seems not to be effection. :3

#5960

diderius6

⇗ @blackwingcat
No external COM port works, I tested.
Only when there is an integrated COM port on the motherboard,
you can use it for Windbg. But via Lan, an external Lan card works for Windbg under XP as long as it is the supported
Lan DEV list
⇗ https://docs.microsoft.com/en-us/windows...-in-windows-8-1
Dietmar

#5961

diderius6

Driver igxpmp32.sys loaded on Lenovo x230 with DEV_0166 HD4000
Why I post this is, that I hope to find those belonging places in the igxpmp32.sys driver. But only the names of the variables
appear, I can not find any characteristic place in the driver itself. The driver is for both motherboards the same,
so I wonder, how it can happen, that in memory they are not the same, only similar. driver entrypoint and a lot more are the same in memory on both boards.
So, for me the question is, if you can make a copy from the content of the memory(!),
working on the x230 board and copy it to the memory of the Baytrail board.
The XP installation is nearly to 100% the same, I connect the XP installation from the x230 board to the Baytrail board and this works
Dietmar

>     80b5d309 e840efecff                call    nt!PipProcessStartPhase2 (80a2c24e)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x25e:
>     80b5d30e 8bf0            mov     esi,eax
>     3: kd>
>     nt!PipProcessDevNodeTree+0x260:
>     80b5d310 85f6            test    esi,esi
>     3: kd>
>     nt!PipProcessDevNodeTree+0x262:
>     80b5d312 0f8dd6000000          jge     nt!PipProcessDevNodeTree+0x33e (80b5d3ee)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x33e:
>     80b5d3ee 33ff            xor     edi,edi
>     3: kd>
>     nt!PipProcessDevNodeTree+0x340:
>     80b5d3f0 eb47            jmp     nt!PipProcessDevNodeTree+0x389 (80b5d439)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x389:
>     80b5d439 81fece0200c0    cmp     esi,0C00002CEh
>     3: kd>
>     nt!PipProcessDevNodeTree+0x38f:
>     80b5d43f 0f8533020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x5c8:
>     80b5d678 8bc7            mov     eax,edi
>     3: kd>
>     nt!PipProcessDevNodeTree+0x5ca:
>     80b5d67a 48              dec     eax
>     3: kd>
>     nt!PipProcessDevNodeTree+0x5cb:
>     80b5d67b 740e            je      nt!PipProcessDevNodeTree+0x5db (80b5d68b)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x5cd:
>     80b5d67d 48              dec     eax
>     3: kd>
>     nt!PipProcessDevNodeTree+0x5ce:
>     80b5d67e 7570            jne     nt!PipProcessDevNodeTree+0x640 (80b5d6f0)
>     3: kd>
>     nt!PipProcessDevNodeTree+0x640:
>     80b5d6f0 80bdf2fdffff00  cmp     byte ptr [ebp-20Eh],0
>     3: kd>
>     nt!PipProcessDevNodeTree+0x647:
>     80b5d6f7 0f84fdfaffff    je      nt!PipProcessDevNodeTree+0x14a (80b5d1fa)

>     DevNode 0x8b09eda8 for PDO 0x8b03f038
>               InstancePath is "PCI\VEN_8086&DEV_0166&SUBSYS_21FA17AA&REV_09\3&b1bfb68&0&10"
>               ServiceName is "ialm"
>               State = DeviceNodeStartPostWork (0x307)
>               Previous State = DeviceNodeStartCompletion (0x306)

Driver igxpmp32.sys not loaded on Baytrail j1900 board with DEV_0F31

>     nt!PipProcessDevNodeTree+0x259:
>     80b5d309 e840efecff                call    nt!PipProcessStartPhase2 (80a2c24e)
>     1: kd>
>     nt!PipProcessDevNodeTree+0x25e:
>     80b5d30e 8bf0            mov     esi,eax
>     1: kd>
>     nt!PipProcessDevNodeTree+0x260:
>     80b5d310 85f6            test    esi,esi
>     1: kd>
>     nt!PipProcessDevNodeTree+0x262:
>     80b5d312 0f8dd6000000          jge     nt!PipProcessDevNodeTree+0x33e (80b5d3ee)
>     1: kd>
>     nt!PipProcessDevNodeTree+0x268:
>     80b5d318 817b1806030000  cmp     dword ptr [ebx+18h],306h
>     1: kd>
>     nt!PipProcessDevNodeTree+0x26f:
>     80b5d31f bece0200c0      mov     esi,0C00002CEh
>     1: kd>
>     nt!PipProcessDevNodeTree+0x274:
>     80b5d324 0f851b010000    jne     nt!PipProcessDevNodeTree+0x395 (80b5d445)
>     1: kd>
>     nt!PipProcessDevNodeTree+0x395:
>     80b5d445 807d1c00        cmp     byte ptr [ebp+1Ch],0
>     1: kd>
>     nt!PipProcessDevNodeTree+0x399:
>     80b5d449 0f8529020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)
>     1: kd>
>     nt!PipProcessDevNodeTree+0x39f:
>     80b5d44f ffb5c8fdffff    push    dword ptr [ebp-238h]
>     1: kd>
>     nt!PipProcessDevNodeTree+0x3a5:
>     80b5d455 ffb5d0fdffff    push    dword ptr [ebp-230h]
>     1: kd>
>     nt!PipProcessDevNodeTree+0x3ab:
>     80b5d45b 6a01            push    1
>     1: kd>
>     nt!PipProcessDevNodeTree+0x3ad:
>     80b5d45d ff7518          push    dword ptr [ebp+18h]

>     DevNode 0x8a4ba430 for PDO 0x8a4cd038
>               InstancePath is "PCI\VEN_8086&DEV_0F31&SUBSYS_0F311849&REV_0E\3&11583659&0&10"
>               ServiceName is "ialm"
>               State = DeviceNodeAwaitingQueuedRemoval (0x30f)
>               Previous State = DeviceNodeStartCompletion (0x306)

#5962 | blackwingcat | Umm, Serial blanket connected directly mother board. ⇗ https://www.amazon.co.jp/gp/product/B001Y1F0HW/ I bought it
#5963 | diderius6 | ⇗ @blackwingcat Does your motherboard have intern COM port? If yes, this should work Dietmar

#5964

Andalu

Regarding the failed restart on my Asrock B250M Pro4, I noticed that it works fine on an 'MPS Multiprocessor' and 'ACPI Uniprocessor' system, while it hangs on a 'Standard PC' and clearly on the 'ACPI Multiprocessor' pc.
What could I try to find a solution?
Edit: I have already tried all the modded hal.dll (halmacpi.dll) without success.

#5965

diderius6

⇗ @Andalu
Try to disable all devices in Bios, that you dont need.
Make a try with Safe Boot F8.
It is an unknown device, that makes the compi hang
Dietmar
PS: Last chance is to mod DSDT in Bios. But this is crazy hard work.
Have you tried to downgrade your Bios?
Be very careful, BIG risk, that via Bios mod only EEpromer can bring your compi back to life!

#5966

Andalu

⇗ @diderius6
all devices not needed are disabled in bios and the restart doesn't work even in safe mode.
I also tried to disassemble the dsdt table but I got the following error on the command "iasl -d dsdt.dat":
"File appears to be binary: found 49430 non-ASCII characters, disassembling Binary file does not contain a valid ACPI table"
Edit: nothing changes even downgrading to the first bios release

#5967 | diderius6 | ⇗ @Andalu So it is not the *.raw DSDT table. What version is your Bios for Asrock B250M Pro4? I can download few Bios for this board and compare their DSDT Dietmar

#5968

Andalu

⇗ @diderius6
the version in use is the 2.50 (B250M Pro4(2.50)ROM)
Edit: I'm stuck on the errors below after the command "c:\iasl -f dsdt.dsl" on the dsdt table extracted with UEFITool:
Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl 6503: Zero
Error 6126 -^ syntax error, unexpected PARSEOP_ZERO
dsdt.dsl 10773: }
Error 6126 - ^ syntax error, unexpected '}'
dsdt.dsl 14385:
Error 6126 - syntax error, unexpected $end and premature End-Of-File
ASL Input: dsdt.dsl - Compilation aborted due to parser-detected syntax error(s)
Compilation failed. 3 Errors, 0 Warnings, 0 Remarks
No AML files were generated due to syntax error(s)

#5969

diderius6

⇗ @Andalu
I also cant disassamble DSDT from 2.50 Bios, strange, I never had before.
May be, that a brandnew version of iasl is needed for this, but brandnew iasl do not run on XP SP3.
From the Bios 1.00 I can extract DSDT and disassemble. There are some changes as I can see in their *.raw files.
Easy try to repair header on *.raw 2.50 DSDT does not work. Iasl starts to disassemble but then crashes.
With Eepromer is no risk to flash this DSDT from 1.00, but without EEpromer BIG risk.
You can make a try to downgrade the Bios to the very first version 1.00
but also this is a risk without EEpromer
Dietmar

#5970 | Andalu | ⇗ @diderius6 even with the procedure posted ¶ here by ⇗ @infuscomus is there a risk? I could give it a try.

## Page 399

#5971 | infuscomus | ⇗ @diderius6 ⇗ @Andalu I would recommend my Easy2boot grub2 ACPI patching method, no risk to BIOS that way. edit: yes, no risk.
#5972 | Andalu | ⇗ @infuscomus thanks for confirmation ;) I already use it on an installed XP. Unfortunately with no success for an iso installation.
#5973 | infuscomus | ⇗ @Andalu with my method the patched ACPI table is deleted on reboot, you would need to mod BIOS to make it permanent.
#5974 | Andalu | ⇗ @infuscomus If I could solve the problem of the failed restart, I could then look for a way to make the change permanent. The problem is that at the moment I don't know which changes to apply. ⇗ @diderius6 eventually I could use my EEprom CH341A that I bought a few days ago even if also in this case I need to better learn "how to" :)
#5975 | infuscomus | ⇗ @Andalu anything hidden by OSYS or OSEL entries in the DSDT?
#5976 | Andalu | ⇗ @infuscomus I was not able to obtain a disassembled DSDT table even in win10 with the iasl version 20200717. I'll try with the latest version 20201217. Edit: no way even with the latest iasl ("Binary file does not contain a valid ACPI table").

#5977

diderius6

⇗ @Andalu
The EEpromer CH341A works ONLY on 3 Volt Bioschips.
Very easy you can kill your chip, I "succeed" with this.
The only EEpromer which works everywhere is Revelprog IS,
but it costs about 150 Dollar and is send from Poland
Dietmar
EDIT: I just see, that they have this EEpromer Revelprog IS also on Ebay.

#5978 | Andalu | ⇗ @diderius6 thanks for the info ;) Could the EZP2019 be useful? About the dsdt table from the bios version 1.0, which are the changes to apply?
#5979 | infuscomus | ⇗ @Andalu try acpidump -b
#5980 | Andalu | ⇗ @infuscomus I already obtained the dsdt.dat with UEFITool (the same file with the acidump -b command) but the disassembling operation with the command "iasl -d DSDT.dat" gives always the same message: "Binary file does not contain a valid ACPI table"
#5981 | diderius6 | ⇗ @Andalu I would try to downgrade the Bios to very first version 1.0. At once you will see, if the problem is gone or not. But there is risk without good EEpromer Dietmar
#5982 | daniel_k | Hey guys! ⇗ @Andalu Are you running a fully updated XP install? I've experienced those restart issues with a SP3 installation with no updates.
#5983 | Andalu | ⇗ @diderius6 I already tried the downgrade for the first time more than an year ago ¶ here and again some days ago without success I'm not able to obtain the dsdt.aml even with the bios version 1.0 :(
#5984 | Andalu | ⇗ @daniel_k Hi dude ;) How are you? As you can see, I have always issues..... is it just a coincidence that they are only with asrock boards? Unfortunately, the restart doesn't wotk even with the updated XP from Win-XP IE 2020.9.9

#5985

daniel_k

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5879

> Hi.
> When fail to load acpi, Windows 2000 does not show BSoD. It only shows blinking cursor after loading all text mode drivers. :3

Hi blackwingcat,
This also happens with XP SP1, acpi.sys hangs while parsing the acpi table.
I'll tell you where to look so you can compare both and patch the Win2000 acpi.sys.

## Page 400

#5986 | diderius6 | ⇗ @Andalu The DSDT from Bios 1.0 I have Dietmar ⇗ https://ufile.io/35robgkc Compilation successful. 0 Errors, 32 Warnings, 70 Remarks, 245 Optimizations
#5987 | Andalu | ⇗ @diderius6 thanks for the file. Here the results: Compilation successful. 0 Errors, 32 Warnings, 70 Remarks, 245 Optimizations Previously it was my mistake :) Edit: I will try to figure out what changes to apply, it will take me a long time but it will definitely be a way to learn something new.
#5988 | diderius6 | ⇗ @Andalu I use iasl.exe with SHA-1 A4302BFEC6A7D52A937801F6C76D450A1989EB95 It must be one of the very last versions, which works with XP Dietmar
#5989 | Andalu | ⇗ @diderius6 I'm using the same version form the iasl-win-20190509 package
#5990 | diderius6 | ⇗ @daniel_k Do you have a modded acpi.sys from XP SP1 Dietmar

#5991

daniel_k

⇗ @blackwingcat
Bug is in the _ParseScope function
XP SP1

    .00027D69: 53                             push         ebx
    .00027D6A: 8B5C2410                       mov          ebx,[esp][010]
    .00027D6E: 85DB                           test         ebx,ebx
    .00027D70: 56                             push         esi
    .00027D71: 8B742410                       mov          esi,[esp][010]
    .00027D75: 57                             push         edi
    .00027D76: 740D                           jz          .000027D85
    .00027D78: 81FB01800000                   cmp          ebx,000008001
    .00027D7E: 7405                           jz          .000027D85
    .00027D80: 6A02                           push         2
    .00027D82: 58                             pop          eax
    .00027D83: EB06                           jmps        .000027D8B
    .00027D85: 8B4608                         mov          eax,[esi][8]
    .00027D88: 83E00F                         and          eax,00F
    .00027D8B: 83E800                         sub          eax,0
    .00027D8E: 8B7C2410                       mov          edi,[esp][010]
    .00027D92: 7408                           jz          .000027D9C
    .00027D94: 48                             dec          eax
    .00027D95: 7408                           jz          .000027D9F
    .00027D97: 48                             dec          eax
    .00027D98: 7418                           jz          .000027DB2
    .00027D9A: EB3C                           jmps        .000027DD8
    .00027D9C: FF4608                         inc          d,[esi][8]
    .00027D9F: 81FB01800000                   cmp          ebx,000008001
    .00027DA5: 755E                           jnz         .000027E05
    .00027DA7: 8B4610                         mov          eax,[esi][010]
    .00027DAA: 89473C                         mov          [edi][03C],eax
    .00027DAD: 33DB                           xor          ebx,ebx
    .00027DAF: FF4608                         inc          d,[esi][8]
    .00027DB2: 8B4618                         mov          eax,[esi][018]
    .00027DB5: 894728                         mov          [edi][028],eax
    .00027DB8: 8B461C                         mov          eax,[esi][01C]
    .00027DBB: 89472C                         mov          [edi][02C],eax
    .00027DBE: 8B4620                         mov          eax,[esi][020]
    .00027DC1: 8987A8000000                   mov          [edi][0000000A8],eax
    .00027DC7: 8B7614                         mov          esi,[esi][014]
    .00027DCA: 85F6                           test         esi,esi
    .00027DCC: 7403                           jz          .000027DD1
    .00027DCE: 89773C                         mov          [edi][03C],esi
    .00027DD1: 57                             push         edi
    .00027DD2: E827B8FFFF                     call        .0000235FE
    .00027DD7: 59                             pop          ecx
    .00027DD8: 5F                             pop          edi
    .00027DD9: 5E                             pop          esi
    .00027DDA: 8BC3                           mov          eax,ebx
    .00027DDC: 5B                             pop          ebx
    .00027DDD: C3                             retn

XP SP3

    .00029485: 8BFF                           mov          edi,edi
    .00029487: 55                             push         ebp
    .00029488: 8BEC                           mov          ebp,esp
    .0002948A: 837D1000                       cmp          d,[ebp][010],0
    .0002948E: 53                             push         ebx
    .0002948F: 56                             push         esi
    .00029490: 8B750C                         mov          esi,[ebp][00C]
    .00029493: 57                             push         edi
    .00029494: BB01800000                     mov          ebx,000008001
    .00029499: 740A                           jz          .0000294A5
    .0002949B: 395D10                         cmp          [ebp][010],ebx
    .0002949E: 7405                           jz          .0000294A5
    .000294A0: 6A02                           push         2
    .000294A2: 58                             pop          eax
    .000294A3: EB06                           jmps        .0000294AB
    .000294A5: 8B4608                         mov          eax,[esi][8]
    .000294A8: 83E00F                         and          eax,00F
    .000294AB: 83E800                         sub          eax,0
    .000294AE: 8B7D08                         mov          edi,[ebp][8]
    .000294B1: 7408                           jz          .0000294BB
    .000294B3: 48                             dec          eax
    .000294B4: 7408                           jz          .0000294BE
    .000294B6: 48                             dec          eax
    .000294B7: 7423                           jz          .0000294DC
    .000294B9: EB47                           jmps        .000029502
    .000294BB: FF4608                         inc          d,[esi][8]
    .000294BE: 395D10                         cmp          [ebp][010],ebx
    .000294C1: 756F                           jnz         .000029532
    .000294C3: 8B4610                         mov          eax,[esi][010]
    .000294C6: 89473C                         mov          [edi][03C],eax
    .000294C9: F6460A02                       test         b,[esi][00A],2 -->> THIS FIXES
    .000294CD: 8B4610                         mov          eax,[esi][010]
    .000294D0: 894614                         mov          [esi][014],eax
    .000294D3: 7404                           jz          .0000294D9 -->> THIS FIXES
    .000294D5: 83651000                       and          d,[ebp][010],0 -->> THIS FIXES
    .000294D9: FF4608                         inc          d,[esi][8]
    .000294DC: 8B4618                         mov          eax,[esi][018]
    .000294DF: 894728                         mov          [edi][028],eax
    .000294E2: 8B461C                         mov          eax,[esi][01C]
    .000294E5: 89472C                         mov          [edi][02C],eax
    .000294E8: 8B4620                         mov          eax,[esi][020]
    .000294EB: 8987A8000000                   mov          [edi][0000000A8],eax
    .000294F1: 8B7614                         mov          esi,[esi][014]
    .000294F4: 85F6                           test         esi,esi
    .000294F6: 7403                           jz          .0000294FB
    .000294F8: 89773C                         mov          [edi][03C],esi
    .000294FB: 57                             push         edi
    .000294FC: E8C0B2FFFF                     call        .0000247C1
    .00029501: 59                             pop          ecx
    .00029502: 8B4510                         mov          eax,[ebp][010]
    .00029505: 5F                             pop          edi
    .00029506: 5E                             pop          esi
    .00029507: 5B                             pop          ebx
    .00029508: 5D                             pop          ebp
    .00029509: C3                             retn

Windows 2000 SP4 - acpi.sys 5.0.2195.6920

    .00023A52: 53                             push         ebx
    .00023A53: 8B5C2410                       mov          ebx,[esp][010]
    .00023A57: 56                             push         esi
    .00023A58: 8B742410                       mov          esi,[esp][010]
    .00023A5C: 85DB                           test         ebx,ebx
    .00023A5E: 57                             push         edi
    .00023A5F: 740D                           jz          .000023A6E
    .00023A61: 81FB01800000                   cmp          ebx,000008001
    .00023A67: 7405                           jz          .000023A6E
    .00023A69: 6A02                           push         2
    .00023A6B: 58                             pop          eax
    .00023A6C: EB06                           jmps        .000023A74
    .00023A6E: 8B4608                         mov          eax,[esi][8]
    .00023A71: 83E00F                         and          eax,00F
    .00023A74: 8B7C2410                       mov          edi,[esp][010]
    .00023A78: 83E800                         sub          eax,0
    .00023A7B: 740B                           jz          .000023A88
    .00023A7D: 48                             dec          eax
    .00023A7E: 740B                           jz          .000023A8B
    .00023A80: 48                             dec          eax
    .00023A81: 7472                           jz          .000023AF5
    .00023A83: E993000000                     jmp         .000023B1B
    .00023A88: FF4608                         inc          d,[esi][8]
    .00023A8B: 81FB01800000                   cmp          ebx,000008001
    .00023A91: 7457                           jz          .000023AEA
    .00023A93: 8B473C                         mov          eax,[edi][03C]
    .00023A96: 3B4610                         cmp          eax,[esi][010]
    .00023A99: 7329                           jnc         .000023AC4
    .00023A9B: 6A01                           push         1
    .00023A9D: FF7624                         push         d,[esi][024]
    .00023AA0: E80FAFFFFF                     call        .00001E9B4
    .00023AA5: 59                             pop          ecx
    .00023AA6: 59                             pop          ecx
    .00023AA7: FF7624                         push         d,[esi][024]
    .00023AAA: FF7610                         push         d,[esi][010]
    .00023AAD: 57                             push         edi
    .00023AAE: E805050000                     call        .000023FB8
    .00023AB3: 8BD8                           mov          ebx,eax
    .00023AB5: 83C40C                         add          esp,00C
    .00023AB8: 85DB                           test         ebx,ebx
    .00023ABA: 7508                           jnz         .000023AC4
    .00023ABC: 3BB7C8000000                   cmp          esi,[edi][0000000C8]
    .00023AC2: 74CF                           jz          .000023A93
    .00023AC4: 81FB01800000                   cmp          ebx,000008001
    .00023ACA: 741E                           jz          .000023AEA
    .00023ACC: 81FB04800000                   cmp          ebx,000008004
    .00023AD2: 7447                           jz          .000023B1B
    .00023AD4: 3BB7C8000000                   cmp          esi,[edi][0000000C8]
    .00023ADA: 753F                           jnz         .000023B1B
    .00023ADC: 85DB                           test         ebx,ebx
    .00023ADE: 7512                           jnz         .000023AF2
    .00023AE0: 8B473C                         mov          eax,[edi][03C]
    .00023AE3: 3B4610                         cmp          eax,[esi][010]
    .00023AE6: 730A                           jnc         .000023AF2
    .00023AE8: EBA9                           jmps        .000023A93
    .00023AEA: 8B4610                         mov          eax,[esi][010]
    .00023AED: 33DB                           xor          ebx,ebx
    .00023AEF: 89473C                         mov          [edi][03C],eax
    .00023AF2: FF4608                         inc          d,[esi][8]
    .00023AF5: 8B4618                         mov          eax,[esi][018]
    .00023AF8: 894728                         mov          [edi][028],eax
    .00023AFB: 8B461C                         mov          eax,[esi][01C]
    .00023AFE: 89472C                         mov          [edi][02C],eax
    .00023B01: 8B4620                         mov          eax,[esi][020]
    .00023B04: 8987B0000000                   mov          [edi][0000000B0],eax
    .00023B0A: 8B7614                         mov          esi,[esi][014]
    .00023B0D: 85F6                           test         esi,esi
    .00023B0F: 7403                           jz          .000023B14
    .00023B11: 89773C                         mov          [edi][03C],esi
    .00023B14: 57                             push         edi
    .00023B15: E884CFFFFF                     call        .000020A9E
    .00023B1A: 59                             pop          ecx
    .00023B1B: 5F                             pop          edi
    .00023B1C: 8BC3                           mov          eax,ebx
    .00023B1E: 5E                             pop          esi
    .00023B1F: 5B                             pop          ebx
    .00023B20: C3                             retn

Check the attached files, all original and compare code.
See if you can apply the SP3 fix:

    .000294C9: F6460A02                       test         b,[esi][00A],2 -->> THIS FIXES
    ...
    .000294D3: 7404                           jz          .0000294D9 -->> THIS FIXES
    .000294D5: 83651000                       and          d,[ebp][010],0 -->> THIS FIXES

to Win2000 acpi.sys

daniel_k has attached files to this post

- ⇗ acpi.zip

#5992

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #5984

> @daniel_k
> Hi dude ;) How are you?
> As you can see, I have always issues..... is it just a coincidence that they are only with asrock boards?
> Unfortunately, the restart doesn't wotk even with the updated XP from Win-XP IE 2020.9.9

Good, hope you're doing fine too!
Those restart issues are complicated to fix, as the acpi table is properly loaded.
Personally, I have no idea where the issue may be.

#5993

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #5990

> Do you have a modded acpi.sys from XP SP1

The one from SP3 seems to work just fine, you can even use 6666.

#5994

gordo999

> Zitat von ⇗ blackwingcat im Beitrag ¶ #5962

> Umm, Serial blanket connected directly mother board.
> ⇗ https://www.amazon.co.jp/gp/product/B001Y1F0HW/
> I bought it

⇗ @blackwingcat ...in Canada, we call it a serial port connector, or a serial port breakout connector. I use one on my Asus B360M mobo.
For a serial connection for debugging you also need a null modem cable (crossover cable) to connect your connector to the other computer.
⇗ https://www.decisivetactics.com/support/view?article=crossover-or-null-modem-vs-straight-through-serial-cable
Microsoft describes it well here:
Note the difference between the 9-pin D-shell connector like yours and the 25-pin connector. Almost the same but a slight difference.
⇗ https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-a-null-modem-cable-connection
I made my own but you have to be very careful identifying the correct pins since the D-shell serial connectors are mirror images. I used the more complex cable, the null modem cable with handshake.
Basically, a normal serial cable has pins 2 and 3 connected as:
Rx2 -> Rx2
Tx3 -> Tx3
Those are the receive and transmit conductors. With a simple modem cable you are normally sending signals to a 'dumb' terminal like a monitor or over a telephone line to a remote station.
When you connect two computers via serial ports a simple serial/modem cable does not work. Each computer needs to 'talk' to the other to avoid data collisions. So, they reverse the Rx and Tx connectors like this:
Rx2 -> Tx3
Tx2 -> Rx3
Then they use other control signals to control the data flow.
Pin 4 = DTR = data terminal ready
Pin 5 = ground - important to have the same ground at each terminal.
Pin 6= DSR = data set ready
Pin 7 = RTS = ready to send
Pin 8 = CTS = clear to send
Note that these cables cross over as well. That is...
DTR -> DSR both ways
CTS -> RTS both ways
I have actually used a USB -> serial adapter on the host through a crossover cable to a breakout connector like yours.

#5995

Andalu

⇗ @diderius6
I have extracted the dsdt.bin file from the installed bios v2.50 with aida64 and it is identical (same SHA-1) for both 'uniprocessor acpi' (with the working restart) and 'multiprocessor acpi' system (where the restart fails).
Edit: with the dsdt table extracted from aida64, I can now get the dsdt.dsl also from the bios v2.50
Edit1: I'm still unable to get the dsdt.aml due to 3 errors detected during the iasl compilation :(

#5996 | diderius6 | Hi, is there a way to change the DEV ID from 0F31=>0156 for the integrated Graphikcard on the J1900 Baytrail cpu Dietmar
#5997 | infuscomus | ⇗ @Andalu Can you send me your DSDT in both original BIN and DSL form so I can take a look?

#5998

Andalu

⇗ @infuscomus
below the dsdt table extracted with RWeverything from bios v2.50Andalu has attached files to this post

- ⇗ DSDT.zip

#5999

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-10

> Edit: swiss knife named "RWEverything" can do this:
> Specific -> IO Index/Data - >CMOS 70/71
> first 5 bytes are sec:min:hour, in BCD coding (no need hex converting)
> ...
> Если после накрутки времени в Windows XP, перегрузиться и зайти в BIOS - то время уже идет вперед. Кто из них начинает врать - не понятно, но в BIOS новое время записывается

Hi YuriyCN,
dont need to mess, just compare cmos 70/71 clock with external clock (hand watches/etc)

#6000

infuscomus

⇗ @Andalu
OK, I managed to disassemble and reassemble your DSDT using iasl 20161222
On recompile it found an error on line 292 - BNUM already exists, so I deleted that.
Try this modded DSDT (the DSDT.aml) and see if it fixes your restarting issue?infuscomus has attached files to this post

- ⇗ andalu-DSDT-mod.7z.zip

## Page 401

#6001 | Andalu | ⇗ @infuscomus thanks for your help ;) I made a fresh XP installation as "standard pc" (here too I got the restart issue) and then loaded your dsdt.aml file via "asl /loadtable dsdt.aml" command but the restart is still not working.

del-11

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5999

> Hi YuriyCN,
> dont need to mess, just compare cmos 70/71 clock with external clock (hand watches/etc)

Я именно так и делаю.
Сравниваю работу часов в ПК с наручными часами "Электроника Мелодия 55Б", в которых есть ЦНХ (цифровая настройка хода). При синхронизации ПК с интернетом и сравнении с часами - подтверждается идеальная работа часов. Уход времени данных часов несколько секунд за пол-года...
Возвращаемся к ПК
За ночь в выключенном состоянии (8-10 часов) время идет правильно. По факту имею отставание около 1 секунды за 8-10 часов. В итоге часы ПК отстают от точного времени на 2-3 секунды / день. Это точность часов, определяемая BIOS и точностью часового кварцевого резонатора 32,768 Гц. Эту цифру считаю приемлимой.
Но под Windows XP, когда всевозможный запускаемый софт начинает манипулировать с периодом системного таймера (16 мс <-> 1 мс) - я наблюдаю резкий уход времени вперед - до 3-5 секунд за 10 минут активной работы. За рабочий день часы могут уйти на 5-7 минут вперед. Что считаю не приемлемо и не допустимо.
Я могу скинуть программу, с исходным кодом, которая жестко устанавливает период таймера на 1 мс - и убирает глюк со временем.

#6002

daniel_k

⇗ @Andalu
Wait a minute:

> Zitat

> Regarding the failed restart on my Asrock B250M Pro4, I noticed that it works fine on an 'MPS Multiprocessor' and 'ACPI Uniprocessor' system, while it hangs on a 'Standard PC' and clearly on the 'ACPI Multiprocessor' pc.

In MPS mode and Standard PC, Windows doesn't load/touch ACPI tables.
Probably your issue is somewhere else, maybe even a BIOS bug.

#6003 | infuscomus | ⇗ @Andalu try "ACPI multiprocessor" mode with the DSDT mod - does restart work now?

#6004

Andalu

⇗ @infuscomus
Sorry for the delay in my reply.
Does the command "asl /loadtable dsdt.aml" also work on ACPI Multiprocessor mode?
I would like try your procedure with easy2boot but I'm still looking for a way to get the dsdt.bin file :(
Edit: just tried in ACPI Multiprocessor mode with the asl /loadtable command but on (manually) restart I got the A5 bsod (0x00010007,0x79,0x00,0x00) with the acpi666 from outer space. I'll try with other acpi.sys versions.
Edit1: identical A5 bsod error code with acpi5048 and error code 0x03 with acpi2015

#6005

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #6002

> @daniel_k
> In MPS mode and Standard PC, Windows doesn't load/touch ACPI tables.
> Probably your issue is somewhere else, maybe even a BIOS bug.

also the 'acpi uniprocessor' mode does not touch the acpi tables? Here the restart works.
The bios bug occurs in XP only, no such issue in Win7 and Win10.

#6006

infuscomus

> Zitat von ⇗ Andalu im Beitrag ¶ #6004

> I would like try your procedure with easy2boot but I'm still looking for a way to get the dsdt.bin file :(

didn't you already send me your dsdt.bin file?
Try my Easy2boot method using the modded dsdt.aml file in that zip file I sent you.

#6007 | Andalu | ⇗ @infuscomus I sent you the original un-modded dsdt.bin file. Can I use your patched .aml file instead of the .bin file for the easy2boot method?
#6008 | infuscomus | ⇗ @Andalu Yes, please try my modded dsdt.aml using my method. edit: and use "ACPI multiprocessor"
#6009 | Andalu | ⇗ @infuscomus just tried with the dsdt.aml file with the easy2boot method on an ACPI Multiprocessor XP system: A5 bsod (0x11) Edit: same bsod on another working XP disk.

#6010

infuscomus

⇗ @Andalu
OK, try this dsdt-mod-2.aml file with easy2boot method - does it also give A5 BSOD?infuscomus has attached files to this post

- ⇗ andalu-dsdt-mod-2.7z.zip

#6011

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #6005

> [quote=""|p6005]
> also the 'acpi uniprocessor' mode does not touch the acpi tables? Here the restart works.
> The bios bug occurs in XP only, no such issue in Win7 and Win10.

Only acpi uni/multiprocessor loads the acpi tables. All other modes don't.
As I've said before, if restart doesn't work in Standard PC mode or MPS Uniprocessor, the issue lies in the BIOS itself.
You're obviously using a graphics card.
What about using the onboard video even if in VGA mode to see if the issue persist?
Or even using the PCIE3 (x4 mode) for your graphics card?

#6012 | daniel_k | ⇗ @Andalu The ACPI table of your board is XP friendly. Does XP boots with your very own table you've attached here? ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (401) Try it.
#6013 | Andalu | ⇗ @infuscomus A5 bsod 0x03
#6014 | Andalu | ⇗ @daniel_k it boots with its table but the restart fails :(

#6015

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #6011

> Only acpi uni/multiprocessor loads the acpi tables. All other modes don't.
> As I've said before, if restart doesn't work in Standard PC mode or MPS Uniprocessor, the issue lies in the BIOS itself.
> You're obviously using a graphics card.
> What about using the onboard video even if in VGA mode to see if the issue persist?
> Or even using the PCIE3 (x4 mode) for your graphics card?

In ACPI Uniprocessor mode the restart works correctly.
No changes with onboard or PCIEx graphics card, it fails with both.

## Page 402

#6016

infuscomus

⇗ @Andalu
does this dsdt-mod-3.aml give a BSOD - If it does there might be something wrong with my method.infuscomus has attached files to this post

- ⇗ andalu-dsdt-mod-3.7z.zip

#6017

Andalu

⇗ @infuscomus
unfortunately it doesn't work, same A5 bsod 0x03.
Most likely you are right: I got the A5 bsod even with the original un-modded dsdt.bin file.
Here a shot where you can see my flash drive (disk 1) with the two partitions (I must use the diskmod driver to create and see the 2nd partition):
⇗
⇗ @daniel_k
before I did not understand what you meant, sorry

#6018 | infuscomus | ⇗ @Andalu do you have an existing XP install? If you do try patching dsdt then going straight from agfm to your XP drive instead of back to easy2boot.

#6019

Andalu

⇗ @infuscomus
I follow these steps for the easy2boot method:
- boot from the flash drive
- select "1 alive grub2 File Manager (agFM)"
- F2 and enter to see the exact disk/partition containing the modded table
- F6 to enter the screen where I can select the grub2 console
- I write here: acpi (hd0,msdos2)/ACPI/DSDT.aml (or bin) and enter (no error detected)
- ESC to exit and F3 to select the partition containing the installed XP to boot from.
Should I try differently?

#6020 | infuscomus | ⇗ @Andalu you checked that hd0,msdos2 is the correct partition where the ACPI amd/bin files are located? use the ls command to check grub2 is case sensitive so double check If you run acpi (hd0,msdos2)/ACPI/DSDT.bin using your original unmodded DSDT does it boot?

#6021

Andalu

⇗ @infuscomus
I don't know where to write the 'ls' command but I can see however the exact disk/partition containing the ACPI folder previously created by pressing the F2 key after entering into agFM.
I had already checked that the command in the grub2 console is case-sensitive otherwise it gives an error.
As said before, I got the A5 bsod even with the original dsdt.bin file

#6022 | infuscomus | ⇗ @Andalu ls command in grub2 console to list files in directory are you able to remake your easy2boot USB on windows 10? I made my easy2boot in windows 10 so I'm thinking maybe it does something different to make it work correctly.
#6023 | Andalu | ⇗ @infuscomus it will seem strange, but I don't have an internet connection in Win10, I use it really few times because I don't like it at all. And it is equally strange that to create a simple usb stick you need to connect to the easy2boot site :)
#6024 | infuscomus | ⇗ @Andalu Just out of curiosity, can you boot into a live ubuntu 20.04 ISO after patching the DSDT?
#6025 | Andalu | ⇗ @infuscomus to install that ISO in a USB stick with easy2boot I'd still have to use XP and I don't think it's possible with a 64 bit version such as Ubuntu 20.04.
#6026 | infuscomus | ⇗ @Andalu You only need to download the ISO and put it in the LINUX folder - XP can do that.
#6027 | Andalu | ⇗ @infuscomus I used ubuntu-16.04.5 iso (the 20.04 needs some time to compete the download). Once patched the dsdt.aml file and selected the disk to boot from (the E2B parition) I got the same screen of some days ago for the XP iso installation: the classic horizontal lines that fill the screen as a sign of error.
#6028 | infuscomus | ⇗ @Andalu On my Threadripper system I'm not able to get it to boot - grub2 loads but if I try to boot into ubuntu it will freeze after it loads the USB driver (or so it seems, couldn't get a log) 20.04 worked fine though (although the installer was unstable, hopefully they've fixed that by now)
#6029 | Andalu | ⇗ @infuscomus just tried: I can boot into a live ubuntu 16.04.5 via easy2boot after patching the dsdt table.
#6030 | infuscomus | ⇗ @Andalu It would be good to confirm that it is using the modded DSDT. Open up log viewer and do a search for DSDT or ACPI in the ubuntu system logs to check the date stamp of the table, that way we can see which one is loaded. I'm off to bed for now, be back later.

## Page 403

#6031 | Andalu | ⇗ @infuscomus here is an extract from the ubuntu syslog file: ⇗ Many thanks for the support

#6032

diderius6

Nice Video about assembler x86 for 32 bit
⇗ https://www.youtube.com/watch?v=75gBFiFtAb8
But still I do not understand, how the opcode of a driver in XP is worked down, step by step.
What I understand:
The drivers has an entrypoint in memory. But this seems not to mean, that the whole opcode of the driver starts from this adress, step by step.
Because with Windbg you can see, that XP does not work step by step on this driver, because in that case the same driver loaded at the same entrypoint on 2 different compis would be to 100% the same and you should see this opcode of the driver direct,
but it isnt
Dietmar
PS: With the entrypoint of a driver you should be able to extract the whole loaded driver from memory
and even edit it direct in memory: possible?

#6033

blackwingcat

Okay.
I could enter debug mode with serial cable :3
And I got KeBugCheckEx on
Halaacpi.dll

      		cmp	edx,eax
      		jnz	L8002D7DE
      		push	ebx
      		push	L8001D7B0
      		push	ecx
      		push	DEAD000Ah
      		push	0000005Ch
      		call	[ntoskrnl.exe!KeBugCheckEx]

    ebx = 0 ,  ecx = 0

#6034 | infuscomus | ⇗ @Andalu Thanks! Now we know the patching is working and my easy2boot method is valid. The hard part comes now - to get it working with XP. What A5 BSOD did you get in XP with this DSDT?

#6035

diderius6

⇗ @blackwingcat
It is Bsod 0x0000005C, (0xDEAD000A, 0x00000000, xxx, 0x00000000)
in HalpInitIntiInfo
Dietmar
PS: In XP SP3 halmacpi.dll hack is
75 14 53 => EB 14 53
I think in win2000 similar, if not you can sent me your hal.dll .
L80022222:

              cmp    edx,eax
                                jnz    L8002223A ---> jmp L8002223A
              push    ebx
              push    L80018E78
              push    ecx
              push    DEAD000Ah
              push    0000005Ch
              call    [ntoskrnl.exe!KeBugCheckEx]
     L8002223A:
              pop    edi
              pop    esi
              pop    ebx
                       leave
                       retn

#6036

Andalu

⇗ @infuscomus
Hi,
with easy2boot I got the same A5 error code with all DSDT versions (original and modded) on an XP already installed:
(0x03,xxxx,xxxx,0x494E495F)
but, for the same installed XP, when I use the asl /loadtable command with, for example, the dsdt.aml from the 'andalu-dsdt-mod-3' package, the A5 error code is (0x00010007,xxxx,xxxx,0x00)
I still have to find a way to install an XP ISO via easy2boot

#6037

diderius6

I try to understand, how XP works with a driver, here igxpmp32.sys.
First I notice, that the driverentry point is not the same place in memory,
where the driver is loaded up.
For igxpmp32.sys
entrypoint is 0x80ac37ec
place in memory is from 0xB8EEF000 to 0xB9159000 size 26A000 (is 2531328 which is not the real size of the driver but its required place on harddisk 2.531.328 Byte)
The simple(?) question is now, HOW XP works step by step with this driver and how this can be seen via Windbg
Dietmar

#6038 | diderius6 | ⇗ @Andalu When you load DSDT table via asl /loadtable from Skylake above you get always Acpi Bsod, no matter which version of asl you use. So, asl cant be used any longer for to check any DSDT table Dietmar
#6039 | Andalu | ⇗ @diderius6 thanks for the info ;) I thought your posts about the asl /loadtable command were still applicable in my case.
#6040 | infuscomus | ⇗ @Andalu There is a tutorial for how to install XP with easy2boot on youtube by a youtuber - Philscomputerlab On your existing XP install, can you check that you are using the patched outerspace acpi.sys driver?
#6041 | Andalu | ⇗ @infuscomus acpi.sys 6666 (2019.10.20) from outer space (SHA-1: B1CE1C07AFB0861BCCDEC17DAF04274A3DD80C8C) I'll take a look to the video.
#6042 | infuscomus | ⇗ @Andalu the checksum matches the acpi.sys I use, so thats good. can you run acpidump -b again? but send me everything this time?

#6043

Andalu

⇗ @infuscomus
here the extracted tablesAndalu has attached files to this post

- ⇗ B250MPro4.zip

#6044

diderius6

⇗ @Mov AX, 0xDEAD ⇗ @gordo999
All IRP are with success for the igxpmp32.sys on the Baytrail J1900 board.
For XP now only Process Monitor 3.53 works. New version 3.6 works only for Vista and above.
Now I am out of ideas, what I can look more for, why this driver gets unloaded
Dietmar
⇗

#6045

infuscomus

⇗ @Andalu
Thanks,
I tried different approaches with these, let me know the result.infuscomus has attached files to this post

- ⇗ andalu_acpidump_dsdt_mod.7z.zip

## Page 404

#6046 | Andalu | ⇗ @infuscomus tried both versions on two different SSDs with XP already installed and working but I got always the same A5 error code: 0x00000003,0x8B783D44,0xC0000034,0x494E495F
#6047 | infuscomus | ⇗ @Andalu Very strange, error is in _INI for some reason. ⇗ @diderius6 any ideas?
#6048 | diderius6 | ⇗ @Andalu Please send me the acpi.sys that you use Dietmar

#6049

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6044

> @Mov AX, 0xDEAD @gordo999
> All IRP are with success for the igxpmp32.sys on the Baytrail J1900 board

Hi Diderius,
1) ProcMon shows only filesystem irps.
Try IrpTracker, IRPTrace to see kernel IRPs (i never used it, maybe they are just trash)
2) I forget to say, In WinXP, IRPs for video drivers processed by VIDEOPRT.SYS, this is kernel "framework for video drivers", it will subcall vendor driver by looking function in special _VIDEO_HW_INITIALIZATION_DATA table , for example at init stage it will call HwFindAdapter(). I think there is no tool to trace VIDEOPRT.sys<>Driver.sys requests

#6050

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #6048

> @Andalu
> Please send me the acpi.sys
> that you use
> Dietmar

The acpi.sys is one of your mod versions:
acpi.sys 6666 from outer space (SHA-1: B1CE1C07AFB0861BCCDEC17DAF04274A3DD80C8C)

#6051

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6032

> But still I do not understand, how the opcode of a driver in XP is worked down, step by step.
> What I understand:
> The drivers has an entrypoint in memory. But this seems not to mean, that the whole opcode of the driver starts from this adress, step by step.
> Because with Windbg you can see, that XP does not work step by step on this driver, because in that case the same driver loaded at the same entrypoint on 2 different compis would be to 100% the same and you should see this opcode of the driver direct,
> but it isnt
> PS: With the entrypoint of a driver you should be able to extract the whole loaded driver from memory
> and even edit it direct in memory: possible?

- to make life easier, in driver xxx.sys on all code sections set "not pageable" property, this will force load all driver code
- driver loaded in memory by sections, each section define "VirtualAdress Offset", this is offset from load adress to begin of section
- sections may have gaps in memory, but be solid in file driver
- Windows start driver's life by executing entrypoint call "DriverEntry()", "bu xxx!DriverEntry" set deferred breakpoint to first byte of this func inside driver in memory
- Window has "blackmagic" at boot process, it load all drivers to one adresses, after some time reload to another, only ntoskrnl.exe/hal.dll still at old adresses
- all good debuggers allow edit code in memory, just dont edit memory "under" breakpoint, it may give bad effects

#6052

diderius6

⇗ @Mov AX, 0xDEAD
Thanks for help!
Do you think, that it makes sense to load after breakpoint (for driverentry of igxpmp32.sys) all the code
in memory of the Baytrail board,
that the working driver from the Lenovo x230 has there
Dietmar

#6053

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6037

> First I notice, that the driverentry point is not the same place in memory,
> where the driver is loaded up.
> For igxpmp32.sys
> entrypoint is 0x80ac37ec
> place in memory is from 0xB8EEF000 to 0xB9159000 size 26A000 (is 2531328 which is not the real size of the driver but its required place on harddisk 2.531.328 Byte)
> The simple(?) question is now, HOW XP works step by step with this driver and how this can be seen via Windbg

what is entry point ? this is adress of function if driver loaded to "PE Header Image base"
Windows ignore this Image base for drivers and load body to own memory pool, each driver get "new image base" , so entrypoint in memory is
new image base + (0x80ac37ec - PE Header Image base)

#6054

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-11

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5999

> > Hi YuriyCN,
> > dont need to mess, just compare cmos 70/71 clock with external clock (hand watches/etc)

> Но под Windows XP, когда всевозможный запускаемый софт начинает манипулировать с периодом системного таймера (16 мс <-> 1 мс) - я наблюдаю резкий уход времени вперед - до 3-5 секунд за 10 минут активной работы. За рабочий день часы могут уйти на 5-7 минут вперед. Что считаю не приемлемо и не допустимо.

Тогда нет возможности обнаружить источник проблемы если ночью когда все выключено микросхема часов правильно считает колебания кварца и правильно записывает их в cmos память. Когда WinXP загружена некая програмная часть записывает свои собственные показания времени, которые в конечном виде попадают в CMOS память поверх того, что там насчитала микросхема, по другому изменить показания аппаратных часов невозможно (есть конечно Intel ME со свои процессором, но врят ли он этим будет заниматся). Настройка периода системного таймера уже не имеет значения если есть такой факт перебивки времени.
Со стороны Windows это выглядит как кто-то(или сама винда) периодически (?) использует вызов SetLocalTime(), за каждый вызов разница времи только увеличивается

#6055

ruthan

I had time to switch to more active mode, i will never make some wild coding as some masters here.. but good testing and experimenting is also important.
My target was try Fresco USB3 device compatibility (⇗ https://sheet.zoho.com/sheet/published.d...22a5b950420cb22 ).. but i got boot freeze (infinite boot logo), after reboot and some new devices detection.. i suspected USB devices and i was right, when i disconnected all USB devices, its booting fine.. so im now connecting UBS device one by one, because i had to make some unwanted changes.. I have now 4 different USB controllers connected. Meanwhile i find few things.
At least on Intel USB3 my Gigabyte keyboard is not realiable, when i had only 1 device, keyboard connected, was always able to skip WinXP checkdisk, but take ~1 hour on all my disk and WinXP has bad idea add some dirty flag to all partitions, when you get some boot crash, at least on my machine.. Win7 checkdisk is also that slow, only for some reason Windows 10 have some better and much faster checkdist at least 10x faster..
I know that Windows 98 i thing i some ms-dos.sys file or something like that have possibilities not run scandisk.. but i dunno if it is possible to set for XP? Ideal would be check only system C: driver and ignore other..
.. but back to keyboard, i made with 1 device connected, zillion restarts and reboot and it always worked, when i connected other devices just 3x USB2 monitor hubs, its no more realiable and keyboard is sometimes not working for checkdisk skip.. i tried shutdown, psu power disconnection anything.. im not able to find way to make it working everytime.. when i connect PS/2 keyboard it is working everytime, so there has to be some bug.
Some dirty flag removed from Windows would be good too..
I have other question, Nvidia Gpus are limited in XP to 2 monitors only, what about AMD ones, is there some AMD card and driver, which could handle 3 monitors?

#6056 | diderius6 | ⇗ @Andalu This is hack of acpi.sys against Bsod 0x000000A5 (0x00000003, xxx, yyy, zzz) Dietmar ⇗ https://ufile.io/305aedg3
#6057 | ruthan | Some good new, i finally found some working USB3 Gigabit Lan combo.. Assix AX88119 is running fine on Fresco USB3 controller and fresco driver - station drivers from 2016.. Because copying files with 100Mbit/s simply sucks.. I tried better Realtek USB3 with zillions controllers, it always installed drivers, no exclamation marks, but networking never worked.. it seems i will be maybe even make working some DVB-T2 turner on it.. but i have now other priorities.
#6058 | ruthan | Hmm Fresco is nice one, its first controller, where Xbox360 controller working correctly, even after reboot..

#6059

Andalu

⇗ @diderius6 ⇗ @infuscomus
firstly thank you guys for your help
With the new acpi.sys XP boots correctly.
With the easy2boot method it works on an XP already installed with the "dsdt-mod.aml" from the package "andalu_acpidump_dsdt_mod" but, really strange, not all the times:
XP starts correctly without the A5 bsod but in some attempts the desktop occupies only a third of the screen, the remaining part remains black. The same always happens with "dsdt-mod-osys-fix.aml". The other modified dsdt tables always give a bsod.
In any case, the restart still doesn't work, unfortunately
EDIT: also tried with a pciex graphics card for the easy2boot method but I got the A5 bsod (0x00010007,xxx,xxx,0x00) in all attempts, even with the only mod table that sometime works (dsdt-mod.aml). Same error code with the original dsdt table also with the onboard vga.

#6060

diderius6

I just noticed, that none of the *.dll are loaded together with igxpmp32.sys on the Baytrail J1900 board.
For example igxpdx32.dll gets a lot of IRP on the Lenovo x230 notebook with working DEV_0166 HD4000 GPU.
But I dont know if the absent of all the *.dll which belongs to the driver igxpmp32.sys on the Baytrail board
is a consequence of the unloaded driver igxpmp32.sys or a reason, that igxpmp32.sys gets unloaded
Dietmar
EDIT: In Dependency Walker igxpdx32.dll shows only dependency to videoprt.sys
but not to igxpmp32.sys.
igxpmp32.sys itself also shows no dependency to igxpdx32.dll .

## Page 405

#6061

blackwingcat

Thank you, I tried it.
And, I found crash on reference address 0x01000801 in hal!HalInitSystem
So, I want to make break point on hal!HalInitSystem
I tried the following command.

    kd> bp hal!HalInitSystem
    Bp expression 'hal!HalInitSystem' could not be resolved, adding deferred bp
    kd> bp 803b5ab8
    kd> eb 803b5ab8
    ReadVirtual: 803b5ab8 not properly sign extended
    803b5ab8 55
    kd> bu 803b5ab8
    kd> bu hal!HalInitSystem
    kd> bl
         0 e Disable Clear  803b5ab8     0001 (0001)
         1 e Disable Clear  803b5ab8     0001 (0001) hal!HalInitSystem
    Microsoft (R) Windows Debugger Version 10.0.20153.1000 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com5
    Waiting to reconnect...

    *** Fatal System Error: 0x0000000a
                                                 (0x01000801,0x000000FF,0x00000001,0x803B5b50)

But it is no effection.
Is there any better method how to make bp ?

     SUB_L80025B3C:
      		mov	eax,[L800225D0]
      		push	esi
      		push	edi
      		xor	edi,edi
      		test	eax,eax
      		jbe	L80025B9E
     L80025B49:
      		mov	esi,[L800225E4+edi*4]
      		mov	dword ptr [esi],00000000h  <- esi =0x01000801
      		push	edi

> Zitat von ⇗ diderius6 im Beitrag ¶ #6035

> @blackwingcat
> It is Bsod 0x0000005C, (0xDEAD000A, 0x00000000, xxx, 0x00000000)
> in HalpInitIntiInfo
> Dietmar
> PS: In XP SP3 halmacpi.dll hack is

#6062

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6032

> But still I do not understand, how the opcode of a driver in XP is worked down, step by step. What I understand: The drivers has an entrypoint in memory. But this seems not to mean, that the whole opcode of the driver starts from this adress, step by step.

⇗ @diderius6 ...Dietmar, the opcode is the hex byte combo that represent an assembly instruction. When you see an assembly instruction like PUSH, it is a higher level instruction that makes no sense to the processor.The processor needs machine code which is in 1s and 0s which can be represented by 3.3 volts or 0 volts. To make it conveninet for we humans, the binary 1s and 0s are written in hexadecimal.
Don't try to digest all of this, or feel frustrated if you can't. It's just intended as an example of opcode usage. In IDA, if you want to see the opcodes associated with instructions, you have to open Options/General/Disassembly and look for 'Number of opcode bytes'. I generally start at 8 bytes but you may find certain instructions use more. IDA will then display the opcodes for each instruction.
You will notice immediately that the code steps between addresses is dependent on the number of opcode bytes.
For example, a PUSH instruction in 32-bit code often starts with an 0x5 as in 01010reg. The first 4 most significant bits are 0101 = 0x5. The 4 least significant digits are 0reg, a 4 bit value where:
reg = 000 for the EAX register
reg = 001 for the ECX register
reg = 010 for the EDX register
reg = 011 for the EBX register
reg = 100 if no register is specified
reg = 101 for the EBP register
reg = 110 for the ESI register
reg = 111 for the EDI register
Note that the values from 000 - 111 are binary codes for 0,1,2,3,4,5,6,7.
If you see assembly code for PUSH 55, it means to PUSH the value of the EBP register onto the stack. You can tell that because its PUSH = 01010101, where MSB 0101 = 0x5 and LSB 0101 = 0reg where reg = 101 = 0x5 = EBP. Opcode 50 means PUSH EAX.
This is for x86 assembly and it seems things have changed for x64 assembly. I am looking into that now. However, I am looking at an x64 instruction for a jump instruction which is written as:
jmp short loc_149a4 in IDA
It's opcode is EB 6F where JMP = EB, the same as in x86. The 6F tells the processor how many code steps to take. My JMP statement is located at 00000000'00014933 and the JMP is going to relocate the processor execution 0x6F code steps later at 00000000'000149A4. If I subtract the originating address from that address, using hexidecimal subtraction (use programmer mode on the Windows calculator) I get 149A4 - 14933 = 0x71, which is wrong. If I subtract the 0x6f indicated in the EB 6F opcode, I get 149A4 - 6F = 14935, which is two code steps past the JMP address. Therefore I have to add the 6F after the opcode steps.
Going back to my original address:

    0000000000014933     EB 6F    jmp short loc_149A4

counting from 14933, the EB opcode is at 14934 and the 6F opcode is at 14935. That's the address I want. When I add 6F to 14935, I get 149A4, the address specified in the jmp statement.
You can see from that alone that the processor executes each opcode statement based on the address spaces taken up by each opcode byte. Having said that, it's never that simple. There are variations, depending on the instruction, how the counting is done and which registers are used.
Also, the opcode bytes can form a code, one of them called an r/m code. The codes identify the register used and they also indicate how more complex opcodes are addressed. Sometimes you'll see an assembly instruction with a multiplier in it that is indicated by *. The multiplier value included in the opcode.
So, you'll get an instruction like MOV reg, reg. That means to move a value from one register to another. It is written in the form:
[100010dw] [mod, reg, ,r/m] [disp 0,1 or 2]
Where each value in the brackets is a byte in length. The second byte breaks down into:
mod (2 bits) + reg (3 bits) + r/m (3 bits) = 8 bits = 1 byte. Each of those sets of bits can form a code. In base 2, two bits can form 4 codes: 00, 01, 10, and 11. Three bits can form 8 codes: 000, 001, 010, 011, 100, 101, 110, 111. Each code can represent a condition or a processor register.
Some people tend to forget that all of this code is aimed at a hardware processor which can only understand 1s and 0s in the form of equivalent voltages. Some people using higher level languages, like object oriented programming, never seem to understand that the objects they define don't exist, but are represented by code, which ultimately is executed by voltages in a processor. It's difficult to equate human ideas to a processor but it's really not helpful to abstract and obfuscate code as if it is a reality unto itself. Assembly language tends to bring us back to Earth, especially at the machine code level which opcodes represent.
If you hear the word object, think of it as code. That way, you won't get your mind bent trying to visualize an object in a processor or memory. The trick then, when trying to represent reality in a processor is to think of how to represent the reality as code. Or read the inventor of the C++ language, Bjarne Stroustrup, who tends to talk in real terms rather than in abstractions and obfuscations.
So the opcode has 3 bytes with the first representing the MOV instruction as in 0x100010dw. I wont get right into this right now, I just want to give an example, The d refers to 'direction' and if d = 1 the MOV is memory to register. The w = word, which means a data word. If w = 1, use a 16 bit or 32 bit data word. If w = 0 use an 8 bit data word.
Therefore if the MOV instructions first opcode byte is 10001011 = 0x8B we have a MOV from memory to a register and it will be 16 or 32 bits. I have noticed that 64 bit code does it differently so I need to research that since I am currently debugging a 64-bit app.
The mod, reg, r/m byte tells us which registers are in use and how memory is to be addressed. 'mod' means mode and it can have 4 values, since it occupies only 2 binary digits: 00,01,10,11. If mod = 00, it can have two meanings. If the associated r/m = 110, a direct memory access is used. If r/m, is not 110, the displacement is 0 and indirect memory access is used. Don't be confused by displacement I'll explain.
If mod = 01, an indirect memory operand is used with 8 bit displacement.
If mod = 10 an indirect memory operand is used with 16 bit displacement.
If mod = 11 a two register instruction is used. The reg field is the destination register and the r/m field is the source register.
The 'reg' component of the mod, reg, r/m byte tells us which general purpose register is used. I described them above for the PUSH instruction but they are slightly different here. Since the 'reg' portion is 3 bytes it is limited to 8 separate codes, hence 8 registers, as follows:
000 = AX/EAX or AL for 8 bits
001 = CX/ECX or CL for 8 bits
010 = DX/EDX or DL for 8 bits.
011 = BX/EBX or BL for 8 bits
100 = SP/ESP or AH for 8 bits
101 = BP/EBP or CH for 8 bits
110 = SI/ESI or DH for 8 bits
111 = DI/EDI or BH for 8 bits.
There are times when the reg field defines a segment register 'sreg' rather than a general purpose register. A segment register is a register pointing to a data segment (DS), a stack segment (SS), a code segment (CS), system registers FS and GS, and an extra segment, ES.
000 = ES, 001 = CS, 010 = SS, 011 = DS, 100 = FS and 101 = GS. All of these registers are used as base addresses for various data segments while FS and GS are used by the system for thread specific work.
Here's the complex part for the r/m portion. The fields work together at times. If the mod field is 11, r/m specifies the source register using the reg field. Otherwise, r/m is as follows:
000 = DS:[BX+SI+disp]...explained in a minute.
001 = DS:[BX+DI+disp]
010 = SS:[BP+SI+disp]
011 = SS:[BP+DI+disp]
100 = DS:[(SI+disp]
101 = DS:[DI+disp]
110 = SS:[BP+disp]
111 = DS:[BX+disp]
These are all examples of indirect memory addressing since the memory address is not expressed as a number. It is expressed indirectly by a pointer, which is contained in the square brackets. A pointer is value that points to the address in memory that needs to be accessed.
The DS and SS refer to the data segment and the stack segment. If you open up the 'registers' window in windbg (under View/Registers) and scroll down the window you will see the cs, ds, es, fs, gs, and ss registers listed with values. Those values are used to located the base addresses of other segments in memory. It's not easy to decipher them so don't take them too literally. If you learn to decipher them it will help you incredibly when going through memory.
Anyway the DS segment register is usually combined with the ESI register as DS:ESI while the ES register is combined with the EDI register as ES:EDI. Likewise, the SS register is usually combined with the stack pointer as SS:ESP.
⇗ https://www.tutorialspoint.com/assembly_programming/assembly_registers.htm
In the case above, the DS and SS registers are being used internally to point the processor to where it needs to be. So DS:[BX+SI+disp] has the following meaning:
DS = the base memory segment (again, don't go looking for it, it needs to be deciphered using system tables).
[.....] indicates a pointer. Any time you see the square brackets around register values it means you have to use the value pointed to by the address inside the brackets. In this case you are adding the value in the BX register to the value in the SI register plus a displacement, to get an address.
BX is a general reference for the B-register. With a 32-bit system, it included the EBX (32-bit) and the BX (16-bit). BX can be further broken into BH = 8 MSB bits and BL = 8 LSB bits.
SI is the lower 16 bits of the ESI register.
disp = displacement is the number of bytes given to offset a value. For example [EBP + 8] means go to the memory address of EBP plus 8 bytes.

> Zitat von ⇗ diderius6 im Beitrag ¶ #6032

> Because with Windbg you can see, that XP does not work step by step on this driver, because in that case the same driver loaded at the same entrypoint on 2 different compis would be to 100% the same and you should see this opcode of the driver direct, but it isnt Dietmar

As I explained above, it should go step by step if you look at the opcode bytes and give each byte an address.

> Zitat von ⇗ diderius6 im Beitrag ¶ #6032

> PS: With the entrypoint of a driver you should be able to extract the whole loaded driver from memory and even edit it direct in memory: possible?

Yes, it's possible. However, there may be issues with memory access since a driver is normally related to system memory which is better protected than user memory. You also have to realize that the image in memory for executables and dll files is not exactly the same as the image on disk. If you learn how to use the PE header in the app on disk you can figure out how the memory image is loaded.
This is more about advanced reverse engineering and you'll have to read on how to do it. I have dumped the memory of a user-level app to disk and I have edited the memory of the app. There are things you need to watch, however. In a paged system like Windows, sometimes the memory page you need is paged to disk, in the pagefile. If you try to access it the system can crash. So, you need to learn how to reload the memory from disk.
It's all doable.

#6063

gordo999

> Zitat von ⇗ blackwingcat im Beitrag ¶ #6061

> So, I want to make break point on hal!HalInitSystem
> I tried the following command.

>     kd> bp hal!HalInitSystem

⇗ @blackwingcat ...this could be a context problem. In other words, you need to be in the code for Hal before you can set a breakpoint. Or, the Hal module has to be loaded, which you can't do in windbg apparently. I had no problem with this using softice but windbg seems to have difficulties setting BPs on system code.
I think there are ways around this using kernel mode debugging...not sure. Softice would let you trace from user code into system code then set a breakpoint. I know there is a way to change context in windbg.

#6064 | gordo999 | ⇗ @diderius6 ...a couple of links to useful windbg stuff. The pdf file at second link has a section on memory dumps. ⇗ http://windbg.info/doc/1-common-cmds.html ⇗ http://windbg.info/doc/2-windbg-a-z.html

#6065

Andalu

⇗ @infuscomus
XP-IE2020.9.9 iso with the new acpi.sys by ⇗ @diderius6 correctly installed via the easy2boot flash drive prepared in XP using Easy2Boot_v2.06A_DPMS.exe.
It needs a mandatory graphics card because the vga on board produces an unreadable screen. Unfortunately, the restart remains still not working for my B250M Pro4.
By entering the command "acpi (hd0, msdos2)/acpi/dsdt.aml" in the grub2 console, the installation hangs right after loading the iso into memory with either Firadisk or WinVBlock. Tried using all the modded dsdt.aml tables without results.

#6066 | diderius6 | ⇗ @gordo999 Thank you a lot for help and the 2 documents about the use of Windbg! Do you have an idea, why a *.dll is not loaded at all, how is a *.dll loaded and called, have a nice day Dietmar

#6067

diderius6

⇗ @gordo999
Can you please describe as good as possible for me the following output from Windbg

    kd>
    nt!PipProcessDevNodeTree+0x399:
    80b5d449 0f8529020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

Dietmar

#6068 | infuscomus | ⇗ @Andalu are you able to continue the install without patching ACPI for now?
#6069 | Andalu | ⇗ @infuscomus 1st test: the XP installation is correctly completed with the acpi.sys from ⇗ @diderius6 integrated into the XP-IE2020.9.9 iso by choosing the classic "windows install menu" option in the easy2boot main menu. 2nd test: before choosing directly the "windows install menu" option, if I enter the grub2 console and here run the command "acpi (hd0,msdos2)/acpi/dsdt.aml", then go back to the easy2boot main menu and choose again the same "windows install menu" option as above, the XP installation hangs after loading the iso in memory.

#6070

diderius6

⇗ @blackwingcat
I noticed, that you have Bios 2606 installed on your board.
For the cpu Ryzen 3950x you can go back to Bios 0602.
I compare the DSDT in both Bios.
In Bios 0602 are some less devices than in Bios 2606.
So its worth a try, but without a good EEpromer a BIG risk on this board
Dietmar

#6071 | infuscomus | ⇗ @Andalu Honestly, I'm not sure why this is happening, I only tested this method on my threadripper system.
#6072 | Andalu | ⇗ @infuscomus your method seems to work correctly with one of your modded dsdt tables, otherwise my system would never boot. I can't figure out why this doesn't happen every time and the desktop isn't always displayed full screen.

#6073

diderius6

I succeed to install the igxpmp32.sys driver version 5437
on the Lenovo x230 with DEV_0166 HD4000 GPU
without any *.dll.
For this I deleted all *.dll in its setup folder,
in registry everything about service "ialm"
and all those belonging *.dll in windows\System32
This means, that the driver igxmp32.sys is to 100% independend
from any of its installations *.dlls
Dietmar
EDIT: I also succeed to install the igxpmp32.sys driver on the Lenovo x230 notebook
with only one entry for DEV_0F31 in its installations *.inf file.
So vice versa this modded driver (no 166h in igxpmp32.sys only F31h) works.
What is different for Baytrail Valley View GPU???
⇗

#6074 | diderius6 | Is anybody here, who knows about linux? I found, that they wrote, that the Sourcecode for Baytrail Valley View is nearly(?) identic to HD4000 or HD2500, so that they do not need to change a lot. But I dont find this Source code Dietmar
#6075 | kukonosau | ⇗ @diderius6 Hello. Where is last version SATA AHCI for XPx86 for Ryzen? I have B350 chipset motherboard. Which drivers version recommended? Hitman: Blood Money has slow more loading and Fraps lagging. Copying files very low.

## Page 406

#6076 | kukonosau | ⇗ @diderius6 Why Patch Integrator was deleted with Upload.ee site? I haven't found files Integrator, but early I can their save. Site electronix help...
#6077 | infuscomus | ⇗ @kukonosau you can get the patch integrator here - ⇗ https://www.zone62.com/downloads/softwar...ntegral-edition
#6078 | ruthan | Here is disable annoying checkdisk: ⇗ https://www.raymond.cc/blog/disable-or-s...indows-startup/ I also made on VIA USB3 TV tuner fully working..

#6079

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6067

>     kd>
>     nt!PipProcessDevNodeTree+0x399:
>     80b5d449 0f8529020000    jne     nt!PipProcessDevNodeTree+0x5c8 (80b5d678)

⇗ @diderius6 ..I don't pretend to be an expert on windbg, I consider myself a newbie on it as well, even though my experience with debuggers in the past as well as years of tracing code gives me an advantage .
The statement above is a conditional jump and it is dependent on a previous statement in which two values are compared (CMP) or tested (TEST). If you see a CALL statement before the jne above, when it returns, there will be values returned in different registers, usually in the RAX/EAX register, at least.. Then you might see a Test EAX, EAX. The test instruction compares the returned value with itself using a logical bitwise AND operator. If the values returned are anything other than 0, the test operator will return a 1. If the value is 0 it will return a 0.
The statement above is based on a previous condition, immediately before it. If the condition is TRUE = 1, the processor will ignore the jne and continue execution. If the condition is FALSE, it will branch off to the address following the jne. Be careful with this because it could cause a crash but if you don't want to branch off to that address, you can replace the opcodes before the jne, 0f8529020000, with 909090909090. Be sure to use as many 0x90s as opcode bytes. Don't leave a 0 because you think it means nothing. Each 0x90 is a NOP statement which means do nothing. The processor will happily carry on executing past the jne statement. You have seen this done before but maybe did not understand why.
The CMP instruction compares the returned value with a value stored elsewhere. The value could be an 'immediate' value, which is an integer value stored in the program, like 0x1000, or it could be in another register. If the CALL returns 0x1000, the CMP instruction compares 0x1000 to 0x1000 and produced a 1 = TRUE. If not, it produces a 0 = FALSE. The conditional jump statement following acts accordingly.
The jne instruction means 'jump if not equal'. An equivalent instruction is jnz = jump if not zero. They react to the flags register, which have a bit set to 1 or 0 depending on the condition reported by statements like CMP or TEST. There are many other conditions that can change the flags register.
If you want to change the result of a conditional jump, if you want to take a different code path than the app is taking, you can find the related flag and change it. For example, in a jz or jnz conditonal jump, the zero flag controls the direction the code will take following a conditional jump. If you change it, the jump goes in the other available code direction.
Such a change in the flag register is only temporary, when you reload the app it does not apply, so you need to change the code in the app using the 0x90 or equivalent.
⇗ https://en.wikipedia.org/wiki/FLAGS_register

#6080 | diderius6 | ⇗ @gordo999 Thanks a lot, I try, Dietmar

#6081

diderius6

I see,
that my compare between Lenovo x230 with DEV_0166 HD4000 and Baytrail with DEV_0F31 seems to be better, than thought.
Really at every place in memory is on both compis the same Hexcode after meeting driverentry of igxpmp32.sys.
Take a look:
HD4000 loads

    3: kd>
    nt!PipProcessDevNodeTree+0x259:
    80b5d309 e840efecff                call    nt!PipProcessStartPhase2 (80a2c24e)
    3: kd>
    nt!PipProcessDevNodeTree+0x25e:
    80b5d30e 8bf0            mov     esi,eax
    3: kd>
    nt!PipProcessDevNodeTree+0x260:
    80b5d310 85f6            test    esi,esi
    3: kd>
    nt!PipProcessDevNodeTree+0x262:
    80b5d312 0f8dd6000000          jge     nt!PipProcessDevNodeTree+0x33e (80b5d3ee)
    3: kd>
    nt!PipProcessDevNodeTree+0x33e:
    80b5d3ee 33ff            xor     edi,edi
    3: kd>
    nt!PipProcessDevNodeTree+0x340:
    80b5d3f0 eb47            jmp     nt!PipProcessDevNodeTree+0x389 (80b5d439)

Baytrail fails

    nt!PipProcessDevNodeTree+0x259:
    80b5d309 e840efecff                call    nt!PipProcessStartPhase2 (80a2c24e)
    1: kd>
    nt!PipProcessDevNodeTree+0x25e:
    80b5d30e 8bf0            mov     esi,eax
    1: kd>
    nt!PipProcessDevNodeTree+0x260:
    80b5d310 85f6            test    esi,esi
    1: kd>
    nt!PipProcessDevNodeTree+0x262:
    80b5d312 0f8dd6000000          jge--->E9d700000090 jmp?     nt!PipProcessDevNodeTree+0x33e (80b5d3ee)
    1: kd>
    nt!PipProcessDevNodeTree+0x268:
    Heres must be 80b5d3ee ----> 80b5d318 817b1806030000  cmp     dword ptr [ebx+18h],306h

When this is the place, where IRP for the very first time gives "true" on Baytrail,
the driver fails
Dietmar
PS: Can this driverfail been overcome just by jge => jmp?

#6082

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6081

> PS: Can this driverfail been overcome just by jge => jmp?

⇗ @diderius6 ...not necessarily. The code leading up to it is checking the devnode tree so it is trying to find a driver object in the tree and maybe it can't find one. With Microsoft, it's not necessary to suspect they are trying to mislead you by creating a false jump in most of their stuff.
I am not that experienced with windbg but I know there is a way to display the devnode tree. If you can do that for both drivers any discrepancies might be obvious. I suggest you become familiar with how the devnode tree is formed using driver objects.
BTW...I am a newbie with driver stuff as well.
⇗ https://docs.microsoft.com/en-us/windows...bugger/-devnode
⇗ https://docs.microsoft.com/en-us/windows...d-device-stacks
At bottom of page in link 1..."Remarks
The !devnode 1 command lists all pending removals of device objects.
The !devnode 2 command lists all pending ejects of device objects.
You can use !devnode 0 1 to see the entire device tree".
Also, see link in page to plug and play troubleshooting.

#6083

diderius6

⇗ @gordo999
The fail of Baytrail happens always exact at this place, which I describe.
And very few steps later, the driver is loaded (for HD4000).
Interesting what will happen, when I do this hack tomorrow.
Still the reason is unclear, why this error happens. It seems to depend on test esi, esi (if esi =0).
But for sure this is the exact place
Dietmar

#6084

ruthan

I made newer XP install again working fine, but i have problem with older installation, which worked before some HW messing (faster CPU, Geforce 730 -> 750 TI and some USB controllers and devices in other USB ports). Now im able to boot once in normal boot, here hw changes are detected.. and after getting BSOD bellow, im only able boot into Safe mode. Newer installation is using same HW fine, so it has to be some OS, driver configuration problem.
Code 0x000050, detail:
⇗ https://www.dropbox.com/s/9llqyzivf22sz1...code50.jpg?dl=0
Does somebody know to which device it is related? Im using PAE 4 mem mode, unless some driver installation rewriten modified files..

#6085

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6083

> It seems to depend on test esi, esi (if esi =0).
> But for sure this is the exact place Dietmar

⇗ @diderius6 ...it can be challenging for sure unless you find the exact code leading to the problem. Sometimes it's nowhere near where it seems.
Can you post more of the code? What precedes the test esi, esi? The esi register is often used for strings and there may have been a compare of strings that were not equal.
If there is a CALL before the test instruction, can you trace into it to see where it goes? It may be huge with many nested calls or it could be simple before the RET instruction. I think you may have posted the driver file, if I can have a look at it in IDA with the right address of the test esi, esi, I may be able to spot something.
Also, what is the result of the test esi, esi instruction? Does it jump or not? I think you said one of the drivers had a different result than the other.

#6086

diderius6

⇗ @gordo999
This comes from the result of the call of nt!PipProcessStartPhase2 (80a2c24e)
as you can see in the code above.
The result is in EAX(?) and then copied to ESI.
So, the problem is in nt!PipProcessStartPhase2 (80a2c24e).
I found nothing about ProcessStartPhase2
Dietmar
PS: I dont know, how to follow nt!PipProcessStartPhase2
and where this test esi, esi is written.
Is it at a place in the driver igxpmp32.sys?
EDIT: With the Source code of XP SP1 I found it. It is defined in pnpenum.c
and called by pnpirp.c

>     NTSTATUS
>     PipProcessStartPhase2(
>         IN PDEVICE_NODE     DeviceNode
>            )
>     {
>         ULONG       problem = CM_PROB_FAILED_START;
>         NTSTATUS    status;

>            PAGED_CODE();

>         status = DeviceNode->CompletionStatus;
>         if (DeviceNode->DockInfo.DockStatus != DOCK_NOTDOCKDEVICE) {

>             if (NT_SUCCESS(status)) {

>                            //
>                 // Commit the current Hardware Profile as necessary.
>                            //
>                 PpProfileCommitTransitioningDock(DeviceNode, DOCK_ARRIVING);

>             } else {

>                            PpProfileCancelHardwareProfileTransition();
>                    }
>            }

>         if (!NT_SUCCESS(status)) {

>             SAVE_FAILURE_INFO(DeviceNode, DeviceNode->CompletionStatus);

>                    //
>             // Handle certain problems determined by the status code
>                    //
>             switch(status) {

>                 case STATUS_PNP_REBOOT_REQUIRED:
>                     problem = CM_PROB_NEED_RESTART;
>                                    break;

>                            default:
>                     problem = CM_PROB_FAILED_START;
>                                    break;
>                    }

>             PipRequestDeviceRemoval(DeviceNode, FALSE, problem);

>             if (DeviceNode->DockInfo.DockStatus != DOCK_NOTDOCKDEVICE) {

>                 ASSERT(DeviceNode->DockInfo.DockStatus == DOCK_QUIESCENT);
>                 IoRequestDeviceEject(DeviceNode->PhysicalDeviceObject);
>                    }

>         } else {

>                    IopDoDeferredSetInterfaceState(DeviceNode);

>                    //
>             // Reserve legacy resources for the legacy interface and bus number.
>                    //
>             if (!IopBootConfigsReserved && DeviceNode->InterfaceType != InterfaceTypeUndefined) {

>                            //
>                 // ISA = EISA.
>                            //
>                 if (DeviceNode->InterfaceType == Isa) {

>                     IopAllocateLegacyBootResources(Eisa, DeviceNode->BusNumber);

>                            }

>                 IopAllocateLegacyBootResources(DeviceNode->InterfaceType, DeviceNode->BusNumber);
>                    }

>                    //
>             // This code path currently doesn't expect any of the above functions
>             // to fail. If they do, a removal should be queued and failure should
>             // be returned.
>                    //
>             ASSERT(DeviceNode->State == DeviceNodeStartCompletion);

>             PipSetDevNodeState(DeviceNode, DeviceNodeStartPostWork, NULL);
>            }

>         return status;
>     }

#6087

diderius6

I found everything with IDA Pro in the debug version of Ntoskrnl

    loc_55B308: ; CODE XREF: PipProcessDevNodeTree(x,x,x,x,x,x,x,x)+173 j

    PAGE:0055B308 ; DATA XREF: PAGE:off_55B781 o
    PAGE:0055B308                 push    ebx             ; jumptable 0055B223 case 5
    PAGE:0055B309                 call    _PipProcessStartPhase2@4 ; PipProcessStartPhase2(x)
    PAGE:0055B30E                 mov     esi, eax
    PAGE:0055B310                 test    esi, esi
    PAGE:0055B312                 jge             loc_55B3EE  <--------- jmp, this hack will stay forever but does it help?
    PAGE:0055B318                 cmp     dword ptr [ebx+18h], 306h
    PAGE:0055B31F                 mov     esi, 0C00002CEh
    PAGE:0055B324                 jnz     loc_55B445
    PAGE:0055B32A                 push    0
    PAGE:0055B32C                 push    14F3h
    PAGE:0055B331                 push    offset asc_55ADBE ; "d:\\xpsp\\base\\ntos\\io\\pnpmgr\\pnpenum.c"
    PAGE:0055B336                 push    offset aCurrentnodeSta ; "currentNode->State != DeviceNodeStartCo"...
    PAGE:0055B33B                 jmp     loc_55B411

#6088 | infuscomus | ⇗ @Mov AX, 0xDEAD Since you have source code, do you have a new acpi.sys driver to help ⇗ @Andalu with the restart issue?

#6089

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #6088

> @Mov AX, 0xDEAD
> Since you have source code, do you have a new acpi.sys driver to help @Andalu with the restart issue?

Hi infuscomus,
there is nothing to compile to make working driver, acpi "sp1->sp3" sources useless for new platforms, they don't have acpi 2.0 support
to fix reboot issue you can try find in sp1 sources place where need to patch and apply binary patch to v6666 or longhorn 5048's acpi.sys

#6090 | infuscomus | ⇗ @Mov AX, 0xDEAD Oh sorry, I was mistaken, I had thought you had updated the source code to fix bugs and support ACPI 2.0 on new hardware.

## Page 407

#6091 | diderius6 | ⇗ @Mov AX, 0xDEAD What does it mean, when in Windbg something in the "view" of the registers is marked red Dietmar

#6092

ruthan

Hmm i encountered some other Win XP problem with my new monitor which would be nice to fix.. Nvidia drivers and lack of support of anything better than 1080p over HDMI, with Display port its a bit better (at least 2560x1440 @60 Hz), but also only older revisions on DP standard are running.. Problem is on AMD site too, i dunno about Intel. On Nvidia side is also problem with scaling keep - aspect ration correction, it is not avalaibe in newer drivers, last one good is 355.98
⇗ https://www.vogons.org/viewtopic.php?f=6...=922827#p922827
⇗ https://www.vogons.org/viewtopic.php?f=63&t=72471
⇗ https://www.vogons.org/viewtopic.php?f=63&t=75570

#6093

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6091

> @Mov AX, 0xDEAD
> What does it mean, when in Windbg something in the "view" of the registers is marked red

⇗ @diderius6
I dont use windbg for step debugging, but i think "red" mean register' value was changed after last executed opcode

#6094

ruthan

I found out that my old installation problem is related to Nvidia drivers.. when i install them, i cant boot to normal boot..
Code 0x000050, Page_Fault_In_NONPAGE_AREA detail: // Sometimes it is also black screen, after logo..
⇗ https://www.dropbox.com/s/9llqyzivf22sz1...code50.jpg?dl=0
Question is why im getting this with my old install and not with new one?

#6095

diderius6

Until now no success with the Baytrail Valley View GPU.
Even all the hacks work, at the end the driver igxpmp32.sys gets still unloaded.
I notice, that some informations in registry for Service\ialm are missed only on the Baytrail board,
for example
"HardwareInformation.MemorySize"=hex:00,00,00,40
This just looks, as if the device with DEV_0F31 is not correct recogniced by the driver.
When I delete this value on the Lenovo x230,
in each boot it is build new so it is important
Dietmar
PS: I also make a try to copy all the missed values from the Lenovo x230 to the J1900 Baytrail board.
Does not help, the device there is not correct recogniced.

#6096 | ruthan | Hmm, im out of ideas, i rechecked and applied PAE /4GB patch and its still not booting, because Nvidia drivers, i tried couple of them with older GPU it worked, i dunno if it matter that old slower GPU had paradoxically 4GB (Geforce 730 with 4GB..) and new one has only 2GB, so other memory areas are used.. and they are failing or collide with something..
#6097 | blackwingcat | Thus, I could enter kernel Debug mode on HAL. But it seems to fail to initialize HalpMpInfoTable in HalInitSystem(it is dll Entrypoint) Strangely, it seems to be called any functions in hal.dll before HalInitSystem.
#6098 | infuscomus | ⇗ @ruthan you might want to try using display driver uninstaller and then reinstall your drivers.
#6099 | dpps5387690 | Hi ⇗ @diderius6 Can you give me last acpi.sys for winxp sp3? I will install Winxp sp3 for Z490. Thanks.

#6100

infuscomus

⇗ @dpps5387690
For XP on modern hardware (ACPI, AHCI, USB3) I would recommend getting this - ⇗ https://www.zone62.com/downloads/softwar...ntegral-edition
and using the optional patch integrator included with it to make a patched XP ISO that will work on modern hardware.
use options 1, 4, 6 and 7 in the patch integrator.

#6101 | dpps5387690 | Thank you. I try it.

#6102

diderius6

⇗ @Mov AX, 0xDEAD
When I want to set a breakpoint in the driver igxpmp32.sys itself before call VideoPortSetRegistryParameters(),
can I use the same method, changing at the exact place at the beginning of this call in the igxpmp32.sys to Hexvalues EB FE?
And will I been there at the exact place, where this function is called?
And can I check via this methode, which part of a driver is never reached, used from XP?
Dietmar
PS: Do you have an idea, why the string with value for "HardwareInformation.MemorySize"=hex: ..
was not written in the registry? May be because XP does not know, how big this Video memory is. If yes, where can I find this value?

#6103

diderius6

⇗ @dpps5387690
I dont know, how fit you are with computers.
At your place, I would install everything by myself.
The XP from zone62.com is a really nice thing.
But where is fun to reach all by yourself
Dietmar
This acpi.sys from outerspace )
⇗ https://ufile.io/dvr3flye

#6104 | ruthan | ⇗ @infuscomus Is there some good driver installer for XP? I reinstalled quite few Nvidias drivers (during process it should be overwritten), i dunno if some old hidden devices could be problem, installed no Geforce experience bloatware and i tested that only Nvidia HDMI sound driver (is not blocking boot). my guess that problem is elsewhere in some WinXP memory or PAE memory management, which need to be patched, because safe is working fine, normal mode without Nvidia drivers too.. Without PAE patch (4GB) my MB has only 900 MB of RAM, so it is dead end. i had this error (Page_FAULT_IN_NONPAGED_AREA), on some machines, when old PAE Dibya patch was used and some driver was not compatible..
#6105 | infuscomus | ⇗ @ruthan There is snappy driver installer, although I'm not sure if the latest version still works in XP though.

## Page 408

#6106

diderius6

Yesssa, the nice methode EB FE from ⇗ @Mov AX, 0xDEAD at any point in the driver works!
Now I can really test the driver step by step(!) with all registers,
100% as the compi did.
A little bit crazy: First, XP changes the hacked EB FE driver igxpmp32.sys against original one.
Then I get endless loop, but the break happens at the driverentry point.
Then I continue from there with hitting p enter enter enter enter...
and I come to the place with jmp jmp jmp jmp..
as the photo shows.
And voila, this is the exact point, at (with via Ida Pro)

     .text:1001FD0D                                                 call            ds:VideoPortSetRegistryParameters

happens. There is a correspondens between the adresses
`0xB8F1FD0D` on compi.
Now, in princip XP is complete open for me, Source Code all in Assembler,
but no mystery has a chance now
Dietmar
⇗
⇗

#6107 | ruthan | ⇗ @infuscomus Its installer not uninstaller and its running even with Windows 2000.

#6108

diderius6

What I still do not understand is,
with which values now this function is called
Dietmar

    VideoPortSetRegistryParameters(
      PVOID HwDeviceExtension,
      PWSTR ValueName,
      PVOID ValueData,
      ULONG ValueLength
    );

`HwDeviceExtension=89130358` (content of EDX via Source Code in Ida) as I can see with the Register View from Windbg
`ValueName =???` offset aHardwareinform ; "HardwareInformation.MemorySize"
`ValueData=87e1b734` (content of ECX via Source Code in Ida)
`ValueLength= 4` via Ida source code, but no register contains 4, so is this value direct given without any register ???
PS: By the way I noticed, that on a second boot XP has changed some values at the same place(!), for example the
register ESI.

#6109

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6108

>     VideoPortSetRegistryParameters(
>       PVOID HwDeviceExtension,
>       PWSTR ValueName,
>       PVOID ValueData,
>       ULONG ValueLength
>     );

⇗ @diderius6
PVOID HwDeviceExtension=89130358 (content of EDX via Source Code in Ida) as I can see with the Register View from Windbg
PVOID - pointer to something, at 0x89130358 stored allocated HwDeviceExtension struct
PWSTR ValueName =??? offset aHardwareinform ; "HardwareInformation.MemorySize"
PWSTR - Pointer to null-terminated Unicode string, this pointer set to some adress inside *.sys because ida detected this string staticaly
PVOID ValueData=87e1b734 (content of ECX via Source Code in Ida)
PVOID - pointer to something, because length is 4 this mean pointer to simple type, in this case to ULONG, at 0x87e1b734 stored 4 bytes
ULONG ValueLength= 4 via Ida source code, but no register contains 4, so is this value direct given without any register ???
yes, for integer constants, compiler use "push 4", no regs

#6110

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6102

> @Mov AX, 0xDEAD
> PS: Do you have an idea, why the string with value for "HardwareInformation.MemorySize"=hex: ..
> was not written in the registry? May be because XP does not know, how big this Video memory is. If yes, where can I find this value?

XP dont need to know, driver is responser for edit/write record in registry, it detect mem size by reading hardware chip and write raw size to registry

#6111

diderius6

⇗ @Mov AX, 0xDEAD
Thanks a lot.
Today was a nice day, because now I understand a lot more, how XP works.
And new chances for the Baytrail driver
Dietmar
PS: Interesting, that there are only adresses given. Because I wonder a lot, how complex information can be given in 4 Byte.

#6112 | diderius6 | ⇗ @Mov AX, 0xDEAD "it detect mem size by reading hardware chip" Where is this information about GPU chip originally taken from Dietmar
#6113 | Mov AX, 0xDEAD | Hi All, After review KDNET in Windows 10, i didn't found significal changes, win81<>win10 kdnet.dll convertor will be released soon p.s. this tool not for end-users, but help to remote debug old winxp/2003 kernel stuff on MotherBoards with modern PCIe LAN Controllers

#6114

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6112

> @Mov AX, 0xDEAD
> "it detect mem size by reading hardware chip"
> Where is this information about GPU chip originally taken from

⇗ @diderius6
from video chip itself, driver read some reg from chip, it knows which reg need to use, there is no standart regs for videochips (except VGA-compatible part)
videochip' hardware registers mapped to cpu' memory, this is how PCI MMIO works, cpu read from "logical" memory adress, but actualy read from pci device

#6115 | diderius6 | ⇗ @Mov AX, 0xDEAD Do you know, how I can just read the content of an given adddress (here for example 0x87e1b734 with windbg? When this address is not touched during boot of XP, a breakpoint there does not help Dietmar
#6116 | diderius6 | ⇗ @Mov AX, 0xDEAD I tried !db 0x87e1b734 but this gives nonsense or at the end of boot process just 00 00 00 everywhere Dietmar

#6117

diderius6

I found, how to see all of the content (and around also) of an given address via:
Just chose from Edit menu of Windbg "Go to Address" and then chose "Dissasembly".
So I find after starting from the breakpoint at the entrypoint of igxpmp32.sys
typing in the open Window from "Go to Address" 80b5d309 in "Dissasembly" Window

    80b5d309 e840efecff                call    nt!PipProcessStartPhase2 (80a2c24e)

From this I know, that it is correct.
Now, until now I only do not know, how Windbg can show to me the content of any VARIABLE, from the address, where I set breakpoint via bp with Windbg.
Interesting would be also, to know the content of any variable at the address called with "Go to Address".
But because the compi is not at this address, it seems to be impossible
Dietmar

#6118 | ruthan | How to exactly install Kernel driver model 1.1 to existing installation? In readme just install it, but there is not installer, should i right click on inf file and install, or its there other way? Is needed for NVME drivers? There also some certificates in Integrator package for which drivers are these needed? What will not work without this update? Its unclear..

#6119

diderius6

⇗ @ruthan
You can take a look at the nice XP from zone62.com .
I think, that you can install everything from the installations folders on Setup CD
for Windows XP Professional SP3 x86 - Integral Edition 2020.9.9 also on a normal XP SP3 installation.
Just chose, which driver or program you want
Dietmar
PS: If you have a special question for a driver or a program, ask in the forum at zone62.com .

#6120 | ruthan | I already have it installed on other partition, but im trying to keep working my old one and here some more info would nice.. If there are authors or users of that distro here, why not ask here? It has for sure more value for most of users than some registry debug values, im getting lots of notification about it from this thread on email.. but im not saying, go to post it elsewhere.. because this one of advantages this forum, to be open.

## Page 409

#6121

diderius6

⇗ @Mov AX, 0xDEAD
When I type dv for to see the content of all locale variables in commandline of Windbg,
I get message

    0: kd> dv
    Unable to enumerate locals, HRESULT 0x80004005
    Private symbols (symbols.pri) are required for locals.
    Type ".hh dbgerr005" for details.

This happens, because I do not have private symbols for the driver igxpmp32.sys, even not the public *.pdb.
Is there a way, to get the content of a local variable, when windbg breaks at an given address
Dietmar

#6122

gordo999

> Zitat von ⇗ blackwingcat im Beitrag ¶ #6097

> Thus, I could enter kernel Debug mode on HAL.
> But it seems to fail to initialize HalpMpInfoTable in HalInitSystem(it is dll Entrypoint)
> Strangely, it seems to be called any functions in hal.dll before HalInitSystem.

@backwingcat ...Hal is called early in the boot process (by ntoskrnl???) to initialize Windows. That could mean the entry point for HalInitSystem is known at boot and may not be part of the Hal library that requires the dll EntryPoint.
Can you use a remote kernel debugging session and get it to break before Hal is called? I have not tried that.

#6123

gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #6122

> > Zitat von ⇗ blackwingcat im Beitrag ¶ #6097

> > Thus, I could enter kernel Debug mode on HAL.
> > But it seems to fail to initialize HalpMpInfoTable in HalInitSystem(it is dll Entrypoint)
> > Strangely, it seems to be called any functions in hal.dll before HalInitSystem.

> @backwingcat ...Hal is called early in the boot process (by ntoskrnl???) to initialize Windows. That could mean the entry point for HalInitSystem is known at boot and may not be part of the Hal library that requires the dll EntryPoint.
> Can you use a remote kernel debugging session and get it to break before Hal is called? I have not tried that.

Look here...
⇗ http://pig.made-it.com/win-boot-test.html
also, check links at bottom of page.
ps. you may have to look up the links on the Wayback Machine.

#6124

pappyN4

⇗ @infuscomus
KeInitializeSpinLock imports fine from the x86 ntoskrnl.exe, however its does not look like its present in the x64 versions which is what i am trying to get working. Looking at the code from react, if it calls KeInitializeSpinLock for x86 then it call it from ntkernalAPI, but if its for x64 then it just sets the SpinLock value to zero.

    if defined(_X86_) && (defined(_WDM_INCLUDED_) || defined(WIN9X_COMPAT_SPINLOCK))
    NTKERNELAPI
    VOID
    NTAPI
    KeInitializeSpinLock(
      _Out_ PKSPIN_LOCK SpinLock);
    #else
    FORCEINLINE
    VOID
    KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
    {
      /* Clear the lock */
      *SpinLock = 0;
    }
    #endif

It's been a long time since ive used C... ⇗ @Mov AX, 0xDEAD спрашивая желающий помогать? благодарю вас
Off topic: I put several phrases through google translate, and every time i translated to Russian and back to English it turned a polite asking if someone is willing to take a look, help if they feel like, and google translate turns it into sounding like an order or demand. google completely removed the politeness.
Compiling with Server 2003 x64 free build environment:
-jumps to else statement, does not stay in AMD64,
-remove IF statement and have only #pragma....@KeInitializeSpinLock_k8, ERROR:Unresolved external symbol @KeInitializeSpinLock_k8
ntoskrnl_redirects.h

    //                Windows XP/2003 x64                   //
    #if (NTDDI_VERSION >= NTDDI_WS03) && defined(_AMD64_)

    //	 KeInitializeSpinLock (FASTCALL) (4)
    #define _KeInitializeSpinLock
    #ifndef _AMD64_
     #pragma comment (linker, "/export:KeInitializeSpinLock=@KeInitializeSpinLock_k8")
    #else
     #pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")
    #endif

ntoskrn8.c

    void FASTCALL
    KeInitializeSpinLock_k8 ()
    {
        KSPIN_LOCK SpinLock;

        SpinLock = 0;

    }

#6125

gordo999

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6124

> Off topic: I put several phrases through google translate, and every time i translated to Russian and back to English it turned a polite asking if someone is willing to take a look, help if they feel like, and google translate turns it into sounding like an order or demand. google completely removed the politeness.

⇗ @pappyN4 ...
I understand. Some phrases in English asking for help:
Could someone help me with this problem?
Is it same in Russian?
Может ли кто-нибудь помочь мне с этой проблемой?
More polite:
Could someone help me with this problem, please?
Может кто-нибудь помочь мне с этой проблемой, пожалуйста?

#6126

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6106

> Then I continue from there with hitting p enter enter enter enter...
> and I come to the place with jmp jmp jmp jmp..as the photo shows.

⇗ @diderius6 ...still don't understtand why you are using p-enter. The p enter jumps over entire function calls. I find it easier to use F10 instead of p-enter. I use F8 to single-step (t-enter). If you know where you are going and you are sure there is nothing important in each function call, then p-enter allows you to step through large amounts of code. However, if there is something important in one of those CALLs you will miss it.
One thing I have learned from years of reversing is that certain CALLs call into the kernel and the kernel can call back into your app at a different address. You can miss that using p-enter only. I have seen that in user mode where user32.dll calls back into the app before the app returns to user32.dll then back to the original location in the app code.
Using t-enter (F8) can be very tedious but you will learn tricks to bypass a lot of single-stepping.
You can use p-enter or F10 to trace but I prefer t-enter or F8 so that I won't accidentally jump over a CALL. As I approach a CALL I am often looking to see what is loaded in each register because some are related to the parameters required by the CALL. The registers can hold addresses of strings and where the strings might be moved. If you know the function, like memcpy, you can look up what is being loaded into the registers and passed on the stack.
Look here under 14)Stepping and Tracing. It does say p-enter can be used for tracing but I find it can be dangerous if you are not paying attention. If you make a mistake and single-step into a function CALL using T-enter (F8) there are windbg instructions to step back out, which means tracing all the way to the end of the CALL. Or, you can explore the CALL then jump over it.
⇗ http://windbg.info/doc/1-common-cmds.html

#6127

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6111

> PS: Interesting, that there are only adresses given. Because I wonder a lot, how complex information can be given in 4 Byte.

⇗ @diderius6 ...4 bytes = 32 bits of data. You don't need to get complex information into 4 bytes, you can include an address that points to the complex information.
An address pointing to such information is called a pointer. In the code, if an address is contained in square brackets [....], it is an address pointing to information at that address. Or the address may be preceded by 'ptr' for pointer.
In memory, complex data can be stored in structures like arrays. The array is arranged sequentially in memory with the base address as the zero element. If I have an array at address 0x80004567, then the array data begins at that address. If code wants to reach that address it loads it in a register as pointer. If it wants to reach the n-1 element in the array it uses an address like [80004567 + n].

#6128

blackwingcat

When set break, Windows Installer shows it can't load bootvid.dll. :3
I found

    HalpMpInfoTable

broken.
Broken table

    FFFFFFFF`803AE100  01 00 00 02 00 00 00 00 00 00 00 00 01 10 00 02
    FFFFFFFF`803AE110  04 08 00 00 00 00 00 00 01 00 00 02 00 00 00 00
    FFFFFFFF`803AE120  00 00 00 00 01 08 00 01 B4 00 00 00 00 00 00 00
    FFFFFFFF`803AE130  01 20 00 03 08 08 00 00 00 00 00 00 01 40 00 01
    FFFFFFFF`803AE140  20 08 00 00 00 00 00 00 01 00 00 01 00 00 00 00

Correct table.

    FFFFFFFF`803AE100  10 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00
    FFFFFFFF`803AE110  02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    FFFFFFFF`803AE120  00 00 E0 FE 00 40 D0 FF 00 50 D0 FF 00 00 00 00
    FFFFFFFF`803AE130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    FFFFFFFF`803AE140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

> Zitat von ⇗ gordo999 im Beitrag ¶ #6122

> > Zitat von ⇗ blackwingcat im Beitrag ¶ #6097

> > Thus, I could enter kernel Debug mode on HAL.
> > But it seems to fail to initialize HalpMpInfoTable in HalInitSystem(it is dll Entrypoint)
> > Strangely, it seems to be called any functions in hal.dll before HalInitSystem.

> @backwingcat ...Hal is called early in the boot process (by ntoskrnl???) to initialize Windows. That could mean the entry point for HalInitSystem is known at boot and may not be part of the Hal library that requires the dll EntryPoint.
> Can you use a remote kernel debugging session and get it to break before Hal is called? I have not tried that.

#6129 | diderius6 | On the Lenovo x230 I can simulate exact the behavior from the J1900 Baytrail board, when I change the magic numbers from 9 9 0C => 9 5 0E on the igxpmp32.sys driver So, this is a big step forward Dietmar

#6130

diderius6

⇗ @Mov AX, 0xDEAD
I have problem, to delete a breakpoint in windbg.
After hitting F9 and delete all Breakpoints, they are not gone.
My question is: Where are those breakpoints stored,
in real memory on the Target PC (the PC which I test)?
And how can I delete them there all?
Is it possible, that they stay in memory even after reboot?
Or are they stored at another place in windbg on the Host computer (where windbg runs)?
This seems to be a bug in windbg
Dietmar

#6131

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6130

> @Mov AX, 0xDEAD
> My question is: Where are those breakpoints stored,
> in real memory on the Target PC (the PC which I test)?
> Or are they stored at another place in windbg on the Host computer (where windbg runs)?

@Dietmar
Hi,
BPs stored on Target PC, in memory. if "bc *" don't works, this is bug, maybe restarting windbg can clear session data, i dont know...

#6132

Mov AX, 0xDEAD

Hi pappyN4,

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6124

> Compiling with Server 2003 x64 free build environment:
> -jumps to else statement, does not stay in AMD64,
> -remove IF statement and have only #pragma....@KeInitializeSpinLock_k8, ERROR:Unresolved external symbol @KeInitializeSpinLock_k8
> ntoskrnl_redirects.h

>     //                Windows XP/2003 x64                   //
>     #if (NTDDI_VERSION >= NTDDI_WS03) && defined(_AMD64_)

>     //	 KeInitializeSpinLock (FASTCALL) (4)
>     #define _KeInitializeSpinLock
>     #ifndef _AMD64_
>      #pragma comment (linker, "/export:KeInitializeSpinLock=@KeInitializeSpinLock_k8")
>     #else
>      #pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")
>     #endif

1) reduced variant:
#define _KeInitializeSpinLock
#pragma comment (linker, "/export:KeInitializeSpinLock=KeInitializeSpinLock_k8")
2)
change in "default redirect" section:
#pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")
to:
#ifndef _KeInitializeSpinLock
#pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")
#endif
for x32 block "1)" will never compiled because parent "#if (NTDDI_VERSION >= NTDDI_WS03) && defined(_AMD64_) ", _KeInitializeSpinLock will not defined and export will be "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock"
for x64 block "1)" set export as "/export:KeInitializeSpinLock=KeInitializeSpinLock_k8", define _KeInitializeSpinLock, skip block "2)"

> Zitat

>     void FASTCALL
>     KeInitializeSpinLock_k8 ()
>     {
>         KSPIN_LOCK SpinLock;

>         SpinLock = 0;

>     }

No args, must be:
void
FASTCALL (are you sure ??)
KeInitializeSpinLock_k8( KSPIN_LOCK* SpinLock)
{
*SpinLock = 0;
}

#6133

diderius6

⇗ @Mov AX, 0xDEAD
This is an interesting aspect:
Even after new install of XP, new install of Windbg, reboot few times,
the breakpoints are still at their places in memory of the Target pc.
Hm, this means, you can put information there without any notice
Dietmar
PS: I doublecheck this: Via old windbg version on COM1 port and via windbg from win8.1.
Both show the same breakpoints in memory, surviving there in a crazy way, like on a harddisk..

#6134

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6121

>     0: kd> dv
>     Unable to enumerate locals, HRESULT 0x80004005
>     Private symbols (symbols.pri) are required for locals.

> Is there a way, to get the content of a local variable, when windbg breaks at an given address

⇗ @diderius6
windbg is too oldschool with ugly GUI, I recommend change debugger to IDA (dont sure about windbg plugin in IDA FREE 5.0 or 7.0 versions)
IDA show [ebp-xxx] as local variable on stack without any symbols requirement (but name is undefined, like var_xxx)

#6135 | daniel_k | ⇗ @diderius6 Did you take a look at the changes in the Kaby Lake driver modded to support Coffee Lake graphics?

## Page 410

#6136

diderius6

⇗ @daniel_k
Yes, I check there everything and understand most.
They do not change the magic numers, only DEV numbers and entries in *.inf file, because each Kaby Lake device has a counterpart in Coffee Lake graphics.
Without the correct Magic Numbers, the graphic chip is not correct recogniced from XP.
This I found out today with test on the Lenovo x230 board with working DEV_0166 HD4000,
where I simple change the Magic Number from 9 9 0C => 9 5 0E
Dietmar

#6137

diderius6

⇗ @Mov AX, 0xDEAD
I have IDA pro 6.1.
There I found in "Debugger" "run" or "attach".
Which one should I use and which to put in the field of the connection string,
see photo,
thanks a lot
Dietmar
⇗

#6138 | diderius6 | ⇗ @Mov AX, 0xDEAD Can I delete the "CC" for break with code "90" by hand in memory using windbg Dietmar

#6139

infuscomus

⇗ @pappyN4

> Zitat

> Dependency Walker shows one issue, ntoskrn8.sys trying to get KeInitializeSpinLock from ntoskrnl.exe but is not finding it. Tried with ntoskrnl.exe from SP1 (5.2.3790.1830), SP2 (5.2.3790.3959), and latest (5.2.3790.5583).

I missed this earlier, So I looked into it and I think KeInitializeSpinLock should be omitted from the 64-bit version of ntoskrnl extender since it seems it does not exist for 64-bit versions of ntoskrnl.
⇗ @Mov AX, 0xDEAD
can you update ntoskrnl extender on github to reflect this?

#6140

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6137

> @Mov AX, 0xDEAD
> I have IDA pro 6.1.
> There I found in "Debugger" "run" or "attach".
> Which one should I use and which to put in the field of the connection string,

⇗ @diderius6
⇗ https://www.hex-rays.com/wp-content/uplo...ging_windbg.pdf
read kernel part....

#6141

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #6139

> @pappyN4

> > Zitat

> > Dependency Walker shows one issue, ntoskrn8.sys trying to get KeInitializeSpinLock from ntoskrnl.exe but is not finding it. Tried with ntoskrnl.exe from SP1 (5.2.3790.1830), SP2 (5.2.3790.3959), and latest (5.2.3790.5583).

> I missed this earlier, So I looked into it and I think KeInitializeSpinLock should be omitted from the 64-bit version of ntoskrnl extender since it seems it does not exist for 64-bit versions of ntoskrnl.
> @Mov AX, 0xDEAD
> can you update ntoskrnl extender on github to reflect this?

Hi All, thank for feedback !
I will update extender to exclude KeInitializeSpinLock from x64 compiling
But be carefully - i never tested x64 extender in real :), i've done x64 part just to be "compilable", for example it may have errors in reverse-engineered structs

#6142 | Mov AX, 0xDEAD | KDNET project updated on github, now it support lan debug drivers from Windows 10 ! windows 8.1 supported chipsets - ⇗ https://docs.microsoft.com/en-us/windows...-in-windows-8-1 versus windows 10 supported chipsets - ⇗ https://docs.microsoft.com/en-us/windows...g-in-windows-10
#6143 | diderius6 | IDA pro winddbg Seems not to work with XP as host and xp as target LoadLibrary(C:\IDA61\plugins\python.p64) error: Das angegebene Modul wurde nicht gefunden. C:\IDA61\plugins\python.p64: can't load file Dietmar

#6144

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6143

> IDA pro winddbg
> LoadLibrary(C:\IDA61\plugins\python.p64) error: Das angegebene Modul wurde nicht gefunden.
> C:\IDA61\plugins\python.p64: can't load file

ida try to load x64 dll, too strange...
for debugging no need python, ignore this warning

del-12

YuriyCN

Уход времени "вперёд" на современных ПК под Windows XP
При использовании Windows XP на современных материнских платах обнаружился досадный глюк - системное время уходит вперёд, причем степень ухода зависит от активности работы ПК и может набегать до 5 минут в день. Проблема проявляется только в Windows XP. На выключенном ПК, под UEFI/BIOS или в современной ОС - время идет правильно. Хотя часовая микросхема RTC должна быть независимой частью, но на современных материнских платах это не так. Видимо UEFI продолжает взаимодействовать с установленной Windows XP и как-то влияет на ход часов. Исследование показало, что уход часов "вперед" происходит при постоянном переключении периода системного таймера 16 мс в 1 мс и обратно. В Windows XP (по умолчанию) этот таймер работает с периодом 16 мс и если на ПК не проявлять активности - то он продолжит работать с периодом 16 мс. Но при запуске Хрома или мультимедиа приложений, таймер переключается в режим работы с периодом 1 мс и может возвращаться на 16 мс. При жестко установленном периоде 16 мс (или 1 мс) время идет точно, но при постоянном переключении таймера 16 мс - 1 мс - 16 мс - 1 мс происходит сбой в работе часов реального времени RTC.
Решение проблемы:
Поскольку специалисты с Win-Raid не смогли разобраться с причиной данной проблемы, то "красивого" решения (на уровне патча системных файлов) по состоянию на 3 января 2021 года ещё не появилось. Имеющиеся правленые файлы hal.dll и intelppm.sys решают какую-то другую проблему с таймерами, но на описанный глюк не влияют. Сейчас мы имеем "костыльное" решение - программа Timer_Fix с исходным кодом, написанная на Visual Studio 6.0. Программа не имеет интерфейса, после запуска она переведет системный таймер на период 1 мс и оставит его неизменным. Программа постоянно висит в процессах до перезагрузки ОС. Для завершения работы (в случае необходимости) нужно просто прибить процесс Timer_Fix.exe через "Диспетчер задач". Для удобства лучше положить Timer_Fix.exe в "Автозагрузку" и напрочь забыть о проблеме с уходом времени. Каких-либо косяков от использования данного метода не обнаружено. В целом, данный фикс можно считать "костыльным", но ничего лучшего на данный момент нет.
Состав архива:
Clockres - программа для контроля периода системного таймера
CPU-Z - в закладке About, кнопка Timers можно контроллировать частоты системных таймеров
Neutron 1.07 - удобная программа для контроля и синхронизации времени через интернет
Timer_Fix (с исходным кодом) - фикс проблемы с уходом времени вперед (устанавливает таймер на 1мс)
Timer_bug.png, Timer_bug_2.png - скриншоты с демонстрацией проблемы
Скачать - ⇗ https://www.upload.ee/files/12718339/Sof...l_Time.zip.html
или ⇗ https://yadi.sk/d/KpTGDPITsNWn7w
===========================================================================
Текстовый комплект методик по установке Windows ХР mod 2021 на современные ПК
Данный файл обязан быть у каждого ХР-ишечника. Народ читает какие-то бредовые форумы, хотя если прочитать данный TXT-файл - вы найдете ответ на 95% вопросов и позволит использовать Windows XP на ПК 2014-2021 года сборки. В текстовой методике собрана вся информация известная на данный момент - модернизированные драйвера (USB3.0, AHCI SATA, ACPI, NVMe, GPT, PAEfix), твики, патчи, готовые сборки.
Версия методики от 03.01.2021г.
ТХТ файл (74 кБ) - ⇗ https://yadi.sk/d/ieXbEpruPa3DWg

#6145 | dpps5387690 | Hi ⇗ @diderius6 & ⇗ @infuscomus I try the acpi 6666 Install winxp stuck 0x7E 0xC0000005 in IDE Modedpps5387690 has attached images to this post ⇗ 0x7E.jpg

#6146

diderius6

⇗ @dpps5387690
I think because of this Bsod,
that your acpi.sys from outerspace ) is on reboot copied back to the original acpi.sys.
You can copy the acpi.sys from outerspace ) by hand into folder Windows\system32\drivers
Dietmar
PS: Do you try to install from original xp.iso?

#6147 | dpps5387690 | ⇗ @diderius6 I use USB(grldr Tool),during install cause this problem(0x7E). I will try the original xp.iso. Thanks.
#6148 | kukonosau | ⇗ @diderius6 Hi! My congratulations again for create drivers acpi, SATA AHCI and so on for Windows XP SP3 x86. But how you have talent create drivers? Do you learning programs languages, for example, C++? Maybe, Python? How to be "scientist"? Sorry for my bad English. I speak in Russian. But I don't understand you. Maybe, you to talk me different literature for develop my skill programmer? Maybe, you are use IDA 7 Freeware? 2nd questions: do you working under Windows XP SP2 x64 today? Can you to send me all last drivers? More I interesting acpi after post #2202. Do you have another acpi for XP x64 today? I thanks you for your job! Job done! :)
#6149 | kukonosau | ⇗ @YuriyCN Приветствую. Неоднократно видел Ваши сообщения на форуме. Вы и вправду тут единственный русскоговорящий? Ну, кроме меня)
#6150 | diderius6 | ⇗ @kukonosau Я работаю учителем математики и физики в средней школе. Windows XP - мое хобби. Windows XP SP2 x64 is unstable on most newer hardware, as I noticed Dietmar

## Page 411

#6151 | kukonosau | ⇗ @diderius6 Do you speak in Russian?! Or you used translator? But you have last unstable drivers for XP x64? XP is my hobby also, this is my life! :)
#6152 | infuscomus | ⇗ @dpps5387690 I would recommend using Easy2boot to do XP installs, I've had no trouble with it.

#6153

diderius6

I make small joke:
I replace the original opcode at this place in Ram(!) via windbg with 90 90 and restart the compi about 10 times.
And voila, my changed opcode survives reboot in memory!
So, it is a mythos, that with switching off compi, all information is lost in Ram.
This is DDR3, 4 Gbyte on the Baytrail board
Dietmar

    nt!KiIdleLoop+0x3a:
    80ae3e0a 90              nop
    1: kd>
    nt!KiIdleLoop+0x3b:
    80ae3e0b 90              nop

PS: The crazy breakpoint survives full new install of XP in ram.
EDIT: Now I think it is a crazy error in both versions of windbg,
because I change whole ram on the Baytrail J1900 board and both windbg versions show me still the 90 90 at their place in ram, brrr.. It means, that the whole windbg installation on my compi is crashed. Now I need to think, how to repair this.
Just install windbg does not help, it tested.

#6154 | diderius6 | ⇗ @kukonosau Я немного говорю по-русски :)) Dietmar
#6155 | kukonosau | ⇗ @diderius6 Вот это хорошо! Тогда я бы побольше хотел с Вами общаться насчёт Windows XP. Уж очень нравится мне эта операционная система. Жаль, для x64 нет сборника драйверов. Почему, интересно, она нестабильно работает с современными платами, а в играх FPS отличный показывает, даже лучше, чем x86? И почему на Intel работает, но не на Ryzen? На Ryzen случайный BSOD возникает. Я бы смирился с отключением сетевой карты Ethernet, но никак не с BSOD/crash randomally.
#6156 | kukonosau | ⇗ @diderius6 What is Dietmar? Translate in Russian, please.

#6157

diderius6

⇗ @kukonosau
I can read, speak and understand without any translator. To write in Russian is another thing.
But better to speak english here at the forum.
XP SP3 is the OS, that the US army is using still today.
And when you have a payed license (I think about 1200$ a month) for XP SP3 like the german Bundestag,
you get updates always for XP SP3 today
Dietmar

#6158 | kukonosau | ⇗ @diderius6 Okay. But I don't understand English. I have based level speaking. Why USA use XP SP3? This is faster OS, for their opinion? Bad that I haven't motherboard with socket AM3+. Последнее оборудование, поддерживаемое ХР, очень хотел бы! На борту имею GTX 960 лишь.
#6159 | kukonosau | ⇗ @diderius6 Probably, I mistaked that buyed equipment with AM4 Socket change AM3+. Price almost equal, but I had been full support OS Windows XP and Windows 7. Ideal be launch GTA V on Windows XP x64 and other modern games. Highest performance!!!

#6160

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6130

> I have problem, to delete a breakpoint in windbg.

⇗ @diderius6 ...look under Edit menu for 'Breakpoints' window. You can disable, enable, or delete them there.

#6161

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6153

> PS: The crazy breakpoint survives full new install of XP in ram.

diderius6 ...sounds like the 90 90 got written to disk. Don't know if windbg has that feature although some debuggers have that option. There's no way RAM can retain memory after being powered off unless there is some kind of battery backup or sleep/hibernate state active.

#6162

diderius6

⇗ @gordo999
After this operation, crazy things happen.
I install XP new on the Baytrail board,
I set up windbg on another harddisk, delete all paths for symbols
and set them new.
Now on the Baytrail board and (!) on the Lenovo x230 ALWAYS windbg breaks at always the same adresses,
very near to the place, where I set the 90 90.
They are still there.
This is really crazy. No breakpoint is set,
but windbg shows at this places cc int 3.
So, I am nearly sure, that for some crazy reasons those 2 breakpoints and the 90 90 are always set from fresh(!) installed windbg at the place in memory on this 2(!) compis
Dietmar
PS: The list for breakpoints is empty.
⇗

#6163

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6162

> Now on the Baytrail board and (!) on the Lenovo x230 ALWAYS windbg breaks at always the same adresses,
> very near to the place, where I set the 90 90.

⇗ @diderius6 ...from what I can see, windbg has broken on a debug breakpoint at 80AC37E0 and your disassembly address is at 80AC36C1. The INT 3 you see following that address are not breakpoints, they are filler bytes you find in some apps before a function.
What is bothering me is the cmp eax, 30203DB just before the series of INT 3 instructions. It may be garbage code. I used to see that in Softice when it first broke and when I hit t-enter for a single step, the code would change. Sometimes the disassembler get it wrong. Try a single-step (F8 or t-enter) to see if the code changes. As it stands, it should hit the INT 3 instruction, which makes no sense.

#6164 | diderius6 | The Windbg via COM1 does not work any longer, it just hangs, see photo. Even I installed XP on the Baytrail compi new. Strange as much as possible Dietmar ⇗

#6165

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6164

> The Windbg via COM1 does not work any longer, it just hangs, see photo.
> Even I installed XP on the Baytrail compi new.

⇗ @diderius6 ...debugging can be a nightmare at times. Did you use a break instruction? Open Debug windows and click on Break (there is a key combo for it...I forget). Also, reboot the target computer. It seems to have connected OK. If not, try rebooting both computers.

## Page 412

#6166

diderius6

⇗ @gordo999
Reboot of all compis does not help. Tomorrow I make on a brandnew harddisk an XP install new, where Windbg runs.
Somewhere must those crazy entries been stored. If I trust windbg, they are really in memory of the Baytrail and the Lenovo
x230 compi. Question is, how they come there and how to delete them there. It is like virus.
Just before the total crash of Windbg I make an interesting discovery:
Using the EB FE methode I find out, that in the driver 5449, where the Device ID DEV_0F31 for baytrail is mentioned,
the subroutine for DEV_0F31 is reached, but not the place, where the compare with DEV_0F31 happens.
Not the compare fails, the place is not reached. For the very first time I understand, why this driver does not work for Baytrail on XP,
but there is hope
Dietmar

#6167 | Outbreaker | ⇗ @YuriyCN Do we have to run the "Timer_Fix.exe" file for every logged-in user? Or is it enough to run it as a SYSTEM file?

#6168

diderius6

⇗ @gordo999
You are right. When I type t (F8) now windbg shows complete other assembler orders than with p.
How to overcome this?
And the strange breakpoints are still shown and brake the same, even I install Windbg (from *.msi installer) and run windbg on a different compi(!), with Symbols, all new fetched only from
WINDOWSXP-KB936929-SP3-X86-DEBUG-SYMBOLS-FULL-ENU-DEBUG.EXE
Dietmar
PS: Not so much possibilities left, where those breakpoints come from. From lan net?!

#6169 | infuscomus | ⇗ @diderius6 I'm guessing windbg has the breakpoints cached somewhere, in appdata maybe?
#6170 | dpps5387690 | ⇗ @diderius6 & ⇗ @infuscomus I install winxp success. Thanks.
#6171 | infuscomus | ⇗ @dpps5387690 you're welcome!

#6172

diderius6

⇗ @infuscomus
For now nearly exact 3 years I have not seen a single crash on my PC for daily use with XP SP3.
And from there I heavy use Windbg all the time also.
Something really strange is going on. Eventually it is not enough, to install XP new,
but needed before with Winhex a 00 00 00.. writing to the whole harddisk.
It is like virus
Dietmar

del-13

YuriyCN

> Zitat von ⇗ Outbreaker im Beitrag ¶ #6167

> @YuriyCN
> Do we have to run the "Timer_Fix.exe" file for every logged-in user? Or is it enough to run it as a SYSTEM file?

Если в WinХР несколько пользователей
Я работаю только под одним пользователем - Администратор, других пользователей не использую, даже учетная запись Гость - отключена.. Соответственно, Timer_Fix.exe достаточно запустить 1 раз. Если вы используете несколько пользователей одновременно - то проверьте с помощью программы Clockres, чтобы период системного таймера был постоянным и равным 1 мс для всех пользователей.
А вообще, нужно взять за основу исходники Timer_Fix и написать программу, которая наоборот, специально переключает системный таймер 1 мс / 16 мс например каждые 10 секунд. Тогда данной программой можно вызывать ошибку с RTC и накручивать время. Возможно тогда это привлечет внимание реверс инженеров и они решат данную проблему "красиво" - на уровне патча системных файлов.

#6173

diderius6

I set up 2 compis with original XP SP3 from CD.
After I start debug via lan on them, again the same breakpoint happens.
So, the only possibility is, that this happens over lan,
because all compis are in the same net.
Exact like Virus
Dietmar
EDIT: For not to get crazy, I boot without any lan and connected only direct with serial cable via COM1 port those 2 computers.
Now, Windbg works normal, no Break at all (both versions 6.12 of Windbg and 6.3.6900 from win 8.1).
Still crazy, what is going on. It seems, that Windbg stores the IP numbers of the via lan connected compis,
and then send to all of them this crazy Break command.
EDIT2: I connect the Lenovo x230 notebook and the baytrail J1900 board, both with XP SP3 via lan cable direct.
Hm, again I get Breakpoint at 80ac37e0 for the board J1900 and vice versa Host<=>Target also(!).
Where can this information been stored?
Ok, next try: Now again I install XP SP3 from original CD on the Lenovo x230 notebook and the same for the baytrail J1900 board. In the very first beginning before XP install I wipe the harddisks out on both compis with 00 everywhere.
No connection to my lan home net or internet at all. Only connection via direct Lan cable at the end.
If then again this Breakpoint 80ac37e0 will be shown, this information must stay in Ram or in Bios or??
I disable before connection via direct lan cable the pagefile.
Then I will report.

#6174

diderius6

Waaaooh,
even I make EVERYTHING on both compis (Lenovo x230 and Baytrail J1900) new (XP SP3 original)
no contact to Internet, no contact to my Home lan,
when the Baytrail J1900 is debugged via 8.1 debugger,
with direct Lan cable connection,
it shows the same BREAK as before.
So, it is somewhere stored on this compi, what a crazy result,
because I wiped both harddisks out with 00 everywhere, checked this and they have no contact to any other compi,
brandnew original installation with this result. Pagefile I disabled and checked non existance of pagefile.sys on both compis before I connect them direct via Lan cable.
Dietmar
EDIT: On this Baytrail board I flashed the Bios new with the nice DSDT from ⇗ @infuscomus .
I will flash it again and take a look again. If then the same Break happens, it is not stored in Bios.
I also make a test with the free ntoskrnl.exe on the Baytrail board. Same result but little bit other place, where it brakes.

    Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using NET for debugging
    Opened WinSock 2.0
    Waiting to reconnect...
    Connected to target 169.254.211.181 on port 50000 on local IP 169.254.63.4.
    Connected to Windows XP 2600 x86 compatible target at (Mon Jan  4 18:10:02.343 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.

    ************* Symbol Path validation summary **************
    Response                         Time (ms)     Location
    OK                                             C:\WINDOWS\Symbols
    Symbol search path is: C:\WINDOWS\Symbols
    Executable search path is:
    Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
    Built by: 2600.xpsp.080413-2133
    Machine Name:
    Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    nt!DbgBreakPoint:
    80ac37e0 cc              int     3

EDIT: I flash Bios new, doublecheck that Bioschip has to 100% the same content as on 16 December (complete, everything, whole Bios chip),
but the break remains exact as before.
So, windbg found a way to store something not on harddisk, not in Bios, hm, where else??
Last idea from me was to clear Cmos, result same breakpoint.
And my lastlast idea: I change the DD3 ram against one, that I havent used for 2 years, but still same Breakpoint.

#6175 | infuscomus | ⇗ @diderius6 do you get the same result with the windows 10 debugger?
#6176 | diderius6 | ⇗ @infuscomus Where do I find the win10 debugger? And can it work like the 8.1 windbg with XP SP3? Dietmar
#6177 | infuscomus | ⇗ @diderius6 It's part of the Windows 10 SDK (you can install just the Debugger Tools)

#6178

diderius6

⇗ @infuscomus
Thanks, I am just downloading.
I set a breakpoint at this address, where the compi always break.
Then I delete this breakpoint.
On next reboot break again at the same point.
I try to overwrite the hexcode for cc at this address.
Debugger shows, that code has changed.
On next reboot break at the same place again,
brrr..
windbg found a hidden place on compi: Not harddisk, not Bios, not Cmos, not Ram. Some other places on Compi where to store information for Break?
Dietmar

#6179 | infuscomus | ⇗ @diderius6 There is no left over junk in AppData or in Windows\Temp?

#6180

diderius6

⇗ @infuscomus
No, I delete on known places all to 100% and set XP up fresh from original CD on Target and Host pc.
No connection to anything.
This simple means, that we (I) do not understand, how a compi under XP works. There are hidden places for to store something
on the mainboard.
I noticed some strange things before:
When I go in last summer to Ukraine,
after the scanner on Airport the SSD (with XP) and the mssd (with Win10) show errors.
Rosetta Stone program was damaged.
I have a very good USB stick from Kingston, which works as harddisk.
On this I put an USB bootable image of this XP installation before.
Just like intuition, that ssds, nvme are bad at all.
This image is still ok, survives scanner at Airport.
With XP on harddisk I never got a problem for years with scanners at airport.
This is future..
Dietmar

## Page 413

#6181 | infuscomus | ⇗ @diderius6 maybe try windows 8.1/10 as host PC?

#6182

diderius6

⇗ @infuscomus
May be, that newer Windbg work better.
But the discovery is really serious in my eyes.
Information can be stored on this motherboard without known place.
I got a second, brandnew motherboard, exact the same build year, brand,
as the first Asrock Q1900M.
This I never connected to a power source until now.
May be, that I can found out, where other places are on this motherboard for to store information
Dietmar
EDIT: I have a Kangaroo USB stick, which can be set write protect.
With EWF filter on a Fat32 partition(NTFS not works, because XP writes during boottime there) it is possible,
to start XP complete write protected.
I will install on the second J1900 board a new XP, and then copy it to the write protect stick.
I think, Windbg will work from there also.
⇗

del-14

YuriyCN

>>Добавление команды /usepmtimer на глюк со временем не влияет.
Привет, вот описание ключа:
/USEPMTIMER параметр указывает на то, что операционные системы Windows XP и Windows Server 2003 используют параметры таймера PM-TIMER, а не параметры счетчика отметок времени, если процессор поддерживает параметры таймера PM_TIMER. Проблема возникает на компьютерах с включенной технологией AMD Cool'n'Quiet в BIOS.
Многоядерные или многопроцессорные системы могут столкнуться с смещением счетчика отметки времени (TSC), когда время между различными ядрами не синхронизируется.[/QUOTE]
Спасибо. Я уже опробовал. Эта команда не помогает.
У меня не АМД, а Интел процессор. Да и вообще глюк - это происки современного, слишком умного UEFI.... Вряд ли разработчики ВинХП в 2001 году знали, что появятся такие модные материнки, с такими умными UEFI, чтобы заложить эту команду.
Из того, что проверил и оно не помогает.
1) включение/отключение HPET таймера в BIOS|UEFI
2) включение/отключение режимов энергосбережения процессора в BIOS|UEFI (у меня Intel i5-6500, 4@3,2ГГц)
с названиями C7 State, С0/1 State и других - всего 6 режимов.
3) команда /USEPMTIMER в boot.ini
4) правленые файлы hal.dll и intelppm.sys с win-raid
Из того, что помогает.
1) Использование Timer_Fix.exe

#6183

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6168

> PS: Not so much possibilities left, where those breakpoints come from. From lan net?!

⇗ @diderius6 ...Dietmar...it's not clear to me which breakpoints you mean. In the screen shot you posted I could not see any breakpoints that were abnormal. Can you give more information?
With regard to RAM, it is not possible for it to retain memory between boots unless the individual cells in the memory card are damaged. I am referring to a hard boot, one in which Sleep or Hibernate is not maintaining the data in RAM. Even then (after hard reboot), the memory data affected would change from boot to boot. It's highly unlikely that the same driver would occupy the same physical memory cells in RAM.
For example, I am working on an app that loads at a different RAM base address each time I boot. Right after starting an app in windbg, if you enter !peb in the command line windbg will show the PEB, which lists information about the loaded module. It shows the base address as something like 00000001 3FEB0000 for 64 bit. I have left a space between the 00000001 and the 3FEB0000 for clarity. Next time I load the app in windbg, it will show something like 00000001 E0070000 for the same app. There is a big difference in memory location between 3FEB0000 and E0070000.
BTW, once you locate the base address using !peb, you can enter !dh 00000001E0070000 and it will give you the entry point into the appllication/module. In my case the entry point is 144C, meaning it is located at offset 0x144C from the base address. I can now enter BP 00000001E007144C and windbg will stop at at the apps entry point after I hit G. That saves using the other trick that forces the processor to freeze at the point you inserted it.
Actually, the entry offset for any app is located in the PE header. There are tools like LordPE that will lay out the PE header for you.

#6184

diderius6

⇗ @gordo999
The problem is deeper. Why happens there a Break without any instruction always at the same place?
I set up complete new Host and target PC, with NO connection to world outside. And this Break remains always.
Not the Break is the problem, the problem is, that this Break is instructed from a strange, unknown place on the mainboard,
not Bios, not CMOS, not harddisk, not Ram
Dietmar

#6185

ruthan

⇗ @diderius6
If is on board, longer batter removal could help, older bioses have something caaled NAND or CMOS clear option, but new ones has nothing like that and for some example some data as memory stick first training results etc, has to be saved somewhere. Maybe only part of ROM is writable from bios upgraded. Also some board have dual bios, but not afaik 2 special chips, so there could be some other memory areas.
But i would also bet my money on remote pc from which you are making connection.. that it has some session and which connection data are these thing reapplied. I dont follow every your post and details, maybe you already excluded it.

#6186

diderius6

"In this case windbg is using Base+Kernel+x86 workspaces."
Where is this workspace located,
on the CPU itself? Is there a piece of memory,
where windbg can store information permanent?
Dietmar
PS: May be there is a flag, that Windbg can permanently set on a cpu register for a breakpoint, who knows..

#6187

iyutos

Gentlemen, I know that among you there are renown experts in Assembler and Windows internals.
Perhaps when somebody will have free minutes, can you please take a look to a *problem of video-acceleration* in Windows 7 with classic theme?
I know that this forum is about WinXP/2k, I posting it as odd exception.
⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu/issues/4

#6188

infuscomus

⇗ @diderius6
This was posted on 4chan

> Zitat

> Someone with account there should tell him there is a bug in Intel iAMT debug engine which actually has the ability to fuck the computer storing things like breakpoints in its flash portion of the ROM, if you write to certain directions under certain circustances. It comes from the built in AMT debug/jtag like feature.

#6189

iyutos

If indeed Intel iAMT debug engine is involved here, this debugging of graphic drivers becomes real hardcore.
Few sentences out of context: "The second option enables the use of hardware breakpoints rather than software breakpoints. The hardware breakpoints employ CPU debugging facilitiesnamely, debugging registers dr0 through dr7whereas implementing software breakpoints usually involves executing the int3 instruction. In the context of malware debugging, this means hardware breakpoints are more resilient and more difficult to detect".
****************Intel System Debugger - User and Reference Guide:*************
The debugger can use both hardware and software breakpoints, each of these has strengths and weaknesses:
*Hardware Breakpoints* are implemented using the DRx architectural breakpoint registers described in the Intel® 64 and IA-32 Architectures Software Developer Manuals. They have the advantage of being USABLE DIRECTLY AT RESET, BEING NON-VOLATILE, and being usable with flash or other read-only memory. The downside is that they are a finite resource.
*Software Breakpoints* require modifying system memory as they are implemented by replacing the opcode at the desired location with a special instruction. This makes them an unlimited resource, but the memory dependency mean you cannot install them prior to a module being loaded in memory, and if the target software overwrites that memory then they will become invalid.
<...> SMM Entry/exit disables/re-enables breakpoints. <...> Alternatively, you can patch the BIOS to re-enable breakpoints when entering SMM, but this requires the ability to modify the BIOS.
See also: ⇗ https://en.wikipedia.org/wiki/X86_debug_register
⇗ https://www.codeproject.com/Articles/280...reakpoints-prog

#6190 | iyutos | It seems to me that Windbg stores values in six debug registers, Intel ME is not involved

#6191

diderius6

⇗ @infuscomus
Can you give me the link for this article?
I read, that someone has the same problems with Windbg,
that he was unable to delete Breakpoints but no explanation for this.
A comment about this was just to delete whole registry entry
under HCU\software\Microsoft\windbg .
There the "workspace" from windbg is "stored".
This cant be true in my case, because registry on new XP SP3 setup on Host and Target compis never heard anything about windbg.
There must be a place on the motherboard,
where this information is stored. And it is not only a flag,
because the full address(es), where the Break(s) should happen must be stored also
Dietmar
PS: Now I set up a fresh original XP SP3 on the brandnew Asrock Q1900M board (named board 2).
For this I use a brandnew harddisk and Ram DDR3 never used until now.
Before I save the whole Bios 1.80 from this board with very good EEpromer Revelprog IS.
Then I flash unmodded Bios 1.30 to it from its own Biosmenu.
Then I integrate nice DSDT from ⇗ @infuscomus into Bios 1.30 and flash with EEpromer, so that I can setup XP in IDE mode without crazy BSODs.
At the end I do not install any driver. Then I connect it to the old compi from 2005 from my parents via COM1 cable direct.
Until now, there is no Windbg on it.
And in the end I put this brandnew harddisk back to the Q1900M (board1), and change Ram from the Board2.
Look what happens.
This will be the ultimative prove, that there are other possibilities to store some information on an unknown place on this board Asrock Q1900M.

#6192

diderius6

"Beginning in 2005, Intel began including Active Management Technology in Ethernet controllers. This system is effectively a firewall and a tool used for provisioning laptops and desktops in a corporate environment. In 2008, a new coprocessor the Management Engine was added. This management engine is a processor connected to every peripheral in a system. The ME has complete access to all of a computers memory, network connections, and every peripheral connected to a computer. The ME runs when the computer is hibernating and can intercept TCP/IP traffic. Management Engine can be used to boot a computer over a network, install a new OS, and can disable a PC if it fails to check into a server at some predetermined interval. From a security standpoint, if you own the Management Engine, you own the computer and all data contained within."
Dietmar

del-15

YuriyCN

> Zitat von ⇗ iyutos im Beitrag ¶ #6187

> Gentlemen, I know that among you there are renown experts in Assembler and Windows internals.
> Perhaps when somebody will have free minutes, can you please take a look to a *problem of video-acceleration* in Windows 7 with classic theme?
> I know that this forum is about WinXP/2k, I posting it as odd exception.
> ⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu/issues/4

Очень медленная работа классического интерфейса Win7, привела к тому, что я отказался от использования Win7 в пользу WinXP. У данной проблемы 2 решения: использовать классическую тему в AERO-исполнении либо использовать патченый DWM.EXE.
Проблема довольно подробно описана здесь - ⇗ [Solution] Acceleration of GUI interface on the non-Aero themes of Windows 7

#6193

diderius6

Flash back to Bios 1.30 and placing nice modded DSDT from ⇗ @infuscomus on the Asrock Q1900m Board 2 is done.
After I reset CMOS, set IDE in Bios and enable USB3, nothing more.
Just now I am installing original XP SP3 with acpi.sys from outerspace ). No other driver, no connection to outer world.
Now happens the most most crazy ever:
I get the same (!) break on board 2 as before on board 1. Debug via COM1 port works, but is unstable.
This means: All the fresh XP SP3 installations give a break on any of the Asrock Q1900m boards!
Now I put an XP with all updates and also with the updates from Posready on this new harddsik.
Because I remember very good, that there has been a time without any breaks on board 1
Dietmar
EDIT: After I install an XP SP3 with newest updates, windbg via COM1 works very fast but still shows this crazy Break.
I disabled nearly all devices in Bios. After this, the free ntoskrnl.exe does not show a Break,
but the checked ntoskrnl.exe shows Break exact at the same place.
Now I use the working debugger, for to look a little deeper at this Break.
This place, where it happens is marked

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Tue Jan  5 21:51:49.703 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     nt!DbgBreakPoint:
>     80ac37e0 cc              int     3
>     kd> !analyze -v
>     Connected to Windows XP 2600 x86 compatible target at (Tue Jan  5 21:52:05.875 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .....................................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Unknown bugcheck code (0)
>     Unknown bugcheck description
>     Arguments:
>     Arg1: 00000000
>     Arg2: 00000000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     FAULTING_IP:
>     nt!DbgBreakPoint+0
>     80ac37e0 cc              int     3

>     EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: 80ac37e0 (nt!DbgBreakPoint)
>        ExceptionCode: 80000003 (Break instruction exception)
>       ExceptionFlags: 00000000
>     NumberParameters: 3
>        Parameter[0]: 00000000
>        Parameter[1]: 80124cdc
>        Parameter[2]: 80af5242

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  80124cdc

>     EXCEPTION_PARAMETER3:  80af5242

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x0

>     LAST_CONTROL_TRANSFER:  from 80123c39 to 80ac37e0

>     STACK_TEXT:
>     80af2340 80123c39 ffdff120 80af2368 80123dcb nt!DbgBreakPoint
>     80af234c 80123dcb 80084000 00000000 80afc980 HAL3!HalpGetParameters+0x91
>     80af2368 80d2ff9f 00000000 80084000 80afe260 HAL3!HalInitSystem+0x33
>     80af24f8 80d41cd4 00000000 80084000 8003fc00 nt!ExpInitializeExecutive+0x171
>     80af254c 80d3f6ec 80afe4c0 80afe260 80af2810 nt!KiInitializeKernel+0x568
>     00000000 00000000 00000000 00000000 00000000 nt!KiSystemStartup+0x2c4

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!ExpInitializeExecutive+171
>     80d2ff9f 84c0                                  test    al,al

>     SYMBOL_STACK_INDEX:  3

>     SYMBOL_NAME:  nt!ExpInitializeExecutive+171

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x0_nt!ExpInitializeExecutive+171

>     BUCKET_ID:  0x0_nt!ExpInitializeExecutive+171

>     Followup: MachineOwner
>     ---------

#6194

diderius6

I found this place for Break in the debug version of ntoskrnl.exe.
After

    call   HalInitSystem
    test    al, al

and when this is zero,
compi jumps to Breakpoint.
Crazy, because I changed nothing..
Before I never had this Break.
I try to hack the degug ntoskrnl.exe
but then comes message, that ntoskrnl is damaged.
So it seems to have something like Signed in it,
checksum is correct.
May be someone here can tell me or just do,
how to overcome for hacked ntoskrnl this message,
here is the file from my modded ntoskrnl.exe
Dietmar
⇗ https://ufile.io/2klom64c

#6195

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6193

>     FAULTING_IP:
>     nt!DbgBreakPoint+0
>     80ac37e0 cc              int     3

⇗ @diderius6 ...confused as to the problem you are having. The code above is normal for windbg, it always break at that point, nt!DbgBreakPoint in ntdll!LdrDODebuggerBreak. I just opened an app and that's where it stops. My address is different than your because I am using Windows 7 version of ntdll.dll.
In the windbg debug window, the main window, it says:

    (1640:1218): Break instruction exception - code 80000003 (first chance)
    ntdll!LdrpDoDebuggerBreak+0x30
    00000000'77cf6c50   cc   int 3

That code is the loader that loads apps into memory for windbg. If it did not stop there, the app would run to completion. It stops there to allow you to make adjustments and to tell windbg where you'd like it to stop.

## Page 414

#6196

diderius6

⇗ @gordo999
When you want to set a breakpoint there, it is normal.
But here happens something strange.
After Break the debugger gets crazy, only in few times it shows the line with `kd>`.
This all did not happen before.
I also find the errorplace in ntoskrnl, something does not match in hall.dll, this test al, al
shows this.
As I said, nothing at all of this happens before,
I do not know what changed
Dietmar

#6197 | diderius6 | When I use the debug hal.dll, modded for the timer error, and ntoskrnl.exe debug version, the break still happens at the same place, but after that break I can work normal with Windbg Dietmar PS: After hitting g, windbg shows me now a lot of lines, which do not appear at all before.

#6198

diderius6

Next try on the Q1900m board 1, with 4 Gb ram.
I setup with original XP SP3 CD in IDE mode, only acpi.sys from outerspace ) on it.
Before setup I disable nearly everything in Bios.
After setup I change intelppm.sys and hal.dll on the harddisk (against the power states and timer problems),
because I noticed, that windbg hangs without them, may be only timermodded hal.dll needed on Baytrail(!) board.
With the normal free ntoskrnl.exe now no Break happens with Windbg via COM1 cable, connected to the old compi from my parents. Was a hard job, to get on this old compi Windbg vers. 6.12 to run. It is only in the win7 SDK 7.1 and it needs Framework 4.0, full install.
Then I change free ntoskrnl.exe against checked ntoskrnl.exe and the free, timermodded hal.dll against the checked, timermodded hal.dll and rename them to ntos3.exe and hal3.dll.
I thought, that may be the /BREAK command in boot.ini can let the compi with checked files break
at always the same address 80ac37e0. But this also does not help. So, still break from nowhere at 80ac37e0.
Ok, crazy things are going on:
After hitting g on the kd> line, compi starts without any other breaks and very few lines in Window from Windbg.
Then I install the Intel HD driver version 5449, unmodded only in its *.inf I change 0152=>0F31, then I use the setup.exe
for the HD driver. No error message. But some entries in registry under Services\ialm are missed or not NULL Terminated, for example for maxmem.
But the driver still does not work (Code 10), but this is only for humans, says nothing about why.
I check with nice EB FE command the driverentry point. It is also always the same, 0x80ac37ec.
Now the compi runs endless and a look at the register EIP shows 0x80ac37ec as usual.
But now things changed: It is impossible to set a breakpoint with bp or bu at this adress.
You can set the breakpoint, but the compi does not stop. A look with bl tells always, breakpoint at 0x80ac37ec.
Now I try next: After crazy break again at 80ac37e0, I type in kd>bp igxpmp32!DriverEntry .
Strange message appears: expression 'bp igxpmp32!DriverEntry' could not be resolved. adding deferred bp
Ok, I hit g
Then Message appears *** ERROR: Module load completed but symbols could not be loaded for igxpmp32.sys
Breakpoint 0's offset expression evaluation failed.
But the compi stops at the DriverEntry point of igxpmp32.sys .
Before, I cant use g, p or t from this place. But crazy things going on, now I can.
But Windbg is in an endless loop at next adress pop ebp.
And always breaks after this message.
Now I just type in kd>bc *
which deletes all Breakpoints.
And voila, now I can use g, p, t for to trace the driver igxpmp32.sys .
Because from loong work before I know, that the shown HEX orders are correct.
Ok, why it is impossible to set a working breakpoint at the DriverEntry?
The DriverEntry 0x80ac37ec
is very near to the crazy break from nowhere at 80ac37e0 .
I thought, that this may be too short time for BREAK at 0x80ac37ec.
So I set down the speed for Debug via COM cable from 115200=>9600.
But this does not help
Dietmar
PS: But via method at wished places Breakpoint force with EB FE works.
So, testing what is going on, can continue.
Here is the content of my boot.ini on the Target PC Baytrail Asrock Q1900m board 1.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
     Windows XP Professional" /noexecute=optin /fastdetect /debug
    /debugport=COM1 /baudrate=115200
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows
     XP SP3 DEBUG" /noexecute=optin /fastdetect /KERNEL=ntos3.exe
    /HAL=hal3.dll /debug /debugport=COM1 /baudrate=115200 /BREAK
    C:\WINDOWS="KDNET"
         /noexecute=optin /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG
     /DEBUGPORT=NET /HOST_IP=192.168.2.101 /HOST_PORT=50000
    /ENCRYPTION_KEY=1.2.3.4 /CPUFREQ=3000 /TARGET_IP=192.168.2.104
    C:\WINDOWS="KDNET_Brk"
     /noexecute=optin /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG
    /DEBUGPORT=NET /HOST_IP=192.168.2.101 /HOST_PORT=50000
    /ENCRYPTION_KEY=1.2.3.4 /CPUFREQ=3000 /TARGET_IP=192.168.2.104 /BREAK

#6199 | diderius6 | ⇗ http://read.pudn.com/downloads182/ebook/...nternals(2).pdf Nice, there I found, that indeed the timer is involved in HalInitSystem Dietmar

#6200

diderius6

I found with the nice EB FE methode via Windbg the exact place in the Hex code of the igxpmp32.sys, where this driver fails.
In version 5449, where the Baytrail driver with DEV_0F31 is mentioned,
this condition jnz is never met. So, the driver settings to DEV_0F31 is overjumped always
Before this place, compi reaches all, I tested
Dietmar
cmp dword ptr [edx+1FCh], 0Eh
gives not ZERO as needed for Baytrail via its Magic Numbers 9 5 0Eh
⇗

#6201

diderius6

"Hardware Breakpoints
Within most CPUs there are special debug registers that can be used to store the addresses of breakpoints and specific conditions on which the breakpoint should triggered (e.g. read, write, execute). Breakpoints stored here are called hardware (or processor) breakpoints. There is a very finite number of registers (usually 4) which limits the number of total hardware breakpoints that can be set. When the CPU reaches a memory address defined within the debug register and the access conditions are met, the program will pause execution.
Hardware breakpoints are set within WinDBG using the ba (Break on Access) command. In its most basic usage, it takes 3 attributes:
0:001> ba e 1 00453689
This command would (we'll see soon why it doesn't) accomplish the same thing as the previous bp example, however now we're setting a hardware breakpoint. The first argument, e, is the type of memory access to break on (execute), while the second is the size (always 1 for execute access). The final is the address."
Tomorrow I will test
ba e 1 80ac37ec
Dietmar

#6202

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6196

> When you want to set a breakpoint there, it is normal.

⇗ @diderius6 ...It has nothing to do with the user, windbg sets that BP as a matter of its normal operation. Without the BP, the app would not stop while being loaded and would run to completion.
Part of my confusion is related to how you are working with the driver. With a normal executable, when you load it from the File menu, it is loaded by windbg and stops at the debug point we are talking about. I was not aware that you can load a driver in the same way since it does not have to be executed. A driver is loaded in memory and accessed by the system via calls (interrupts) from external hardware. However, I realize you are having trouble getting the driver to load.
I suggest you look at that specific application of windbg to debugging drivers.
Your windbg installation may be corrupt. You could start by deleting the current workspace and starting fresh. If that doesn't work, then delete everything related to windbg and install a fresh copy.
With regard to windbg not allowing the kd> prompt, it does that when it is busy, or when it does not have a proper connection to the target. In fact, the kernel is responsible for loading kdcom.dll, which interprets and controls the flow of serial data to and from the computer. It is loaded at boot time by ntoskrnl at the same time Hal is loaded and the video driver. A problem in communications between ntoskrnl and kdcom.dll could mess up your windbg session.

> Zitat von ⇗ diderius6 im Beitrag ¶ #6196

> As I said, nothing at all of this happens before,
> I do not know what changed Dietmar

Welcome to the crazy world of debuggers. I have spent hours, days, and even weeks trying to get a debugger running properly.

#6203

diderius6

⇗ @gordo999
Do you have an idea, why a breakpoint set via Windbg with
bp address
not stops the compi at this address, when it is a valid address in memory, which the compi has to execute?
Before it works. Oh, I installed everything 2 times new, really all.
Can this happen because of missing Symbols? Now I use the checked Symbols, but only hal.dll and ntoskrnl.exe
are checked files, all others in this XP SP3 are from free build.
I think, the breakpoints set with bp or bu know nothing about memory.
But the hardware breakpoints do, so it should be impossible, that a hardware breakpoint does not work, as long as the compi pass this address during executing Hex code
Dietmar

#6204

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6203

> Do you have an idea, why a breakpoint set via Windbg with bp address not stops the compi at this addressr

⇗ @diderius6 ...what comes to mind immediately is a thing called "context". When a process is running, it runs in its own context. In this use of the word, context means address space. Breakpoints like BP are generally valid only in the memory space of a process. I have not used BU but I understand it to mean the BP will be reserved till that module at that address comes into focus, which is also its context.
Also, Windows and other OSs use time-slicing. That means the processor can only focus on one thread at a time. A thread, of course, is a string of code that represents a process for a user or the system. You may see many windows open on a desktop but only the one you are working in with the mouse cursor has th focus, meaning the focus of the processor. Of course, the processor has to keep all the other windows and processes alive so it jumps from one to the other, attending to them while the window you are working in has the focus.
When the Window in focus is running, it occupies a virtual address space, which includes all imports required by the app. That's it's context. If you set an ordinary BP on an address in another module or process outside that context, windbg will likely complain.
When I worked with softice, it could be frustrating until I learned about contexts. If I set a BP in a process address when the process was not loaded, or even in focus, softice would complain. So, I had to locate the process in memory using the 'table' command, which listed all modules loaded. I could then highlight the module, set my breakpoint, and softice was happy.
There is a similar feature in windbg for setting context. I am not very familiar with it but I did use it once. This is the problem with windbg, it is so complex the learning curve seems to take forever. Leave it alone for a few months and much of it is forgotten.
Regarding your previous post about ba e1 <address>, I have not used hardware BPs a lot. However, I read something interesting at the Msoft site. You can set a breakpoint on the serial port using the ba breakpoint, using BA i <serial port addy>, where addy is the standard serial port address range.. That might be a useful troubleshooting technique, not just for serial ports but for any external device attached to the mobo. You can also specify a hardware BP using r, w or i in place of e, where r = read, w = write, and i = i/o as in i/o port..
The difference between a hardware and a software BP, is that the software BP relies on temporarily replacing code with an int 3. That causes an exception which windbg knows how to handle. The hardware breakpoint is set for the processor. The processor is interrupt-driven, meaning it is alerted by external devices via interrupts whenever they need service. I think a hardware interrupts address is placed in a special table monitored by the processor, as with normal interrupts.
⇗ https://docs.microsoft.com/en-us/windows...reak-on-access-
This article may prove valuable to you. I posted about the special debug version of ntldr, found on the XP SP1 disk, that can help kernel debugging over a serial cable. It also explains a windbg attachment that can help. With this NTLDR, you can apparently break before ntoskrnl is loaded during boot.
⇗ https://kobyk.wordpress.com/2008/07/04/r...-boot-debugger/

#6205 | diderius6 | MINIX is the most used OS in the world since 2006 ⇗ https://www.cs.vu.nl/~ast/intel/ Dietmar
#6206 | diderius6 | Is there a program, with which you can find the (start) address of a series of Hex orders in memory Dietmar

#6207

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6206

> Is there a program,
> with which you can find the (start) address of a series of Hex orders in memory
> Dietmar

Hi Dietmar,
question is "what kind of memory ?" memory controller ? virtual in ring 0 ? virtual in user's process ?
WinHEX can work with all RAM, also RW_Everything has some RAM operations

#6208

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6205

> MINIX is the most used OS in the world since 2006
> ⇗ https://www.cs.vu.nl/~ast/intel/

most used is linux because every LCD/Plasma TV and every Android-based device has it (linux kernel, not all OS)

#6209

diderius6

This time I break into the loaded driver with CC INT 3 (with edited igxpmp32.sys vers 5449 with Winhex at wished place),
and Windbg breaks there as wished

    .text:1004EE7E loc_1004EE7E: ; CODE XREF: sub_1004EA10+2EF j
    .text:1004EE7E                 mov     edx, [ebp+arg_0]
    .text:1004EE81                 cmp     dword ptr [edx+1FCh], 0Eh
    .text:1004EE88                 int     3               ; Trap to Debugger <--- this break I set, it was original jnz
    .text:1004EE89                 nop

Question, if I understand this right:
`edx=89be4358` as the Register view of Windbg shows at `EIP=b937ae88` (the address, where Break happens)
`edx+1FCh = 89be4554` if I calculate right.
This means, that at the address `89be4554` should be a value of `0Eh` when the cmp gives "yes" ?
But the value at address `89be4554` is `0000`, so the cmp gives "false" ?
Dietmar

#6210

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6206

> Is there a program,
> with which you can find the (start) address of a series of Hex orders in memory
> Dietmar

⇗ @diderius6 ...this is a lot more info than you need but I am trying to demonstrate the overall procedure for byte searches and why.
As ⇗ @Mov AX, 0xDEAD explained, it depends on where in memory and how the app/driver is loaded. I don't know of any program that can do a search for bytes in memory but if I am searching for memory bytes, I do it indirectly by examining the disk image using IDA or hex editors like UltraEdit or HxD. Then I cross-reference the addresses between the disk image and the memory image. Or, you could try to dump the entire file/driver RAM image to a disk file and do your search with a hex editor, or even load it as a binary file in IDA.
If you are working in a particular application or driver, which is loaded from disk, you can search for the bytes in the app's disk image and note the offset from the beginning of code. Then you can try to find the same offset in memory. So, you are working backwards, you are not searching memory for the bytes you are searching a disk image or a disassembled image in IDA, then synchronizing addresses till you find the desired code.
There is another problem, however. If the bytes you seek are common bytes, there may be a thousand instances of those bytes. The trick is to look nearby to find unusual sequences of code bytes, noting the offset from the bytes you want to find, then searching for those bytes. I use IDA with the opcodes visible and look at the assembly instructions. I look for assembly instructions nearby that are unlikely to be common to the entire app, then I include that string of opcode bytes in my search string. Using that method I can narrow down a search to one or two instances. Then I look at the bytes surrounding those bytes to see if they compare.
If you can load the app/driver in IDA and figure out how the IDA address compares the the address of the app/driver when it is loaded in memory, it's a matter of doing hexadecimal arithmetic to find the bytes. It's not always that simple, however. I have used this successfully with apps that are loaded conventionally into user memory but as ⇗ @Mov AX, 0xDEAD explained, getting at other memory can be tricky or impossible.
I have not tried windbg remotely in kernel mode yet to any degree. One complaint I have with it in local mode, where you load an app with windbg on the same computer, is it's inability to trace into ring 0 code, which is system code. If you can't trace it I don't see how you can search it. I can't see a tool being available that will search ring 0 code.
For straight apps on disk, I use a hex editor like UltraEdit or HxD. Both have hex bytes search features but for larger files, I find HxD faster. As ⇗ @Mov AX, 0xDEAD pointed out in an earlier post, IDA also has a hex editor with search features.
With apps, and possibly drivers, you can find the base address where the app/driver is loaded in memory using windbg. If the app/driver has the focus, use !peb and it will give you a lot of info on that app/driver with its base address in memory. As a preliminary check, you can compare the bytes at the windbg memory address to the bytes on the disk image. Be advised that code often starts on a disk image at offset 0x400 or 0x1000, so you may need to apply those offsets on the disk image. The PE header info will tell you where the code section starts. By analyzing the memory image against the disk image you can eventually figure out how they are related.
You might get lucky with a one to one search between a hex editor image and the memory image but sometimes the memory image is loaded a bit differently than the disk image. For one, a disk image shows code address offsets from address zero whereas in common x86 memory addressing the app image was often located at 0x401000. With 64 bit apps it gets trickier. If you know how to read a PE header or PE header information from a tool like LordPE, the information is in there to locate your code in memory.
Still, if you are persistent and use landmarks in the code that are recognizable in the IDA disassembly or the hex editor image, you can find anything eventually.
For example, I am currently working on an app which I have loaded in memory and open in IDA as well. If I have an address in memory I try to find the same address in IDA and calculate the difference in the MSB of the lower 8 bytes in the address space between the memory address and the IDA address. Then I can find my way through the IDA code and synchronize it with the memory code. Using both, I can locate code in the disk image as well, so I can then sync between memory, IDA and the disk image.
If you have a PDB file for the app/driver, it makes life easier to synchronize between the three. The PDB gives names to functions so you can do a string search for a normal function or look up imports in the IDA import table. Once you have located a familiar name, of a function or import, at a certain address in IDA, you can check the code around it to see if it is the same as the code in memory. Or, you can at least find an offset to the desired code.
Some debuggers like Ollydebug for x86 and X64dbg for x86 and x64, allow extensive text search capabilities. I am sure windbg has a search facility, I have never seen it. Be aware that plugins (extensions) exist for windbg and are located in the Debugging Tools for Windows directory under the winext sub-directory. Someone may have written a search plugin, I don't know.

## Page 415

#6211

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6209

> `.text:1004EE7E mov edx, [ebp+arg_0]`
> `edx=89be4358` as the Register view of Windbg shows at `EIP=b937ae88` (the address, where Break happens)
> `edx+1FCh = 89be4554` if I calculate right.
> This means, that at the address `89be4554` should be a value of `0Eh` when the cmp gives "yes" ?
> But the value at address `89be4554` is `0000`, so the cmp gives "false" ?
> Dietmar

⇗ @diderius6 ...where did you get the 1F for edx+1F? If you have windbg open, then open a memory window. Where it says @scope, or whatever, type in ebp+value, where value = the value given for it in the windbg code. I don't know why Ilfak decided to use arg_0 when he designed IDA. I think the values may be written above the function as a series of args.
When you read the memory window to get the value at ebp+value, be aware that the hex values are written in Endian format. For a common 4 byte double word like 0401000, they would be written as 00 00 01 04. You take the last two bytes and reverse them, putting them as the MSB bytes then reverse the first two bytes, putting them in the LSB position. It's similar for 64 bit notation except they use a qword like 000007fe 12345678.

#6212 | FireKillerGR | Hi, been having acpi issues (A5 0x0000...3, 0x89CB67F8, 0XC0000034, 0X494E495F) even tho I have tried most of the modded acpi files & WinXP-IE Optional Patch Integrator tool/patcher. Any thoughts?
#6213 | infuscomus | ⇗ @FireKillerGR So for this error the microsoft documentation says this - ACPI could not find a mapping in the _PRT package for a device. This is with the most recent outerspace acpi.sys ⇗ @diderius6 do you think you could patch this one?

#6214

George King

Hello everyone,
I created small tool, that alow distributing Windows XP syspreped image from install.wim / install.esd. [TOOL] XP2ESD - Create modern Windows XP installer
Why I writing right here? I see here a lot of you who can create patch. I need to suppress one message box from showing in setup.exe from Windows 10 installer.
Can anybody have a look on it please? Here are all needed information.
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/
Many thanks[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6215 | diderius6 | ⇗ @FireKillerGR This is the only possible hack in acpi.sys from outerspace ) against the Bsod 0x000000A5 (0x00000003, xxx, 0xC0000034, zzz) Dietmar ⇗ https://ufile.io/305aedg3
#6216 | diderius6 | ⇗ @gordo999 Thanks a lot for help! In this afternoon I make a new try for to find the value of variables direct in Ram, have a nice day Dietmar

#6217

diderius6

⇗ @FireKillerGR ⇗ @George King
I noticed, that you have the normal XP SP3 acpi.sys version 5.1.2600.5512 in the folder Sources\install.wim for XP home and also for XP professional.
This acpi.sys you have to change against the acpi.sys from post 6223 each, even I think that
the normal acpi.sys from outerspace ) at this places is enough.
For unpack you can use 7zip, for to pack I dont know, which program works.
You can make a first try to install XP without repack of install.wim
Dietmar
EDIT: Also you have to change acpi.sys against acpi.sys from outerspace ) in the folder
sources\install\1\WINDOWS\Driver Cache\i386\sp3.cab
and in
sources\install\2\WINDOWS\Driver Cache\i386\sp3.cab

#6218 | infuscomus | ⇗ @George King Can you update your XP2ESD_Builder.cmd script so I can choose which architecture I want to use? e.g - If I'm running Windows 10 x64 but I want to build an XP x86 installer.

#6219

FireKillerGR

Actually the acpi.sys file you provided helped and allowed me to proceed with the installation.
Now issue is that after installation is completed (txt and gui) I still get the A5 bsod(0X00000003 0X89CAA7F8, 0XC0000034, 0X494E495F) when trying to enter the OS
Edit: I replaced the file again after the installation and it works fine so far. Thanks!

#6220

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #6218

> @George King
> Can you update your XP2ESD_Builder.cmd script so I can choose which architecture I want to use?
> e.g - If I'm running Windows 10 x64 but I want to build an XP x86 installer.

⇗ @infuscomus No update needed, just build it, architecture detection is used for host Windows to use proper tools.
I'm also on Windows x64 and building XP 32bit modern installer [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6221

diderius6

⇗ @Mov AX, 0xDEAD
The missing (no entry) of the Magic Number 0Eh for the Baytrail videochip makes me think,
that may be all the time I look at the wrong place.
Imagine, that the modded igxpmp32.sys vers. 5449 already works for Baytrail.
I noticed, that when I change the Magic Number for the HD4000 on the Lenovo x230 laptop,
it shows EXACT the same symptoms as now for the Baytrail board.
So it can be, that hal.dll does not propagete the correct Magic Number to igxpmp32.sys.
And then even a working igxpmp32.sys has no chance
Dietmar
PS: So my question is, do you know how hal.dll gives the information from Bios about the videochip to igxpmp32.sys?

#6222

gordo999

> Zitat von ⇗ FireKillerGR im Beitrag ¶ #6219

> Now issue is that after installation is completed (txt and gui) I still get the A5 bsod(0X00000003 0X89CAA7F8, 0XC0000034, 0X494E495F) when trying to enter the OS

⇗ @FireKillerGR ...may be a dumb suggestion but can you check the folder in which you inserted acpi.sys to make sure it is the same version as the modded version? Just check the size. I am thinking that Windows file checker may have replaced it, although it shouldn't because it doesn't know about acpi.sys.
BTW...which directory did you put acpi.sys into? It's supposed to be in %windir%/System32/Drivers. The size of mine is 234 KB and I had a previous version in there of 183 KB. Note that when Windows file checker changes files, it gets the file from %windir%/System32/dllcache. There should be no acpi.sys in that directory. If there is, replace it with the modded acpi.sys.
If the installation booted with the modded acpi.sys, with no A5 BSOD, it should boot in normal mode with it.

#6223

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6207

> WinHEX can work with all RAM, also RW_Everything has some RAM operations

⇗ @Mov AX, 0xDEAD ...sorry...did not see your recommendation for Winhex. Can it do a virtual memory search for hex bytes? I have been using Active@ Disk Editor but it can only search the hard disk. It's very good when working with partitions and sectors and I have used it to trace through the MFT. It has templates that can help read the MFT.

#6224 | FireKillerGR | Will test. Thanks!

#6225

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #5986

> The DSDT from Bios 1.0 I have
> Dietmar
> ⇗ https://ufile.io/35robgkc
> Compilation successful. 0 Errors, 32 Warnings, 70 Remarks, 245 Optimizations

Bios downgraded to the v1.00.
Dsdt.aml extracted from DSDT100.dsl you provided and loaded via easy2boot method.
I always got a bsod for each acpi.sys version tried until now:
1. "0xA5 (0x03,xxx,0xC0140004,0x494E495F)" for the following versions:
- original unmodded 5512 (SHA-1: FAF1AE66CC016DD7281A1FCA53BE841B6B611106),
- acpi2015 (SHA-1: CE14072D34DE5B9D9C796073CD1BC2DBF1E04C98),
- 5048 (SHA-1: 8EF48518B17DAAC4A90632A811FBFDC8183C325B) and
- 'from outer space' (SHA-1: B1CE1C07AFB0861BCCDEC17DAF04274A3DD80C8C).
2. "0x7E (0xC05,0xB9EE62B4,0XBA53FBE8,0xBA53F8E4)" for "acpi.sys - address B9EE62B4 base at B9ED4000, datestamp 480252b1"
for your latest acpi.sys version (SHA-1: 1C240A25E8D5C10CAE67C7C03F10715802C5950D).
I got almost the same BSODs for other dsdt.aml files extracted from the bios v2.50 and using them on the same bios version (even reparsing the ssdt tables and importing the ref.txt file for the reported warnings). With some of these versions the boot is completed without issues, the oddity is that this does not happen for every boot: in the other times only the bottom of the desktop is displayed at the top of the screen.
But even when the desktop is totally or partially displayed, the restart fails anyway.
What else can I try?
P.S.: without patching the dsdt table, my boards boots correctly with all patched acpi.sys for both bios versions. XP boots also with the bios v1.00 using the original un-modded acpi.sys v5512 even if the restart remains still not working.

## Page 416

#6226 | diderius6 | ⇗ @Andalu It is a driver. Which one I do not know. Can you boot your compi in IDE mode? I have on some compis this strange problem because of graphic Dietmar
#6227 | Jevees | Hi. Does any XP drivers for modern videocards exist? Im searching for Nvidia RTX 3080 compatible driver.
#6228 | infuscomus | ⇗ @Jevees for the 3080 the best you can get now is a universal 2D driver, no 3D. If you want 3D in XP, get a 980ti or older.

#6229

Jevees

> Zitat von ⇗ infuscomus im Beitrag ¶ #6228

> @Jevees
> for the 3080 the best you can get now is a universal 2D driver, no 3D.
> If you want 3D in XP, get a 980ti or older.

Thanks. Where can i get that universal 2D driver? And are there any plans to implement 3080 support drivers?

#6230 | infuscomus | ⇗ @Jevees Here is the 2D driver - ⇗ https://bearwindows.zcm.com.au/vbemp.htm very unlikely to get the 3080 working on XP any time soon (years away if at all), so it would be best to get something like a 980ti or earlier if you need 3D in XP.

#6231

Andalu

⇗ @diderius6
IDE mode option not present in the bios.
Here all devices are disabled: onboard LAN and HD audio, serial and parallel ports. No other device is connected besides PS/2 keyboard and mouse (and onboard vga).
The same configuration in 'Uniprocessor ACPI' mode allows the normal restart.
I noticed a different behavior for the available 'mode pc' just during the XP installation, at end of the text and GUI modes when a reboot is requested:
the restart automatically works only for 'Uniprocessor ACPI' and 'Advanced Configuration and Power Interface (ACPI)' while fails for all other options (Standard PC, MPS Uniprocessor, MPS Multiprocessor and Compaq System PRO Multiprocessor or 100% compatible).
I have also tried to quit from an XP installation on a first step of the text mode setup, by pressing the F3 key just after the 'mode pc' is selected via F5 key (so just after the "setup is starting windows" screen). Even in this case, the restart behaves differently: it automatically works for Multiprocessor ACPI, Uniprocessor ACPI and Advanced Configuration and Power Interface (ACPI) while it hangs for all other modes (Standard PC, MPS Multi and Uni, Compaq, Standard PC with C-step) even by pressing the enter key.

#6232

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6221

> @Mov AX, 0xDEAD
> So it can be, that hal.dll does not propagete the correct Magic Number to igxpmp32.sys.
> PS: So my question is, do you know how hal.dll gives the information from Bios about the videochip to igxpmp32.sys?

Hi Dietmar,
I didnt track your previous posts about igxpmp32.sys, so i dont know what is "magic number". If it is series of moving constants "mov [xxx+yyy], 0xZZ" after pci_devid detection inside igxpmp32.sys, this is intel' way to store "generation" of chip. We dont know what these number means.
There is no relation with hal.dl, as i wrote before, driver read hardware registers directly from chip (memory size/ etc...)
Driver don't read chip parameters from registry (HardwareInformation.*), instead it rewrite to registry at every reboot, every videodriver does same:
"Write hw information to registry, so that it's visible in windows property dialog" (remark from virtualbox' video driver sources)
EDIT:
little info after quick reverse-engineering Win7's igdkmd32.sys driver + .pdb:

    mov     dword ptr [eax+22Ch], 2
    mov     dword ptr [ecx+228h], 2
    mov     dword ptr [edx+224h], 3

+22C generation of chip:
2 - Gen3
3 - Gen4
5 - Gen5
4,6 - Gen5
7 - Gen5_7
+228 subgeneration of chip ?:
2 - Gen3
+224 subgeneration of chip ?:
3,4,7 - Napa Family
0a,0b, ... - Gen6

#6233 | infuscomus | ⇗ @Andalu I'm just guessing here, but maybe the problem is in the halmacpi.dll? try going back to unpatched version maybe?

#6234

diderius6

⇗ @Mov AX, 0xDEAD
Nice information, thanks a lot.
So it is really on the driver igxpmp32.sys to work with Baytrail or not.
About the Magic Numbers:
Yes, they are those, but one thing is other than you think:
The last Magic Number "+224h" is different, depending on OS:
On Win7 it it always increased +1 from XP to Win7 for ALL videodrivers from Intel for the same device
Dietmar
PS: Yes, the "+228h" is for a subsystem, it is on XP and Win7 always the same for the same VGA device.
EDIT: Can a for XP working VGA driver work in Win7? Or in Vista?
This would be interesting, especially for the "Win2003" 5048 version of Vista .

#6235

diderius6

⇗ @Andalu
"the restart automatically works only for 'Uniprocessor ACPI' and 'Advanced Configuration and Power Interface (ACPI)' "
This means, that the DSDT table is involved and so is a chance with modding DSDT.
I am not good with modding DSDT.
May be ⇗ @infuscomus or ⇗ @daniel_k can help you.
The idea for modding DSDT is:
Go back to the original DSDT from very first Bios.
And delete one (not needed for boot) driver after the other there,
so you will find the cause
Dietmar

#6236

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6234

> EDIT: Can a for XP working VGA driver work in Win7? Or in Vista?
> This would be interesting, especially for the "Win2003" 5048 version of Vista .

⇗ @diderius6
win7 ddk declare legacy compatibilty "win2000 model display driver" to work on Vista (without directx 10+ features)
i dont know how it works:
- in vista display driver load dxgkrnl.sys, then win32k.sys will connect with driver and dxgkrnl.sys
- in compatibility mode video driver will not load dxgkrnl.sys and probably win32k.sys will load it or maybe avoid using of dxgkrnl.sys

#6237 | Andalu | ⇗ @infuscomus just tried the XP-IE2020.9.9 ISO with options 1,6,D (sata/ahci, acpi, remove driver packs) and only the original hal.dll v5687 in the system32 folder: nothing changed.

#6238

Andalu

⇗ @diderius6
previously I skipped to mention the behavior of the 'Multiprocessopr ACPI' mode during the XP installation:
the auto restart works at the end of the txt mode while fails at the end of the GUI setup, no other mode has this dual behavior on my board.
The only driver integrated into the XP-IE iso besides the acpi.sys is the sata/ahci.
EDIT: just installed the XP-IE2020.9.9 ISO on my sabrent NVMe drive (no other disks connected to the board) with integrated the samsung nvme driver only (and the patched acpi.sys): the restarts is still not working, so the driver sata/ahci can be excluded.

#6239 | diderius6 | ⇗ @Andalu "so the driver sata/ahci can be excluded" For to exclude Sata, you have to disable it in registry (set Start=4 there in HKLM\System\currentcontrolset\services) or rename the name of the Sata driver on \windows\system32\drivers Dietmar
#6240 | Andalu | ⇗ @diderius6 that was the first check I did as soon as the installation was completed: no sata driver file present in the system32/drivers folder

## Page 417

#6241

diderius6

⇗ @Andalu
Can you disable in Bios the Hpet timer?
Can you disable all sleeping states, only C1 not?
Can you disable the onboard graphikcard?
Make also try to disable "save to Ram"
Dietmar

#6242 | Jevees | I'm searching for acpi.sys x64 for Z490 to instal windows XP x64. Are there any ? Edit: nvm found it, works perfect
#6243 | juk777 | Hello, everyone! And why there are no statistics on configurations (Intel and AMD) "motherboard + cpu" with a successful installation of XP and with a specific version of acpi? This would make life much easier for people who, for example, want to buy new hardware to install XP...

#6244

Andalu

⇗ @diderius6
I keep trying with the NVMe as system drive, no sata disks connected.
No success even disabling all the suggested settings one at a time or simultaneously. For the vga section the options are onboard, PCI express and PCI, so no "disabled" options available.
I have tried once again with a vga card but on restart the monitor turns off while the motherboard still remains on (CPU fan keeps spinning) and the OS frozen as always.
I have changed the setting of almost all bios options with no results. If it is a bios-related issue, shouldn't it also occur in uniprocessor acpi mode? (also reducing the number of cpu cores to 1 in the bios didn't help).

#6245

diderius6

⇗ @Andalu
"I have tried once again with a vga card but on restart the monitor turns off"
Try another VGA card.
I remember from Windows Embedded, that there was a program,
that force XP to shut down, but I dont remember the name, may be it was tool from XP itself
Dietmar

#6246

diderius6

⇗ @Mov AX, 0xDEAD
How can you see in running Vista or Win7, if you run a driver XDDM which was compiled with the Win7 DDK with
"legacy compatibilty "win2000 model display driver" settings,
or if the driver is compiled "normal" WDDM for 6.1 Win7 or higher
Dietmar

#6247

Jevees

I've successfully instaled XP x86 to my Z490 motherboard, but can't install XP x64, getting 0x000000CA BSOD during second phase of the installation. I've used acpi 5048 - 2019.10.19 (Intel&AMD Final) - daniel_k as it's the latest that have x64 acpi. Was able to bypass A5 error with it. And i've used x64 AHCI driver for Asmedia ASM106x controller integrated into ISO with Nlite to bypass 7B error. I've unpluged all external devices, turn off all onboard equipment in bios. No luck, 0X000000CA PnP bsod.
Any solution to this problem ?

#6248 | infuscomus | ⇗ @Jevees Unless I'm not up to date with XP patches, there is still no solution for the CA BSOD on XP x64, it is the main reason we still recommend XP x86 over x64

#6249

Jevees

> Zitat von ⇗ infuscomus im Beitrag ¶ #6248

> @Jevees
> Unless I'm not up to date with XP patches, there is still no solution for the CA BSOD on XP x64, it is the main reason we still recommend XP x86 over x64

appreciate your help! May i also ask for Ethernet Driver for Windows 7 and XP x86 for Intel I225-V. Is it exist ? PCI\VEN_8086&DEV_15F3&SUBSYS_87D21043&REV_02\4&10ED824A&0&00E4

del-16

YuriyCN

RTC bug fix - решение проблемы с уходом времени под WinXP
Причина:
В многопроцессорных ядрах Windows XP для генерации прерываний используется таймер, который находится в модуле RTC. Когда в Windows каким-то процессом меняется интервал системного таймера (1 -> 16 -> 1 -> 16 мс), то в модуле RTC переключается делитель тактовой частоты, от выхода которого идут прерывания для подсчета системных тиков. Делитель частоты находится в Status Register A CMOS RTC (offset - 0Ah). При каждом переключении возникает ошибка подсчёта импульсов. Чем чаще переключается делитель - тем чаще возникают ошибки, что приводит к неточному ходу времени. Проблема убрана начиная с Windows Vista.
Решение №1: Программа Timer_Fix + Source Code
Программа Timer_Fix с исходным кодом, написанная на Visual Studio 6.0. Программа не имеет интерфейса, после запуска она переведет системный таймер на период 1 мс и оставит его неизменным, программа постоянно висит в процессах до перезагрузки ОС. Для завершения работы (в случае необходимости) нужно просто прибить процесс Timer_Fix.exe через "Диспетчер задач". Каких-либо косяков от использования данного метода не обнаружено.
Скачать - ⇗ https://yadi.sk/d/KpTGDPITsNWn7w
Решение №2: Патч файла ntoskrnl.exe (предложил rmn). ---- Способ оказался НЕ РАБОТАЮЩИМ.
1. Переходим в c:\windows\system32
2. Создаем копию файла ntoskrnl.exe (оригинал мы патчить не можем, потому что система блокирует доступ к своему ядру).
3. Переименовываем оригинальный файл в ntoskrnl.bak, а копию - в ntoskrnl.exe и открываем последний в CFF Explorer.
4. В Export Directory находим функцию KeQueryTimeIncrement и копируем ее Function RVA.
5. Переходим по данному rva в Address Converter и патчим байты на EB FE (инкремент времени не будет таким образом зависеть от делителя частоты таймера).
6. Сохраняем изменения и перезагружаемся.
Готовые файлы - УДАЛЕН. Способ оказался НЕ РАБОТАЮЩИМ.
==========================================================================
Windows XP mod 2021 - сборка системы для современного ПК (редакция 08.01.2021)
Вся информация в TXT файле (75кБ) - ⇗ https://yadi.sk/d/pUsunDIheystaw

#6250

Jevees

> Zitat von ⇗ Jevees im Beitrag ¶ #6249

> May i also ask for Ethernet Driver for Windows 7 and XP x86 for Intel I225-V. Is it exist ? PCI\VEN_8086&DEV_15F3&SUBSYS_87D21043&REV_02\4&10ED824A&0&00E4

Made the driver for Win7 by editing ini file from Windows10 driver. Works great. Now just needs driver for XP x86 please

#6251 | daniel_k | ⇗ @diderius6 I think you're taking the wrong approach to patch the driver. You didn't even patch the device ID check. What is the exact device ID of your Baytrail graphics? Is it similar to HD 2500?

#6252

daniel_k

> Zitat von ⇗ Jevees im Beitrag ¶ #6250

> Made the driver for Win7 by editing ini file from Windows10 driver. Works great. Now just needs driver for XP x86 please

No x86 driver exists, it's a lost cause.

#6253

daniel_k

⇗ @Mov AX, 0xDEAD

> Zitat

> Решение №2: Патч файла ntoskrnl.exe (предложил rmn)
> 1. Переходим в c:\windows\system32
> 2. Создаем копию файла ntoskrnl.exe (оригинал мы патчить не можем, потому что система блокирует доступ к своему ядру).
> 3. Переименовываем оригинальный файл в ntoskrnl.bak, а копию - в ntoskrnl.exe и открываем последний в CFF Explorer.
> 4. В Export Directory находим функцию KeQueryTimeIncrement и копируем ее Function RVA.
> 5. Переходим по данному rva в Address Converter и патчим байты на EB FE (инкремент времени не будет таким образом зависеть от делителя частоты таймера).
> 6. Сохраняем изменения и перезагружаемся.
> Готовые файлы - ⇗ https://www.upload.ee/files/12747026/RTC...oskrnl.zip.html

What do you think of this patch?

#6254

diderius6

⇗ @daniel_k
The problem seems to be the Magic Numbers.
Oh, I tried a lot but never has been a correct entry for maxmem in registry
for the Baytrail board. This means, that the Baytrail VGA is not correct recogniced by the driver.
The driver 5449 has already (!) DEV entry for 0F31h, but for some crazy reasons does not work.
But there is no text in hardware description for Baytrail in this 5449 driver, so it may be uncomplete for Baytrail.
In Win7, you can mix device ID for HD2500 or HD4000 with Baytrail as you wish,
driver works always. The hardware is nearly identic to HD2500 but with less lines (6 on HD2500, 16 on HD4000, 4 for Baytrail)
The driver ID for this Baytrail device is VEN_8086&DEV_0F31
Dietmar
EDIT: The magic numbers for HD2500 and HD4000 are 9, 9, Ch on XP
and for Baytrail 9, 7, (5?), Eh.
I check the mod of ⇗ @canonkong for win7. He does not change the Magic Numbers in the driver.
Here I upload the 2 interesting drivers for Baytrail (XP and Win7 (compiled for win2000?))
⇗ https://ufile.io/0dc2gsls

#6255

Andalu

⇗ @diderius6
even using other two different ati video cards the behavior remains the same:
- on the ati drivers (tried two versions) the monitor goes to sleep but motherboard and vga card are still on;
- without the ati drivers the system hangs on the "windows is shutting down" screen (so the monitor also remains on) as happens for the onboard vga.
I don't know that program, would it also work for the restart?
Another question: do the tables extracted (dsdt, ssdt, facs, facs, rsdt etc.) from a live system using the acpidump.exe command from the iasl compiler package remain identical even if extracted from an operating system other than XP?
⇗ @infuscomus
have you ever used easy2boot without a PCIEx video card? I'm afraid that even to load a modded dsdt table you need to use an external vga card, otherwise you can see graphic artifacts: full screen of horizontal lines or only part of the desktop being displayed as happened several times in my attempts.

## Page 418

#6256

diderius6

⇗ @Andalu
"Another question: do the tables extracted (dsdt, ssdt, facs, facs, rsdt etc.) from a live system using the acpidump.exe command from the iasl compiler package remain identical even if extracted from an operating system other than XP?"
I test this a year ago. Those tables are very similar but not identic.
So you cant change them from other OS to XP, only get ideas from them
Dietmar

#6257

infuscomus

> Zitat von ⇗ Andalu im Beitrag ¶ #6255

> have you ever used easy2boot without a PCIEx video card?

The systems I used Easy2boot on always use a dedicated PCI-E video card, I did not test on a system with an iGPU because I did not have any with drivers for XP.

> Zitat von ⇗ Andalu im Beitrag ¶ #6255

> Another question: do the tables extracted (dsdt, ssdt, facs, facs, rsdt etc.) from a live system using the acpidump.exe command from the iasl compiler package remain identical even if extracted from an operating system other than XP?

I would assume they would be the same, but I don't know for sure.

#6258

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #6254

> The problem seems to be the Magic Numbers.

No, the driver is not loaded because device ID check fails.

> Zitat

> Oh, I tried a lot but never has been a correct entry for maxmem in registry
> for the Baytrail board. This means, that the Baytrail VGA is not correct recogniced by the driver.

Because of the above, the driver gets unloaded before writing registry info.

> Zitat

> The driver 5449 has already (!) DEV entry for 0F31h, but for some crazy reasons does not work.

No, it doesn't. the 0F31h you see in the code is just a coincidence. It's used for another purpose.

> Zitat

> The driver ID for this Baytrail device is VEN_8086&DEV_0F31

You need to use the same codes for 0152/0156/015A

> Zitat

> EDIT: The magic numbers for HD2500 and HD4000 are 9, 9, Ch on XP

Correct, but it varies and they are just presets so the driver knows the device it is being in use.
Actual device checks are in at least 2 places (maybe more checks).
First check:
Maybe you can JMP directly to 10021B74, not sure. (note the JG, jmp if greater, opcodes).

    .text:10020ECB                 cmp     [ebp+var_5C4], 0C06h
    .text:10020ED5                 jg      loc_10021106
    .text:10020EDB                 cmp     [ebp+var_5C4], 0C06h
    .text:10020EE5                 jz      loc_10021CAE    ; jumptable 10021046 case 1046
    .text:10020EE5                                         ; ...
    .text:10020EEB                 cmp     [ebp+var_5C4], 406h
    .text:10020EF5                 jg      loc_10020FDE
    .text:10020EFB                 cmp     [ebp+var_5C4], 406h
    .text:10020F05                 jz      loc_10021CAE    ; jumptable 10021046 case 1046
    .text:10020F05                                         ; ...
    .text:10020F0B                 cmp     [ebp+var_5C4], 122h
    .text:10020F15                 jg      short loc_10020F5A
    .text:10020F17                 cmp     [ebp+var_5C4], 122h
    .text:10020F21                 jz      loc_10021B0A    ; jumptable 10020F53 cases 258,262,266,267,274,278
    .text:10020F21                                         ; jumptable 10020FA2 case 294
    .text:10020F27                 mov     ecx, [ebp+var_5C4]
    .text:10020F2D                 sub     ecx, 42h ; 'B'  ; switch 213 cases
    .text:10020F30                 mov     [ebp+var_5C4], ecx
    .text:10020F36                 cmp     [ebp+var_5C4], 0D4h
    .text:10020F40                 ja      def_10020F53    ; jumptable 10020F53 default case,
    cases 67-69,71-143,147-257,259-261,263-265,268-273,275-277
    .text:10020F40                                         ; ...
    .text:10020F46                 mov     edx, [ebp+var_5C4]
    .text:10020F4C                 movzx   eax, ds:byte_100230F8[edx]
    .text:10020F53                 jmp     ds:jpt_10020F53[eax*4] ; switch jump
    .text:10020F5A                 cmp     [ebp+var_5C4], 162h
    .text:10020F64                 jg      short loc_10020FA9
    .text:10020F66                 cmp     [ebp+var_5C4], 162h
    .text:10020F70                 jz      loc_10021BDE
    .text:10020F76                 mov     ecx, [ebp+var_5C4]
    .text:10020F7C                 sub     ecx, 126h       ; switch 53 cases
    .text:10020F82                 mov     [ebp+var_5C4], ecx
    .text:10020F88                 cmp     [ebp+var_5C4], 34h
    .text:10020F8F                 ja      def_10020F53    ; jumptable 10020F53 default case,
    cases 67-69,71-143,147-257,259-261,263-265,268-273,275-277
    .text:10020F8F                                         ; ...
    .text:10020F95                 mov     edx, [ebp+var_5C4]
    .text:10020F9B                 movzx   eax, ds:byte_100231D9[edx]
    .text:10020FA2                 jmp     ds:jpt_10020FA2[eax*4] ; switch jump

which should jmp to:

    .text:10021B74                 mov     eax, [ebp+arg_0] ; jumptable 10020FA2 cases 338,342,346
    .text:10021B77                 mov     dword ptr [eax+208h], 9
    .text:10021B81                 mov     ecx, [ebp+arg_0]
    .text:10021B84                 mov     dword ptr [ecx+204h], 9
    .text:10021B8E                 mov     edx, [ebp+arg_0]
    .text:10021B91                 mov     dword ptr [edx+1FCh], 0Ch
    .text:10021B9B                 mov     eax, [ebp+arg_0]
    .text:10021B9E                 mov     ecx, [eax+0DCh]
    .text:10021BA4                 or      ecx, 80000000h
    .text:10021BAA                 mov     edx, [ebp+arg_0]
    .text:10021BAD                 mov     [edx+0DCh], ecx
    .text:10021BB3                 push    offset aIntelRHdGraphi_2 ; "Intel(R) HD Graphics Family"
    .text:10021BB8                 lea     eax, [ebp+var_208]
    .text:10021BBE                 push    eax
    .text:10021BBF                 mov     ecx, [ebp+arg_0]
    .text:10021BC2                 push    ecx
    .text:10021BC3                 call    sub_1002F2D0
    .text:10021BC8                 mov     [ebp+var_478], 38h ; '8'
    .text:10021BD2                 mov     [ebp+var_469], 0
    .text:10021BD9                 jmp     loc_10021D24

Second check:

    .text:10023FA7                 cmp     dword ptr [ecx+1Ch], 152h
    .text:10023FAE                 jz      short loc_10023FC8
    .text:10023FB0                 mov     edx, [ebp+arg_0]
    .text:10023FB3                 cmp     dword ptr [edx+1Ch], 156h
    .text:10023FBA                 jz      short loc_10023FC8
    .text:10023FBC                 mov     eax, [ebp+arg_0]
    .text:10023FBF                 cmp     dword ptr [eax+1Ch], 15Ah
    .text:10023FC6                 jnz     short loc_10024017
    .text:10023FC8
    .text:10023FC8 loc_10023FC8:                           ; CODE XREF: sub_10023A60+54E\u2191j
    .text:10023FC8                                         ; sub_10023A60+55A\u2191j
    .text:10023FC8                 cmp     [ebp+var_4], 0Ah
    .text:10023FCC                 jz      short loc_10023FDA
    .text:10023FCE                 cmp     [ebp+var_4], 0Bh
    .text:10023FD2                 jz      short loc_10023FDA
    .text:10023FD4                 cmp     [ebp+var_4], 0Dh
    .text:10023FD8                 jnz     short loc_10023FF7
    .text:10023FDA
    .text:10023FDA loc_10023FDA:                           ; CODE XREF: sub_10023A60+56C\u2191j
    .text:10023FDA                                         ; sub_10023A60+572\u2191j
    .text:10023FDA                 push    offset aIntelRHdGraphi_15 ; "Intel(R) HD Graphics 2500"
    .text:10023FDF                 mov     ecx, [ebp+arg_4]
    .text:10023FE2                 push    ecx
    .text:10023FE3                 mov     edx, [ebp+arg_0]
    .text:10023FE6                 push    edx
    .text:10023FE7                 call    sub_1002F2D0
    .text:10023FEC                 mov     eax, [ebp+arg_C]
    .text:10023FEF                 mov     dword ptr [eax], 34h ; '4'
    .text:10023FF5                 jmp     short loc_10024012

#6259

diderius6

⇗ @daniel_k
Thanks for help!
At the 2 places you show above,
I tried a lot of time to jmp with DEV_0F31, but it does not work.
When I change the Magic Number for the DEV_0166 device to 9, 5, Eh on the Lenovo x230 board,
exact the same symptoms are shown as for the 0F31, the device is not reconiced any longer.
So, the Magic Numbers are important and the correct numbers seem to be needed for the next steps
When you change them from 9, 9, 0Ch => 9, 5, 0E as seen on the win7 settings for the Baytrail device,
it does not work either
Dietmar

#6260

daniel_k

⇗ @diderius6
Do you understand the code flow?
First check, at

    .text:10020ECB                 cmp     [ebp+var_5C4], 0C06h

change to

    .text:10020ECB                 jmp     loc_10021B74

Second check, at

    .text:10023FAE                 jz      short loc_10023FC8

change to

    .text:10023FAE                 jmp     short loc_10023FDA

#6261

Andalu

⇗ @diderius6 ⇗ @infuscomus
I asked about the tables and the different OSes because I noticed a strange (for my limited knowledge) behavior:
the tables extracted from Win10 x64 via iasl20210105 (*.dat files) are identical (same SHA-1) to the ones extracted in XP Multiprocessor ACPI via RWeverything (*.raw files) except only one, the ssdt4 table. Instead, using the same iasl version in Win10 x32, the different tables are eight
In a very simplistic way, I tried to load the ssdt4.aml (obtained via 'iasl -d ssdt4.dat' and 'iasl -f ssdt4.dsl' commands) from Win10 x64 in XP with the easy2boot method and on restart I got the "new hardware recognized" screen about a "ACPI\INT0E0C\2&DABA3FF&0" device for which the system has automatically found the related driver.
But also this time the restart failed.
Edit: I forgot to mention the description for the new device: 'Software Guard Extensions' which is disabled in the bios.

#6262

diderius6

⇗ @daniel_k
I did the changes from you,
but still the same behavior, the VGA device is not recogniced.
I am quite sure, that it is because of wrong Magic Numbers.
Now they are 9, 9, 0Ch
but for Baytrail they should be
9, 5(7?), 0Eh
Dietmar
⇗ https://ufile.io/3zxif4z7
PS: Entries in registry Service ialm for example for maxmem are still missing.

#6263

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #6253

> @Mov AX, 0xDEAD

> > Zitat

> > 5. Переходим по данному rva в Address Converter и патчим байты на EB FE (инкремент времени не будет таким образом зависеть от делителя частоты таймера)

> What do you think of this patch?

⇗ @daniel_k
I dont loaded these files yet, but EB FE is hard joke, probably mistake in post
EDIT: this is real joke:
1) infinite loop
2) return in eax random trash
3) opcode inserted in relocation offset, after loading kernel to 0x8xxxxx adress, "jmp" offset will be overrided

#6264

diderius6

⇗ @daniel_k
I change in *.inf
the 0F31 entry back to its original one
%iIVBGD0GT1% = iIVBD0, PCI\VEN_8086&DEV_0152
Now I get BSOD 0x7E (C00000005, xxx, yyy, zzz)
exact as in the beginning of my tries for the Baytrail driver
Dietmar
EDIT: I find with Ida pro the place in igxpmp32.sys where this Bsod happens

>     .text:10188080 ; =============== S U B R O U T I N E =======================================
>     .text:10188080
>     .text:10188080 ; Attributes: bp-based frame
>     .text:10188080
>     .text:10188080 sub_10188080    proc near               ; DATA XREF: sub_10187750+183↑o
>     .text:10188080
>     .text:10188080 var_1           = byte ptr -1
>     .text:10188080 arg_0           = dword ptr  8
>     .text:10188080 arg_4           = byte ptr  0Ch
>     .text:10188080
>     .text:10188080                 push    ebp
>     .text:10188081                 mov     ebp, esp
>     .text:10188083                 push    ecx
>     .text:10188084                 mov     [ebp+var_1], 0
>     .text:10188088                 mov     al, [ebp+arg_4]
>     .text:1018808B                 push    eax
>     .text:1018808C                 mov     ecx, [ebp+arg_0]
>     .text:1018808F                 mov     edx, [ecx+0F6Ch]
>     .text:10188095                 push    edx
>     .text:10188096                 mov     eax, [ebp+arg_0]
>     .text:10188099                 mov     ecx, [eax+0F6Ch]
>     .text:1018809F                 call    dword ptr [ecx+54h]
>     .text:101880A2                 mov     al, [ebp+var_1]
>     .text:101880A5                 mov     esp, ebp
>     .text:101880A7                 pop     ebp
>     .text:101880A8                 retn    8
>     .text:101880A8 sub_10188080    endp
>     .text:101880A8

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sun Jan 10 23:03:54.015 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     nt!DbgBreakPoint:
>     80ac37e0 cc              int     3
>     kd> g
>     MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
>     MM: Loader/HAL memory block indicates large pages cannot be used for 80F86000->81CDEFFF
>     MM: Disabling large pages for all ranges due to overlap
>     PS: Unhandled Kernel Mode Exception Pointers = 0xB9D16E5C
>     Code c0000005 Addr 00000000 Info0 00000008 Info1 00000000 Info2 00000000 Info3 00000000

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x00000000,0xB9D17310,0xB9D1700C)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sun Jan 10 23:04:25.812 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ...............................................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, 0, b9d17310, b9d1700c}

>     *** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for VIDEOPRT.SYS -
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     Probably caused by : igxpmp32.sys ( igxpmp32+1880a2 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     0: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: 00000000, The address that the exception occurred at
>     Arg3: b9d17310, Exception Record Address
>     Arg4: b9d1700c, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640

>     EXCEPTION_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung in "0x%08lx" verweist auf
>     Speicher in "0x%08lx". Der Vorgang  "%s" konnte nicht auf dem Speicher
>     durchgef hrt werden.

>     FAULTING_IP:
>     +1562faf009bdfc0
>     00000000 ??              ???

>     EXCEPTION_RECORD:  b9d17310 -- (.exr 0xffffffffb9d17310)
>     ExceptionAddress: 00000000
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000008
>        Parameter[1]: 00000000
>     Attempt to execute non-executable address 00000000

>     CONTEXT:  b9d1700c -- (.cxr 0xffffffffb9d1700c)
>     eax=89be7000 ebx=e12731c0 ecx=89be8da0 edx=89be8da0 esi=89b260f8 edi=b9d17664
>     eip=00000000 esp=b9d173d8 ebp=b9d173e8 iopl=0         nv up ei ng nz na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010286
>     00000000 ??              ???
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     PROCESS_NAME:  System

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung in "0x%08lx" verweist auf
>     Speicher in "0x%08lx". Der Vorgang  "%s" konnte nicht auf dem Speicher
>     durchgef hrt werden.

>     EXCEPTION_PARAMETER1:  00000008

>     EXCEPTION_PARAMETER2:  00000000

>     WRITE_ADDRESS:  00000000

>     FOLLOWUP_IP:
>     igxpmp32+1880a2
>     b94b40a2 8a45ff          mov     al,byte ptr [ebp-1]

>     FAILED_INSTRUCTION_ADDRESS:
>     +1562faf009bdfc0
>     00000000 ??              ???

>     BUGCHECK_STR:  0x7E

>     LOCK_ADDRESS:  80afd6c0 -- (!locks 80afd6c0)

>     Resource @ nt!IopDeviceTreeLock (0x80afd6c0)    Shared 1 owning threads
>          Threads: 89c80b30-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0x80afd6c0
>     	Thread Count  : 1
>     	Thread address: 0x89c80b30
>     	Thread wait   : 0x141

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     WARNING: Frame IP not in any known module. Following frames may be wrong.
>     b9d173d4 b94b40a2 89be8da0 89be7000 00be7000 0x0
>     b9d173e8 b94a3bca 89be7000 00000000 00000003 igxpmp32+0x1880a2
>     b9d17408 b94cb7a2 89be5008 00be5008 b9d17430 igxpmp32+0x177bca
>     b9d17418 b9476c55 89be5008 89bf8a88 89bf8960 igxpmp32+0x19f7a2
>     b9d17430 b9440d9c 89bf44fc 00000007 b9d17454 igxpmp32+0x14ac55
>     b9d17440 b93e753c 89bf0000 00000004 89bf0000 igxpmp32+0x114d9c
>     b9d17454 b93be40e 89bf8a88 89bf8960 43544e49 igxpmp32+0xbb53c
>     b9d17510 b93c4d44 89bf8720 89bf8960 00000057 igxpmp32+0x9240e
>     b9d17524 b932ddde 89b26358 89b26358 e12731c0 igxpmp32+0x98d44
>     b9d1753c b9593fbd 89b26358 00000000 89c6d500 igxpmp32+0x1dde
>     b9d17664 b932f9cd 89b26358 00000000 00000000 igxpmp32+0x267fbd
>     b9d17684 b9327318 89b26358 00000000 00000000 igxpmp32+0x39cd
>     b9d17888 b9327c9a 89ba3308 89ba33e0 89ba33e8 VIDEOPRT!VideoPortQueryServices+0x76a
>     b9d178b4 b9321c41 89ba3308 89ba33e0 89ba33e8 VIDEOPRT!VideoPortCreateSecondaryDisplay+0x3cc
>     b9d17a20 80a21c8d 89b26040 89b69e70 89b26040 VIDEOPRT!VideoPortGetVgaStatus+0x883
>     b9d17a38 80b5e526 b9d17aa8 89c8fa48 89c6d448 nt!IopfCallDriver+0x51
>     b9d17a64 80b5e66e 89b26040 b9d17a84 00000000 nt!IopSynchronousCall+0xf0
>     b9d17aac 80a2c123 89c6d448 00000001 00000000 nt!IopStartDevice+0x82
>     b9d17ac8 80b5d2e8 89c6d448 89c19801 00000000 nt!PipProcessStartPhase1+0x9f
>     b9d17d24 80b5dbe4 89c9cb90 00000001 00000000 nt!PipProcessDevNodeTree+0x238
>     b9d17d58 80a2d0b3 89c198d8 89c80b30 80b1365c nt!PiProcessStartSystemDevices+0x70
>     b9d17d80 80ad51a9 00000000 00000000 89c80b30 nt!PipDeviceActionWorker+0x187
>     b9d17dac 80bd81ac 00000000 00000000 00000000 nt!ExpWorkerThread+0x10f
>     b9d17ddc 80ae4212 80ad509a 00000001 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  1

>     SYMBOL_NAME:  igxpmp32+1880a2

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: igxpmp32

>     IMAGE_NAME:  igxpmp32.sys

>     DEBUG_FLR_IMAGE_TIMESTAMP:  52eae6bc

>     STACK_COMMAND:  .cxr 0xffffffffb9d1700c ; kb

>     FAILURE_BUCKET_ID:  0x7E_NULL_IP_igxpmp32+1880a2

>     BUCKET_ID:  0x7E_NULL_IP_igxpmp32+1880a2

>     Followup: MachineOwner
>     ---------

>     0: kd> !DEVNODE 0 1
>     Dumping IopRootDeviceNode (= 0x89c9cb90)
>     DevNode 0x89c9cb90 for PDO 0x89c9ccd8
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89c9c760 for PDO 0x89c9c8c0
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x89c6ced8 for PDO 0x89c98de0
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "ACPI"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89c86438 for PDO 0x89c33108
>             InstancePath is "ACPI\PNP0B00\2&daba3ff&0"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89c86308 for PDO 0x89c8a1f8
>             InstancePath is "ACPI\PNP0103\0"
>             State = DeviceNodeInitialized (0x302)
>             Previous State = DeviceNodeUninitialized (0x301)
>           DevNode 0x89c861d8 for PDO 0x89c22c48
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89c8fb78 for PDO 0x89c72408
>               InstancePath is "PCI\VEN_8086&DEV_0F00&SUBSYS_00000000&REV_0E\3&11583659&0&00"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89c8fa48 for PDO 0x89c6d448
>               InstancePath is "PCI\VEN_8086&DEV_0F31&SUBSYS_0F311849&REV_0E\3&11583659&0&10"
>               ServiceName is "ialm"
>               State = DeviceNodeResourcesAssigned (0x304)
>               Previous State = DeviceNodeDriversAdded (0x303)

#6265

pappyN4

Success for Win8 generic USB3 driver for XP x64. Full credit to Mov AX, 0xDEAD for showing the way.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
WDF 1.11 is same. Some minor differences for x64 USB compared to x86.
KeInitializeSpinLock exists for x86 ntoskrnl.exe but for x64 function needs to be added in emu_extender. Also, usbd.sys also needs to be changed to use ntoskrn8. For anyone trying this, you can use a hex editor like hexplorer to change and Dependency Walker to make sure everything links together. PEChecksum.exe when finished with changes.
x86
wpprecorde8 - no change - KeInitSpinLock from ntoskrnl.exe
usb8 - no change - KeInitSpinLock from ntoskrnl.exe
ucx01000 - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8->ntoskrnl.exe
usbxhci- change to wpprecorde8 and ntoskrn8.sys - KeInitSpinlock from ntoskrn8->ntoskrnl.exe
usbhub3 - change to wpprecorde8 and ntoskrn8.sys ksecd8 usb8 - KeInitSpinlock from ntoskrn8->ntoskrnl.exe
x64
wpprecorde8 - no change - does not use KeInitSpinLock
usb8 - change to ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function
ucx01000 - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function
usbxhci - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function
usbhub3 - change to wpprecorde8 and ntoskrn8.sys ksecd8 usb8 - KeInitSpinlock from ntoskrn8:function
ksecd8 same as x86 instructions
__security_cookie does need to be changed. If you skip it, driver will BSOD on you. I used IDA free to lookup the hex position value of where the cookie is then changed to a random value

    x86
    usb8 6.2.9200.20761
    hexposition:	1600
    value:	4E E6 40 BB

    ucx01000 6.2.9200.22453
    hexposition:	14E00
    value:	4E E6 40 BB

    usbhub3 6.2.9200.21180
    hexposition:	27C00
    value:	4E E6 40 BB

    usbxhci 6.2.9200.22099
    hexposition:	2A800
    value:	4E E6 40 BB

    wpprecorde8 6.2.9200.16384
    hexposition:	1E00
    value:	4E E6 40 BB

    x64
    usbxhci 6.2.9200.22099
    hexposition:	39100
    value:	32 A2 DF 2D 99 2B

    ucx01000 6.2.9200.22453
    hexposition:	1AD00
    value:	32 A2 DF 2D 99 2B

    usb8 6.2.9200.20761
    hexposition:	2100
    value:	32 A2 DF 2D 99 2B

    wpprecorde8 6.2.9200.16384
    hexposition:	2500
    value:	32 A2 DF 2D 99 2B

    usbhub3 6.2.9200.21180
    hexposition:	32D00
    value:	32 A2 DF 2D 99 2B
    	⇗

For emu_extender, the following changes. Add KeInitializeSpinLock_k8 function, thanks Mov AX, 0xDEAD. Then modify one existing function. Changes in bold.

    void FASTCALL
    KeInitializeSpinLock_k8(
      KSPIN_LOCK* SpinLock)
    {
        *SpinLock = 0;
    }

    void
    Initialize (PUNICODE_STRING  RegistryPath)
    {
        KLOCK_QUEUE_HANDLE  LockHandle;

        g_GuardedRegionCounter = 0;

                             KeInitializeSpinLock_k8(&g_SpinWorkerRoutineArray);
        KeAcquireInStackQueuedSpinLock(&g_SpinWorkerRoutineArray, &LockHandle);
           {
            g_LastUsedWorkerRoutineArray_Entry = 0;
            RtlZeroMemory(WorkerRoutineArray, sizeof(WorkerRoutineArray));
           }
        KeReleaseInStackQueuedSpinLock(&LockHandle);

                             KeInitializeSpinLock_k8(&g_SpinCreateProcessNotifyExArray);
        KeAcquireInStackQueuedSpinLock(&g_SpinCreateProcessNotifyExArray, &LockHandle);
           {
            g_LastUsedCreateProcessNotifyExArray_Entry = 0;
            RtlZeroMemory(CreateProcessNotifyExArray, sizeof(CreateProcessNotifyExArray));
           }
        KeReleaseInStackQueuedSpinLock(&LockHandle);

    }

    ADD
    #pragma comment (linker, "/export:__C_specific_handler=ntoskrnl.__C_specific_handler")
    #pragma comment (linker, "/export:_local_unwind=ntoskrnl._local_unwind")
    #pragma comment (linker, "/export:_purecall=ntoskrnl._purecall")
    #pragma comment (linker, "/export:_snwprintf=ntoskrnl._snwprintf")
    #pragma comment (linker, "/export:_stricmp=ntoskrnl._stricmp")
    #pragma comment (linker, "/export:_strnicmp=ntoskrnl._strnicmp")
    #pragma comment (linker, "/export:_vsnwprintf=ntoskrnl._vsnwprintf")
    #pragma comment (linker, "/export:_wcsicmp=ntoskrnl._wcsicmp")
    #pragma comment (linker, "/export:_wcsnicmp=ntoskrnl._wcsnicmp")
    #pragma comment (linker, "/export:ExAcquireFastMutex=ntoskrnl.ExAcquireFastMutex")
    #pragma comment (linker, "/export:ExpInterlockedPopEntrySList=ntoskrnl.ExpInterlockedPopEntrySList")
    #pragma comment (linker, "/export:ExpInterlockedPushEntrySList=ntoskrnl.ExpInterlockedPushEntrySList")
    #pragma comment (linker, "/export:ExQueryDepthSList=ntoskrnl.ExQueryDepthSList")
    #pragma comment (linker, "/export:ExReleaseFastMutex=ntoskrnl.ExReleaseFastMutex")
    #pragma comment (linker, "/export:IoIs32bitProcess=ntoskrnl.IoIs32bitProcess")
    #pragma comment (linker, "/export:IoWMIDeviceObjectToProviderId=ntoskrnl.IoWMIDeviceObjectToProviderId")
    #pragma comment (linker, "/export:KeAcquireSpinLockRaiseToDpc=ntoskrnl.KeAcquireSpinLockRaiseToDpc")
    #pragma comment (linker, "/export:KeLowerIrql=ntoskrnl.KeLowerIrql")
    #pragma comment (linker, "/export:KeReleaseSpinLock=ntoskrnl.KeReleaseSpinLock")
    #pragma comment (linker, "/export:KfRaiseIrql=ntoskrnl.KfRaiseIrql")

CHANGED FROM

    #pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")

TO

    #pragma comment (linker, "/export:KeInitializeSpinLock=KeInitializeSpinLock_k8")

Using the x86 as guide I think i found the correct spot to make the change for x64 version for USB3.0 speed reporting fix. USBTreeView shows as (0x03 (Super-Speed))

    x86
    usbhub3 6.2.9200.21180
    hexposition:	9058
    change:	75 09 -> EB 09	(jnz -> jmp)

    x64
    usbhub3 6.2.9200.21180
    hexposition:	A44B
    change:	75 0A -> EB 0A	(jnz -> jmp)

⇗ ⇗
change inf NTamd64 -> NTx86 if using for x86

    ;
    ; usbhub3.inf
    ;
    ; Copyright (c) Microsoft Corporation. All rights reserved.
    ;

    [Version]
    signature="$Windows NT$"
    Class=USB
    ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
    Provider=%Msft%
    DriverVer=05/01/2018,6.2.9200.16384

    [SourceDisksNames]
    1="Generic USB 3.0 Hub Driver"

    [SourceDisksFiles]
    usbhub3.sys  = 1
    usb8.sys    = 1
    ksecd8.sys   = 1

    [ControlFlags]
    BasicDriverOk = *
    ExcludeFromSelect = *

    [DestinationDirs]
    DefaultDestDir    = 12

    [Manufacturer]
    %GenericHub.Mfg%=GenericHub, NTamd64

    ;
    ; ---------------------- HUB3 Controllers ----------------------
    ;

    [GenericHub.NTamd64]
    %UsbHub3.RootHubDeviceDesc%=GenericHub.Install, USB\ROOT_HUB30
    %UsbHub3.Usb30HubDesc%=GenericHub.Install, USB\USB30_HUB
    %UsbHub3.Usb20HubDesc%=GenericHub.Install, USB\USB20_HUB

    [GenericHub.Install.NT]
    CopyFiles=GenericHub.CopyFiles

    [GenericHub.Install.NT.Services]
    AddService=USBHUB3, 2, GenericHub.AddService

    [GenericHub.AddService]
    DisplayName    = %UsbHub3.SVCDESC%
    ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
    StartType      = 3               ; SERVICE_DEMAND_START
    ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
    ServiceBinary  = %12%\UsbHub3.sys
    LoadOrderGroup = Base
    AddReg         = ServiceHub_AddReg

    [GenericHub.Install.NT.WMI]
    ; Set access permissions for UI WMI GUIDs
    WMIInterface = {4E623B20-CB14-11D1-B331-00A0C959BBD2},,WMIGuidSecurity_AllRights

    [ServiceHub_AddReg]
    HKR,               , BootFlags,  0x00010001, 16 ; CM_SERVICE_USB3_DISK_BOOT_LOAD
    HKR, Parameters\Wdf, LogPages,   0x00010001, 3 ; KMDF IFR size
    HKR, Parameters,     LogPages,   0x00010001, 3 ; Driver IFR size
    ;
    ; Create a dummy usbhub services key because UxD relies on it.
    ;
    HKLM, SYSTEM\CurrentControlSet\Services\usbhub,,0x00000010
    ;
    ; Fixes the power off when a safely remove hardware command was send.
    ;
    HKLM, "SYSTEM\CurrentControlSet\Services\usbhub\hubg", "DisableOnSoftRemove", 0x00010001, "1"

    [GenericHub.CopyFiles]
    usbhub3.sys
    usb8.sys
    ksecd8.sys

    ;
    ; --------------------------- Strings --------------------------
    ;

    [Strings]
    ;Non-Localizable
    Msft = "Microsoft"

    ;Localizable
    GenericHub.Mfg = "(Standard USB HUBs)"
    UsbHub3.RootHubDeviceDesc = "USB Root Hub (xHCI)"
    UsbHub3.Usb30HubDesc = "Generic SuperSpeed USB Hub"
    UsbHub3.Usb20HubDesc = "Generic USB Hub"
    UsbHub3.SVCDESC = "SuperSpeed Hub"

    ;
    ; usbxhci.inf
    ;
    ; Copyright (c) Microsoft Corporation. All rights reserved.
    ;

    [Version]
    signature="$Windows NT$"
    Class=USB
    ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
    Provider=%Msft%
    DriverVer=05/01/2018,6.2.9200.16384

    [SourceDisksNames]
    1="Generic USB xHCI Host Controller"

    [SourceDisksFiles]
    usbxhci.sys  = 1
    ucx01000.sys = 1
    WppRecorde8.sys = 1

    [ControlFlags]
    BasicDriverOk = *
    ExcludeFromSelect = *

    [DestinationDirs]
    DefaultDestDir    = 12

    [Manufacturer]
    %Generic.Mfg%=Generic, NTamd64

    ;
    ; ---------------------- xHCI Controllers ----------------------
    ;

    [Generic.NTamd64]
    %PCI\CC_0C0330.DeviceDesc%=Generic.Install,PCI\CC_0C0330
    %ACPI\PNP0D10.DeviceDesc%=Generic.Install,ACPI\PNP0D10

    [Generic.Install.NT]
    CopyFiles=Generic.CopyFiles
    ExcludeID=PCI\VEN_1B73&DEV_1000&CC_0C0330
    ExcludeID=PCI\VEN_1B73&DEV_1400&CC_0C0330
    ExcludeID=PCI\VEN_1B73&DEV_1009&REV_00
    ExcludeID=PCI\VEN_1022&DEV_43D5

    [Generic.Install.NT.HW]
    AddReg=PciD3ColdSupported.RegHW

    [PciD3ColdSupported.RegHW]
    HKR,e5b3b5ac-9725-4f78-963f-03dfb1d828c7,D3ColdSupported,0x10001,1

    [Generic.Install.NT.Services]
    AddService=USBXHCI, 2, Generic.AddService
    AddService=UCX01000,,  UCX.AddService

    [Generic.AddService]
    DisplayName    = %PCI\CC_0C0330.DeviceDesc%
    ServiceType    = 1
    StartType      = 3
    ErrorControl   = 1
    ServiceBinary  = %12%\USBXHCI.SYS
    LoadOrderGroup = Base
    AddReg         = USBXHCI.AddReg

    [USBXHCI.AddReg]
    HKR,, BootFlags,  0x00010001, 16 ; CM_SERVICE_USB3_DISK_BOOT_LOAD

    [Generic.CopyFiles]
    usbxhci.sys
    ucx01000.sys
    WppRecorde8.sys

    [UCX.AddService]
    DisplayName    = "USB Controller Extension"
    ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
    StartType      = 3                  ; SERVICE_DEMAND_START
    ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
    ServiceBinary  = %12%\ucx01000.sys
    LoadOrderGroup = Base
    AddReg         = UCX.AddService.AddReg

    [UCX.AddService.AddReg]
    HKLM,System\CurrentControlSet\Control\Wdf\Kmdf\Ucx\Versions\1\1,Service,,ucx01000
    HKR,, BootFlags,  0x00010001, 16 ;CM_SERVICE_USB3_DISK_BOOT_LOAD

    ;
    ; --------------------------- Strings --------------------------
    ;

    [Strings]
    ;Non-Localizable
    Msft = "Microsoft"

    ;Localizable
    Generic.Mfg = "Generic USB xHCI Host Controller"
    PCI\CC_0C0330.DeviceDesc="USB xHCI Compliant Host Controller"
    ACPI\PNP0D10.DeviceDesc="USB xHCI Compliant Host Controller"

Note "ExcludeID=PCI\VEN_1022&DEV_43D5" in usbxhci.inf, to avoid using driver for USB port that I already have existing vendor drivers.
Attached unmodified original sys files for x64,x86 for anyone who wants to trypappyN4 has attached files to this post

- ⇗ unmodifiedSYSfiles.rar

#6266 | daniel_k | ⇗ @diderius6 Just tried it here on my 8700K (UHD Graphics 630) using Haswell Desktop Controller preset. During install, screen flashed, driver tried to initialize. When restarting, doesn't crash, but hangs. The approach is correct, just doesn't work.

#6267

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6262

> Now they are 9, 9, 0Ch
> but for Baytrail they should be
> 9, 5(7?), 0Eh

win7/8 drivers ( igdkmd32.sys 10.18.10.5100) set 9, 5, 0F
05 setted for 2E02, 2A42, 2A42,2E22, ...
0F is unique and setted only for 0f30/0f31/0f33, this mean driver has special logic for baytrail, try to search "cmp dword ptr [eax+234h], 0Fh" and you'll see it

#6268

Mov AX, 0xDEAD

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6265

> Success for Win8 generic USB3 driver for XP x64. Full credit to Mov AX, 0xDEAD for showing the way.
> WDF 1.11 is same. Some minor differences for x64 USB compared to x86.

Hi pappyN4
Glad to see successful run win8 usb3 driver on x64, you are first man who did it with emu_extemder !
Your success inspire me to review extender code to be fully compatible with x64 XP/2003

del-17

YuriyCN

Пояснения по RTC bug
Решение №1 (программа Timer_Fix.exe + source code) - пока единственный рабочий вариант, убирающий RTC bug.
Решение №2 (с патчем ntoskrnl.exe by "rmn") оказалось не рабочим. Форумчанин "rmn" настолько уверенно его предложил, как альтернативу Timer_Fix.exe, что я, даже не проверив работоспособность, выложил его в паблик.
В итоге мы имеем проблемы:
1) бесконечный цикл
2) возврат в случайный мусор регистра EAX
3) код операции вставлен в смещение перемещения, после загрузки ядра по адресу 0x8xxxxx смещение "jmp" будет отменено
Вывод: патч ntoskrnl.exe - не работает, а пользователь "rmn" больше не заслуживает доверия.

#6269

pappyN4

Anyone using backported win7 stornvme/storport drivers able to read SMART using CrystalDiskInfo? I managed to get NVME working with OFA driver backported for server 2003 from sourceforge, but it does not show SMART.
AMD AHCI 1.2.1.402, storport 5.2.3790.4485, YES SMART
schtrom NVMe for Windows 2003 Server, storport 5.2.3790.4485, NO SMART
schtrom StorAhci for Windows 2003 Server, storport 5.2.3790.4485, NO SMART
stornvme,storport 6.1.7601.23403, ??
storahci 6.2.9200.16384, storport 6.1.7601.23403, ??
I was playing with backporting of win7 x64 driver with emu_extender to see if it would have SMART data, but have not gotten it working yet. The x86 instructions say to force legacy mode since MSI interrupts is not compatible with XP. I could not find anything online stating if XP/2003 x64 also needs to force legacy.
Flow wise it feels like sub_15B40 for x64 storport is comparable to x86 sub_1598D. But it looks different enough that I can not tell if it needs to be changed and if it does, where.

#6270 | Andalu | ⇗ @pappyN4 ¶ here some screenshots about it.

## Page 419

#6271

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #6245

> I remember from Windows Embedded, that there was a program,
> that force XP to shut down, but I dont remember the name, may be it was tool from XP itself
> Dietmar

I could not find in XP Embedded any alternative application for shutdown. I have however tried both tsshutdn and psshutdown (and their parameters set) but the restart always gets stuck in the same way.
I take this opportunity to ask you: can a dsdt table extracted from a live system, simply decompiled and recompiled without making any changes and then loaded at boot on the same system give a bsod? Could it be that the compiler (iasl) is not appropriate? If so and the restart problem was dependent on the dsdt table, I would have no hope to find a way to fix it.

#6272

infuscomus

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #6271

> can a dsdt table extracted from a live system, simply decompiled and recompiled without making any changes and then loaded at boot on the same system give a bsod?

If you're not making any changes it should not be giving a BSOD.

#6273 | Andalu | ⇗ @infuscomus unfortunately it is not so, at least for what I have noticed in my attempts. I got always the A5 bsod (0x00010007,xxx,xxx,0x00) with an unmodified dsdt.aml loaded via easy2boot method. Edit: even more weird, using an unmodded dsdt table sourced from the same board with Win10 x64, extracted and decompiled with iasl20210105 but recompiled with iasl20161222 (the only newer version that allows recompilation for that dsdt.dat), my system doesn't give bsod on the XP boot.

#6274

infuscomus

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #6273

> Win10 x64, extracted and decompiled with iasl20210105 but recompiled with iasl20161222 (the only newer version that allows recompilation for that dsdt.dat), my system doesn't give bsod on the XP boot.

Does this work consistently?

#6275

Mov AX, 0xDEAD

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6269

> I was playing with backporting of win7 x64 driver with emu_extender to see if it would have SMART data, but have not gotten it working yet. The x86 instructions say to force legacy mode since MSI interrupts is not compatible with XP. I could not find anything online stating if XP/2003 x64 also needs to force legacy.
> Flow wise it feels like sub_15B40 for x64 storport is comparable to x86 sub_1598D. But it looks different enough that I can not tell if it needs to be changed and if it does, where.

Hi PappyN4
- dont be "blind", download *.pdb from MS repository with C:\Program Files\Windows Kits\XXX\Debuggers\x86\symchk.exe and load to IDA project, no more sub_xxxx
- x86 hex patch 8B 8E 3C 01 00 00 -> B9 00 00 00 00 90 mean forcing InterruptSynchronizationMode = 0 :

    InterruptSynchronizationMode = DevExt->Miniport.PortConfiguration.InterruptSynchronizationMode;
          DevExt->Flags.InterruptsEnabled = 0;
          DevExt->MsiMode = InterruptSynchronizationMode;
          if ( InterruptSynchronizationMode )
               {
            DevExt->MSISupported = 0;
            if ( SynchronizationModel == StorSynchronizeHalfDuplex )
              DevExt->MsiMode = 1;
               }
          result = RaidAdapterConnectInterrupt(DevExt);

- PDB Ripper can extract structure offsets from *.pdb and you can see
struct _RAID_ADAPTER_EXTENSION:
enum _INTERRUPT_SYNCHRONIZATION_MODE MsiMode;// Offset=0x504 Size=0x4
unsigned char MSISupported;// Offset=0x514 Size=0x1

#6276

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #6274

> Does this work consistently?

XP boots correctly and seems to work without problems, but I didn't spend much time going into details. After loading the dsdt.aml coming from Win10 x64 via easy2boot (so this method works), on the XP boot the "Found new hardware wizard" is shown and in the device manager there are three unknown devices as from the image below:
⇗
I confirm that the dsdt table extracted, decompiled and recompiled in XP with iasl20161222 without any modification gives the A5 bsod (0x00010007,xxx,xxx,0x00).
So, if XP boots with the extracted dsdt table from Win10 x64 with the latest iasl20210105 and fails with iasl20161222 I think this latter version is no longer appropriate for use in XP.
In my case, the worst thing is that even the latest iasl version is not able to recompile the dsdt.dsl previously obtained with the same application, a contradiction....

#6277 | infuscomus | ⇗ @Andalu ACPI\INT33A2 is a wifi device and ACPI\INT344B is a GPIO controller - If there are any options in your BIOS to disable these devices can you try disabling them and see if doing that fixes the restart issue?
#6278 | Andalu | ⇗ @infuscomus No entries in the bios for both of them.
#6279 | infuscomus | ⇗ @Andalu I'm out of ideas on how to fix this restart issue
#6280 | infuscomus | ⇗ @Gelip has managed to get XP x64 working in UEFI mode without CSM - ⇗ https://www.betaarchive.com/forum/viewto...f7eeb8f#p456492 So if we can solve the most common A5, CA and 50 BSODs it would be possible to run XP x64 in UEFI on real hardware too.

#6281

Gelip

> Zitat von ⇗ infuscomus im Beitrag ¶ #6280

> @Gelip has managed to get XP x64 working in UEFI mode without CSM - ⇗ https://www.betaarchive.com/forum/viewto...f7eeb8f#p456492
> So if we can solve the most common A5, CA and 50 BSODs it would be possible to run XP x64 in UEFI on real hardware too.

I did it on real hardware: ASUS P8H61-M LE R2 (Sandy Bridge) + AMD HD7450 with GOP firmware
but I have all the official device drivers for WinXP 64-bit

#6282

Andalu

> Zitat von ⇗ infuscomus im Beitrag ¶ #6279

> I'm out of ideas on how to fix this restart issue

Me too
Maybe the problem is not related to the dsdt table... but if not here, where is the bug?
The iasl20190329 allowed to decompile and recompile the dsdt table even in XP: no error detected in both steps.
I was hoping to use the dsdt.aml coming from the ACPI Uniprocessor system (where the restart works) for the ACPI Multiprocessor (where the restart fails) but even if XP boots correctly via easy2boot, the restart issue is always there. The dsdt tables obtained from the two pc modes are identical as are the facp and rdst tables. The only different table is facs but nothing changed even switching it between the two modes.
I also extracted the dsdt table with UEFITool NE A58, decompiling and recompiling it with the same iasl20190329 but at startup always the usual A5 bsod (0x00010007,xxx,xxx,0x00). It seems better to extract a table from a live system than from a raw file.

#6283

pappyN4

Thanks for the advice Mov AX, 0xDEAD. Definitely easier to see with PDB files loaded.
⇗
820h = 0
JMP to avoid 840h set 1, 820h set 1

    x86 storport 6.1.7601.23403
    hexposition:	4E19
    change:	8B 8E 3C 01 00 00 -> B9 00 00 00 00 90
    hexposition:	4E2C
    change:	74 11 -> EB 11

    x64 storport 6.1.7601.23403
    hexposition:	156AE
    change:	8B 83 C0 01 00 00 -> B8 00 00 00 00 90
    hexposition:	156C0
    change:	74 15 -> EB 15

#6284

YuriyCN

[ENGLISH] Updated set of solutions for installing Windows XP on a modern PC from 17-jan-2021 (detailed descriptions, mod drivers, programs, ready-builds OS)
[RUSSIAN] Обновленный комплект решений по установке Windows ХР на современные ПК от 17-янв-2021г., включающий подробные описания, модернизированные драйвера, программы, готовые сборки ОС
TXT (85KB) - ⇗ https://yadi.sk/d/HcmGtGL7IJdczw

#6285

gordo999

> Zitat von ⇗ YuriyCN im Beitrag ¶ #6284

> [ENGLISH] Updated set of solutions for installing Windows XP...

⇗ @YuriyCN ...thanks for your solutions. Good work.
⇗ @YuriyCN ... спасибо за ваши решения. Хорошая работа.

## Page 420

#6286

diderius6

Hi,
does somebody know, if for the filterdriver EWF.sys exists
a 64 bit version, that can work together with XP 64 bit?
I know, that there has been ewf.sys for vista 64 bit,
but I have never seen those files.
The last version for EWF.sys from Win7 64 bit Embedded may work also,
but I also dont know from where to get those 64 bit EWF files.
Intersting is also, if there is a size limit for ram.
For XP SP3 and ewf.sys is even with hacked files a limit of 650 Mbyte ram free
Dietmar

#6287 | infuscomus | ⇗ @diderius6 I suppose it depends on whether or not there was ever an x64 version of Embedded XP.

#6288

diderius6

⇗ @infuscomus
I found this website
⇗ https://www.chiphell.com/thread-322102-1-1.html
Quick check with Dependency Walker shows some unresolved dependencies
using the win7 64 bit ewf.sys for XP 64 bit
Dietmar
PS: May be this can be solved. But I read, that there exists a Vista 64 bit ewf.sys

#6289 | infuscomus | ⇗ @diderius6 can you check if the missing dependencies are covered by ntoskrnl extender?

#6290

diderius6

There are 6 functions in ewf.sys from win7 Embedded 64 Bit,
that are missed in ntoskrnl.exe from XP SP3.
None of them is listed until now in implemented Func List v6 for XP SP3.
But maybe, that they are already implemented in XP 64 bit
ExQueryDepthSList
ExpInterlockedPopEntrySList
ExpInterlockedPushEntrySList
KeAcquireSpinLockRaiseToDpc
KeReleaseSpinLock
__C_specific_handler
I upload this ewf.sys from win7 embedded
Dietmar
⇗ https://ufile.io/zx0ar8ee
EDIT: Waaoh, I just make a check with real ntoskrnl.exe version 5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
from XP 64 SP2. NO unmatched functions, so this ewf.sys from November 2009 may work from scratch at once with XP 64 !!!

#6291

diderius6

For to test the ewf.sys from the very first win7 Embedded 64 bit on XP 64
I just set up a new XP 64 bit SP1 corporate version.
First I get acpi BSOD A5 (0x11, 0x08, yyy, zzz).
Ok, first hack on original acpi.sys.
After this I get Bsod A5 (0x02, xxx, yyy, zzz).
This is, because a device mentioned in DSDT does not like to work.
Ok, next hack.
Then I noticed, that the Firadisk USB install gives always BSOD 0x7B.
So I use normal CD install, I use the nice storahci driver from Kai Schtrom, correct storport is already in XP 64 SP1
⇗ https://sourceforge.net/projects/storahc...ows-2003/files/
now install works
Dietmar
PS: I use the (modded) original acpi.sys because I hope, that the crazy instability of XP 64 on newer hardware is gone with it.
Modded from original acpi.sys for XP 64 bit SP1
⇗ https://ufile.io/r4p0i2i8

#6292 | diderius6 | I just modded the acpi.sys and hal.dll from original XP 64 SP2. Now the timerproblem is gone and also all Acpi Bsods on my Asrock Fatalty gaming k6 board with i8700k cpu Dietmar ⇗ https://ufile.io/8qn0smia

#6293

diderius6

For the ewf.sys 64 bit from Win7 Embedded,
Dependency Walker shows, that all dependencies in XP64 SP2 are fulfilled.
A look with Windbg shows, that ewf.sys is loaded and started in XP64 SP2.
But in ewfmgr.exe from Win7 Embedded Dependency Walker shows under XP64 SP2
missing functions in msvcrt.dll from XP64 SP2. I tried the msvcrt version from Vista64 5048, but compi crashes with this Vista version.
swprintf_s
memcpy_s
strncpy_s
wcscpy_s
I would add this missing functions by myself to msvcrt.dll from XP64 SP2 , but I dont know how,
so help is welcome
Dietmar
This is the original msvcrt.dll from XP64 SP2, with the missing functions
⇗ https://ufile.io/2vkouypg

#6294 | daniel_k | ⇗ @diderius6 If Windows crashes, probably the issue is in ewf.sys. msvcrt.dll is a user mode dll, wouldn't crash your system. By the way, wouldn't be better to create a new thread for XP x64?

#6295

diderius6

⇗ @daniel_k
XP64 SP2 does not crash with ewf.sys (!).
It starts normal and I check with windbg, all is ok.
DevNode 0xfffffadce0aa7c30 for PDO 0xfffffadce0aa7e50
InstancePath is "Root\LEGACY_EWF\0000"
ServiceName is "EWF"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
But the Volume (here harddisk) is not protected.
Maybe even without ewfmgr this should be possible to get ewf to work, I think something is missed in registry for ewf.
Dependency Walker shows also, that msjava.dll is missed for ewfmgr.exe .
I dont know, which version of msjava.dll can work with XP64 SP2
Dietmar
PS: The problem with new thread is, that nobody looks there.

#6296

diderius6

Yessssssaaa,
I get ewf ram to work on XP64 SP2
Now I test, HOW much ram can be used for it, I have 32 Gbyte on this compi
Dietmar
This is the content of my ewf.reg file, this is a little bit other than in XP SP3

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
    "UpperFilters"="Ewf"
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf]
    "ErrorControl"=dword:00000001
    "Start"=dword:00000000
    "Type"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
    "Type"=dword:00000001
    "Enabled"=dword:00000001
    "CompareBeforeAlloc"=dword:00000000
    "DiskSignature"=dword:9f38d7fa
    "PartitionOffset"=dword:00100000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Enum]
    "0"="Root\\LEGACY_EWF\\0000"
    "Count"=dword:00000003
    "NextInstance"=dword:00000003
    "1"="STORAGE\\Volume\\1&30a96598&0&Signature9F38D7FAOffset100000Length1D1C05C0000"

#6297

diderius6

Ok, ram limit for EWF is around 705 Mbyte, not very impressive.
This should be 64 Bit?
May be the reason is in ntldr from XP64 SP2
Dietmar
PS: Anyway this is impressive, this XP64 SP2 running on a Western Digital hardisk with 2 Tbyte.
From feeling with EWF ram enabled, it is the fastest OS ever;))..
⇗

#6298

diderius6

What is the limiting factor for ewf ram size of about 705 MB in XP64?
A try with the bootloader from Vista64 would be interesting
Dietmar
"the system page table memory is usually the limiting factor???"
How to enlarge that?
Specifically 64-bit has a maximum memory size of 128GBs for PTEs while 32-bit Windows has a 660MB maximum for PTEs.

#6299

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #6298

> What is the limiting factor for ewf ram size of about 705 MB in XP64?

Test the EWF RAM limits on Embedded 7 just to be sure.

#6300 | diderius6 | ⇗ @daniel_k I look about EWF RAM limits on Embedded 7, found only "the system page table memory is usually the limiting factor" ;)) Dietmar

## Page 421

#6301

diderius6

I found the tool
EWFAdmin_1.0.0.108_Installer.exe
I can install it on XP64 SP2
but then comes message when I start it
"The procedure entry point memcpy_s could not be located in the dynamic link library msvcrt.dll ."
So, at least this function needs to be integrated in msvcrt.dll from XP64 SP2.
Just now I cant do this, but I want to learn how
Dietmar
PS: May be just a setting in registry can enlarge the usable ram for EWF ram reg .
⇗ https://rsonline.cn/webdocs/126e/0900766b8126ede9.pdf
EWFAdmin_1.0.0.108_Installer.exe
⇗ https://ufile.io/1353y6eq

#6302

diderius6

May be it is this key
No, does also not help for to enlarge ram for EWF ram reg
Dietmar

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
    "ClearPageFileAtShutdown"=dword:00000000
    "DisablePagingExecutive"=dword:00000000
    "LargeSystemCache"=dword:00000000
    "NonPagedPoolQuota"=dword:00000000
    "NonPagedPoolSize"=dword:00000000
    "PagedPoolQuota"=dword:00000000
    "PagedPoolSize"=dword:00000000
    "SecondLevelDataCache"=dword:00000000
    "SystemPages"=dword:ffffffff
    "PagingFiles"=hex(7):00,00,00,00
    "PhysicalAddressExtension"=dword:00000001

#6303 | diderius6 | It hangs, even the limit is about full 32 Gbyte? Dietmar ⇗

#6304

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6293

> I would add this missing functions by myself to msvcrt.dll from XP64 SP2 , but I dont know how, so help is welcome Dietmar

⇗ @diderius6 ...Dietmar...I have re-built IAT tables in the past but too long ago to be of help to you now. It's not that complicated. You can add functions directly to the IAT table or you can create a dll with the functions in it and insert the address of the dll in the IAT table.
Here's a good overall article on it. This is part I, look at the bottom of the article to find links to Part II, etc.
⇗ https://relearex.wordpress.com/2017/12/2...s-table-hooking

#6305

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6301

> "The procedure entry point memcpy_s could not be located in the dynamic link library msvcrt.dll ."

⇗ @diderius6 ...Dietmar...I just posted a link to an article that explains how to do it. The entry point cannot be found because it is not present in the IAT table.

#6306

diderius6

⇗ @gordo999
Thanks a lot. I try today!
Today in the afternoon I will try the same ewf.sys files on a brandnew Win7 Sp1 64 bit installation.
Interesting, if there can be used more than 705 MB for the EWF ram overlay.
Has somebody here in the forum tested this already?
There has been a discussion in a microsoft blog about the max size of the EWF ram overlay in 64 bit, but now it is deleted so there is no information about it at all. Max EWF Ram overlay with 64 bit ewf.sys should be about 128 Gbyte(!)
Dietmar
PS: If the EWF overlay in win7 64 bit also is below 1 Gbyte,
I will make a test with the ewf.sys from win8, win8.1 .. etc. under XP64 SP2.

#6307 | kukonosau | ⇗ @diderius6 Thanks for work! But new acpi.sys get BSOD on WinXPx64 on Ryzen. I used files from post #6302. I haven't Intel motherboard.
#6308 | diderius6 | ⇗ @kukonosau In the evening I try to mod for Ryzen also Dietmar
#6309 | kukonosau | ⇗ @diderius6 I will enjoyed if you can modding! Thanks if modding! Maybe, this is very fast system in the world!!! Probably, it is working fast than XPSP3x86. Do you testing mod acpi.sys now or after?
#6310 | kukonosau | ⇗ @diderius6 How to modding? I must be programmer C++? How to change system drivers? Can I learning C++ and modify Windows XP? This is probably or no?
#6311 | kukonosau | ⇗ @diderius6 This theme is interesting me. I want to be specialist, but I nothing know almost. But Windows XP is my hobby. It is my love, my soul!!!
#6312 | infuscomus | ⇗ @kukonosau To modify existing drivers you'll need to learn assembly language as well as how to use a disassembler and a debugger, and to write new drivers you'll need to learn C (not C++)
#6313 | kukonosau | ⇗ @infuscomus Existence Russian literature about assembler, disassembler and debugger? Why C++ restricted for write new drivers? Why C, but not C++? Syntax almost equal? And how long I must to learn? Diderius6 professional into assembler?

#6314

diderius6

⇗ @kukonosau
Until now we dont have a modded original acpi.sys for XP64 SP2 version
5.2.3790.3959 (srv03_sp2_rtm.070216-1710),
that works also on Ryzen.
I remember very good, that we gave up more than a year ago for this and choose the 5048 one.
But I am getting better and here is new try
Dietmar
PS: When this acpi.sys not works, please write me the exact Bsod for the Ryzen Pc.
⇗ https://ufile.io/cf67npye

#6315 | kukonosau | ⇗ @diderius6 Now, wait, please! Do you online now? I check and write for you. I be write to flash another XPx64, but with your new acpi.sys. I use YUMI program. After if doesn't work I error code write. Probably, this is error A5, how usually.

## Page 422

#6316 | kukonosau | ⇗ @diderius6 I checked new acpi.sys. Unfortunately, also BSOD with error A5. 0x000000A5 (0x0000000000002001, 0x0000000000000001, 0xFFFFFFFFC0000034, 0xFFFFFADE859DB038). The BIOS in this system is not fully ACPI compliant. And so on. But your well done that working all. Like.

#6317

diderius6

⇗ @kukonosau
Now it is exact as a year ago.
This Bsod 2001 is gone for sure with this new acpi.sys
question is, what comes then
Dietmar
⇗ https://ufile.io/d55nguzq

#6318 | kukonosau | ⇗ @diderius6 Okay, I will checking acpi.sys from #6327. I makecab ACPI.SY_ and put to folder AMD64 in distributive XPx64. After write to flash with YUMI. Wait, please...
#6319 | kukonosau | ⇗ @diderius6 I checking without compressed SP2.CAB archive and without put to him new acpi.sys. Chekcking in text mode, before 3rd restart, in our 1st start.
#6320 | diderius6 | ⇗ @kukonosau Does it mean it works? Dietmar
#6321 | kukonosau | ⇗ @diderius6 Unfortunately, no. Also error A5. But I see that every start appearance brackets new figures. 0x000000000000002 and so on...
#6322 | diderius6 | ⇗ @kukonosau Now sadly it is a dejavue from last last year. I have no idea, HOW this Bsod 0xA5 (0x02,xxx,yyy,zzz) can survive Dietmar
#6323 | kukonosau | ⇗ @diderius6 By the way, acpi.sys from post #2202 sometimes started!!! Maybe, this acpi started also with several try, I don't know. Also now I haven't file *tib, created with Acronis. Comfortable will be checking.
#6324 | kukonosau | ⇗ @diderius6 Yes, yes, yes!!! After 0x02 appearance different values after every restarting!!! Your rename their xxx, yyy, zzz.
#6325 | diderius6 | ⇗ @kukonosau Please write to me the exact full Bsod code Dietmar

#6326

kukonosau

⇗ @diderius6
My action:
1) save your new acpi.sys on Local Disk;
2) makecab acpi.sys in command line;
3) put get acpi.SY_ in extracted distribute WinXP64 (AMD64 for x64; if acpi for WinXPSP3x86 then put to folder I386);
4) with nlite create ISO file without driver (I integrated SATA AHCI early);
5) with YUMI create load flash drive WinXP64;
6) checking acpi.sys after restarting computer.
This is correctly action? I don't change acpi.sys in SP2.CAB and I don't compressed this archive and put AMD64 again.

#6327 | kukonosau | ⇗ @diderius6 I don't know how to send screenshots with full code ACPI(((
#6328 | kukonosau | ⇗ @diderius6 Last error ACPI: ***STOP: 0x000000A5 (0x000000000000002, 0xFFFFADE85B34840, 0x0000000000000001, 0xFFFFFADE85ADAC30)

#6329

kukonosau

⇗ @diderius6
A problem has been detected and windows has been shut down to prevent damage to your computer.
If this is the first time you've seen this stor error screen,
restart your computer. If this screen appears again, follow these steps:
The BIOS in this system is not fully ACPI compliant. Please contact your
system vendor for an updated BIOS. If you are unable to obtain an
updated BIOS or the latest BIOS supplied by your vendor is not ACPI
compliant, you can turn off ACPI mode during textmode setup. To do this,
press the F7 key when you are prompted to install storage drivers. The
system will not notify you that the F7 key was pressed it will stiently
disable ACPI and allow you to continue your installation.
Technical information:
***STOP: 0x000000A5 (0x000000000000002, 0xFFFFADE85B34840, 0x0000000000000001, 0xFFFFFADE85ADAC30)

#6330 | diderius6 | ⇗ @kukonosau Interesting, what this new acpi.sys will show Dietmar ⇗ https://ufile.io/meeg1fjj

## Page 423

#6331

ruthan

> Zitat

> I don't know how to send screenshots with full code ACPI(((

Just use Phone camera.

#6332

bright_light

Hi everyone,
I'm new to this forum and this is my first post.
First, I must say thank you very, very much for your amazing work, making Windows XP possible on new computers.
I've done some testing on Ryzen and Intel computers.
For Windows XP Professional x64 Edition, there is something I like to do with Nlite which seems to improve stability for me. It may or may not work for you. It's complicated process. You may need Virtual box to install windows xp there first before you transfer it to use on a real PC.
Use Nlite to modify original XP 64-bit as described below:
1. remove Multi-Processor support (you will use uniprocessor. You will install multi-processor later after you get other things working.)
2. remove support for Intel and AMD processors
3. disable System File Protection (SFC)
4. Save ISO
In Virtual box under settings you first use IDE as disk drive, install windows completely. close virtualbox, open VHD, copy all drivers USB SATA etc. and don't forget to copy modded acpi.sys. Then again start virtualbox program, go to settings, attach secondary vhd which must be SATA, enable usb3.x and set processor to at least 2 cores. Start windows machine on virtualbox once again and install multiprocessor manually from acpi.inf pointing to modded acpi.sys via device manager and all drivers USB3.0, SATA etc. Then close virtaulbox.
After that, you need to find a way of booting your VHD on real PC from your USB flash drive or HDD using something like Yummy, Grub4DOS loader or Easy2Boot with FiraDisk (or SVBus). Svbus is like FiraDisk but newer.
You don't like booting from VHD? You can try copying WINDOWS folder Program files etc. from VHD to your PC where you plan using XP but it may not work if your XP expects to be on a different drive/partition or some registry entries are pointing to a wrong location or something else is wrong.
With processor support removed you get trully portable windows-to-go-XP (without needing any registry modifications) that will boot on any PC by swapping your disk drive. If you choose to install ACPI processor functions (intelppm.sys, amdppm.sys) you have to modify registry to get windows-to-go feature.
Make Windows XP to go (with processor support) by adding this to registry:
-----------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\intelppm]
"Start"=dword:00000003
-----------------------------------------------------------------------------
Anyway you may skip virtualbox installation process and go directly with installing on real PC. In that case you must integrate all necessary drivers USB, SATA etc. I hope it works for you.

#6333 | daniel_k | ⇗ @diderius6 acpi.sys 6666 supports all ACPI 2.0 opcodes. Unless someone does the same for x64, it won't work.
#6334 | infuscomus | ⇗ @daniel_k Hopefully ⇗ @Mov AX, 0xDEAD can share how he did it?
#6335 | infuscomus | ⇗ @bright_light we already have XP via live USB support up and running - ⇗ @diderius6 got it working and ⇗ @Outbreaker made a script to replicate it.

#6336

diderius6

⇗ @daniel_k
Do you think, that the Bsod 0xA5 (0x02, xxx, 0x01, yyy)
happens because of unknown words from Acpi2.0 in DSDT table?
For me it is soso strange, that we cant jmp over this Bsod. I did it for all places with 0x02, not enough?
I thought, that this Bsod happens, because acpi.sys cant work together with some devices from DSDT.
What do those 2 lines tell
cmp cs:PciInterfacesInstantiated, 0
jz...
? Can you force this with jmp (EB) even cmp cs:PciInterfacesInstantiated, 0 is not true (is it then 1?).
May be, that we do not know the reason until now, why the acpi.sys from XP64 fell on Ryzen,
because on Intel with hack against Bsod 0xA5 (0x02, xxx, 0x01, yyy) it works.
Is there a chance via the numbers for xxx and yyy to find in memory, which device belongs to this
Dietmar
From Microsoft Bsod 0xA5 (0x02, xxx, 0x01, yyy)
xxx: The ACPI extension for the PCI bus
0x01
yyy: A pointer to the QUERY_RESOURCE_REQUIREMENTS IRP
ACPI cannot convert the BIOS' resource list into the proper format.
This probably represents an error in the BIOS' list encoding procedure.

#6337 | bright_light | diderius6 The ACPI you made back in 2019 seems to work fine on XP x64 on Ryzen PC. 415kb in size. not one 315kb. 415kb is the only one that is working.

#6338

diderius6

⇗ @kukonosau ⇗ @daniel_k
Crazy, after intensive compare with the 32 bit acpi.sys
I found 2(!) new places for Bsod A5 (0x02,xxx,0x01,yyy) in the 64bit acpi.sys .
Crazy hard job to "correct" them all.
But now, this is the best modded from original XP64 SP2 acpi.sys
Dietmar
⇗ https://ufile.io/8fqhmws2

#6339 | diderius6 | Hm, with the acpi.sys above compi hangs. So, new one for XP64 SP2, compi hangs not and works at least in Safe Mode F8 Dietmar ⇗ https://ufile.io/g9h11z3a
#6340 | kukonosau | ⇗ @diderius6 ACPI from post #6349 freeze on setup in starting Windows, but not BSOD. I haven't installed Windows XP SP2 x64 with Acronis and I haven't opportunities check acpi in safe mode.
#6341 | kukonosau | ⇗ @diderius6 Sometime appeared BSOD error 0x01E. But often ACPI freeze in setup is starting Windows.

#6342

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #6313

> Existence Russian literature about assembler, disassembler and debugger? Why C++ restricted for write new drivers? Why C, but not C++?

⇗ @kukonosau ...C is an easier, lower-level language than C++, which is object-oriented and needed for more complex programming of larger systems. There is no need for C++ when C will do a job perfectly well.
If you reverse engineer code you will soon see the difference. A C++ app is full of unrelated code you need to recognize but it's not nearly as bad as some of the bloatware you'd find in apps written in Delphi or MFC C++. In my day, there were no PDB files for MFC dlls and the code appeared to be a massive jungle.
Many of the answers you need are in this blog thread. Start reading at the beginning to see the original problems, then see how they were overcome. Some of the modders, like ⇗ @daniel_k have done it by code analysis using IDA, and studying the Intel manuals to see how the hardware devices work.
How long? My specialty is in reverse engineering and I have contributed nothing to this blog. I learned reverse engineering by 'doing it'. There are no shortcuts, you start at the beginning with simple assembly code problems and by doing the jobs you learn more and more each time. You learn how to use debuggers (windbg, Ollydbg, x64dbg), disassemblers (IDA), and other tools that help you analyze the assembly code (LordPE, etc.).
You read a lot. When I started there was no Internet. All we had were 1200 bps modems and BBSs (Bulletin Board Services). The state of the art communication protocol was eventually Z-modem which was like standing still compared to the Internet speeds of today. Even at that, if you wanted information you searched for it and you found it through tutorials. You found tools as well but you took chances because you did not know if it contained a virus. I will say this about hackers and crackers, most I have encountered were honest people who had no interest in harming anyone's system. I have never had a virus from any hacker/cracker site.
Or you do it with a lot of hard work as daniel_k, diderius, and infuscomus, have done. Mov Ax Dead is in another class. He has a very good understanding of programming and reversing techniques, as well as a good understanding of how Windows works.
If you have a strong desire to learn, use your desire to motivate you. I started decades ago because software I had purchased had a very simple form of protection to prevent you copying a floppy disk. I needed a copy so I started researching how to defeat the protection. I had very limited experience with assembly language from my work as an electronics/computer technician. That helped, but what really helps is being able to persevere through frustration when you know nothing about a problem and why it is happening.

#6343 | kukonosau | ⇗ @gordo999 Thanks. I continue learning C++. My level is beginning, or started. Maybe, junior. While I learning C++ assembler is restricted for me. Correctly? May I go learning C++, but not Python, Pascal and simple/usually C? My C++ level is junior. I know arithmetical operations only and arrays. Cycles and input/output little.

#6344

diderius6

⇗ @kukonosau
get a working copy of Winhex and Ida pro.
Ida 6.1 64 bit is very good for XP.
And Winhex I have version 11.9 from 2003 I think, but works for nearly everything.
Then take a look with Ida Pro at the original acpi.sys and a modded one.
At once you will understand what changes and how
Dietmar

#6345 | kukonosau | ⇗ @diderius6 Thanks. Sometime I save IDA 7 Freeware and see many figures. I don't understand. Many changes was. May I seeing Ida without learning C++?! It is have semantics?

## Page 424

#6346 | kukonosau | ⇗ @diderius6 I want wish you good luck in modify acpi.sys for XPx64. This is hardest work, I think. Your old acpi.sys from post #2202 working in our installations, but not always working and crash randomally with different BSOD's.
#6347 | kukonosau | ⇗ @diderius6 Influence acpi.sys on perfomance? For example gaming perfomance?
#6348 | diderius6 | ⇗ @kukonosau Under XP64 there is no possiblility to install without acpi. On XP SP3 there is and on Ryzen it helps a lot, because you can use Multiprocessor only via acpi Dietmar PS: You have post.
#6349 | kukonosau | ⇗ @diderius6 What am I doing?
#6350 | kukonosau | ⇗ @diderius6 Incorrect password.
#6351 | diderius6 | ⇗ @kukonosau You need 7zip for to unpack Dietmar
#6352 | kukonosau | ⇗ @diderius6 I have 7-zip. Incorrect password.
#6353 | diderius6 | ⇗ @kukonosau The file is damaged, I upload it new Dietmar
#6354 | kukonosau | ⇗ @diderius6 Okay, I understand. File is damaged, file include errors.
#6355 | kukonosau | ⇗ @diderius6 But, probably, I can't modify acpi.sys XPx64 for Ryzen if I will be equal standard acpi XPx86 and modify your acpi XPx86.

#6356

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #6334

> Hopefully @Mov AX, 0xDEAD can share how he did it?

Hi infuscomus,
"old way" - assembler implants from acpi.sys w7 to acpi.sys, i dont recommend repeat it again if you dont have enough time, too complex.
what about longhorn v5048 acpi.sys x64 ? does it totaly fails on xp x64 ?

#6357

diderius6

I just make a test with the EWF filter from win7 embedded Standard under win7 64 bit.
Behavior is a little bit strange:
EFW filter works normal up to an occupied memory of about 2.3 Gbyte.
Then, the cache is grown up, but very slow. So I succeed with 6 Gbyte but this not nice for use,
so only 2.3 Gbte.
Dont know, why XP 64 only allows about 705 MByte with this EWF filter from Win7.
Dietmar
PS: May be ewf.sys from win8 or above is better.

#6358 | infuscomus | ⇗ @Mov AX, 0xDEAD can we do an acpi2.0 implementation properly using the source code instead? or manual assembly edit is the only way?

#6359

diderius6

⇗ @Mov AX, 0xDEAD ⇗ @infuscomus
I just take a look at the acpi.sys from outerspace ) for the acpi2.0 word "Tointeger" implementation.
At once you get a feeling how much work this is.
The modded 5048 Vista 64 acpi.sys works so lala on newer Intel boards, network is unstable on Intel controllers
and is maximal unstable (unusable) on Ryzen platform.
The advantage in a transforming of a XP64 acpi.sys to full Acpi2.0 would be, that now all variables are 64 bit also.
Not so easy to answer the question, if it is worth.
I succeed with small mod on the acpi.sys from XP64 but only on Intel boards it works good
Dietmar

#6360 | kukonosau | ⇗ @diderius6 At the way, Vista x64 also instable working on Ryzen motherboard!!! Maybe, this is for me only?! But Vista x64 get BSOD/crash randomally!!! Windows 7 stable working, exception GTA IV. Vista sometimes get BSOD in our installation!!! Sometimes it is BSOD after select load flash drive!!! Updates integrate don't solve problem! However, I don't check Vistax86 in have BSOD. But I sure that Vista x86 crash randomally also. This is correctly?

## Page 425

#6361 | kukonosau | ⇗ @diderius6 But Windows XP x64 SP2 has more BSOD's on Ryzen than Vista x64 SP2, but no much.

#6362

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #6358

> @Mov AX, 0xDEAD
> can we do an acpi2.0 implementation properly using the source code instead? or manual assembly edit is the only way?

of couse you can do in C but ida decompiler often show code with many crossed GOTOs, sometimes very hard to understand what code do
pros of asm implants - they already done, need sometime change field offsets inside of one important structure (struct _ObjData) because win7 has different format, also need kill 64-bit integer math because this structure in XP dont have space to store high dword, this is why integers in xp acpi.sys always 32bit

#6363

Andalu

Finally the restart works correctly on my asrock B250M Pro4 also in acpi multiprocessor mode.
I had already tried changing all the components on the board except the one that turned out to be the culprit: the ps/2 keyboard that I always used to avoid usb problems during XP installation. It was the last of the things I would have thought of. The same with a usb mouse and its ps/2 adapter. Without connecting the ps/2 peripherals the restart issue disappears.
Enabling the ps/2 emulation in the bios doesn't help either: XP hangs on the boot when the logo screen appears.
I'm still wondering why the same problem doesn't occur in uniprocessor acpi mode.
Anyway, I would like to find a way to get the PS/2 ports working. Can anyone suggest where to start looking?

#6364 | daniel_k | ⇗ @Andalu Glad you have finally found the culprit. Here my input devices are all USB. USB drivers are mature and stable, if properly integrated, they work right from start during XP setup.
#6365 | Andalu | ⇗ @daniel_k there are some exceptions: on the same crazy asrock B250M board the XP-IE2020.9.9 iso (including the xHCI USB3 driver) installation from a pendrive plugged into a usb2 port gives the '0xDEADBEEF' bsod on the first step of text mode. No problem with the same pendrive plugged into a usb3 port or using the XP-IE iso without the usb3 driver even if plugged into a usb2 port.

#6366

Mov AX, 0xDEAD

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #6365

> '0xDEADBEEF' bsod

Hi Andalu
this is debug bsod of emu_extender, some check was failed and reported to user this way, numbers after '0xDEADBEEF' is hint to failed check

#6367 | Andalu | ⇗ @Mov AX, 0xDEAD here the complete code: 0xDEADBEEF (0x02, 0x8A158B20, 0x8A20D1F8,0x00). But I don't know what they mean.
#6368 | diderius6 | Hi, can somebody help me with the new ewf.sys files in Windows6.1-KB2573449-x64.msu They cant be found now in Internet Dietmar

#6369

pappyN4

Andalu's post inspired me to check again and it was the PS2 keyboard that was causing my reboots to fail (both XP32 and XP64). I had tested it before by just unplugging it and doing a restart which failed. This time, I started the computer with no PS2 at all and restart works... Restarts were working fine with Win7 and with a parted magic bootable linux ISO from 2012.
Totally would not have expected that. I would have said that a "dumber" interface like PS2 would be more compatible...
So Shutdown proceeds normally.
Restart, which sets the "Reset Register" must hang somewhere right before the soft reset... (something related with ACPI?)
Numlock turn off, "Windows is shutting down", monitor(GPU output) turns off and then nothing when a PS2 keyboard is attached...
Are the PDBs for 5048 available? x86 and x64 I had no luck trying to download from ms symbols server

#6370

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #6368

> Hi,
> can somebody help me with the new ewf.sys files in
> Windows6.1-KB2573449-x64.msu
> They cant be found now in Internet
> Dietmar

You didn't look hard enough!
⇗ http://web.archive.org/web/2020080320522...2573449-x64.msu
⇗ http://web.archive.org/web/2020080321005...2573449-x86.msu

#6371

diderius6

⇗ @daniel_k
Really crazy,
I look in web.archive also,
but I only find a list, how often this file has been downloaded..
Thanks a lot!
Dietmar
Here is the link from the translation of ⇗ @dencorso for the installation instruction of XP from ⇗ @YuriyCN
⇗ https://msfn.org/board/topic/182311-wind...comment-1194610

#6372 | pappyN4 | ⇗ @diderius6 windows6.1-kb3125574-v4-x64 has ewf.sys 1.0.1533.0
#6373 | Andalu | ⇗ @pappyN4 you can find some x86 versions here: ⇗ https://archive.org/download/somewinxpdownloads/ Edit: only now I realized that you were looking for the symbols for Vista, sorry.
#6374 | diderius6 | ⇗ @daniel_k ⇗ @pappyN4 Do you know, how to extract Windows6.1-KB2573449-x64.msu ? On Win7 SP1 64 bit I was told, that this package is not for this compi Dietmar
#6375 | pappyN4 | I use sereby Hotfix Extr4ct0r. Works nice. Then search extracted folders for *.sys or whatever

## Page 426

#6376 | daniel_k | ⇗ @diderius6 Open Command Prompt: expand -f:* Windows6.1-KB2573449-x64.msu . expand -f:* Windows6.1-KB2573449-x64.cab .

#6377

diderius6

⇗ @daniel_k
I try this command but does not work. Gives message, that no file
Dietmar
PS: Very strange, I cant put them in a folder
expand -f:* Windows6.1-KB2573449-x64.msu C:
expand -f:* Windows6.1-KB2573449-x64.cab C:
works

#6378

diderius6

The behavior of the new ewf.sys under win7 SP1 64 bit is similar as before:
Up to 2.3 Gigabyte transfer speed is ultrafast (I use copy from harddisk to protected harddisk) via Sata.
Then, transferspeed goes down between 70...7 MByte/s,
cache grows with the same speed,
but there seems no limit in ram
Dietmar

#6379 | diderius6 | This seems to be the limiting factor, how to change? See pic, "Zugesichert 3/15 GB" Strange enough, win7 64 bit SP1 home professional allows you only 16 Gbyte at all from your ram. Dietmar ⇗

#6380

pappyN4

Depending on which version of Windows 7 x64, RAM limits
Windows 7 Home Basic 8 GB
Windows 7 Home Premium 16 GB
Windows 7 Professional 192 GB
Windows 7 Enterprise 192 GB
Windows 7 Ultimate 192 GB
⇗ @diderius6 do you have PDB for 5048 acpi x86 and x64?

#6381 | diderius6 | ⇗ @pappyN4 I dont have this PDB. Crazy flight in night during editing this acpi 5048 files Dietmar

#6382

diderius6

It seems,
that also with the very laast ewf.sys vers.1533 64Bit the maximal ram overlay is limited to about 2.3 Gbyte,
in win7 SP1 64bit and the same limit for XP64.
Under XP64 can be used from this about 715 Mbyte with the newest ewf.sys 64 Bit,
under win7 SP1 64 bit the full 2.3 Gbyte
Dietmar

#6383

usa1ec

> Zitat von ⇗ diderius6 im Beitrag ¶ #6371

> @daniel_k
> Here is the link from the translation of @dencorso for the installation instruction of XP from @YuriyCN
> ⇗ https://msfn.org/board/topic/182311-wind...comment-1194610

Registration is required.
Please, upload the file to this forum.

#6384 | diderius6 | Here it is, hope that ⇗ @dencorso agrees Dietmar ⇗ https://ufile.io/dunj39qa

#6385

diderius6

I make also a try with the very last version of ewf.sys from Win7 32bit Embedded Standard for in use XP SP3,
because this ewf.sys fulfills all dependencies under XP SP3.
But very late in the bootprocess comes
Bsod CONFIG_LIST_FAILED
0x00000073 (0x00000001, 0xC000017D, 0x00000001, 0xB271CBB8)
I have never seen before.
Compi boots from an also mechanical write protected Kangaroo USB stick with single Fat32 partition.
Safe Boot (F8) shows the same. May be, that this new ewf.sys driver tries to write to disk, which is here impossible
because of write protect
Dietmar
EDIT: Yeppp, this is the reason. When I open the write protect switch on the USB stick, it boots to full XP SP3.
Nice, now I test and then I close on running XP the write protect switch;))
⇗

#6386

infuscomus

⇗ @diderius6 ⇗ @Mov AX, 0xDEAD
I did an experiment adding CreateQWordField to acpi.sys using the source code.
I would like to get this up to outerspace acpi.sys in terms of compatibility - anyone willing to help with it?infuscomus has attached files to this post

- ⇗ myacpisys.zip

#6387 | kukonosau | ⇗ @infuscomus Hello. Post #6396 include acpi.sys for XPx64? Can I testing in my machine with Ryzen 5 2600 or no? It is have semantics?
#6388 | infuscomus | ⇗ @kukonosau No sorry, this is not ready yet, it was just to show that new ACPI words could be implemented using source code.
#6389 | kukonosau | ⇗ @infuscomus Thanks. I checked now. ACPI is not compatible with x64. Probably, this is very hard work, modify acpi.sys for XPx64. I never will can modify. Diderius6 is professional, but not I.

#6390

diderius6

⇗ @infuscomus ⇗ @kukonosau
I am not professional.
I did all by myself, just try an error, nice hobby.
I am interested to build a new acpi.sys for XP64 with all the needed(!) words from acpi2.0.
Until now, I have no idea how to do this, I am just not good enough
Dietmar
PS: ⇗ @infuscomus use the 64 bit acpi.sys 5.2.3790.4099 (srv03_sp2_qfe.070612-2335) from the very last package for XP64 from 2016
5er_UpdatePack_XPx64SP2_2017-06_2.7z

## Page 427

#6391

infuscomus

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6390

> PS: @infuscomus use the 64 bit acpi.sys 5.2.3790.4099 (srv03_sp2_qfe.070612-2335) from the very last package for XP64 from 2016

I meant updating the actual C source code and compiling to match outerspace acpi.sys not editing painstakingly in assembly.

#6392

diderius6

⇗ @infuscomus
Oh, I think this is much more difficult using Source Code from XP64.
⇗ @Mov AX, 0xDEAD tells us in principle, how to do it in assembler.
But I see another problem.
Just as in case of acpi.sys from outerspace ),
there is no garantie, that such a new build acpi.sys from XP64 will work with Ryzen.
Before that, first we need to find out, why Ryzen does not work with the actual acpi.sys from XP64.
And this means hack like usual, solving one BSOD after the other on a Ryzen platform with the very new acpi.sys 5.2.3790.4099
Dietmar

#6393

diderius6

Just now I try new ewf.sys on a fresh XP SP3.
May be, that the limit of 715 MByte comes from ntldr.
Is there an already ready *.iso from XP SP3, which uses for boot winload.efi and bootia32.efi version 6.0.5219.0 from Longhorn
with boot.ini content
[boot loader]
timeout=30
NOBCD
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usenewloader
or it is enough to copy those files on a working XP SP3 on a Fat32 partition. Do I need to mod the MBR for this to get rid of ntldr at all
Dietmar

#6394 | kukonosau | ⇗ @diderius6 How you testing acpi.sys on Ryzen without Ryzen motherboard? You have helper? Why you are not professional if you experiment sucessfully? You have knowledge assembler and disassembler drivers, but I understand nothing.You are not programmer, but you disassembler drivers? Talent!!! It's very hard for me. I see Hex yesterday. Many figures and nothing understand. What is offset...
#6395 | diderius6 | ⇗ @kukonosau Most information you can get here in this forum. I just do the same for to boot XP SP3 without any ntldr. Hard job but only via this way you get better Dietmar
#6396 | kukonosau | ⇗ @infuscomus Where is last package 2016 for XPx64? And you use acpi on Ryzen or Intel motherboard? This is official package? Only I Doing Vista also, and I get BSOD!!! Updates from last version doesn't help me.
#6397 | kukonosau | ⇗ @diderius6 I nothing understand. You want to Windows XP has loader equal Windows 10? Load writer PBR if I don't mistake? Correctly I understand?
#6398 | diderius6 | Bootloader is from Vista 32 bit. I have done boot XP SP3 and delete ntldr for this, but I dont remember all steps. The idea is from ⇗ @Gelip and ⇗ @skullteria Dietmar
#6399 | kukonosau | ⇗ @diderius6 Good idea. I missed Windows Vista early, I move from Windows XP to Windows 7 sometime. I don't mark her perfomance equal Windows 7. And I don't check stable acpi in Vista 32-bit. Randomally BSOD Vista x64 on Ryzen causes ACPI, yes? But Vista often was quickly than Windows 7 on Ryzen in desktop.

#6400

diderius6

⇗ @daniel_k
I think, the Bsod 0xA5 (0x02, xxx, 0x01, yyy)
on Ryzen for the debug version of acpi.sys from XP64 SP2 5.2.3790.3959 (srv03_sp2_rtm.070216-1710)
happens at
ACPIBusIrpQueryResourceRequirements+446
and then, when reach this line, the Bsod happens
PAGE:0000000000080EDF lea edx, [r9+1] ; BugCheckParameter1
Dietmar
PS: May be you see a possibility to hack this Bsod.

#6401 | diderius6 | ⇗ @kukonosau Here is a new acpi.sys from XP64 also for Ryzen, make try Dietmar ⇗ https://ufile.io/20q6t748
#6402 | kukonosau | ⇗ @diderius6 Okay, thanks, I trying. After send message for you, okay? May I will be tester your acpi?

#6403

pappyN4

So I installed Windows 7 ps2 driver for keyboard. 6.1.7601.23403 i8042prt.sys, kbdclass.sys. Runs fine but does not fix restart issue. I did not think it would but why not try... Played with Legacy and 60/64 port USB port settings in BIOS. No luck. Does acpi have something with PNP0303 during shutdown? I cant think of anything else at the moment.
⇗ @diderius6 #6411 5.2.3790.3959 BSOD A5 (....0000002, ....AD9C16E9950,....0000001,....AD9C1FE23B0)

#6404 | kukonosau | ⇗ @diderius6 Unfortunately, BSOD A5(0x01,xxx,0x02,yyy) again.

#6405

diderius6

⇗ @kukonosau ⇗ @pappyN4
I think, for any device acpi.sys is used.
And I know the places, where this Bsod 0xA5 (0x02, xxx, 0x01, yyy) can happen,
at least there are 4 places in acpi.sys for this Bsod 0x02
but I do not succeed to solve them. The most most crazy is, that the idea for to solve this Bsod works in acpi.sys 5048 64 bit.
And it is special for Ryzen.
Really crazy. At the moment I am out of ideas
Dietmar

## Page 428

#6406 | kukonosau | ⇗ @diderius6 Any device? Bad. But thanks that not the all writing drivers, working! Maybe, you can modify your acpi from post #2202, but not original acpi? Acpi from #2202 sometimes started and crash randomally, but new acpi never started. I haven't idea also, because while I have enough knowledge about programming.
#6407 | diderius6 | ⇗ @kukonosau ⇗ @pappyN4 I make a strange mistake. So, this is new acpi.sys for XP64 Dietmar ⇗ https://ufile.io/4rhoz1f4

#6408

Mov AX, 0xDEAD

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6380

> @diderius6 do you have PDB for 5048 acpi x86 and x64?

PDBs for longhhorn betas available on MS Symbol server since v5342

#6409 | kukonosau | ⇗ @diderius6 BSOD A5 again, sorry. (0x02,xxx,0x01,yyy)
#6410 | kukonosau | ⇗ @diderius6 Very hard work. But you are tolerant! I was been resigned.

#6411

dencorso

> Zitat von ⇗ diderius6 im Beitrag ¶ #6371

> Here is the link from the translation of @dencorso for the installation instruction of XP from @YuriyCN
> ⇗ https://msfn.org/board/topic/182311-wind...comment-1194610

Thanks to DeepL, I was able to create that translation, and MSFN member gerwin has fully reformatted it and made it much more readable. If anyone here finds errors in it, please do PM me on MSFN, and I'll be glad to fix/improve it.
BTW, can one of the Russian speakers here enlighten me on a small detail? What does a "танцы с бубном" mean? Is it a "hard time"? Thanks in advance!

#6412

diderius6

Hi,
I tried to boot XP SP3 with the boot files from Vista, meaning without any ntldr.
But then comes message
\Windows\system32\ntkrnlpa.exe
0xc0000428
Windows cannot verify the digital signature for this file.
I tried bootice for to disable driver signature testing.
All does not help, also not F8 Disable Driver Signature Enforcement.
This is strange, because with the help from ⇗ @skullteria and ⇗ @Gelip I succeed with this in September 2019
Dietmar
PS: The version of the files is winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830)
from post ⇗ @skullteria 31 August 2019
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (144)

#6413

diderius6

This help file is from ⇗ @skullteria
Step 1:
- From my boot files or any Windows VIsta CD, copy boot folder and place on C:\
Step 2:
- From my boot files or any Windows Vista CD, copy bootmgr and place on C:\
Step 3:
- From my boot files, copy winload to your Windows XP installation, on Windows\System32
Step 4:
- Install EasyBCD, preferly version 1.7.2. I can upload to you. This program require .Net Framework 2.0.
Step 5:
- After install easyBCD, open the program, You will get some erros, only click "ok" and wait program start. The default entry presents on BCD are wrong for now, you need delete on "Add/Remove Entries" and add a new entry, on same page on "Add and entry" your choose on type combobox: "Windows Vista/longhorn", edit Name and choose drive. Next, click in "Add entry"
Step 6:
- In "Manage bootloader section (a button named, like Other what i talked), you see "Bootloader Installtion options", you choose "Reinstall The Vista bootloader", and click in "Write MBR". You can verify if it is ok on "Viwe Settings", if you added entry is ok.
Step 7:
- I recommend add a Ntldr based entry for fallback. For it, you back to Step 5 and instead choose "Windows Vista/Longhorn", you choose "Windows NT/2000/XP/2003", click em "Add Entry". For default, the entry has wrong partition. You need edit in "change Settings" section. There, you will see "Entry based settings", and select the entry what you already add (XP based). And after, choose "Drive" where is windows XP is installed (need ntldr and ntdetect.com placed there too) (for default, C:). Click em "Save Settings".
Final Step:
- If all ok, you will restart and on Windows Vista based entry you press "F8" and choose "Disable driver integrity checks" (or similar"). You will get BSOD A5 0x0000002. For debug it. you need back to easybcd, and edit settings on "Advanced Settings", choose Windows Vista based entry and mark "Debug boot process" and click and "Apply Settings"

#6414

diderius6

May be this strange behavior is typical for Vista. Or the whole procedure works only on Intel board z170
Dietmar
bootmgr and BCD
In Windows 2K, XP and 2K3 the three boot manager-loader files are ntldr, Ntdetect.com and boot.ini and all three are in the root of the active primary partition of the boot hard drive (the System partition). With Vista these three files have been replaced with bootmgr, BCD and winload.exe, but only bootmgr and BCD stay in the root of the system partition and winload.exe now resides in the Windows/system32 folder of the Boot partition. (Of course the system and boot partitions can be the same partition if there is no Windows dual or multiboot configured). The BCD (Boot Configuration Data) file has replaced the boot.ini file. The bootmanager function that was a part of ntldr is now carried out by bootmgr. The other functions of ntldr and those of Ntdetect.com of setting up the correct environment for Windows are now both carried out by winload.exe. The rest of the boot process remains the same, ntldr and winload are the bootloaders that start the operating system by loading ntoskrnl.exe, hal.dll and the System registry hive.
Method of Operation
In old WinNT the ntldr uses the boot.ini file to locate hard drives and partitions and a typical line for a PC/AT BIOS computer with IDE or SATA hard drives may look like this - multi(0)disk(0)rdisk(0)partition(1)\WINDOWS........ The ntldr knows from the information here that it has to go to partition number one on hard drive zero. It consults the computer's firmware (BIOS) to find out which hard drive is considered to be drive zero, then looks at the partition table on that drive to find out which partition is number one. Once it knows the location of the partition it can then find the Windows/system32 folder of the OS it has been asked to start.
In Vista the bootmgr consults the BCD file for the information it needs to find the correct drive and partition, but it does not use the firmware to find the hard drive, or the partition table to find the partition. Instead it uses the unique Disk Signature in the MBR of a hard drive and the partition offset (starting sector) of a partition.
Inside the BCD store each boot item is in its own little container (Object) and many of these Objects hold details of the disk signature of the hard drive and the starting sector of the partition where the item to be started is located. Each Object is labeled with a 32 digit alpha/numeric number called a GUID number. When bootmgr is asked to start a boot item it identifies the item's Object by its GUID number and then reads the disk signature and partition offset information that is contained in that Object. Bootmgr then scans the connected hard drives until it finds the drive with that disk signature and then jumps straight to the desired sector on that hard drive by using the partition offset information. The BIOS no longer has to be consulted to find the hard drive because bootmgr is not looking for a specific number of drive but just scanning all drives for a disk signature. The partition table on the drive does not have to be consulted because bootmgr does not need to know the number of the partition or be told where that partition is.
In some respects this new method could be seen as an improvement on how ntldr locates a drive and partition. It means that Vista is not wholly dependent on the configuration of drives and partitions remaining completely static. A change to the partition's number (by changing other partitions on the drive), or moving the position of a hard drive in the computer, will have no affect on bootmgr's ability to start any Vista OS that a BCD Object holds valid signature and offset information for. Of course bootmgr will still have to be on the boot hard drive, or even a boot floppy, but the OS itself can have its partition number changed or its hard drive moved in the machine. As long as the disk signature on a hard drive and the starting offset of the Vista partition still matches the ones in the Object, then bootmgr will find the OS. (If you are using the Vista bootmanager to dual or multiboot with an earlier WinNT OS then you will still need to update its boot.ini after configuration changes.)
Moving Vista
There is a definite downside to this new arrangement for anyone who wants to move an install of Vista to another partition or hard drive. If either the signature or offset on the drive no longer match those that were written into an Object, then bootmgr will not be able to find the bootloader and so will give the error message that "winload.exe.....is missing or corrupt". (For Windows 7 see winload.exe....is no longer missing). Of course winload.exe is in perfect working order and located where it should be within the OS, it is just that bootmgr is getting the wrong numbers from the Object on where to look for it. The information in the Object will need to be updated to correctly reflect new signature and offset details. If you are using the Microsoft bootmanager and just have a simple set up of no more than a dual or maybe triple boot then the auto-repair from the Vista DVD might do this for you, that is if you have a full Vista DVD. For the slightly more able computer user the bootrec.exe tool can be used, and for the real experts there is the command line BCDEdit.exe tool. If you are using a third-party bootmanager and your Windows installs are all independent then the DVD Auto Repair would be best avoided as it will try to configure the Windows bootmanager. (If you don't know what I mean by 'Independent' then try the guide here). How to use BCDEdit.exe to update the BCD is explained on the cloning page.
You can also find an updated article on this topic here.

#6415

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6412

> Hi,
> I tried to boot XP SP3 with the boot files from Vista, meaning without any ntldr.
> But then comes message
> \Windows\system32\ntkrnlpa.exe
> 0xc0000428
> Windows cannot verify the digital signature for this file.
> I tried bootice for to disable driver signature testing.
> All does not help, also not F8 Disable Driver Signature Enforcement.
> This is strange, because with the help from @skullteria and @Gelip I succeed with this in September 2019
> Dietmar
> PS: The version of the files is winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830)
> from post @skullteria 31 August 2019
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (144)

Digital signature checking is only available on 64-bit systems. To boot WinXP 32-bit you need 32-bit Windows Boot Manager - bootmgr, Windows Boot Loader winload.exe from Vista Beta Longhorn 5219 32-bit and boot.ini with /usenewloader option - no BCD needed.
If the partitions on the disk were created using the WinXP installer, run WinPE from DVD/ISO Win7 and execute the CMD command (Shift+F10), which will add an entry in the PBR partition to load the bootmgr file:
bootrec /fixboot
⇗ ⇗ ⇗
Of course you have to delete or rename the ntldr file to e.g. ntldr.bak
If we do not copy the winload.exe file to \WINDOWS\system32 it will be an error:
⇗
Files from Vista Beta 5219: Gelip has attached files to this post

- ⇗ winload.exe_xp32.zip

#6416 | infuscomus | Does anyone want to help update with the acpi.sys source code? or should I go it alone?
#6417 | diderius6 | ⇗ @Gelip Thanks a lot for help. I am just trying. The aim of this is to test, if the very last version of ewf.sys can give about 2.3 Gbyte ram for overlay free also on XP SP3 Dietmar

#6418

diderius6

⇗ @Gelip
I do all the steps you write,
use only your files and add entry /usenewloader to boot.ini .
With Win7 CD I wrote from its commandline X:\Sources\bootrec /FixBoot
I rename ntldr to ntldrrr.
Now I get message
BlInitializelibrary failed 0xc0000017
So, help is welcome
Dietmar

#6419

Gelip

⇗ @diderius6
Do you have WinXP on one NTFS partition? Show me what your boot.ini looks like. Temporarily rename the files and restart WinXP:

- ntldr -> ntldr_old
- bootmgr -> bootmgr.old
- winload.exe -> winload.old

If you get an error: BOOTMGR is missing. Press Ctrl+Alt+Del to restart - it means you have successfully executed the bootrec /fixboot command

#6420

Gelip

⇗ @diderius6
Delete Boot folder with BCD file from partition or add to boot.ini NOBCD parameter:

    [boot loader]
    timeout=30
    NOBCD
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usenewloader

## Page 429

#6421

diderius6

⇗ @Gelip
I set up everything new.
Exact the same message appears
BlInitializelibrary failed 0xc0000017
When I rename the files to
ntldr -> ntldr_old
bootmgr -> bootmgr.old
winload.exe -> winload.old
I get message
BOOTMGR is missing. Press Ctrl+Alt+Del to restart
Dietmar
PS: I have done this before on the Gigabyte board h110m, XP SP3 and XP64 I can boot there without any ntldr.
This is a Skylake board.
But on the Coffeelake board Fatal1ty Z370 Gaming K6 it fails with the message above.

#6422 | Gelip | ⇗ @diderius6 Are there original files in the WinXP system or are you modified acpi.sys, modded-USB, modded-AHCI etc. ???

#6423

Gelip

@diderius
I had the same error as I tried to boot WinXP 64-bit with winload.efi from Vista Beta2 5384 when I added the /maxmem switch in boot.ini:
⇗ https://www.betaarchive.com/forum/viewto...=433688#p433688
I also found this: ⇗ https://www.betaarchive.com/forum/viewto...=389728#p389728
Samuka wrote:

> Zitat

> Unfortunatly, the problem resides on Bootmgr and winload from 5048-5270 Vista builds.

#6424

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #6412

> Hi,
> I tried to boot XP SP3 with the boot files from Vista, meaning without any ntldr.
> But then comes message
> \Windows\system32\ntkrnlpa.exe
> 0xc0000428
> Windows cannot verify the digital signature for this file.
> I tried bootice for to disable driver signature testing.
> All does not help, also not F8 Disable Driver Signature Enforcement.
> This is strange, because with the help from @skullteria and @Gelip I succeed with this in September 2019
> Dietmar
> PS: The version of the files is winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830)
> from post @skullteria 31 August 2019
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (144)

I would like to see this working too. I found this interesting notes about patching winload.exe. Maybe you can patch it too. This can be very nice addition to XP2ESD

    //Disable PatchGuard - the easy/lazy way.
    //for Vista SP2 & Windows 7 (X64)
    //
    //by Fyyre (thank you Roxaz for helping me to test)
    //http://fyyre.l2-fashion.de/
    //http://twitter.com/Fyyre

    last update: 19/03/2011

    This txt file provides a general overview/outline for bypassing signature
    validation of critical system files (ntoskrnl, mainly)
    during the Vista/Win 7 boot phase.  It is documentation of the steps
    taken from start to finish, to reach the desired goal of
    removing kernel patch protection "PatchGuard" without use of a driver.
    We will call this the 'lazy/easy' way to kill PatchGuard.

    We cannot modify ntoskrnl without winload taking up issue...

    winload.exe is the Windows loader for Vista & Windows 7.  Along with this, he
    makes some verification of digital signatures and
    checking to make sure the files have not been modified.  If modification of ntoskrnl is
    detected, the result is winload *refusing*
    to boot Windows and launching a WinPE looking "Recovery Mode".

    PART I { additional }: new way for patch of winload.exe

    Function ImgpValidateImageHash - signature we locate: 8B C3 49 8B 5B 20 49 8B 73 28 49 8B 7B 30 4D 8B -- you may play with this
    one to make him smaller.  as for this patching, use of dUP2... size of not a concern.  First bytes replaced
    with xor eax, eax (STATUS_SUCCESS) .. all validations successful.

    PART I: disassembly and modification of winload.exe

    Starting from OslpMain, after loading the System registry hives(registry)... occurs a call to OslInitializeCodeIntegrity:

    .text:00000000004016C3                 call    OslpLoadSystemHive
    .text:00000000004016C3
    .text:00000000004016C8                 cmp     eax, ebx
    .text:00000000004016CA                 mov     edi, eax
    .text:00000000004016CC                 jl      loc_401A08
    .text:00000000004016CC
    .text:00000000004016D2                 mov     ecx, ebp
    .text:00000000004016D4                 call    OslInitializeCodeIntegrity <<-- =(

    .text:00000000004057E8 OslInitializeCodeIntegrity proc near

    original code -->>

    We will replace four bytes here:

    48 8B C4 53
    .text:00000000004057E8                 mov     rax, rsp
    .text:00000000004057EB                 push    rbx
    .text:00000000004057EC                 push    rbp

    with: 0B0h, 01h, 0C3h, 090h ... which produce:

    mov al, 1
    ret
    nop

    Save as winload.exe as osloader.exe (or whatever..) & correct PE checksum (LordPE and/or CFF_Explorer will do).
    Copy osloader.exe to \Windows\System32

    PART II - new BCD entry:

    bcdedit /copy {current} /d "PatchGuard Disabled"

    "The entry was successfully copied to {01234567-89ab-cdef-00ff-fff000ffffff}" <<-- GUID of new entry.  each is different!

    bcdedit /timeout 10 <<-- number of seconds to show boot menu.

    bcdedit /set {01234567-89ab-cdef-00ff-fff000ffffff} nointegritychecks 1 <<-- no validation of winload

    bcdedit /set {01234567-89ab-cdef-00ff-fff000ffffff} recoveryenabled 0
    <<-- optional... i dislike this feature, therefore disable.

    bcdedit /set {01234567-89ab-cdef-00ff-fff000ffffff} path \Windows\system32\osloader.exe

    bcdedit /set {01234567-89ab-cdef-00ff-fff000ffffff} kernel ntkrnlmp.exe (name of modified ntos... =))

    Part III: Skip Initialization of PatchGuard - - (driver not required)

    As for this .txt, and PatchGuard... we are concerned with one function KiInitializePatchGuard(*1) which is
    called by KiFilterFiberContext.
    KiInitializePatchGuard is a very large function located in the INIT section of ntoskrnl, you can easily locate him via
    two calls from KiFilterFiberContext, by examination xrefs to exported dword InitSafeBootMode, searching
    for db 20h dup(90h) + db 044h ... or 48 81 EC 58 0F 00 00 to
    name a few...

    PatchGuard does not initialize if we boot into safe mode.  So to disable we just patch one conditional jxx

    KiInitializePatchGuard:

    original code -->>
    INIT:000000014055D359 sub     rsp, 0F58h
    INIT:000000014055D360 xor     edi, edi
    INIT:000000014055D362 cmp     cs:InitSafeBootMode, edi
    INIT:000000014055D368 jz      short loc_14055D371
    INIT:000000014055D368
    INIT:000000014055D36A mov     al, 1
    INIT:000000014055D36C jmp     loc_1405600D9

    modified code -->>
    INIT:000000014055D359                 sub     rsp, 0F58h
    INIT:000000014055D360                 xor     edi, edi
    INIT:000000014055D362                 cmp     cs:InitSafeBootMode, edi
    INIT:000000014055D368                 nop
    INIT:000000014055D369                 nop
    INIT:000000014055D36A                 mov     al, 1
    INIT:000000014055D36C                 jmp     loc_1405600D9 <<-- to end of KiInitializePatchGuard

    and back to KiFilterFiberContext... and important detail:

    The first jxx in KiInitializePatchGuard must not be taken & al == 1.  When we return to KiFilterFiberContext,
    the jxx must be taken, and EBX must not be xor'd ... (unless enjoy BSOD).

    INIT:0000000140567110 loc_140567110:
    INIT:0000000140567110                 test    al, al
    INIT:0000000140567112                 jnz     short loc_140567116
    INIT:0000000140567112
    INIT:0000000140567114
    INIT:0000000140567114 loc_140567114:
    INIT:0000000140567114                 xor     ebx, ebx <<-- bad
    INIT:0000000140567114

    Anyways... nop the first jxx in KiInitializePatchGuard... save modified ntoskrnl.exe with a different name
    (i.e. ntkrnlmp.exe) ... fix checksum (PE header).
    Then copy your modified kernel to \Windows\system32 -- with bcdedit -->>

    bcdedit /set {guid-of-new-entry} kernel ntkrnlmp.exe

    When you reboot the system, loading your modified kernel should be a success... He will load without PatchGuard
    initializing, which will allow you to
    once again play in kernel mode without receiving BSOD as result...

    This could be worked into mbr bootkit code as well... this is beyond the scope of our intention.

    -Fyyre

    references:
    *1: Bypassing PatchGuard on Windows x64, by Skywing 12/1/2005

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6425 | Gelip | ⇗ @George King Yes, I did it: ⇗ https://www.betaarchive.com/forum/viewto...=445111#p445111 ⇗ https://www.betaarchive.com/forum/viewto...=445204#p445204

#6426

George King

⇗ @Gelip
Cool, I'm downloading 6.0.6001.16497/6.0.6001.16497.longhorn_beta3.070330-1720_x86fre_server-multisku_retail_en-us ISO right now to grab needed files.
I want to get rid of boot.ini. Is it possible to boot inly with bootmgr + bcd + patched winload? Are there any needed steps?[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6427

diderius6

⇗ @skullteria ⇗ @Gelip ⇗ @George King
In 3. attempt I get it to work again on the Gigabyte H110M board.
XP SP3 booted with original winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830) from Vista SP2 32 bit
as you can see on the photos. Later I rename ntldr --> ntldrrr .
I use for this only naked XP SP3 install via original CD(!) ONLY with acpi.sys from outerspace )
and the Sata driver 1006 from fernando on it.
Dietmar
PS:You need to keep the signature of the harddisk for Vista bootloader.
For this you can delete key Mounted Devices in registry HKLM\System\MountedDevices.
And then boot XP normal again before any changes.
XP searches then alone for the correct signature of its harddsik and find it and rebuild key MountedDevices.
This important step is needed and works also for ewf.sys .
In easyBCD is always a wrong letter U: for the Vista boot entry listed.
You have to store it again and again until the letter C: appears also for the vista boot entry.
Also I rewrite MBR 5 times with easyBCD. Boottime to full desktop via Western Digital black 2TB is 3 sec.
⇗
⇗
⇗

#6428

George King

> Zitat von ⇗ Gelip im Beitrag ¶ #6425

> @George King
> Yes, I did it:
> ⇗ https://www.betaarchive.com/forum/viewto...=445111#p445111
> ⇗ https://www.betaarchive.com/forum/viewto...=445204#p445204

I opened winload.exe 6.0.6001.16497 (longhorn_beta3.070330-1720) using HxD and searched for 48 8B C4 53 as you mentioned to replace it with B0 01 C3 90. I can't find it. Can please share patched files? [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6429

diderius6

I do not succeed to transfer this xp from
H110M ---> Asrock Fatalty gaming k6.
After fight with the Iastor driver I can use the bootmenue from Vista
and choosing XP via ntldr starts normal, recognicing a lot of new drivers.
But when I choose the Vista entry in the bootmenue,
it starts also normal but then hangs with black screen.
I also rebuild with easyBCD the old ntldr MBR, works.
But when I then install again the MBR for Vista,
exact the same happens as before, XP via ntldr starts
but via winload.exe hangs
Dietmar

#6430

Gelip

⇗ @George King

> Zitat von ⇗ George King im Beitrag ¶ #6426

> Is it possible to boot inly with bootmgr + bcd + patched winload?

Yes, but what for? Signature checking is only available on 64-bit Windows.
My patched files are from 64-bit beta Longhorn 2008 6.0.6001.16497, not 32-bit. In 32-bit files, nothing needs to be patched because there is no signature checking there.
⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6427

> XP SP3 booted with original winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830) from Vista SP2 32 bit

Checking signature in Windows 32-bit - WTF ???
⇗ Test Signing

#6431

skullteria

> Zitat von ⇗ Gelip im Beitrag ¶ #6430

> @George King

> > Zitat von ⇗ George King im Beitrag ¶ #6426

> > Is it possible to boot inly with bootmgr + bcd + patched winload?

> Yes, but what for? Signature checking is only available on 64-bit Windows.
> My patched files are from 64-bit beta Longhorn 2008 6.0.6001.16497, not 32-bit. In 32-bit files, nothing needs to be patched because there is no signature checking there.
> @diderius6

> > Zitat von ⇗ diderius6 im Beitrag ¶ #6427

> > XP SP3 booted with original winload.exe 6.0.6002.18005 (lh_sp2rtm.090410-1830) from Vista SP2 32 bit

> Checking signature in Windows 32-bit - WTF ???
> ⇗ Test Signing

No, Digital Certificate Signature for kernel files is required on x86 too. winload must be patched on if you use a original kernel, i have a method to work without patch winload

#6432 | diderius6 | ⇗ @skullteria "i have a method to work without patch winload" Please tell how. And can you boot via this methode also brandnew motherboards, with the files from Vista SP2 Dietmar

#6433

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #6432

> @skullteria
> "i have a method to work without patch winload"
> Please tell how.
> And can you boot via this methode also brandnew motherboards, with the files from Vista SP2
> Dietmar

I think we still need to patch winload if we want to patch kernel to support more RAM.
I see there is function _ImgpValidateImageHash like in mentioned document I posted on previous page. I'm not able to patch it..
Also I have modded BCD to have 2 options - Legacy using ntldr + boot.ini and new option for winload. Here is whole set of files - Vista SP2. All other 23 languages should be added too.
Can you patch winload?
Btw, this cannot solve kernel and hal detection... For this purpose is still needed Longhor NTLDR + boot.ini with /detectHAL and dtecthal.inf inside Windows\inf
EDIT: Here are some useful informations, patching winload seems like only one perfect solution

    https://www.iasj.net/iasj/download/40eb00455c0a5a1f

EDIT2: DetectHAL can be set by BCD

    https://www.geoffchappell.com/notes/windows/boot/bcd/osloader/detecthal.htm

George King has attached files to this post

- ⇗ newloader.zip

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6434

diderius6

I take a look,
why this bootmethode not works until now on Coffeelake board Asrock z370 Fatalty k6.
I identify
PFN_LIST_CORRUPT
Bsod 0x0000004E (0x0000008F, 0x00000FB1, 0x0008E6B1, 0x00000000)
Never seen before
Dietmar
PS: It depends not on memory size. I change the 32 Gbyte against the 4 Gbyte stick form the H110M board, same Bsod.
⇗ https://docs.microsoft.com/en-us/windows...fn-list-corrupt
It is in zeropage.c

    PageFrame = MmFreePageListHead.Flink;
                    ASSERT (PageFrame != MM_EMPTY_LIST);

                    Pfn1 = MI_PFN_ELEMENT(PageFrame);

                    NewPage = MiRemoveAnyPage(MI_GET_COLOR_FROM_LIST_ENTRY(PageFrame, Pfn1));
                    if (NewPage != PageFrame) {

                        //
                        // Someone has removed a page from the colored lists
                        // chain without updating the freelist chain.
                        //

                        KeBugCheckEx (PFN_LIST_CORRUPT,
                                      0x8F,
                                      NewPage,
                                      PageFrame,
                                      0);
                    }

#6435

diderius6

I succeed to enable the very last ewf.sys from win 7.1 bit32 Version 1.0.1533.0 (win7sp1_ldr.160325-0600)
with XP SP3.
No matter, if you use Vista boot with winload.exe or classic ntldr,
the limit of ram overlay is always about 719 MByte.
But this new ewf.sys seems to be more stable than the ewf.sys from XP embedded.
And this ewf.sys from win7 Bit32 still works together with ewfmgr.exe from XP Embedded.
For to make it work under XP SP3, you have to build a new ewf.reg
and you need to put in your correct "DiskSignature" and "PartitionOffset".
The old ewf.reg from XP Embedded does not work any longer. Because now the disksignature and the partitionsoffset
have to be given. I have no idea how this can work any longer with floppy or other changeable media without those values.
The old ewf.sys from XP Embedded can(!) work with changeable medium.
For to start, you have to change "Enabled"=dword:00000000 ---> "Enabled"=dword:00000001
Dietmar
⇗ https://ufile.io/jx84ajtd

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
    "UpperFilters"="Ewf"
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf]
    "ErrorControl"=dword:00000001
    "Group"="System Bus Extender"
    "Start"=dword:00000000
    "Type"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
    "Type"=dword:00000001
    "ArcName"="multi(0)disk(0)rdisk(0)partition(1)"
    "Enabled"=dword:00000000
    "CompareBeforeAlloc"=dword:00000000
    "DiskSignature"=dword:db4c1922
    "PartitionOffset"=dword:00100000

## Page 430

#6436

Mov AX, 0xDEAD

> Zitat von ⇗ dencorso im Beitrag ¶ #6411

> What does a "танцы с бубном" mean? Is it a "hard time"?

"танцы с бубном" = "shaman dance" - making something unfinished/untrivial/bugged/incompatible to work well

#6437

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6434

> I take a look,
> why this bootmethode not works until now on Coffeelake board Asrock z370 Fatalty k6.
> I identify
> PFN_LIST_CORRUPT

⇗ @diderius6 ...could this have something to do with PAE? Don't know if this helps, some of it is on Chinese. However, it references some windbg commands related to memory.
⇗ https://www.programmersought.com/article/44473588910/
Another link with references to windbg usage for memory.
⇗ http://www.cs.umd.edu/~waa/412-F10/Lab3.pdf

#6438

diderius6

⇗ @gordo999
This Bsod PFN_LIST_CORRUPT is a really strange error.
The place is in C-Code, where I write above.
It seems to happen on nearly all newer motherboards,
but not always on all.
It happens only with the use of the Vista SP2 bootloader.
I read, that somebody thinks it can be because of corrupt ram.
This is not true, XP SP3 booted via ntldr never shows this behavior
Dietmar

#6439

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6438

> I read, that somebody thinks it can be because of corrupt ram.
> This is not true, XP SP3 booted via ntldr never shows this behaviorDietmar

⇗ @diderius6 ...corrupt RAM is unlikely if it only happens during certain procedures. If you have multiple memory cards you can swap them around. If their is corruption the symptoms will change. If the corruption is in the first board into which the OS is loaded, you will likely see boot errors, or no boot at all.
I should have spent more time learning the Windows memory system but it can become quite complex. The problem is the difference between virtual memory and physical memory. The fact that you have pages of memory at all shows you how much memory is paged out to disk. While tracing through memory, I have encountered pages missing, meaning they have been swapped to disk. You must reload them before proceeding or the OS doesn't like it.
That's why I asked if it might be related to a PAE mod.

#6440

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6438

> It happens only with the use of the Vista SP2 bootloader.

⇗ @diderius6 ...an idea. During boot, some firmware is read and moved to RAM. At that point, I'd think the memory address where it is loaded is static, that is, hard coded into the firmware code. During the boot process, before the OS loads, or even the loader, the RAM is initialized. I think it is initiliazed to all zeros.
There may be a difference between the Vista loading addresses and procedure than with other OSes. Maybe the address it needs to load it's firmware code is not available for some reason. It could be damaged memory but it could be something else as well. Your paging system is working, however, which means to me that you're past the boot stage and into the OS loading by ntoskrnl. That would suggest there is a problem with ntoskrnl or a related module since it controls the memory manager.
Do you see any evidence of Windows loading, like the 'Windows is loading..." message? How far into the boot process do you get before receiving the error? Also, are you running a pagefile and is there a pointer to it in your system configuration files? Is the pagefile large enough? The system may be trying to write to a pagefile that isn't there.

#6441

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6434

> PFN_LIST_CORRUPT

@diderius6... something else worth a try. I was trying to install Hiren's Boot Disk on W7 and it normally won't work on a newer mobo/chipset due to the same issues we have encountered. The error I got was 0xC0000017, which is related to PFNs but it is caused by memory blocks being marked by Windows as bad.
To check this, open a command window as admin and type 'bcdedit /enum all' (no quotes). If Windows has marked certain blocks as bad, you should see sections like {badmemory} with the memory addresses listed. A solution offered for my BCD file is to use:
bcdedit /deletevalue {badmemory} badmemorylist
Don't know if this is related to your problem but it might be. The problem I am having is related to Hiren's using a ramdisk. The ramdisk needs contiguous memory, meaning it cannot tolerate missing blocks of memory. This version of Hiren's is updated so it will run on mini Win7 or XP. The older versions only ran on mini XP. When I tried the XP version I got an acpi 0xA5 error, and I said, "I know how to fix that"...acpi from outer space!!! . I may have to fix their XP version so it will run. Don't know why I'm having problems with the W7 version that is memory related and producing an 0xC0000017 boot error. Tells me I don't have enough memory and I have 8 gigs.
⇗ https://borncity.com/win/2017/10/06/wind...ramdisk-memory/

#6442

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6438

> @gordo999
> It happens only with the use of the Vista SP2 bootloader.
> I read, that somebody thinks it can be because of corrupt ram.

Hi All,
i think this is logical corruption due miscompatible bootloader structs
best way is inject little code for change format from vista to xp/2003 before starting ntoskrnl.exe

#6443

infuscomus

⇗ @Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6442

> best way is inject little code for change format from vista to xp/2003

what do you need to inject?

#6444

George King

If anybody interested in winload.exe patching. I can provide ISO created by XP2ESD for testing that automatically have 2 boot options in BCD. Legacy ntldr and winload that causing BSOD.
Winload will be very good adition, because writing correct boot.ini is always pain.
P.S. PM me for ISO[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6445

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #6443

> @Mov AX, 0xDEAD

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6442

> > best way is inject little code for change format from vista to xp/2003

> what do you need to inject?

Hi infuscomus,
ntldr/winload fill _LOADER_PARAMETER_BLOCK and start ntoskrnl.exe with this structure as first argument
after checking Vista vs XP i've changed mind - there is no significal difference, struct almost same, BSOD has other unknow source
_LOADER_PARAMETER_BLOCK Vista has more fields at end

    struct _LOADER_PARAMETER_BLOCK// Size=0x7c
    {
        struct _LIST_ENTRY LoadOrderListHead;// Offset=0x0 Size=0x8
        struct _LIST_ENTRY MemoryDescriptorListHead;// Offset=0x8 Size=0x8
        struct _LIST_ENTRY BootDriverListHead;// Offset=0x10 Size=0x8
        unsigned long KernelStack;// Offset=0x18 Size=0x4
        unsigned long Prcb;// Offset=0x1c Size=0x4
        unsigned long Process;// Offset=0x20 Size=0x4
        unsigned long Thread;// Offset=0x24 Size=0x4
        unsigned long RegistryLength;// Offset=0x28 Size=0x4
        void *RegistryBase;// Offset=0x2c Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *ConfigurationRoot;// Offset=0x30 Size=0x4
        char *ArcBootDeviceName;// Offset=0x34 Size=0x4
        char *ArcHalDeviceName;// Offset=0x38 Size=0x4
        char *NtBootPathName;// Offset=0x3c Size=0x4
        char *NtHalPathName;// Offset=0x40 Size=0x4
        char *LoadOptions;// Offset=0x44 Size=0x4
        struct _NLS_DATA_BLOCK *NlsData;// Offset=0x48 Size=0x4
        struct _ARC_DISK_INFORMATION *ArcDiskInformation;// Offset=0x4c Size=0x4
        void *OemFontFile;// Offset=0x50 Size=0x4
        struct _SETUP_LOADER_BLOCK *SetupLoaderBlock;// Offset=0x54 Size=0x4
        struct _LOADER_PARAMETER_EXTENSION *Extension;// Offset=0x58 Size=0x4
        union <unnamed-tag> u;// Offset=0x5c Size=0xc
     struct _FIRMWARE_INFORMATION_LOADER_BLOCK FirmwareInformation;// Offset=0x68 Size=0x14
    };

    struct _LOADER_PARAMETER_BLOCK// Size=0x68
    {
        struct _LIST_ENTRY LoadOrderListHead;// Offset=0x0 Size=0x8
        struct _LIST_ENTRY MemoryDescriptorListHead;// Offset=0x8 Size=0x8
        struct _LIST_ENTRY BootDriverListHead;// Offset=0x10 Size=0x8
        unsigned long KernelStack;// Offset=0x18 Size=0x4
        unsigned long Prcb;// Offset=0x1c Size=0x4
        unsigned long Process;// Offset=0x20 Size=0x4
        unsigned long Thread;// Offset=0x24 Size=0x4
        unsigned long RegistryLength;// Offset=0x28 Size=0x4
        void *RegistryBase;// Offset=0x2c Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *ConfigurationRoot;// Offset=0x30 Size=0x4
        char *ArcBootDeviceName;// Offset=0x34 Size=0x4
        char *ArcHalDeviceName;// Offset=0x38 Size=0x4
        char *NtBootPathName;// Offset=0x3c Size=0x4
        char *NtHalPathName;// Offset=0x40 Size=0x4
        char *LoadOptions;// Offset=0x44 Size=0x4
        struct _NLS_DATA_BLOCK *NlsData;// Offset=0x48 Size=0x4
        struct _ARC_DISK_INFORMATION *ArcDiskInformation;// Offset=0x4c Size=0x4
        void *OemFontFile;// Offset=0x50 Size=0x4
        struct _SETUP_LOADER_BLOCK *SetupLoaderBlock;// Offset=0x54 Size=0x4
        struct _LOADER_PARAMETER_EXTENSION *Extension;// Offset=0x58 Size=0x4
        union __unnamed u;// Offset=0x5c Size=0xc
    };

    union <unnamed-tag>// Size=0xc
    {
        union // Size=0xc
           {
            struct _I386_LOADER_BLOCK I386;// Offset=0x0 Size=0xc
            struct _ALPHA_LOADER_BLOCK Alpha;// Offset=0x0 Size=0x4
            struct _IA64_LOADER_BLOCK Ia64;// Offset=0x0 Size=0x4
           };
    };

    LoadOrderListHead        = KLDR_DATA_TABLE_ENTRY
    MemoryDescriptorListHead = MEMORY_ALLOCATION_DESCRIPTOR
    BootDriverListHead       = BOOT_DRIVER_LIST_ENTRY

_CONFIGURATION_COMPONENT_DATA full match

    struct _CONFIGURATION_COMPONENT_DATA// Size=0x34
    {
        struct _CONFIGURATION_COMPONENT_DATA *Parent;// Offset=0x0 Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *Child;// Offset=0x4 Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *Sibling;// Offset=0x8 Size=0x4
        struct _CONFIGURATION_COMPONENT ComponentEntry;// Offset=0xc Size=0x24
        void *ConfigurationData;// Offset=0x30 Size=0x4
    };

    struct _CONFIGURATION_COMPONENT_DATA// Size=0x34
    {
        struct _CONFIGURATION_COMPONENT_DATA *Parent;// Offset=0x0 Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *Child;// Offset=0x4 Size=0x4
        struct _CONFIGURATION_COMPONENT_DATA *Sibling;// Offset=0x8 Size=0x4
        struct _CONFIGURATION_COMPONENT ComponentEntry;// Offset=0xc Size=0x24
        void *ConfigurationData;// Offset=0x30 Size=0x4
    };

_CONFIGURATION_COMPONENT full match

    struct _CONFIGURATION_COMPONENT// Size=0x24
    {
        enum _CONFIGURATION_CLASS Class;// Offset=0x0 Size=0x4
        enum _CONFIGURATION_TYPE Type;// Offset=0x4 Size=0x4
        struct _DEVICE_FLAGS Flags;// Offset=0x8 Size=0x4
        unsigned short Version;// Offset=0xc Size=0x2
        unsigned short Revision;// Offset=0xe Size=0x2
        unsigned long Key;// Offset=0x10 Size=0x4
        unsigned long AffinityMask;// Offset=0x14 Size=0x4
        unsigned long ConfigurationDataLength;// Offset=0x18 Size=0x4
        unsigned long IdentifierLength;// Offset=0x1c Size=0x4
        char *Identifier;// Offset=0x20 Size=0x4
    };

    struct _CONFIGURATION_COMPONENT// Size=0x24
    {
        enum _CONFIGURATION_CLASS Class;// Offset=0x0 Size=0x4
        enum _CONFIGURATION_TYPE Type;// Offset=0x4 Size=0x4
        struct _DEVICE_FLAGS Flags;// Offset=0x8 Size=0x4
        unsigned short Version;// Offset=0xc Size=0x2
        unsigned short Revision;// Offset=0xe Size=0x2
        unsigned long Key;// Offset=0x10 Size=0x4
        unsigned long AffinityMask;// Offset=0x14 Size=0x4
        unsigned long ConfigurationDataLength;// Offset=0x18 Size=0x4
        unsigned long IdentifierLength;// Offset=0x1c Size=0x4
        char *Identifier;// Offset=0x20 Size=0x4
    };

_NLS_DATA_BLOCK full match

    struct _NLS_DATA_BLOCK// Size=0xc
    {
        void *AnsiCodePageData;// Offset=0x0 Size=0x4
        void *OemCodePageData;// Offset=0x4 Size=0x4
        void *UnicodeCaseTableData;// Offset=0x8 Size=0x4
    };

    struct _NLS_DATA_BLOCK// Size=0xc
    {
        void *AnsiCodePageData;// Offset=0x0 Size=0x4
        void *OemCodePageData;// Offset=0x4 Size=0x4
        void *UnicodeCaseTableData;// Offset=0x8 Size=0x4
    };

_ARC_DISK_INFORMATION full match
_SETUP_LOADER_BLOCK - probably match (used only at installation stage ???)
_LOADER_PARAMETER_EXTENSION - Vista has more fields at end

    struct _LOADER_PARAMETER_EXTENSION// Size=0x84
    {
        unsigned long Size;// Offset=0x0 Size=0x4
        struct _PROFILE_PARAMETER_BLOCK Profile;// Offset=0x4 Size=0x10
        unsigned long MajorVersion;// Offset=0x14 Size=0x4
        unsigned long MinorVersion;// Offset=0x18 Size=0x4
        void *EmInfFileImage;// Offset=0x1c Size=0x4
        unsigned long EmInfFileSize;// Offset=0x20 Size=0x4
        void *TriageDumpBlock;// Offset=0x24 Size=0x4
        unsigned long LoaderPagesSpanned;// Offset=0x28 Size=0x4
        struct _HEADLESS_LOADER_BLOCK *HeadlessLoaderBlock;// Offset=0x2c Size=0x4
        struct _SMBIOS_TABLE_HEADER *SMBiosEPSHeader;// Offset=0x30 Size=0x4
        void *DrvDBImage;// Offset=0x34 Size=0x4
        unsigned long DrvDBSize;// Offset=0x38 Size=0x4
        struct _NETWORK_LOADER_BLOCK *NetworkLoaderBlock;// Offset=0x3c Size=0x4
     unsigned char *HalpIRQLToTPR;// Offset=0x40 Size=0x4
        unsigned char *HalpVectorToIRQL;// Offset=0x44 Size=0x4
        struct _LIST_ENTRY FirmwareDescriptorListHead;// Offset=0x48 Size=0x8
        void *AcpiTable;// Offset=0x50 Size=0x4
        unsigned long AcpiTableSize;// Offset=0x54 Size=0x4
        unsigned long BootViaWinload:1;// Offset=0x58 Size=0x4 BitOffset=0x0 BitSize=0x1
        unsigned long Reserved:31;// Offset=0x58 Size=0x4 BitOffset=0x1 BitSize=0x1f
        struct _LOADER_PERFORMANCE_DATA *LoaderPerformanceData;// Offset=0x5c Size=0x4
        struct _LIST_ENTRY BootApplicationPersistentData;// Offset=0x60 Size=0x8
        void *WmdTestResult;// Offset=0x68 Size=0x4
        struct _GUID BootIdentifier;// Offset=0x6c Size=0x10
        unsigned long ResumePages;// Offset=0x7c Size=0x4
        void *DumpHeader;// Offset=0x80 Size=0x4
    };

    struct _LOADER_PARAMETER_EXTENSION// Size=0x40
    {
        unsigned long Size;// Offset=0x0 Size=0x4
        struct _PROFILE_PARAMETER_BLOCK Profile;// Offset=0x4 Size=0x10
        unsigned long MajorVersion;// Offset=0x14 Size=0x4
        unsigned long MinorVersion;// Offset=0x18 Size=0x4
        void *InfFileImage;// Offset=0x1c Size=0x4
        unsigned long InfFileSize;// Offset=0x20 Size=0x4
        void *TriageDumpBlock;// Offset=0x24 Size=0x4
        unsigned long LoaderPagesSpanned;// Offset=0x28 Size=0x4
        struct _HEADLESS_LOADER_BLOCK *HeadlessLoaderBlock;// Offset=0x2c Size=0x4
        struct _SMBIOS_TABLE_HEADER *SMBiosEPSHeader;// Offset=0x30 Size=0x4
        void *DrvDBImage;// Offset=0x34 Size=0x4
        unsigned long DrvDBSize;// Offset=0x38 Size=0x4
        struct _NETWORK_LOADER_BLOCK *NetworkLoaderBlock;// Offset=0x3c Size=0x4
    };

_I386_LOADER_BLOCK full match

    struct _I386_LOADER_BLOCK// Size=0xc
    {
        void *CommonDataArea;// Offset=0x0 Size=0x4
        unsigned long MachineType;// Offset=0x4 Size=0x4
        unsigned long VirtualBias;// Offset=0x8 Size=0x4
    };

    struct _I386_LOADER_BLOCK// Size=0xc
    {
        void *CommonDataArea;// Offset=0x0 Size=0x4
        unsigned long MachineType;// Offset=0x4 Size=0x4
        unsigned long VirtualBias;// Offset=0x8 Size=0x4
    };

_KLDR_DATA_TABLE_ENTRY mismatch, LoadedImports shifted

    struct _KLDR_DATA_TABLE_ENTRY// Size=0x54
    {
        struct _LIST_ENTRY InLoadOrderLinks;// Offset=0x0 Size=0x8
        void *ExceptionTable;// Offset=0x8 Size=0x4
        unsigned long ExceptionTableSize;// Offset=0xc Size=0x4
        void *GpValue;// Offset=0x10 Size=0x4
        struct _NON_PAGED_DEBUG_INFO *NonPagedDebugInfo;// Offset=0x14 Size=0x4
        void *DllBase;// Offset=0x18 Size=0x4
        void *EntryPoint;// Offset=0x1c Size=0x4
        unsigned long SizeOfImage;// Offset=0x20 Size=0x4
        struct _UNICODE_STRING FullDllName;// Offset=0x24 Size=0x8
        struct _UNICODE_STRING BaseDllName;// Offset=0x2c Size=0x8
        unsigned long Flags;// Offset=0x34 Size=0x4
        unsigned short LoadCount;// Offset=0x38 Size=0x2
        unsigned short __Unused5;// Offset=0x3a Size=0x2
        void *SectionPointer;// Offset=0x3c Size=0x4
        unsigned long CheckSum;// Offset=0x40 Size=0x4
     unsigned long CoverageSectionSize;// Offset=0x44 Size=0x4
        void *CoverageSection;// Offset=0x48 Size=0x4
     void *LoadedImports;// Offset=0x4c Size=0x4
        void *PatchInformation;// Offset=0x50 Size=0x4
    };

    struct _KLDR_DATA_TABLE_ENTRY// Size=0x4c
    {
        struct _LIST_ENTRY InLoadOrderLinks;// Offset=0x0 Size=0x8
        void *__Unused1;// Offset=0x8 Size=0x4
        void *__Unused2;// Offset=0xc Size=0x4
        void *__Unused3;// Offset=0x10 Size=0x4
        struct _NON_PAGED_DEBUG_INFO *NonPagedDebugInfo;// Offset=0x14 Size=0x4
        void *DllBase;// Offset=0x18 Size=0x4
        void *EntryPoint;// Offset=0x1c Size=0x4
        unsigned long SizeOfImage;// Offset=0x20 Size=0x4
        struct _UNICODE_STRING FullDllName;// Offset=0x24 Size=0x8
        struct _UNICODE_STRING BaseDllName;// Offset=0x2c Size=0x8
        unsigned long Flags;// Offset=0x34 Size=0x4
        unsigned short LoadCount;// Offset=0x38 Size=0x2
        unsigned short __Unused5;// Offset=0x3a Size=0x2
        void *SectionPointer;// Offset=0x3c Size=0x4
        unsigned long CheckSum;// Offset=0x40 Size=0x4
     void *LoadedImports;// Offset=0x44 Size=0x4
        void *__Unused6;// Offset=0x48 Size=0x4
    };

MEMORY_ALLOCATION_DESCRIPTOR full match

    struct _MEMORY_ALLOCATION_DESCRIPTOR// Size=0x14
    {
        struct _LIST_ENTRY ListEntry;// Offset=0x0 Size=0x8
        enum _TYPE_OF_MEMORY MemoryType;// Offset=0x8 Size=0x4
        unsigned long BasePage;// Offset=0xc Size=0x4
        unsigned long PageCount;// Offset=0x10 Size=0x4
    };

    struct _MEMORY_ALLOCATION_DESCRIPTOR// Size=0x14
    {
        struct _LIST_ENTRY ListEntry;// Offset=0x0 Size=0x8
        enum _TYPE_OF_MEMORY MemoryType;// Offset=0x8 Size=0x4
        unsigned long BasePage;// Offset=0xc Size=0x4
        unsigned long PageCount;// Offset=0x10 Size=0x4
    };

BOOT_DRIVER_LIST_ENTRY Vista has more fields at end

    struct _BOOT_DRIVER_LIST_ENTRY// Size=0x24
    {
        struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
        struct _UNICODE_STRING FilePath;// Offset=0x8 Size=0x8
        struct _UNICODE_STRING RegistryPath;// Offset=0x10 Size=0x8
        struct _KLDR_DATA_TABLE_ENTRY *LdrEntry;// Offset=0x18 Size=0x4
     long LoadStatus;// Offset=0x1c Size=0x4
        unsigned long LoadInformation;// Offset=0x20 Size=0x4
    };

    struct _BOOT_DRIVER_LIST_ENTRY// Size=0x1c
    {
        struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
        struct _UNICODE_STRING FilePath;// Offset=0x8 Size=0x8
        struct _UNICODE_STRING RegistryPath;// Offset=0x10 Size=0x8
        struct _KLDR_DATA_TABLE_ENTRY *LdrEntry;// Offset=0x18 Size=0x4
    };

#6446

George King

This is BSOD that I encounter when booting using Windows 7 bootmgr + BCD + Vista winload.exe.
This what happends. Bootmenu and first option is for winload and detectHAL and integrityservices disabled in BCD.
Boot menu
Then booting
Then BSOD
Tested in VirtualBox[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6447

diderius6

⇗ @Mov AX, 0xDEAD
The Bsod "PFN_LIST_CORRUPT"
happens very late in boot process.
I know this for sure, because I have seen all the Bsods with acpi.sys,
no bootdevice found etc. Until now I cant debug Vista,
because always this crazy "enable signature unforce" I have to hit in the beginning.
Because this bootloader from Vista SP2 would be really nice,
I can only debug it when I get over this "unforce signature" step
Dietmar

#6448 | kukonosau | ⇗ @diderius6 Hi. ACPI for WinXPx64 working on RYzen if download 5eraph's post-SP2 Update Pack v2017-06_2? Infuscomus use him on Ryzen? Where is download, at the way?

#6449

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #6447

> @Mov AX, 0xDEAD
> The Bsod "PFN_LIST_CORRUPT"
> happens very late in boot process.
> I know this for sure, because I have seen all the Bsods with acpi.sys,
> no bootdevice found etc. Until now I cant debug Vista,
> because always this crazy "enable signature unforce" I have to hit in the beginning.
> Because this bootloader from Vista SP2 would be really nice,
> I can only debug it when I get over this "unforce signature" step
> Dietmar

ISO in PM on the way! [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6450

diderius6

I succeed to set up a windbg session for the Vista SP2 bootloader winload.exe using boot.ice.
But this gives no information?
How to set up here a good windbg session
Dietmar
The Bsod PFN_LIST_CORRUPT
happens,
but is not(?!) shown in debugger
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Boot Debugger Initialized
>     Connected to Windows Boot Debugger 6002 x86 compatible target at (Wed Jan 27 21:32:26.156 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     *** ERROR: Module load completed but symbols could not be loaded for winload.exe
>     Windows Boot Debugger Kernel Version 6002 UP Free x86 compatible
>     Machine Name:
>     Primary image base = 0x00236000 Loaded module list = 0x00336e98
>     System Uptime: not available
>     Console video mode set to 0x118
>     Console video mode set to 0x3
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\ntkrnlpa.exe.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     *** ERROR: Module load completed but symbols could not be loaded for winload.exe
>     winload+0x2caa6:
>     00262aa6 cc              int     3
>     kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\hal.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     00262aa6 cc              int     3
>     kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\kdcom.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     00262aa6 cc              int     3
>     kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\BOOTVID.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     00262aa6 cc              int     3
>     kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\System32\Drivers\KSecDD.sys.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     00262aa6 cc              int     3
>     kd> g
>     Shutdown occurred at (Wed Jan 27 21:33:08.609 2021 (UTC + 1:00))...unloading all symbol tables.
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Wed Jan 27 21:33:09.343 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp.080413-2111
>     Machine Name:
>     Kernel base = 0x8102d000 PsLoadedModuleList = 0x810b3720
>     System Uptime: not available

>     Intel Storage Driver Ver: 11.2.0.1006

>     ERROR: DavReadRegistryValues/RegQueryValueExW(4). WStatus = 5
>     ERROR: DavReadRegistryValues/RegQueryValueExW(5). WStatus = 5
>     ERROR: DavReadRegistryValues/RegQueryValueExW(6). WStatus = 5
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
>     nt!DbgBreakPointWithStatus+0x4:
>     810815dc cc              int     3
>     0: kd> lm
>     start    end        module name
>     7c910000 7c9c6000   ntdll    M (pdb symbols)          c:\windows\symbols\dll\ntdll.pdb
>     8100c000 8102cd00   hal        (deferred)
>     8102d000 8123b000   nt         (export symbols)       ntkrpamp.exe
>     ba747000 ba787a80   HTTP       (deferred)
>     baa80000 baad1c00   srv        (deferred)
>     baafa000 bab26180   mrxdav     (deferred)
>     bad9f000 bada2900   ndisuio    (deferred)
>     bae97000 baed7000   dump_storport   (deferred)
>     baed7000 baee8000   dump_storahci   (deferred)
>     baf10000 baf7f780   mrxsmb     (deferred)
>     baf80000 bafaae80   rdbss      (deferred)
>     bafab000 bafccb80   afd        (deferred)
>     bafcd000 baff4c00   netbt      (deferred)
>     baff5000 bb01a500   ipnat      (deferred)
>     bb01b000 bb073380   tcpip      (deferred)
>     bb074000 bb086600   ipsec      (deferred)
>     bb087000 bb09af00   VIDEOPRT   (deferred)
>     bb0e7000 bb0e9900   Dxapi      (deferred)
>     bb0eb000 bb148f00   update     (deferred)
>     bb149000 bb16b700   ks         (deferred)
>     bb16c000 bb19be80   rdpdr      (deferred)
>     bb19c000 bb1ace00   psched     (deferred)
>     bb1d5000 bb1eb580   ndiswan    (deferred)
>     bb203000 bb22b000   HDAudBus   (deferred)
>     bb233000 bb235280   rasacd     (deferred)
>     bb2b1000 bb2b4c80   mssmbios   (deferred)
>     bb2ed000 bb306b80   Mup        (deferred)
>     bb307000 bb333980   NDIS       (deferred)
>     bb334000 bb3c0600   Ntfs       (deferred)
>     bb3c1000 bb3d7880   KSecDD     (deferred)
>     bb3d8000 bb3e9f00   sr         (deferred)
>     bb3ea000 bb409b00   fltMgr     (deferred)
>     bb40a000 bb44a000   storport   (deferred)
>     bb44a000 bb45b000   storahci   (deferred)
>     bb45b000 bb710000   iaStor     (deferred)
>     bb710000 bb721000   ewf        (deferred)
>     bb721000 bb746a00   dmio       (deferred)
>     bb747000 bb765d80   ftdisk     (deferred)
>     bb766000 bb776a80   pci        (deferred)
>     bb777000 bb7a6d80   ACPI       (deferred)
>     bb8a8000 bb8b1300   isapnp     (deferred)
>     bb8b8000 bb8c2580   MountMgr   (deferred)
>     bb8c8000 bb8d5200   VolSnap    (deferred)
>     bb8d8000 bb8e0e00   disk       (deferred)
>     bb8e8000 bb8f4180   CLASSPNP   (deferred)
>     bb928000 bb934f00   i8042prt   (deferred)
>     bb938000 bb941e00   intelppm   (no symbols)
>     bb948000 bb954880   rasl2tp    (deferred)
>     bb958000 bb962200   raspppoe   (deferred)
>     bb968000 bb973d00   raspptp    (deferred)
>     bb978000 bb980900   msgpc      (deferred)
>     bb988000 bb991f00   termdd     (deferred)
>     bb998000 bb9a1e80   NDProxy    (deferred)
>     bb9b8000 bb9c0700   wanarp     (deferred)
>     bb9c8000 bb9d0780   netbios    (deferred)
>     bba08000 bba12e80   Fips       (deferred)
>     bbb28000 bbb2cd00   PartMgr    (deferred)
>     bbbb0000 bbbb6280   kbdclass   (deferred)
>     bbbb8000 bbbbdc00   mouclass   (deferred)
>     bbbc0000 bbbc4a80   TDI        (deferred)
>     bbbc8000 bbbcc580   ptilink    (deferred)
>     bbbd0000 bbbd4080   raspti     (deferred)
>     bbbf8000 bbbfca80   Msfs       (deferred)
>     bbc00000 bbc07880   Npfs       (deferred)
>     bbc08000 bbc0c500   watchdog   (deferred)
>     bbcb8000 bbcbb000   BOOTVID    (deferred)
>     bbda0000 bbda2280   wmiacpi    (deferred)
>     bbda4000 bbda6780   ndistapi   (deferred)
>     bbda8000 bbda9b80   kdcom      (deferred)
>     bbdaa000 bbdab100   WMILIB     (deferred)
>     bbdac000 bbdad700   dmload     (deferred)
>     bbdb8000 bbdb9100   swenum     (deferred)
>     bbdc2000 bbdc3f00   Fs_Rec     (deferred)
>     bbdc4000 bbdc5080   Beep       (deferred)
>     bbe92000 bbe92b80   Null       (deferred)
>     bbeba000 bbebad00   dxgthk     (deferred)
>     bbf27000 bbf27c00   audstub    (deferred)
>     bf800000 bf9c2a00   win32k     (deferred)
>     bf9c3000 bf9d4600   dxg        (deferred)
>     bff50000 bff52f00   TSDDD      (deferred)

>     Unloaded modules:
>     baae6000 baafa000   Parport.SYS
>     bb9f8000 bba03000   imapi.sys
>     bb9e8000 bb9f7000   redbook.sys
>     bb9d8000 bb9e8000   serial.sys
>     bbdc8000 bbdca000   RDPCDD.sys
>     bbdc6000 bbdc8000   mnmdd.SYS
>     bbbf0000 bbbf6000   vga.sys
>     bbbe8000 bbbed000   Cdaudio.SYS
>     bb9a8000 bb9b8000   cdrom.sys
>     bb237000 bb23a000   Sfloppy.SYS
>     bbbe0000 bbbe5000   Flpydisk.SYS
>     bbbd8000 bbbdf000   Fdc.SYS
>     0: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     nt!DbgBreakPointWithStatus+0x4:
>     810815dc cc              int     3
>     0: kd> g
>     BD: Boot Debugger Initialized
>     Console video mode set to 0x118
>     Console video mode set to 0x3
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\ntkrnlpa.exe.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     *** ERROR: Module load completed but symbols could not be loaded for winload.exe
>     winload+0x2caa6:
>     0020:00262aa6 cc              int     3
>     0: kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\hal.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     0020:00262aa6 cc              int     3
>     0: kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\kdcom.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     0020:00262aa6 cc              int     3
>     0: kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\system32\BOOTVID.dll.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     0020:00262aa6 cc              int     3
>     0: kd> g
>     *** Windows is unable to verify the signature of
>         the file \Windows\System32\Drivers\KSecDD.sys.  It will be allowed to load
>         because the boot debugger is enabled.
>         Use g to continue!!
>     Break instruction exception - code 80000003 (first chance)
>     winload+0x2caa6:
>     0020:00262aa6 cc              int     3
>     0: kd> g
>     Shutdown occurred at (Wed Jan 27 21:39:07.843 2021 (UTC + 1:00))...unloading all symbol tables.
>     Waiting to reconnect...

## Page 431

#6451

diderius6

This is the last line in Windbg,
before compi starts new

    winload+0x1533:
    00237533 391d78032900    cmp     dword ptr [winload+0x5a378 (00290378)],ebx
    kd>
    winload+0x1539:
    00237539 8b701c          mov     esi,dword ptr [eax+1Ch]
    kd>
    winload+0x153c:
    0023753c 7c12            jl      winload+0x1550 (00237550)
    kd>
    winload+0x1550:
    00237550 e836f40100      call    winload+0x2098b (0025698b)
    kd>
    winload+0x1555:
    00237555 e845650000      call    winload+0x7a9f (0023da9f)
    kd>
    winload+0x155a:
    0023755a 8b4f58          mov     ecx,dword ptr [edi+58h]
    kd>
    winload+0x155d:
    0023755d 8b495c          mov     ecx,dword ptr [ecx+5Ch]
    kd>
    winload+0x1560:
    00237560 8b5dd4          mov     ebx,dword ptr [ebp-2Ch]
    kd>
    winload+0x1563:
    00237563 8919            mov     dword ptr [ecx],ebx
    kd>
    winload+0x1565:
    00237565 8b5dd8          mov     ebx,dword ptr [ebp-28h]
    kd>
    winload+0x1568:
    00237568 895904          mov     dword ptr [ecx+4],ebx
    kd>
    winload+0x156b:
    0023756b 8b4f58          mov     ecx,dword ptr [edi+58h]
    kd>
    winload+0x156e:
    0023756e 8b495c          mov     ecx,dword ptr [ecx+5Ch]
    kd>
    winload+0x1571:
    00237571 894108          mov     dword ptr [ecx+8],eax
    kd>
    winload+0x1574:
    00237574 56              push    esi
    kd>
    winload+0x1575:
    00237575 89510c          mov     dword ptr [ecx+0Ch],edx
    kd>
    winload+0x1578:
    00237578 836768fe        and     dword ptr [edi+68h],0FFFFFFFEh
    kd>
    winload+0x157c:
    0023757c 57              push    edi
    kd>
    winload+0x157d:
    0023757d e892770300      call    winload+0x38d14 (0026ed14)
    kd>
    Shutdown occurred at (Wed Jan 27 22:14:00.328 2021 (UTC + 1:00))...unloading all symbol tables.
    Waiting to reconnect...

#6452

diderius6

I found this Bsod in winload.exe from Vista SP2

    .text:0040156B                 mov     ecx, [edi+58h]
    .text:0040156E                 mov     ecx, [ecx+5Ch]
    .text:00401571                 mov     [ecx+8], eax
    .text:00401574                 push    esi
    .text:00401575                 mov     [ecx+0Ch], edx
    .text:00401578                 and     dword ptr [edi+68h], 0FFFFFFFEh
    .text:0040157C                 push    edi
    .text:0040157D                 call    near ptr _OslArchTransferToKernel@8 ; OslArchTransferToKernel(x,x) <---- last line in Windbg
    .text:00401582

    .text:00401582 loc_401582: ; CODE XREF: OslpMain(x):loc_401582 j    <-----endless loop
    .text:00401582                 jmp     short loc_401582

#6453

diderius6

small hack in winload.exe ;)) from Vista SP2 32 bit

    .text:00401531                 jz      short loc_401584   ---> .text:00401531                 jmp      short loc_401584

    74 51 39 1D 78 A3 45 00 --->
    EB 51 39 1D 78 A3 45 00

Dietmar
EDIT: Does not help.
Now it crashes at the call from

    .text:004011BC                 call    _BlDestroyLibrary@0 ; BlDestroyLibrary()

#6454

gordo999

⇗ @diderius6 ...I was reading through your windbg log and noted that windows loader became involved between ntoskrnl loading and hal loading. Wondered why and began looking on Google. Came across this detailed explanation of the Windows 7 boot process which should be similar to the Vista boot process.
From the article at the link below:
" Windows Boot Loader Phase
The Windows Boot Manager starts the Windows Boot Loader phase when the user chooses to load Windows Vista or Windows 7. The Windows Boot Loader does the following:
Loads the operating system kernel, Ntoskrnl.exe, but does not yet run it.
Loads the Hardware Abstraction Layer (HAL), Hal.dll. This will not be used until the kernel is run.
Loads the system registry hive (System32\Config\System) into memory.
Scans the HKEY_LOCAL_MACHINE\SYSTEM\Services key for device drivers and loads all drivers that are configured for the boot class into memory. The Windows Boot Loader does not, however, initiate the drivers. Drivers are not initiated until the kernel loading phase.
Enables paging.
Passes control to the operating system kernel, which starts the next phase".
Note the entry about Enables Paging. I was wrong about that, thinking paging would be enabled by ntoskrnl.
In the following article there are links at the bottom of each page that list all the topics covered in the tutorial. Best to read it from this beginning page.
⇗ https://sourcedaddy.com/windows-7/config...tup-issues.html

#6455

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6453

>     .text:00401531                 jz      short loc_401584   ---> .text:00401531                 jmp      short loc_401584

>     74 51 39 1D 78 A3 45 00 --->
>     EB 51 39 1D 78 A3 45 00

⇗ @diderius6 ...don't need all those bytes. This is your hack:
74 51
EB 51
However, they included a string of opcode bytes to make sure you have the right jump.
****Make sure there is not another code sequence in winloader.exe that is the same as the sequence you posted. Use a hex editor and do a search for the bytes 74 51 39 1D 78 A3 45 00.****
Make sure you put the EB 51 back to 74 51. If there is another sequence like that, or more, that's your problem. You have the wrong sequence.
The 74 51 is a conditional jump 51 bytes ahead from the address of the last opcode byte at 00401533. The EB 51 is a forced jump of 51 bytes. So, add it up as 401531, 401532, and 401533. That gets you to the last byte in the opcode 74 51. Address 401533 + 51 = 401584, the address listed in the je short local_401584. That address is a long distance from where the program faulted so what lies between?
Since code was forced to take that jump it might be interesting to see what would happen without the jump. That would mean replacing the 74 51 opcode with 90 90. That way the code executes at the next byte after the last 90 without making the jump. Or just set the EB 51 back to 74 51.

#6456

gordo999

⇗ @diderius6 ...take a look at your code just before:

    .text:00401531 jz short loc_401584 ---> .text:00401531 jmp short loc_401584

To see if there is a call to BlInitializeLibrary.
I am looking at winload.exe in W7 and they have a similar call to yours but its a jns with opcode 79 05. The jump depends on the 'sign' flag. If it's set = 1 there is no jmp. If it's not set = 0, there is a jmp. If the jmp is taken it leads to a call to the Main() function, before the call to BlDestroyLibrary. If not, it jmps over both calls, then likely exits.
Look to see if there is a call just before the call to BlDestroyLibrary. On the W7 winload.exe there is a call to OslpMain. That seems to be the main function that sets up ntoskrnl, etc. If there is an issue in that call it will return to BlDestroyLibrary then exit.
In any C or C++ application, the first function called is the main() function. In Windows, they call it Winmain().

#6457

George King

I tried to use only Vista files - Boot folder + bootmgr and same settings to BCD as when using Windows 7 boot folder and bootmgr.
There is one change - When is used completely Vista files there is needed to run boot option in "Disable driver signature".
When using Windows 7 boot files (winload is still Vista SP2) then it can start booting without needs to enable "Disable driver signature".
So much better is use Windows 7 bootmgr as it don't need additional click step.
But both methods end in same BSOD, btw, detect HAL option is enabled in BCD. This is why I need to figure it out. For legacy HAL detection I'm using Longhorn NTLDR + dtecthal.inf in Windows\inf and boot.ini switch /detectHAL - this works great
⇗ @skullteria Any ideas from your research around booting using winload?
Link for ISO where it accurs is in attached fileGeorge King has attached files to this post

- ⇗ Download.txt

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6458 | diderius6 | ⇗ @gordo999 Thanks for help and the nice link about the boot process from Win7! All the time I work only with XP, so this is new for me. Have a nice day Dietmar

#6459

diderius6

I succeed with USB3 boot and the bootfiles from Vista SP2 on the Asrock z370 Fatalty gaming k6 board with 8700k cpu.
Normal ntldr XP SP3 boots fine via USB3 on this board via Vista boot menu,
XP SP3 via USB3 and winload.exe from Vista SP2 shows the same Bsod
PFN_LIST_Corrupt
0x0000004E (0x0000008F, 0x00000D59, 0x0008E699, 0x00000000)
Dietmar
PS: So, this Bsod depends not on bootdevice, not on ram, not on ram size, not on pagefile enabled/disabled .

#6460

genieautravail

⇗ @diderius6 ⇗ @infuscomus
Hello,
A few months ago, PPeti66x has uploaded a modded Intel HCSwitch device driver for Intel Gen7 and Gen8 chipsets on MDL forum:
⇗ https://forums.mydigitallife.net/threads...-4#post-1612326
As I got a mini PC ZOTAC Zbox EN760 (Haswell processor), I'm using the modded Intel HCSwitch device driver for Gen8 chipset (Haswell) to enable USB 3.0.
⇗ http://old.zotac.com/en/products/mini-pcs/zbox-e-series/product/zbox-e-series/detail/zbox-en760.html
But there is a big issue with it, the modded Intel HCSwitch device driver hang the shutdown or reboot process of the computer and I must push the power button to complete the process.
More informations here:
⇗ https://forums.mydigitallife.net/threads...-6#post-1631463
⇗ https://forums.mydigitallife.net/threads...-7#post-1642482
As PPeti66x isn't present on the MDL forum since he has uploaded the file, can you help me to solve the issue with the modded driver ?
Regards

#6461 | Andalu | ⇗ @genieautravail what error code did you get by installing the USB3 driver normally without using the HCSwitch method? Normal installation of the USB3 driver worked here on my Q87 haswell board.

#6462

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6458

> All the time I work only with XP, so this is new for me.

⇗ @diderius6 ...I know you are working on XP but you mentioned using Vista drivers and Vista is more like W7 than XP.
Would you mind briefly sharing your procedure for getting a windbg kernel mode connection going with XP or W7? I had a good connection a year ago but can't seem to get one now. I am using a serial mode connection via COM2 but I think something is wrong with my B360M chipset that is refusing the connection. May be a driver issue.
You will notice that during the boot process, ntoskrnl. and probably Hal, call kdcom.dll to setup a serial port debugging session. My problem might be in the boot procedure. I found that out a year ago when I could not initiate a serial connection. I got one going between W7 as host and W10 using the network protocol. When I tried with a serial connection it failed till I rebooted W10, as required for the target, and did something during reboot that made the serial connection work. Then the serial connection worked between W7 and W7.
So, it seems the debug connection depends on settings in the boot loader.

#6463

diderius6

⇗ @gordo999
The standalone MSI file of windbg can be downloaded from here. The version is 6.12.0002.633 (x86).
It works for XP, Vista and Win7.
⇗ http://download.microsoft.com/download/A...ols/dbg_x86.msi
X64
⇗ http://download.microsoft.com/download/A...4/dbg_amd64.msi
Windbg needs
Microsoft .NET Framework 4 (Standalone Installer) (full install).
⇗ https://www.microsoft.com/en-US/download...s.aspx?id=17718
Then you need the debug files of ntoskrnl.exe and the timermodded hal.dll debug for XP SP3.
I upload them here.
⇗ https://ufile.io/dwlf4vma
I describe all for Serial Debug via 115200 baudrate:
On both compis set in Device manager the serial COM1 port to 115200 Bit.
Copy the file boot.ini on C:\ on the compi, which you want to debug.
It is also in my package.
Then copy on the same compi ntos3.exe and hal3.dll into Windows\System32 .
On the compi, where windbg will run, first install Microsoft .NET Framework 4.
Then install windbg.
On running windbg set in left corner on top: File, Kernel Debug, Baudrate 115200
port com1
I always set a fresh XP SP3 up for the compi, which I want to debug.
XP SP3 does not like to work together with different hal.dll and ntoskrnl.exe .
Connect both compis with a serial cable on their COM1 port. Look in Bios of both compis, that the serial port there is enabled.
If you want Lan debug, because your compi has no COM port, you need windbg from 8.1
Original windbg 8.1 stand alone
⇗ https://github.com/kbandla/installers/bl...s-x86_en-us.msi
⇗ @Mov AX, 0xDEAD ⇗ https://github.com/MovAX0xDEAD/KDNET
and the msvcrt.dll from Blackwingcat for XP.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (176)
Here in the forum I showed the special boot.ini for lan debug.
And you need the files from ⇗ @Mov AX, 0xDEAD .
Lan debug is much faster but needs some more work to set it up. You can connect 2 compis direct with a Lan cable
Dietmar
boot.ini for Lan debug in my home network, all compis connected via Hub.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows
     XP SP3 DEBUG" /KERNEL=ntos3.exe /HAL=hal3.dll /debug /debugport=COM1
    /baudrate=115200 /BREAK
    C:\WINDOWS="KDNET" /noexecute=optin
    /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG /DEBUGPORT=NET
    /HOST_IP=192.168.2.101 /HOST_PORT=50000
    /ENCRYPTION_KEY=make.winxp.great.again /CPUFREQ=3000
    /TARGET_IP=192.168.2.103
    C:\WINDOWS="KDNET_Brk" /noexecute=optin
    /fastdetect /KERNEL=ntos3.exe /HAL=hal3.dll /DEBUG /DEBUGPORT=NET
    /HOST_IP=192.168.2.101 /HOST_PORT=50000
    /ENCRYPTION_KEY=make.winxp.great.again /CPUFREQ=3000
    /TARGET_IP=192.168.2.103 /BREAK

You also need the Symbol package for XP SP3 debug. Unpack the Symbols and set the path on left corner above of Windbg to those Symbol folder.
WINDOWSXP-KB936929-SP3-X86-DEBUG-SYMBOLS-FULL-ENU-DEBUG.EXE
⇗ https://archive.org/download/somewinxpdownloads

#6464

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6463

> I upload them here

⇗ @diderius6 ...Dietmar, thanks for going to all the trouble of providing links, creating a file package, and the explanation. I really appreciate it. I will setup a fresh install of XP on its own disk and see if that helps.

#6465

daniel_k

⇗ @genieautravail
Install KMDF 1.11 and the USB 3.0 driver.
Instead of using the HCSwitch, use WPCRSET to manually change the controller's registers to enable USB 3.0 speeds.
Get device ID from USB 3 controller in Device Manager (PCI\VEN_8086&DEV_????)
Guide:
⇗ http://www.a7vtroubleshooting.com/articles/wpcrset/index.htm
Run WPCREDIT and select device with same ID
⇗ http://ftp.vector.co.jp/32/55/2012/wpcre14.exe
Run/install WPCRSET, enter Bus/Device/Function from WPCREDIT and change registers D0 and D8 to 0F
⇗ http://ftp.vector.co.jp/10/14/2012/wpcrs120.exe

## Page 432

#6466

PPeti66x

⇗ @genieautravail
Hi!
I am on mydigitallife really rare.
So my experiences:
If WDF coinstaller is wrongly installed => BSOD. It is mandatory for HCSwitchwer. HCSwitcher itself should not do any problems - switches to USB3 or not. The modded inf itself comes from Daniel_K. My work is only a manual, how to install these things. I do not have any new informations yet. I never tried it with PAE patched kernel.
For haswell, you must install acpi 5048 + Kernel Mode Driver Framework 1.11 (because of Win8 USB3, for HCSwitcher 1.09 is enough).
But USB have a strange behaviour on some systems (even USB2). There are some registry settings to manipulate these things. The next settings are in INF style.

    ;Disables the USB Idle Endpoint Support. (KB918005)
    ;  This may prevent your computer from enter to C3/C4 power state,
    ;  so power consumption will be not reduced.
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnableIdleTimer",0x10001,0
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnIdleEndPointSupportEx",0x10001,0
    Undo:
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnableIdleTimer",0x10001,1
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnIdleEndPointSupportEx",0x10001,1

    ;Enable S3 system power state for standby when USB devices are armed for wake up (0=enable, not_exist=disable)
    ;Not recommended because attached device may be fully disabled and then can not wake up the computer.
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","USBBIOSx",0x00010001,0
    Undo:
    Delete value: HKLM,"SYSTEM\CurrentControlSet\Services\usb","USBBIOSx"

    ;Disables a silent retry if USB transfer fails. (KB908673)
       By default (XP SP2/above), if USB transfer fails for specific reasons
       is silently retried instead of completed and given a "failure" status.
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnSoftRetry",0x10001,0
    Undo:
    HKLM,"SYSTEM\CurrentControlSet\Services\usb","EnSoftRetry",0x10001,1

#6467

genieautravail

> Zitat von ⇗ Andalu im Beitrag ¶ #6461

> @genieautravail
> what error code did you get by installing the USB3 driver normally without using the HCSwitch method?
> Normal installation of the USB3 driver worked here on my Q87 haswell board.

None, the HCSwitch driver must be installed after KMDF 1.11 and the USB 3.0 driver.
This computer is particular, it's a desktop computer with a mobile CPU, a mobile chipset and a mobile graphic card!
It has 4 USB 3.0 ports and none USB 2.0 ports.
If I want to enable the USB 3.0 speed, the HCSwitch driver must be running at startup of the computer like on a laptop.
This computer is compatible with XP, but with XP, you have only 2.0 speed on the USB ports.

#6468

genieautravail

> Zitat

> If WDF coinstaller is wrongly installed => BSOD. It is mandatory for HCSwitchwer. HCSwitcher itself should not do any problems - switches to USB3 or not. The modded inf itself comes from Daniel_K. My work is only a manual, how to install these things. I do not have any new informations yet. I never tried it with PAE patched kernel.
> For haswell, you must install acpi 5048 + Kernel Mode Driver Framework 1.11 (because of Win8 USB3, for HCSwitcher 1.09 is enough).

None BSOD, apart the shutdown process, all is fine!
My setup:
acpi 5048 + Kernel Mode Driver Framework 1.11 + Intel USB3 HCSwitch for XP (Gen4 Series8 C220 and later)
I will check your settings as soon as possible!
Thank you for your help!
Regards

#6469

bright_light

Under normal conditions the 32-bit XP EFI boot cannot possibly work on a real modern computer using UEFI + GPT partition. 32-bit OS would require 32-bit processor ( 32-bit CPU) + 32-bit UEFI/EFI bios + 32-bit EFI loader.
On modern computers the UEFI BIOS by design is capable of booting only 64-bit Windows via EFI and it would require very serious modifications, patching and signing to be able to boot 32 bit XP.
Normally you can only boot XP 64 bit on modern computers (Ryzen, Commet Lake, Kaby Lake, threadripper etc.) because of the UEFI bios lack 32 bit EFI boot and is only compatible with 64 bit EFI booting. MBR booting is a different matter because it doesn't care about you CPU architecture as long your PC is legacy BIOS compatible.
If you really want to boot 32 bit XP, you must have computer with 32 bit UEFI and 32 bit processor which are very rare or maybe as alternative you try those loaders like Quibble, freeloader, uefiseven if any of those work at all.
Good luck

#6470 | diderius6 | ⇗ @bright_light Just implement a generic CSM module in any pur Uefi Bios and the problem with only Uefi boot is gone. The Source code for the CSM module is available Dietmar

#6471

PPeti66x

⇗ @genieautravail
It seems that everything was installed correctly on your side.
But be careful with these settings. In most cases it produces more problems that solves. I needed 1 or 2 of these keys only once, but I do not remember the correct combination. I am used these via a special INF tuning utility, which was integrated to add/remove windows components menu. I made this INF around year 2010 for XP SP2, but it also works for SP3 (tested). The complete INF file is here: ⇗ https://drive.google.com/file/d/13uQxh_R...iew?usp=sharing
If you want to try, right click and install it, then you can access it via Add/remove windows components menu.
If the registry tuning does not resolve the problem, and even recommendations by Daniel_K, then you can try the HCSwitch with the AMD USB3 driver. I never tryed it, but theoretically should work. Problem is, that AMD driver is not problem-free on Intel chipset.

#6472

PPeti66x

Hi!
I am still searching for a good solution for the LCD brightness control problem on XP with ACPI5048.
Brightness control works with the original ACPI (including the outer space version), but on Haswell+ the USB3 does not. It is not a problem for desktop PCs but is very annoying for the notebooks.
I tried to write my own program using IOCTL method, but no supported brightness levels reported - so this is a bad way. I was able only to turn off the lights, but I am unable to turn on. The only program, that can turn on is the MultiMonitorTool by NirSoft, with the "/Switch \\.\DISPLAY1" or with "/disable \\.\DISPLAY1" (yes, both does a same thing in this case) parameter (the /TurnOn not works). But I am unable to acces this program via shortcut key from the logon screen. Is possible to add/restore this functionality for ACPI5048 ?

#6473

genieautravail

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6472

> Hi!
> I am still searching for a good solution for the LCD brightness control problem on XP with ACPI5048.
> Brightness control works with the original ACPI (including the outer space version), but on Haswell+ the USB3 does not. It is not a problem for desktop PCs but is very annoying for the notebooks.
> I tried to write my own program using IOCTL method, but no supported brightness levels reported - so this is a bad way. I was able only to turn off the lights, but I am unable to turn on. The only program, that can turn on is the MultiMonitorTool by NirSoft, with the "/Switch \\.\DISPLAY1" or with "/disable \\.\DISPLAY1" (yes, both does a same thing in this case) parameter (the /TurnOn not works). But I am unable to acces this program via shortcut key from the logon screen. Is possible to add/restore this functionality for ACPI5048 ?

Same issue on 2 laptops, one is a Dell Latitude E6230 and the other a Dell Latitude E6430.

#6474 | diderius6 | ⇗ @Mov AX, 0xDEAD Is it possible, just to compile ntldr from Sources from XP SP1 with small corrections (a lot not needed stuff in winload.exe from Vista) and name it winload.exe for XP SP3 Dietmar

#6475

diderius6

⇗ @Mov AX, 0xDEAD
I found this zeropage.c . zeropage.c is compiled into ntoskrnl.exe in XP.
But in Vista it is compiled into winload.exe . Nobody needs it there under XP.
So, there happens something like a doublecheck for "zeropage" with winload.exe from Vista and ntoskrnl.exe from XP.
A single Bit error can make this crash.
And this would explain, why this error happens not always but sometimes on newer compis.
So the Bsod happens in winload.exe from Vista SP2.
Dietmar

    /*++

    Copyright (c) Microsoft Corporation. All rights reserved.

    You
     may only use this code if you agree to the terms of the Windows
    Research Kernel Source Code License agreement (see License.txt).
    If you do not agree to the terms, do not use the code.

    Module Name:

           zeropage.c

    Abstract:

        This module contains the zero page thread for memory management.

    --*/

    #include "mi.h"

    #define MM_ZERO_PAGE_OBJECT     0
    #define PO_SYS_IDLE_OBJECT      1
    #define NUMBER_WAIT_OBJECTS     2

    #define MACHINE_ZERO_PAGE(ZeroBase,NumberOfBytes) KeZeroPagesFromIdleThread(ZeroBase,NumberOfBytes)

    LOGICAL MiZeroingDisabled = FALSE;

    #if DBG
    ULONG MiInitialZeroNoPtes = 0;
    #endif

    #if !defined(NT_UP)

    LONG MiNextZeroProcessor = (LONG)-1;

    #ifdef ALLOC_PRAGMA
    #pragma alloc_text(INIT,MiStartZeroPageWorkers)
    #endif

    #endif

    VOID
    MmZeroPageThread (
           VOID
           )

    /*++

    Routine Description:

        Implements the NT zeroing page thread.  This thread runs
        at priority zero and removes a page from the free list,
        zeroes it, and places it on the zeroed page list.

    Arguments:

           None.

    Return Value:

           None.

    Environment:

        Kernel mode.

    --*/

    {
        KIRQL OldIrql;
        PFN_NUMBER PageFrame1;
        LOGICAL ZeroedAlready;
        PFN_NUMBER PageFrame;
        PMMPFN Pfn1;
        PVOID ZeroBase;
        PVOID WaitObjects[NUMBER_WAIT_OBJECTS];
        NTSTATUS Status;
        PVOID StartVa;
        PVOID EndVa;
        PFN_COUNT PagesToZero;
        PFN_COUNT MaximumPagesToZero;
        ULONG Color;
        ULONG StartColor;
        PMMPFN PfnAllocation;
        ULONG SecondaryColorMask;
        PMMCOLOR_TABLES FreePagesByColor;

    #if defined(MI_MULTINODE)

        ULONG i;
        ULONG n;
        ULONG LastNodeZeroing;
        KAFFINITY ProcessorMask;

        n = 0;
        LastNodeZeroing = 0;
    #endif

           //
        // Make local copies of globals so they don't have to be wastefully
        // refetched while holding the PFN lock.
           //

        FreePagesByColor = MmFreePagesByColor[FreePageList];
        SecondaryColorMask = MmSecondaryColorMask;

           //
        // Before this becomes the zero page thread, free the kernel
        // initialization code.
           //

        MiFindInitializationCode (&StartVa, &EndVa);

        if (StartVa != NULL) {
            MiFreeInitializationCode (StartVa, EndVa);
           }

        MaximumPagesToZero = 1;

    #if !defined(NT_UP)

           //
        // Zero groups of pages at once to reduce PFN lock contention.
        // Charge commitment as well as resident available up front since
        // zeroing may get starved priority-wise.
           //
        // Note using MmSecondaryColors here would be excessively wasteful
        // on NUMA systems.  MmSecondaryColorMask + 1 is correct for all platforms.
           //

        PagesToZero = SecondaryColorMask + 1;

        if (PagesToZero > NUMBER_OF_ZEROING_PTES) {
            PagesToZero = NUMBER_OF_ZEROING_PTES;
           }

        if (MiChargeCommitment (PagesToZero, NULL) == TRUE) {

            LOCK_PFN (OldIrql);

                   //
            // Check to make sure the physical pages are available.
                   //

            if (MI_NONPAGEABLE_MEMORY_AVAILABLE() > (SPFN_NUMBER)(PagesToZero)) {
                MI_DECREMENT_RESIDENT_AVAILABLE (PagesToZero,
                                                                           MM_RESAVAIL_ALLOCATE_ZERO_PAGE_CLUSTERS);
                MaximumPagesToZero = PagesToZero;
                   }

            UNLOCK_PFN (OldIrql);
           }

    #endif

           //
        // The following code sets the current thread's base priority to zero
        // and then sets its current priority to zero. This ensures that the
        // thread always runs at a priority of zero.
           //

        KeSetPriorityZeroPageThread (0);

           //
        // Initialize wait object array for multiple wait
           //

        WaitObjects[MM_ZERO_PAGE_OBJECT] = &MmZeroingPageEvent;
        WaitObjects[PO_SYS_IDLE_OBJECT] = &PoSystemIdleTimer;

        Color = 0;
        PfnAllocation = (PMMPFN) MM_EMPTY_LIST;

           //
        // Loop forever zeroing pages.
           //

        do {

                   //
            // Wait until there are at least MmZeroPageMinimum pages
            // on the free list.
                   //

            Status = KeWaitForMultipleObjects (NUMBER_WAIT_OBJECTS,
                                                                                         WaitObjects,
                                                                                         WaitAny,
                                                                                         WrFreePage,
                                                                                         KernelMode,
                                                                                         FALSE,
                                                                                         NULL,
                                                                                         NULL);

            if (Status == PO_SYS_IDLE_OBJECT) {

                           //
                // Raise the priority and base priority of the current thread
                // above zero so it can participate in priority boosts provided
                // during the ready thread scan performed by the balance set
                // manager.
                           //

                KeSetPriorityZeroPageThread (1);
                PoSystemIdleWorker (TRUE);

                           //
                // Lower the priority and base priority of the current thread
                // back to zero so it will not participate in ready thread scan
                // priority boosts.
                           //

                KeSetPriorityZeroPageThread (0);
                           continue;
                   }

            PagesToZero = 0;

            LOCK_PFN (OldIrql);

            do {

                if (MmFreePageListHead.Total == 0) {

                                   //
                    // No pages on the free list at this time, wait for
                    // some more.
                                   //

                    MmZeroingPageThreadActive = FALSE;
                    UNLOCK_PFN (OldIrql);
                                   break;
                           }

                if (MiZeroingDisabled == TRUE) {
                    MmZeroingPageThreadActive = FALSE;
                    UNLOCK_PFN (OldIrql);
                    KeDelayExecutionThread (KernelMode,
                                                                                   FALSE,
                                            (PLARGE_INTEGER)&MmHalfSecond);
                                   break;
                           }

    #if defined(MI_MULTINODE)

                           //
                // In a multinode system, zero pages by node.  Resume on
                // the last node examined, find a node with free pages that
                // need to be zeroed.
                           //

                if (KeNumberNodes > 1) {

                    n = LastNodeZeroing;

                    for (i = 0; i < KeNumberNodes; i += 1) {
                        if (KeNodeBlock[n]->FreeCount[FreePageList] != 0) {
                                                   break;
                                           }
                        n = (n + 1) % KeNumberNodes;
                                   }

                    ASSERT (i != KeNumberNodes);
                    ASSERT (KeNodeBlock[n]->FreeCount[FreePageList] != 0);

                    if (n != LastNodeZeroing) {
                        Color = KeNodeBlock[n]->MmShiftedColor;
                                   }
                           }
    #endif

                ASSERT (PagesToZero == 0);

                StartColor = Color;

                do {

                    PageFrame = FreePagesByColor[Color].Flink;

                    if (PageFrame != MM_EMPTY_LIST) {

                        Pfn1 = MI_PFN_ELEMENT (PageFrame);

                               //
                        // Check the frame carefully because a single bit (hardware)
                        // error causing us to zero the wrong frame is very hard
                        // to reconstruct after the fact.
                                           //

                        if ((Pfn1->u3.e1.PageLocation != FreePageList) ||
                            (Pfn1->u3.e2.ReferenceCount != 0)) {

                                                   //
                            // Someone has removed a page from the colored lists
                            // chain without updating the freelist chain.
                                                   //

                            KeBugCheckEx (PFN_LIST_CORRUPT,
                                                                               0x8D,
                                                                               PageFrame,
                                          (Pfn1->u3.e2.ShortFlags << 16) |
                                            Pfn1->u3.e2.ReferenceCount,
                                          (ULONG_PTR) Pfn1->PteAddress);
                                           }

                        PageFrame1 = MiRemoveAnyPage (Color);

                        if (PageFrame != PageFrame1) {

                                                   //
                            // Someone has removed a page from the colored lists
                            // chain without updating the freelist chain.
                                                   //

                            KeBugCheckEx (PFN_LIST_CORRUPT,
                                                                               0x8E,
                                                                               PageFrame,
                                                                               PageFrame1,
                                                                               0);
                                           }

                        Pfn1->u1.Flink = (PFN_NUMBER) PfnAllocation;

                                           //
                        // Temporarily mark the page as bad so that contiguous
                        // memory allocators won't steal it when we release
                        // the PFN lock below.  This also prevents the
                        // MiIdentifyPfn code from trying to identify it as
                        // we haven't filled in all the fields yet.
                                           //

                        Pfn1->u3.e1.PageLocation = BadPageList;

                        PfnAllocation = Pfn1;

                        PagesToZero += 1;
                                   }

                                   //
                    // March to the next color - this will be used to finish
                    // filling the current chunk or to start the next one.
                                   //

                    Color = (Color & ~SecondaryColorMask) |
                            ((Color + 1) & SecondaryColorMask);

                    if (PagesToZero == MaximumPagesToZero) {
                                           break;
                                   }

                    if (Color == StartColor) {
                                           break;
                                   }

                } while (TRUE);

                ASSERT (PfnAllocation != (PMMPFN) MM_EMPTY_LIST);

                UNLOCK_PFN (OldIrql);

    #if defined(MI_MULTINODE)

                           //
                // If a node switch is in order, do it now that the PFN
                // lock has been released.
                           //

                if ((KeNumberNodes > 1) && (n != LastNodeZeroing)) {
                    LastNodeZeroing = n;

                    ProcessorMask = KeNodeBlock[n]->ProcessorMask;

                                   //
                    // Only affinitize if the node has a processor.  Otherwise
                    // just stay with the last ideal processor that was set.
                                   //

                    if (ProcessorMask != 0) {

                        KeFindFirstSetLeftAffinity (ProcessorMask, &i);

                        if (i != NO_BITS_FOUND) {
                            KeSetIdealProcessorThread (KeGetCurrentThread(), (UCHAR)i);
                                           }
                                   }
                           }

    #endif

                ZeroedAlready = FALSE;

                if (ZeroedAlready == FALSE) {
                    ZeroBase = MiMapPagesToZeroInHyperSpace (PfnAllocation, PagesToZero);

                    MACHINE_ZERO_PAGE (ZeroBase, PagesToZero << PAGE_SHIFT);

                    MiUnmapPagesInZeroSpace (ZeroBase, PagesToZero);
                           }

                PagesToZero = 0;

                Pfn1 = PfnAllocation;

                LOCK_PFN (OldIrql);

                do {

                    PageFrame = MI_PFN_ELEMENT_TO_INDEX (Pfn1);

                    Pfn1 = (PMMPFN) Pfn1->u1.Flink;

                    MiInsertPageInList (&MmZeroedPageListHead, PageFrame);

                } while (Pfn1 != (PMMPFN) MM_EMPTY_LIST);

                           //
                // We just finished processing a cluster of pages - briefly
                // release the PFN lock to allow other threads to make progress.
                           //

                UNLOCK_PFN (OldIrql);

                PfnAllocation = (PMMPFN) MM_EMPTY_LIST;

                LOCK_PFN (OldIrql);

            } while (TRUE);

        } while (TRUE);
    }

    #if !defined(NT_UP)

    VOID
    MiZeroPageWorker (
        IN PVOID Context
           )

    /*++

    Routine Description:

        This routine is the worker routine executed by all processors so that
        initial page zeroing occurs in parallel.

    Arguments:

        Context - Supplies a pointer to the workitem.

    Return Value:

           None.

    Environment:

        Kernel mode initialization time, PASSIVE_LEVEL.  Because this is INIT
        only code, don't bother charging commit for the pages.

    --*/

    {
        MMPTE TempPte;
        MMPTE DefaultCachedPte;
        PMMPTE PointerPte;
        KAFFINITY Affinity;
        KIRQL OldIrql;
        PVOID ZeroBase;
        PKTHREAD Thread;
        CCHAR OldProcessor;
        SCHAR OldBasePriority;
        KPRIORITY OldPriority;
        PWORK_QUEUE_ITEM WorkItem;
        PMMPFN Pfn1;
        PFN_COUNT PagesToZero;
        PFN_COUNT MaximumPagesToZero;
        PFN_NUMBER PageFrame;
        PFN_NUMBER PageFrame1;
        PMMPFN PfnAllocation;
        ULONG Color;
        ULONG StartColor;
        LOGICAL ZeroedAlready;
        PMMCOLOR_TABLES FreePagesByColor;
        ULONG SecondaryColorMask;

        WorkItem = (PWORK_QUEUE_ITEM) Context;

        ExFreePool (WorkItem);

        DefaultCachedPte = ValidKernelPte;

           //
        // Make local copies of globals so they don't have to be wastefully
        // refetched while holding the PFN lock.
           //

        FreePagesByColor = MmFreePagesByColor[FreePageList];
        SecondaryColorMask = MmSecondaryColorMask;

           //
        // The following code sets the current thread's base and current priorities
        // to one so all other code (except the zero page thread) can preempt it.
           //

        Thread = KeGetCurrentThread ();
        OldBasePriority = Thread->BasePriority;
        Thread->BasePriority = 1;
        OldPriority = KeSetPriorityThread (Thread, 1);

           //
        // Dispatch each worker thread to the next processor in line.
           //

        OldProcessor = (CCHAR) InterlockedIncrement (&MiNextZeroProcessor);

        Affinity = AFFINITY_MASK (OldProcessor);

        KeSetSystemAffinityThread (Affinity);

        Color = 0;

    #if !defined(NT_UP)

           //
        // Make an attempt to stagger the processors ...
           //

        Color = (MmSecondaryColors / KeNumberProcessors) * OldProcessor;
        Color &= SecondaryColorMask;
    #endif

    #if defined(MI_MULTINODE)
        if (KeNumberNodes > 1) {
            Color = KeGetCurrentNode()->MmShiftedColor;
           }
    #endif

           //
        // Zero groups of local pages at once to reduce PFN lock contention.
           //
        // Note using MmSecondaryColors here would be excessively wasteful
        // on NUMA systems.  MmSecondaryColorMask + 1 is correct for all platforms.
           //

        MaximumPagesToZero = SecondaryColorMask + 1;

           //
        // Zero a maximum of 64k at a time since 64k is the largest binned
        // system PTE size (for systems that need to use PTEs for zeroing).
           //

        if (MaximumPagesToZero > (64 * 1024) / PAGE_SIZE) {
            MaximumPagesToZero = (64 * 1024) / PAGE_SIZE;
           }

        PagesToZero = 0;

        PfnAllocation = (PMMPFN) MM_EMPTY_LIST;

        LOCK_PFN (OldIrql);

        do {

            StartColor = Color;

            ASSERT (PagesToZero == 0);
            ASSERT (PfnAllocation == (PMMPFN) MM_EMPTY_LIST);

            do {

                PageFrame = FreePagesByColor[Color].Flink;

                if (PageFrame != MM_EMPTY_LIST) {

                    Pfn1 = MI_PFN_ELEMENT (PageFrame);

                                   //
                    // Check the frame carefully because a single bit (hardware)
                    // error causing us to zero the wrong frame is very hard
                    // to reconstruct after the fact.
                                   //

                    if ((Pfn1->u3.e1.PageLocation != FreePageList) ||
                        (Pfn1->u3.e2.ReferenceCount != 0)) {

                                           //
                        // Someone has removed a page from the colored lists
                        // chain without updating the freelist chain.
                                           //

                        KeBugCheckEx (PFN_LIST_CORRUPT,
                                                                       0x8D,
                                                                       PageFrame,
                                      (Pfn1->u3.e2.ShortFlags << 16) |
                                        Pfn1->u3.e2.ReferenceCount,
                                      (ULONG_PTR) Pfn1->PteAddress);
                                   }

                    PageFrame1 = MiRemoveAnyPage (Color);

                    if (PageFrame != PageFrame1) {

                                           //
                        // Someone has removed a page from the colored lists
                        // chain without updating the freelist chain.
                                           //

                        KeBugCheckEx (PFN_LIST_CORRUPT,
                                                                       0x8E,
                                                                       PageFrame,
                                                                       PageFrame1,
                                                                       0);
                                   }

                    Pfn1->u1.Flink = (PFN_NUMBER) PfnAllocation;

                                   //
                    // Temporarily mark the page as bad so that contiguous
                    // memory allocators won't steal it when we release
                    // the PFN lock below.  This also prevents the
                    // MiIdentifyPfn code from trying to identify it as
                    // we haven't filled in all the fields yet.
                                   //

                    Pfn1->u3.e1.PageLocation = BadPageList;

                    PfnAllocation = Pfn1;

                    PagesToZero += 1;
                           }

                           //
                // March to the next color - this will be used to finish
                // filling the current chunk or to start the next one.
                           //

                Color = (Color & ~SecondaryColorMask) |
                        ((Color + 1) & SecondaryColorMask);

                if (PagesToZero == MaximumPagesToZero) {
                                   break;
                           }

                if (Color == StartColor) {

                    if (PagesToZero == 0) {

                                           //
                        // All of the pages for this node have been zeroed, bail.
                                           //

                        ASSERT (PfnAllocation == (PMMPFN) MM_EMPTY_LIST);
                        UNLOCK_PFN (OldIrql);
                        goto ZeroingComplete;
                                   }

                                   break;
                           }

            } while (TRUE);

            ASSERT (PagesToZero != 0);
            ASSERT (PfnAllocation != (PMMPFN) MM_EMPTY_LIST);

                   //
            // Use system PTEs instead of hyperspace to zero the page so that
            // a spinlock (ie: interrupts blocked) is not held while zeroing.
            // Since system PTE acquisition is lock free and the TB lazy flushed,
            // this is perhaps the best path regardless.
                   //

            UNLOCK_PFN (OldIrql);

            ZeroedAlready = FALSE;

            if (ZeroedAlready == FALSE) {

                Pfn1 = PfnAllocation;

                PointerPte = MiReserveSystemPtes (PagesToZero, SystemPteSpace);

                if (PointerPte == NULL) {

    #if DBG
                    MiInitialZeroNoPtes += 1;
    #endif

                                   //
                    // Put these pages back on the freelist.
                                   //

                    LOCK_PFN (OldIrql);

                    do {

                        PageFrame = MI_PFN_ELEMENT_TO_INDEX (Pfn1);

                        Pfn1 = (PMMPFN) Pfn1->u1.Flink;

                        MiInsertPageInFreeList (PageFrame);

                    } while (Pfn1 != (PMMPFN) MM_EMPTY_LIST);

                    UNLOCK_PFN (OldIrql);

                                   break;
                           }

                ZeroBase = MiGetVirtualAddressMappedByPte (PointerPte);

                do {

                    ASSERT (PointerPte->u.Hard.Valid == 0);

                    PageFrame = MI_PFN_ELEMENT_TO_INDEX (Pfn1);

                    TempPte = DefaultCachedPte;

                    if (Pfn1->u3.e1.CacheAttribute == MiWriteCombined) {
                        MI_SET_PTE_WRITE_COMBINE (TempPte);
                                   }
                    else if (Pfn1->u3.e1.CacheAttribute == MiNonCached) {
                        MI_DISABLE_CACHING (TempPte);
                                   }

                    TempPte.u.Hard.PageFrameNumber = PageFrame;

                    MI_WRITE_VALID_PTE (PointerPte, TempPte);

                    PointerPte += 1;

                    Pfn1 = (PMMPFN) Pfn1->u1.Flink;

                } while (Pfn1 != (PMMPFN) MM_EMPTY_LIST);

                KeZeroPages (ZeroBase, PagesToZero << PAGE_SHIFT);

                PointerPte -= PagesToZero;

                MiReleaseSystemPtes (PointerPte, PagesToZero, SystemPteSpace);
                   }

            PagesToZero = 0;

            Pfn1 = PfnAllocation;

            PfnAllocation = (PMMPFN) MM_EMPTY_LIST;

            LOCK_PFN (OldIrql);

            do {

                PageFrame = MI_PFN_ELEMENT_TO_INDEX (Pfn1);

                Pfn1 = (PMMPFN) Pfn1->u1.Flink;

                MiInsertZeroListAtBack (PageFrame);

            } while (Pfn1 != (PMMPFN) MM_EMPTY_LIST);

        } while (TRUE);

    ZeroingComplete:

           //
        // Restore the entry thread priority and processor affinity.
           //

        KeRevertToUserAffinityThread ();

        KeSetPriorityThread (Thread, OldPriority);

        Thread->BasePriority = OldBasePriority;

           return;
    }

    VOID
    MiStartZeroPageWorkers (
           VOID
           )

    /*++

    Routine Description:

        This routine starts the zero page worker threads.

    Arguments:

           None.

    Return Value:

           None.

    Environment:

        Kernel mode initialization phase 1, PASSIVE_LEVEL.

    --*/

    {
        ULONG i;
        PWORK_QUEUE_ITEM WorkItem;

        for (i = 0; i < (ULONG) KeNumberProcessors; i += 1) {

            WorkItem = ExAllocatePoolWithTag (NonPagedPool,
                                              sizeof (WORK_QUEUE_ITEM),
                                              'wZmM');

            if (WorkItem == NULL) {
                           break;
                   }

            ExInitializeWorkItem (WorkItem, MiZeroPageWorker, (PVOID) WorkItem);

            ExQueueWorkItem (WorkItem, CriticalWorkQueue);
           }
    }

    #endif

#6476 | PPeti66x | ⇗ @genieautravail Both are Gen3 (Ivy Bridge). Is really needed the ACPI5048 for these? For desktop PCs the original ACPI is mostly enough.

#6477

George King

Anybody have idea how to port Vista RTM takeown / icacls?
It cannot be run as is not valid win32 application.
Anybody can patch them so they can work on XP too to control files permission in Windows 6.x?George King has attached files to this post

- ⇗ icalcs+takeown_v6.0.6000.16386.zip

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6478

genieautravail

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6476

> @genieautravail
> Both are Gen3 (Ivy Bridge). Is really needed the ACPI5048 for these? For desktop PCs the original ACPI is mostly enough.

With the original ACPI file, no Intel(R) 7 Series/C216 Chipset Family Universal Serial Bus (USB) Controller - 1E31 device in the devices manager and so no USB 3.0...

#6479 | daniel_k | ⇗ @PPeti66x and ⇗ @genieautravail If your laptops "hide" USB3 controller on XP, please try all acpi.sys: ⇗ http://www.mediafire.com/file/hwio6yp5je1hqkq
#6480 | genieautravail | ⇗ @daniel_k It's the same thing with the ZOTAC ZBOX, the USB3 controller is "hidden" with the original acpi.sys. As I understand, Andalu's motherboards doesn't "hide" the USB3 controller.

## Page 433

#6481

PPeti66x

⇗ @daniel_k
ACPITEST results for Dell M4800 (Mobile Intel QM87 Express/Haswell)
acpi2006.sys
USB xHCI listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): works
hotkeys: sleep:yes, displayswitch:no, brightness:no
acpi2009.sys
USB xHCI listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): works
hotkeys: sleep:yes, displayswitch:no*, brightness:no
*problems: moving selection on some (beginning with "p") icons on desktop
acpi2012.sys
USB xHCI listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): works
hotkeys: sleep:yes, displayswitch:no*, brightness:no
notes: new unknown hardware found: "ACPI\DELLABCE\2&DABA3FF&0" (no compatible ID)
(Dell Airplane Mode driver for Windows 8.0/later)
*problems: moving selection on some (beginning with "p") icons on desktop
acpi2013.sys
USB xHCI listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): works
hotkeys: sleep:yes, displayswitch:yes, brightness:yes
notes: This one seems to be the best.
acpi2015.sys
USB xHCI not listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): hardware ID not found
hotkeys: sleep:yes, displayswitch:yes, brightness:yes
For comparison
acpi_sp3original:
USB xHCI not listed. HCSwitch: uses USB2.0
Manual HCSwitching(wpcr): hardware ID not found
hotkeys: sleep:yes(fails), displayswitch:yes, brightness:yes
acpi_OuterSpace(CRC32:2438B702):
USB xHCI not listed. HCSwitch: uses USB2.0
Manual HCSwitching(wpcr): hardware ID not found
hotkeys: sleep:yes, displayswitch:yes, brightness:yes
acpi_vista5048:
USB xHCI listed. HCSwitch uses USB3.0
Manual HCSwitching(wpcr): not required
hotkeys: sleep:yes, displayswitch:no, brightness:no
Common problems:
1.) When returning from sleep, sometimes display is switched off. When display switch hotkey is working, it can re-enable it.
2.) When sleep was used, newly connected usb pendrive was not detected. When connected prior returning from sleep, then is OK. It seems taht only USB3 mode is affected, in USB2 is OK.

#6482

PPeti66x

⇗ @genieautravail
I recommend you to check the acpi2013.sys. But prior this: If you used a modded INF to install the ACPI5048, you must revert to the original, then force-reinstall all device drivers which name contains "ACPI" from Windows\INF folder and restart.
Now brightness and display switch hotkeys should work again (this was killed by the ACPI5048 INF file). At this point, you can replace the acpi.sys, then install the wpcrset service with correct changes. Now you should have USB3 enabled and working hotkeys.

#6483

Andalu

⇗ @genieautravail
Here my USB configuration for Q87 board (intel controller + Renesas controller from a PCIEx to USB3 board):
with acpi.sys v.6666 from Outer Space (SHA-1: B1CE1C07AFB0861BCCDEC17DAF04274A3DD80C8C) both controllers are visible and working:
⇗
with the original acpi.sys 5512 I got the error code 10 for the Intel controller but no issues for the Renesas controller:
⇗

#6484

daniel_k

⇗ @PPeti66x, thanks for your testing report.
Those acpi20xx.sys files are actually the same OuterSpace version (v6666), with a fix for ⇗ @Andalu's crazy ASRock board.
⇗ @Mov AX, 0xDEAD
Is there a way to optimize the string loader code at address 27FB8, maybe a loop instead of one by one in original code?
All strings must be present (Windows 2006 ~ Windows 2015), otherwise it won't have the desired effect.

#6485

genieautravail

⇗ @Andalu
Thanks you for the screenshots.
I understand better now.
It existed 2 groups of hardware:
One for consumers market without fully support for XP
I presume that the USB 3.0 ports doesn't works under XP even in USB 2.0 mode. True ?
Another group with full support of XP (especially for the business market).
The Dell Latitude E6230 and E6430 are business laptops released in 2012.
In 2012, XP was widely used in the business, so to make these laptops fully compatible with XP, the USB 3.0 ports can works in 2.0 mode.
Manufacturers had the choice to keep or not fully compatibility with XP in 2012, 2013.
Regards

#6486 | genieautravail | ⇗ @PPeti66x Thanks you very much! That's do a lot of tests for me the next week! Regards

#6487

onuracengiz

⇗ Unofficial Windows XP Service Pack 4
⇗ .Net Framework runtimes
⇗ The latest supported Visual C++ downloads
⇗ Potplayer
⇗ K-Lite Codec Pack Mega 13.8.5 for Xp
⇗ Windows Media Format Runtime for Windows XP/Vista
⇗ 7-zip
⇗ Privazer
⇗ Smart Defrag
⇗ DirectX End-User Runtimes (June 2010)
⇗ DirectX 3.0, 5.2, 6.1, 7.0, 8.0, 8.1, and 8.2
⇗ Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update
⇗ Microsoft UAA Bus Driver for High Definition Audio
⇗ OpenAL
⇗ TCP Optimizer
⇗ K-Meleon
⇗ CabMaker 1.2 (dated 7 May 2018)
⇗ StorAhci for Windows 2003 Server (Last Update: 2020-09-28)
Notepad++ (dont know if its still working,need confirmation)
Directx downloads are no longer available in microsoft downloads site
Windows XP Pro SP3 x86 EN-RU Integral Edition. A good copy with all the patches,tweaks and updates applied.
look it up,i will not link it :) for researches purposes in order to see the tweaks,patches they have used

#6488

Mov AX, 0xDEAD

> Zitat von ⇗ daniel_k im Beitrag ¶ #6484

> @Mov AX, 0xDEAD
> Is there a way to optimize the string loader code at address 27FB8, maybe a loop instead of one by one in original code?
> All strings must be present (Windows 2006 ~ Windows 2015), otherwise it won't have the desired effect.

⇗ @daniel_k Hi Daniel,
Let's play with stack :)
1) allocate more space in stack sub esp, 5Ch => sub esp, 9Ch (40h bytes, max 16 pointers)
2) original code place pointer to first string "Windows 2000" (before it copy string to stack too, at var_24 stored first char "W") as SupportedOSList[0]
because order of string is important, need to shift all original pointer to end of new stack layout:
lea eax, [ebp+var_24]
mov [ebp-5Ch], eax = >mov [ebp-9Ch], eax
....
mov [ebp-58h], eax = >mov [ebp-98h], eax
...
mov [ebp-54h], eax = >mov [ebp-98h], eax
...
mov [ebp-50h], eax = >mov [ebp-90h], eax
3) orig stack layout:
ebp-50h = SupportedOSList[3]
ebp-54h = SupportedOSList[2]
ebp-58h = SupportedOSList[1]
ebp-5Ch = SupportedOSList[0]
new stack layout:
ebp-90h = SupportedOSList[3]
ebp-94h = SupportedOSList[2]
ebp-98h = SupportedOSList[1]
ebp-9Ch = SupportedOSList[0]
4) create inject code, it must insert new pointers to stack as SupportedOSList[4], SupportedOSList[5], ...
.....
ebp-80h = SupportedOSList[7]
ebp-84h = SupportedOSList[6]
ebp-88h = SupportedOSList[5]
ebp-8Ch = SupportedOSList[4]
....
5) original code assume ebp-5Ch (SupportedOSList[0]) as base of SupportedOSList[] array, change base to new layout
push [ebp+esi*4-5Ch] = > push [ebp+esi*4-9Ch] (dont shure about fitting "-9Ch" to orig opcode, maybe changed instruction will be bigger)
6) orig code hardcoded to 4 elements of SupportedOSList[], increase to yours
inc esi
cmp esi, 4 => cmp esi, xx
7) dont need copy strings on stack as original code do at begin, we can store strings in any PE section, only pointers to strings are important and need to store on stack

#6489

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6474

> @Mov AX, 0xDEAD
> Is it possible, just to compile ntldr from Sources from XP SP1 with small corrections (a lot not needed stuff in winload.exe from Vista)
> and name it winload.exe for XP SP3

⇗ @diderius6
why ntldr is so bad and need winload.exe on x32 XP?

#6490

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6475

> @Mov AX, 0xDEAD
> I found this zeropage.c . zeropage.c is compiled into ntoskrnl.exe in XP.
> But in Vista it is compiled into winload.exe . Nobody needs it there under XP.
> So, there happens something like a doublecheck for "zeropage" with winload.exe from Vista and ntoskrnl.exe from XP.
> A single Bit error can make this crash.
> And this would explain, why this error happens not always but sometimes on newer compis.
> So the Bsod happens in winload.exe from Vista SP2.

answer is in head of code:

> Zitat

> Module Name:
> zeropage.c
> Abstract:
> This module contains the zero page thread for memory management.

When ntldr start ntoskrnl.exe, it never get CPU back(dont sure 100%), so there is no concurrency threads
ntldr is bootchain loader - get memory list from bios, prepare i386 protected mode, load boot drivers/dlls, fill main _LOADER_PARAMETER_BLOCK struct, jmp to kernel' entry point. I dont know what winload do, too big EXE as to be "bootchainloader" :)
p.s. You can explore leaked windows 10 bootloader sources, i think it contains BootMgr and Winload.exe

#6491

diderius6

⇗ @Mov AX, 0xDEAD
Now I think, the people who make ntldr make it very good. And the edit of boot.ini is much more comfortable than BCD.
They implemented in ntldr the only very needed functions for to boot XP. Via ntbootdd.sys it is also possible for ntldr to work
in such a way without Bios as winload.exe. But this works only for boot drivers, which depend on the scsiport. sys model.
Not storport!
For me, the only thing why winload.exe is interesting is,
that it gives you some more freedom for to go away from Bios.
Interesting, if it is possible for to example for to boot XP via winload from a nvme disk, when there is no legacy nvme in Bios.
Question in this is, HOW the nvme disk can be recogniced at all before the nvme driver itself is loaded.
I tried this with ntldr (just with some kind of generic legacy nvme add into Bios) and it would work, if there is a nvme driver, which depends on scsiport model.
But there are also very bad side effects in winload.exe.
Now, winload.exe looks at the Signature of the harddisk in registry.
I noticed that, because when you just delete whole key HKLM\SYSTEM\MountedDevices in registry,
winload.exe cant find any more the harddisk!
Hihi, so you can fake this key, add or delete the wished entries in MountedDevices and blind winload.exe thinks,
oh, this is my harddisk )..
Dietmar
PS: I dont know, how much work has to be done, that winload.exe works also for XP.
May be it is even possible to integrate drivers for to boot into such a winload.exe like PLOP.

#6492

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6489

> > Zitat von ⇗ diderius6 im Beitrag ¶ #6474

> > @Mov AX, 0xDEAD
> > Is it possible, just to compile ntldr from Sources from XP SP1 with small corrections (a lot not needed stuff in winload.exe from Vista)
> > and name it winload.exe for XP SP3

> @diderius6
> why ntldr is so bad and need winload.exe on x32 XP?

Also DetectHAL feature should be nice [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6493

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #6491

> @Mov AX, 0xDEAD
> But there are also very bad side effects in winload.exe.
> Now, winload.exe looks at the Signature of the harddisk in registry.
> I noticed that, because when you just delete whole key HKLM\SYSTEM\MountedDevices in registry,
> winload.exe cant find any more the harddisk!
> Hihi, so you can fake this key, add or delete the wished entries in MountedDevices and blind winload.exe thinks,
> oh, this is my harddisk )..
> Dietmar
> PS: I dont know, how much work has to be done, that winload.exe works also for XP.

Interesting, this key is deleted during SysPrep method, that XP2ESD using (Adapted Russian MyFactory). Will see if I can encounter same BSOD if these key are present [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6494

Mov AX, 0xDEAD

> Zitat von ⇗ George King im Beitrag ¶ #6492

> Also DetectHAL feature should be nice

"nice" is notepad.exe + boot.ini, just add any combination of kernel + hal you want, no BCD shit, just text line

#6495

George King

Thats true, I'm writing boot.ini on the fly. But there is a limit as I don't know how set correct partition - Diskpart partitions are counted different way then boot.ini partitions works. So there is limitation image deyployed by XP2ESD must be always at first partition on disk.[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 434

#6496

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6491

> For me, the only thing why winload.exe is interesting is,
> that it gives you some more freedom for to go away from Bios.
> Interesting, if it is possible for to example for to boot XP via winload from a nvme disk, when there is no legacy nvme in Bios.
> Question in this is, HOW the nvme disk can be recogniced at all before the nvme driver itself is loaded.
> I tried this with ntldr (just with some kind of generic legacy nvme add into Bios) and it would work, if there is a nvme driver, which depends on scsiport model.

⇗ @diderius6
there is no escape from bios, to load winload from nvme disk, bios must have nvme support = uefi driver
1) CSM emulator translate DOS mode int13h to uefi x64 calls, MBR and Partition boot code can use only int13h to access disk and load winload
2) On bioses without CSM no way to start x32 windows because no one yet written uefi64<->uefi32 translator (theoricaly this is possible)

#6497

daniel_k

⇗ @PPeti66x, ⇗ @genieautravail, ⇗ @Andalu, ⇗ @diderius6
Thanks to ⇗ @Mov AX, 0xDEAD, we now have an updated acpi.sys v6666 from outerspace.
Added the following _OSI Strings for Windows:
Windows 2006 (Vista)
Windows 2006 SP1 (Vista SP1)
Windows 2009 (Win7)
Windows 2012 (Win8)
Windows 2013 (Win8.1)
Windows 2015 (Win10)
Sometimes there is code in the DSDT table that disables/enables certain devices depending on the Windows version detected (some laptops hide the USB3 controller unless Win8 is detected).
This just fixes that: if it checks for any of the versions above, it will return TRUE.
EDIT: I've reuploaded, now there are 2 files:
- acpi2013.sys
- acpi2015.sys
It's just a one byte change between them.
Just use the one that works best for your system.daniel_k has attached files to this post

- ⇗ acpi2013_2015.zip

#6498 | genieautravail | ⇗ @daniel_k Thanks you very much and many thanks to ⇗ @Mov AX, 0xDEAD for his help! That's cooool! Regards
#6499 | Andalu | ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD thanks guys for your amazing work

#6500

PPeti66x

⇗ @daniel_k
⇗ @Mov AX, 0xDEAD
Many thanks for it!
Test results for this version (on Dell M4800 notebook)
acpi2015-new.sys
USB xHCI listed. HCSwitch uses USB2.0
Manual HCSwitching(wpcr): works
hotkeys: sleep:yes, displayswitch:no*, brightness:no
notes: new unknown hardware found: "ACPI\DELLABCE\2&DABA3FF&0" (no compatible ID)
(Dell Airplane Mode driver for Windows 8.0/later)
*problems: moving selection on some (beginning with "p") icons on desktop
So it seems, that not always best to mimic the Windows 10. In my case the acpi2013 still works better. Why the display switching and brightness control hotkeys are disfunctional? And why is the interesting behaviour with moving selection on desktop icons beginning with "p"? It is a bug in my system or something special misinterpreted by XP?
And the most important question: is x64 version planned?

#6501

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6500

> So it seems, that not always best to mimic the Windows 10. In my case the acpi2013 still works better. Why the display switching and brightness control hotkeys are disfunctional? And why is the interesting behaviour with moving selection on desktop icons beginning with "p"? It is a bug in my system or something special misinterpreted by XP?

Can you dump the acpi tables of your Dell so I can see what is going on?
⇗ http://rweverything.com/

> Zitat

> And the most important question: is x64 version planned?

We don't have a fully working acpi.sys, so no point in do it for now.

#6502 | daniel_k | I've updated the attachment. so there are 2 versions now: 2013/2015. Use the one that works best for your system.

#6503

PPeti66x

⇗ @daniel_k
Thanks!
Here are the ACPI tables (BIOS version A26 - 06 Dec 2019)
UPDATE:
The new ACPI2013 have exactly same behaviour as new ACPI2015. The old ACPI2013 is OK.PPeti66x has attached files to this post

- ⇗ Dell_M4800_ACPI_tables.zip

#6504

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6503

> UPDATE:
> The new ACPI2013 have exactly same behaviour as new ACPI2015. The old ACPI2013 is OK.

Thanks for the dump.
Looking at the ACPI tables, there is no "Windows 2015", theoretically the 2013 and 2015 versions should behave in the same way, even the "old test" ones.
That is really strange! Let me double check.

#6505 | PPeti66x | ⇗ @daniel_k I made some extra tests: replaced entries 1-by-1 in hexeditor (to "Windows 2002") and found the incompatible entries: "Windows 2006", "Windows 2009" and "Windows 2012" ("Windows 2006 SP1" is OK). It seems, that changes are cumulative (e.g. without 2012 there is no unknown hardware found, without 2009 and 2012 no jumping to file beginning with "p" on display switch Fn key), not only the highest supported is used. So if the above 3 entries missing, it works correctly on my Dell M4800. The "Windows 2015" only variant was problematic, because it was not supported at all.

#6506

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6505

> @daniel_k
> It seems, that changes are cumulative (e.g. without 2012 there is no unknown hardware found, without 2009 and 2012 no jumping to file beginning with "p" on display switch Fn key), not only the highest supported is used.

That doesn't make sense, because of this:

    		Method(_INI, 0, NotSerialized)
    		{
    			Store(0x07D0, OSYS) -> BY DEFAULT WIN2000 IF NOT MATCH
    			If(CondRefOf(\_OSI, Local0))
    			{
    				If(_OSI("Linux"))
    				{
    					Store(0x03E8, OSYS)
    				}
    				If(_OSI("Windows 2001")) -> COMPARES ONE BY ONE
    				{
    					Store(0x07D1, OSYS) -> SUPPORTED? WRITE/STORE 0x07D1 IN VARIABLE OSYS
    				}
    				If(_OSI("Windows 2001 SP1"))
    				{
    					Store(0x07D1, OSYS)
    				}
    				If(_OSI("Windows 2001 SP2"))
    				{
    					Store(0x07D2, OSYS)
    				}
    				If(_OSI("Windows 2001.1"))
    				{
    					Store(0x07D3, OSYS)
    				}
    				If(_OSI("Windows 2006"))
    				{
    					Store(0x07D6, OSYS)
    				}
    				If(_OSI("Windows 2009"))
    				{
    					Store(0x07D9, OSYS)
    				}
    				If(_OSI("Windows 2012"))
    				{
    					Store(0x07DC, OSYS)
    				}
    				If(_OSI("Windows 2013"))
    				{
    					Store(0x07DD, OSYS)
    				}
    			}
    ...

Acpi.sys reports supported for all strings.
However, when doing the checks, from older to newer versions (Windows 2001 to 2013), if a newer version is detected, OSYS variable is overwritten, as seen in the code in spoiler.
In other parts of the DSDT code, search for OSYS and you'll see that it is used with a comparison operator (GreaterEqual, Greater, Less, Equal, etc.)

#6507

pappyN4

Hi ⇗ @Mov AX, 0xDEAD
I am having an issue with some of the functions from safecrtnt.lib. Specifically _ultow_s _ultoa_s _ui64toa_s for samsung nvme driver. It shows up correctly when compiling emu_extender for x86, but on the x64 build it is missing.
⇗
I downloaded the latest version to see if it was an issue with any changes I had made, but same problem. Any ideas why?
That reminds me, when building a x86 or x64 with a fresh copy, the build fails with the following error. ntoskrn8.c(214) : error C4013: 'RtlQueryRegistryValues' undefined; assuming extern returning int
⇗
I forgot about this. I had removed it to get it to compile while testing the other stuff. But it is needed for uapstor if someone is using it.

    NTSTATUS
    RtlQueryRegistryValuesEx_k8 (
        ULONG                       RelativeTo,
        PCWSTR                      Path,
        PRTL_QUERY_REGISTRY_TABLE   QueryTable,
        PVOID                       Context,
        PVOID                       Environment )
    {
        return RtlQueryRegistryValues(RelativeTo, Path, QueryTable, Context,
     Environment);              <--- line 214 in ntoskrn8.c
    }

#6508

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6447

> Until now I cant debug Vista,
> because always this crazy "enable signature unforce" I have to hit in the beginning.
> Because this bootloader from Vista SP2 would be really nice,
> I can only debug it when I get over this "unforce signature" step

Try to patch the bootmgr, winload.exe and ntoskrnl.exe files with ⇗ EfiGuard (-> ⇗ binaries)
I tried it on WinXP 64-bit with the beta Longhorn 16497 files and it patched so it should be able to handle Vista files too. Use Loader.config.efi and select option 2 Boot time DSE bypass and Wait for keypress Yes:
⇗ ⇗ ⇗ ⇗
[edited]
This only seems to work with an EFI loader and a 64-bit kernel

#6509

diderius6

⇗ @Gelip
On which OS you run this tool?
I need a step by step Tutorial!
Today I also try to enable Windbg via Lan during bootice and the crazy BCD, never tried
Dietmar
PS: Debug via serial COM1 works for the Vista bootloader.
I read here, that ⇗ @George King uses the bootmgr from win7 and winload.exe from Vista SP2 and get rid of the crazy "driver signature" message.
Have you tried this?
Interesting, that with this tool you can patch ntoskrnl.exe. So, easy hack there is also possible. Before I never succeed with it,
because XP SP3 tells that ntoskrnl.exe is broken.
About the Bsod pfn_list_corrupt I read:
"This error is typically caused by a driver passing a bad memory descriptor list. For example, the driver might have called MmUnlockPages twice with the same list.
If a kernel debugger is available, examine the stack trace: the !analyze debug extension displays information about the bug check and can be helpful in determining the root cause, then enter one of the k (Display Stack Backtrace) commands to view the call stack."
EDIT: To change bootmgr from Vista SP2 against bootmgr from win7 does not change "Signature check".

#6510

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6509

> On which OS you run this tool?

Not in OS but under Uefi Shell
⇗ UPGDSED can be used to disable DSE in Win7, 8, 10 but only for 64-bit Windows:

    Universal PatchGuard and Driver Signature Enforcement Disable

    WARNING: Using this tool might render your PC to an unbootable state.
    If you want to continue type CONTINUE (all uppercase) and press Enter

    CONTINUE
    Patch: Windows Version: 6.1.7601, LegacyBIOS

    Patch: Symbol dlls extracted successfully.
    Patch: Dbghelp initialized.
    Patch: Copy files to %TEMP%.
    Patch: Copy success.
    Patch: Scanning ntoskrnl for patterns.

    Patch: Ntoskrnl version: 6.1.7601.18741

    -> SeValidateImageData          00285FCC
    -> CcInitializeBcbProfiler      004CED80
    -> KeInitAmd64SpecificState     004DC680
    -> SepInitializeCodeIntegrity   00367921

    Patch: Ntoskrnl scan complete.
    Patch: Scanning winload for patterns.

    Patch: Winload version: 6.1.7601.18649

    Patch: Cannot query ImgpValidateImageHash offset using symbols: Nie mo&#380;na uko&#324;c
    y&#263; wykonywania tej funkcji.

    Patch: Running signature scan for ImgpValidateImageHash
    -> ImgpValidateImageHash        00031584

    Patch: Winload scan complete.

    Patch: ModifyFilesAndMove succeed
    Patch: Executing BCDEDIT commands
    bcdedit.exe -create {71A3C7FC-F751-4982-AEC1-E958357E6813} -d "Patch Guard Disa
    led" -application OSLOADER
    Wpis {71a3c7fc-f751-4982-aec1-e958357e6813} zosta&#322; pomy&#347;lnie utworzony.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} device partition=C:
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} osdevice partition=C:
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} systemroot \Windows
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} path \Windows\system32\
    sloader.exe
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} kernel ntkrnlmp.exe
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} recoveryenabled 0
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} nx OptIn
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} nointegritychecks 1
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} inherit {bootloadersett
    ngs}
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -displayorder {71A3C7FC-F751-4982-AEC1-E958357E6813} -addlast
    Operacja uko&#324;czona pomy&#347;lnie.
    bcdedit.exe -timeout 10
    Operacja uko&#324;czona pomy&#347;lnie.
    Patch: Setting PeAuth service to manual start
    Patch: PeAuth service set to manual start

    Patch: BcdCreatePatchEntry succeed
    Patch: Press Enter to exit

⇗ ⇗

## Page 435

#6511 | PPeti66x | ⇗ @daniel_k The new ACPI 2013,2015 behaviour is exactly same as previous. By the DSDT table there is no cumulative behaviour. But cumulative behaviour was observed. How is it possible? This is really strange.

#6512

diderius6

After crazy hard work ,
⇗ @infuscomus succeed to boot XP SP3 via the acpi.sys 6.0.5365.8 (winmain_idx05.060419-1800) from Vista Longhorn
to desktop. The problem was, to set in acpi.sys the function ACPILoadFindRSDT() back to the place, where XP stores RSDT table in registry.
This works with the use of the nice Emu_Extender from ⇗ @Mov AX, 0xDEAD
⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu
Oh, soso nice what can be done with XP SP3 and this gives me motivation to do much more
Dietmar
⇗

#6513

Mov AX, 0xDEAD

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6507

> Hi @Mov AX, 0xDEAD
> I am having an issue with some of the functions from safecrtnt.lib. Specifically _ultow_s _ultoa_s _ui64toa_s for samsung nvme driver. It shows up correctly when compiling emu_extender for x86, but on the x64 build it is missing.
> That reminds me, when building a x86 or x64 with a fresh copy, the build fails with the following error. ntoskrn8.c(214) : error C4013: 'RtlQueryRegistryValues' undefined; assuming extern returning int

Hi pappyN4
- I rewrote ntoskrnl_redirects.h, now it export everything more correctly, i didnt commit it yet because im in process of checking some x64 custom drivers (storport8 has x64 unfixed issues)
- Something wrong with your DDK, RtlQueryRegistryValues() declared in wdm.h, this header included at begin in ntoskrnl8.c (via ntddk.h)

#6514 | diderius6 | I make some more tests with winload.exe and XP SP3 on the Asrock z370 Fataltiy gaming k6 board with i8700k cpu. Via Windbg I get message "Warning: Hal and ntoskrnl overlap" So, it is a real problem Dietmar

#6515

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6514

> Via Windbg I get message
> "Warning: Hal and ntoskrnl overlap"
> So, it is a real problem
> Dietmar

This error can occur when restarting the system and not restarting WinDbg.

#6516

genieautravail

Hello ⇗ @daniel_k and ⇗ @PPeti66x
Here the results of my tests:
For the Ivy Bride Laptops I have followed the advices of PPeti66x by installing XP first with the original acpi.sys and after that I have swiched to a modded one.
Ivy Bridge Dell Latitude E6230 laptop:
Original acpi.sys:
USB 3.0 controller is "hidden" and there is nothing to do for that
All keyboard shortcuts works
acpi_5048:
USB 3.0 works with HCSwitch
USB 3.0 works with WCRSET
Only the keyboard shortcut for brighness doesn't works
Unlike PPeti66x The keyboard shortcut for display switch works.
Probably a result of the differences between Ivy Bridge and Haswell chipsets.
acpi2013 (the old):
No 1E31 device in the devices manager, so no USB 3.0
All keyboard shortcuts works even the one for brighness
The old acpi2013 is unable to "unhide" the "hidden" USB 3.0 controller on a Ivy Bridge chipset!
acpi2015:
There is a missing device in the devices manager:
ACPI\DELLABCE\2&DABA3FF&0
USB 3.0 doesn't works with HCSwitch
USB 3.0 works with WPCRSET
a part of the keyboard shortcuts doesn't works (exemples: display switch and brighness)
The acpi2015 is better that the old acpi2013 but there is a regression for the keyboard shortcuts and a missing device appear in the device manager.
Ivy Bridge Dell Latitude E6430 laptop:
The results are exactely the same that for the Dell Latitude E6230.
Haswell ZOTAC ZBOX EN760 mini PC:
Original acpi.sys:
USB 3.0 controller is "hidden" and there is nothing to do for that
acpi_5048:
USB 3.0 works with HCSwitch but there is a issue with the shutdown or reboot process
USB 3.0 works with WCRSET and the issue above is gone
acpi2013 (old):
USB 3.0 works with HCSwitch but there is a issue with the shutdown or reboot process
USB 3.0 works with WCRSET and the issue above is gone
acpi2015:
USB 3.0 works with HCSwitch but there is a issue with the shutdown or reboot process
USB 3.0 works with WCRSET and the issue above is gone
Any of the 3 files can be used with the same results on this computer.
The acpi2015 has good promises if the regression about the keyboard shortcuts can be resolved.
Regards

#6517 | PPeti66x | ⇗ @genieautravail Did you try all the ACPI files from the test set? These works differently. May be you will found a variant, which is good for your mobo. For me, it was the ACPI2013, but the new ACPI2013 is not good for me. At this time is unknown, what causes the problems in the new version.

#6518

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #6509

> @Gelip
> On which OS you run this tool?
> I need a step by step Tutorial!
> Today I also try to enable Windbg via Lan during bootice and the crazy BCD, never tried
> Dietmar
> PS: Debug via serial COM1 works for the Vista bootloader.
> I read here, that @George King uses the bootmgr from win7 and winload.exe from Vista SP2 and get rid of the crazy "driver signature" message.
> Have you tried this?
> Interesting, that with this tool you can patch ntoskrnl.exe. So, easy hack there is also possible. Before I never succeed with it,
> because XP SP3 tells that ntoskrnl.exe is broken.
> About the Bsod pfn_list_corrupt I read:
> "This error is typically caused by a driver passing a bad memory descriptor list. For example, the driver might have called MmUnlockPages twice with the same list.
> If a kernel debugger is available, examine the stack trace: the !analyze debug extension displays information about the bug check and can be helpful in determining the root cause, then enter one of the k (Display Stack Backtrace) commands to view the call stack."
> EDIT: To change bootmgr from Vista SP2 against bootmgr from win7 does not change "Signature check".

Its not only about bootmgr swapping, you need BCD too with nointegritychecks enabled. If you want manualy edit BCD from XP, use bcdedit from Vista RTM. This will be included in still unreleased XP2ESD 1.4

    https://www.geoffchappell.com/notes/windows/boot/bcd/elements.htm?tx=5

> Zitat von ⇗ George King im Beitrag ¶ #6446

> This is BSOD that I encounter when booting using Windows 7 bootmgr + BCD + Vista winload.exe.
> This what happends. Bootmenu and first option is for winload and detectHAL and integrityservices disabled in BCD.
> Boot menu
> Then booting
> Then BSOD

There is no need to use 3rd tools, as we can do it using bcdedit.exe 6.0.6000.16386 (vista_rtm.061101-2205)
Example from setup.cmd that handle BCD entries, %TARGET% is system like C:, this means which partition is system one you want to boot from.
This will suppress mentioned "Signature check"

    REM Winload option
    if exist "%TARGET%\Windows\system32\winload.exe" (
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} description "Microsoft Windows XP" >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} device partition=%TARGET% >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} path \windows\system32\winload.exe >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} osdevice partition=%TARGET% >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} systemroot \Windows >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} detecthal yes >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} pae default >nul
    	bcdedit /store "%TARGET%\boot\bcd" /set {default} integrityservices disable >nul
    ) else (
    	bcdedit /store "%TARGET%\boot\bcd" /delete {default} >nul
    )

    REM NTLDR option
    if exist "%TARGET%\Windows\system32\winload.exe" (
    	bcdedit /store "%TARGET%\boot\bcd" /create {ntldr} /d "Microsoft Windows XP Legacy" >nul
    ) else (
    	bcdedit /store "%TARGET%\boot\bcd" /create {ntldr} /d "Microsoft Windows XP" >nul
    )
    bcdedit /store "%TARGET%\boot\bcd" /set {ntldr} device partition=%TARGET% >nul
    bcdedit /store "%TARGET%\boot\bcd" /set {ntldr} path \ntldr >nul
    bcdedit /store "%TARGET%\boot\bcd" /displayorder {ntldr} /addlast >nul

    del /q /s /a "%TARGET%\boot\bcd.log*" >nul

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6519

infuscomus

ported vista beta 5365 acpi.sys - testers welcome!infuscomus has attached files to this post

- ⇗ vista_beta_acpi_for_xp_test.zip

#6520 | Andalu | ⇗ @infuscomus just tried on my asrock B250M Pro4 with installed XP-IE 2020.9.9: 7B BSOD for both Microsoft SATA driver v2.0 (v6.2.9200.16384) and RSTe 4.7.0.1117. Edit1: h8l.dll copied into windows\system32 folder. Edit2: same bsod for the Universal 32bit Intel RST AHCI+RAID driver v11.2.0.1006.
#6521 | genieautravail | ⇗ @PPeti66x I will try the others ACPI files as soon that I will have a little free time!

#6522

ruthan

> Zitat von ⇗ infuscomus im Beitrag ¶ #6519

> ported vista beta 5365 acpi.sys - testers welcome!

What are expectation that it would be better than XP modded ACPI, make sense test it for intel desktop, or only laptops, or its more for ryzen? Is expected than USB3 compatibility would be better if yes, with Intel USB3 or external PCI-E controllers?

#6523

daniel_k

⇗ @PPeti66x
Please do a last test using the 2009 and 2012 acpi files attached.daniel_k has attached files to this post

- ⇗ acpi2009_2012.zip

#6524

PPeti66x

⇗ @infuscomus
XP SP3 (with PosReady updates) failed to boot in both normal and safe mode on my Dell M4800 (Haswell).
Normal:
STOP: 0x0000007E (0xC0000005,0xB7F240A8,0xB84D715C,0xB84D6E58)
ACPI.sys - Address B7F240A8 base at B7EE1000, Datestamp 601a73b6
SafeMode:
STOP: 0x0000007E (0xC0000005,0xF74B30A8,0xF78B215C,0xF78B1E58)
ACPI.sys - Address F74B30A8 base at F7470000, Datestamp 601a73b6

#6525

daniel_k

> Zitat von ⇗ ruthan im Beitrag ¶ #6522

> What are expectation that it would be better than XP modded ACPI, make sense test it for intel desktop, or only laptops, or its more for ryzen? Is expected than USB3 compatibility would be better if yes, with Intel USB3 or external PCI-E controllers?

IMHO, only acpi.sys v6666 (outerspace) should be recommended. as it is based on the original SP3 version with improved ACPI 2.0 support by ⇗ @Mov AX, 0xDEAD .
When using Vista versions you'll notice issues sooner or later, as acpi.sys does much more than simply parsing the ACPI tables.
For instance, with 5048 beta, wireless connection would not activate automatically upon logon.

## Page 436

#6526 | PPeti66x | ⇗ @daniel_k Both works exactly same as the test versions in ⇗ http://www.mediafire.com/file/hwio6yp5je1hqkq .

#6527

daniel_k

> Zitat von ⇗ PPeti66x im Beitrag ¶ #6526

> @daniel_k
> Both works exactly same as the test versions in ⇗ http://www.mediafire.com/file/hwio6yp5je1hqkq .

Thanks for testing them.
You'll have to use that "custom" acpi2013.sys, unfortunately no universal fix is possible.

#6528 | PPeti66x | ⇗ @daniel_k Until those strings remains easily patchable, I can easily adapt future versions for my compi. Thanks for your hard work.

#6529

diderius6

I make a deeper analysis with the debug version of ntoskrnl.exe (here ntkrnlpa.exe)
why the Bsod 0x000004E, (0x0000008F,xxx,yyy,0}
happens. It is not direct related to winload.exe from Vista SP2.

    .text:00496CF6 loc_496CF6: ; CODE XREF: MmZeroPageThread()+187 j
    .text:00496CF6                 mov     cl, _MmSecondaryColorNodeShift
    .text:00496CFC                 mov     eax, ebx
    .text:00496CFE                 imul    eax, 1Ch
    .text:00496D01                 add     eax, _MmPfnDatabase
    .text:00496D07                 mov     eax, [eax+0Ch]
    .text:00496D0A                 shr     eax, 4
    .text:00496D0D                 and     eax, 7
    .text:00496D10                 shl     eax, cl
    .text:00496D12                 mov     ecx, _MmSecondaryColorMask
    .text:00496D18                 and     ecx, ebx
    .text:00496D1A                 or      ecx, eax
    .text:00496D1C                                                 call    @MiRemoveAnyPage@4 ; MiRemoveAnyPage(x)
    .text:00496D21                                                 cmp     eax, ebx
    .text:00496D23                                                 jnz     loc_496E90

    .text:00496E90 loc_496E90:
    ; CODE XREF: MmZeroPageThread()+1CB j
    .text:00496E90                 push    0               ; BugCheckParameter4
    .text:00496E92                 push    ebx             ; BugCheckParameter3
    .text:00496E93                 push    eax             ; BugCheckParameter2
    .text:00496E94                 push          8Fh                                     ; BugCheckParameter1
    .text:00496E99                 push          4Eh                                     ; BugCheckCode
    .text:00496E9B                 call    _KeBugCheckEx@20 ; KeBugCheckEx(x,x,x,x,x)
    .text:00496E9B _MmZeroPageThread@0 endp ; sp-analysis failed

So Bsod happens direct after the call of MiRemoveAnyPage(),
when eax and ebx are different. Exact the value from eax is given out in Bsod as BugCheckParameter2,
and the (now different) value from ebx in BugCheckParameter3.
BugCheckParameter4 is always 0, as you can see above
Dietmar
⇗ https://reactos.org/wiki/Techwiki:Memory...ndows_XP_kernel

#6530

Gelip

⇗ @George King

> Zitat von ⇗ George King im Beitrag ¶ #6518

> If you want manualy edit BCD from XP, use bcdedit from Vista RTM.

BootICE -> Professional mode is best for editing BCD under WinXP

#6531

George King

> Zitat von ⇗ Gelip im Beitrag ¶ #6530

> @George King

> > Zitat von ⇗ George King im Beitrag ¶ #6518

> > If you want manualy edit BCD from XP, use bcdedit from Vista RTM.

> BootICE -> Professional mode is best for editing BCD under WinXP

Direct editing BCD from cmd is still more powerfull for all commands that I can run in WinPE or installed Windows. Maybe I don't see the right benefits as you? What is so special on it? Or is here something what can't be done using bcdedit? [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#6532 | jonathan_hzs | prime b250m plus I7-7700 hd630 Successful installation bbs.pcbeta.com xp Section I am not good at English
#6533 | R3n | I need the AMDXHCI_XP_FINAL.rar driver, but I can't find where it was posted in the thread.

#6534

genieautravail

⇗ @PPeti66x
I have tested all acpi files from this archive:
⇗ http://www.mediafire.com/file/hwio6yp5je1hqkq
Of all acpi files, all keyboard shortcuts works even the one for brighness only with acpi2013 and acpi2015.
But for both of them, no 1E31 device in the devices manager...
Regards

#6535 | infuscomus | ⇗ @Andalu ⇗ @PPeti66x I think my re-implementation of XP's find RSDT function was not done correctly, but I'm not sure how to fix it. ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD can you see where I went wrong in my acpi.sys?

#6536

Gelip

⇗ @George King

> Zitat von ⇗ George King im Beitrag ¶ #6531

> Direct editing BCD from cmd is still more powerfull for all commands that I can run in WinPE or installed Windows.

BootICE also works under WinPE or installed Windows:
⇗
There is too much typing in bcdedit in CMD and it's easy to make a mistake, especially with GUID's. In BootICE in professional mode, I just click and choose options from the list:
⇗
For example, ApplicationDevice and OSDevice options are very easy to modify:
⇗
BootICE can also easily edit UEFI Boot Menu:
⇗
Besides, it is free and it can also much more

#6537 | diderius6 | ⇗ @R3n The last version of AMDXHCI_XP_FINAL can be found at ⇗ https://forums.mydigitallife.net/threads...hardware.81607/ Dietmar
#6538 | infuscomus | ⇗ @diderius6 I patched ACPILoadFindRSDT into vista RTM acpi.sys - can you test it to see if it is more stable?
#6539 | diderius6 | ⇗ @infuscomus Yes, just send to me Dietmar

#6540

diderius6

I change in Debug ntoskrnl.exe from XP SP3

    .text:00496D23 jnz loc_496E90  => .text:00496D23 nop nop nop nop nop nop

Then at boot XP tells, that ntoskrnl.exe is damaged.
Now I open with the tool resource_hacker this hacked ntoskrnl.exe
and just store it again.
This tool overcomes the XP check and now the edited ntoskrnl.exe
is accepted by XP
Dietmar
⇗ http://www.angusj.com/resourcehacker/#download

## Page 437

#6541

infuscomus

⇗ @diderius6
here it is.
edit: updatedinfuscomus has attached files to this post

- ⇗ acpi_vista_rtm_patched.7z.zip

#6542

R3n

> Zitat von ⇗ diderius6 im Beitrag ¶ #6537

> @R3n
> The last version of AMDXHCI_XP_FINAL can be found at
> ⇗ https://forums.mydigitallife.net/threads...hardware.81607/
> Dietmar

Thanks.

#6543

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6540

> Now I open with the tool resource_hacker this hacked ntoskrnl.exe
> and just store it again.

⇗ @diderius6 ...it probably reset the CRC value in the PE header. Don't know, can you or someone confirm?

#6544 | diderius6 | Hi, is there a tool, with which you can track the use of the PFN list for any driver? Can only a driver, which uses paged memory, can make a fault in the PFN list (especially in MiRemoveAnyPage(x) )? Dietmar
#6545 | kukonosau | ⇗ @infuscomus Hello. How to change acpi.sys in Vista? I use any other file, and I have error acpi is corrupted, and black screen. Windows Vista can't load any modify driver acpi.
#6546 | infuscomus | ⇗ @kukonosau It is not a stable acpi.sys right now.
#6547 | kukonosau | ⇗ @infuscomus Sorry( But acpi.sys for WinXP64 exist for Ryzen? I use acpi from post #2202 and get BSOD. More BSOD in games than desktop.
#6548 | infuscomus | ⇗ @kukonosau I am not sure if one exists for XPx64.
#6549 | kukonosau | ⇗ @infuscomus Thanks for answers. But why Win7 and 8.1 equal bad working in games on Ryzen (GTA IV)? Equal lags has!!! Vista before BSOD hasn't lags in games and XP also (after change intelppm.sys), and Win10. What is problem? I can't solve 2 years!!! Win7 highest FPS sometimes than Win10, but have lagging few games. Why? Diderius6 while can't help me.

#6550

Mov AX, 0xDEAD

> Zitat von ⇗ kukonosau im Beitrag ¶ #6545

> How to change acpi.sys in Vista? I use any other file, and I have error acpi is corrupted, and black screen. Windows Vista can't load any modify driver acpi.

это тоже самое что спросить у хирурга "как починить сломанный орган", он конечно раскажет в деталях, но повторить ты врят ли сможешь - слишком много деталей и нюансов. Лучше начинать с базовых вещей - исправление контрольной суммы PE файла, отключение проверки подписей драйверов и т.д.
p.s. по winxp_x64 здесь заметно меньше материалов, архитектура сложнее (ассемблерный уровень) и она заметно менее популярна

#6551

daniel_k

- WinXPPAE v3
* Fixed setting of all memory size variables.
* Added option to set custom memory limits, in MB (megabytes) or GB (gigabytes), from 4GB to 128GB.
* Fixed crashes when using patched HAL with unpatched Kernel
* Fixed 64-bit addressing being enabled when less than 4GB is available, related to fix above.
* Removed the /4GB option as it didn't work properly.
* Removed useless patching of non-PAE Kernels (ntkrnlmp.exe and ntoskrnl.exe).
⇗ http://www.mediafire.com/file/jb835a2pcg62who

    /M:131072MB Limits RAM to a custom amount in MB (megabytes).
    /M:128GB    Limits RAM to a custom amount in GB (gigabytes).
    /M:ALL      Uses all available RAM.
    /NB         Does not create backup copies of original files.
    /NOBACKUP   Same as /NB

Now you can permanently replace all original HALs with patched ones (hal*.dll files are not protected by SFC), then create an entry in boot.ini to use the patched PAE Kernel (Uni or MultiProcessor) with unlocked RAM.

#6552 | infuscomus | ⇗ @daniel_k /4GB option did not work correctly? how so? It seems to work just fine for me. are drivers misbehaving still and issue when using more than 4GB of RAM?
#6553 | ruthan | ⇗ @daniel_k - Could this explain with my old install in had with same HW, BSOD with Pool in non page area and with other it works fine? Also that with new install NVME drivers are working with OLD not? What is now options for best compatibility? Could this fix some USB3 device crashes not working problems?

#6554

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #6552

> /4GB option did not work correctly? how so? It seems to work just fine for me.

As ⇗ @Mov AX, 0xDEAD have said before, 4GB were available, but included addresses above 4GB, so a badly written driver could have issues accessing those addresses.
You may mimic its behavior by using the /M:4097MB parameter.

> Zitat

> are drivers misbehaving still and issue when using more than 4GB of RAM?

Yes, the issue lies in the drivers themselves, not in the patch.
Drivers that have issues on XP with my patch also have exactly the same issues on Server 2003 Datacenter/Enterprise.

#6555 | daniel_k | ⇗ @ruthan The updated patcher won't help you. When everything works on a new install, something was wrong with the old one. It's difficult to diagnose old installs, can't help you with that.

## Page 438

#6556 | daniel_k | ⇗ @genieautravail Can you dump the acpi tables of your laptop so I can see if there is something I can do about it? ⇗ http://rweverything.com/

#6557

diderius6

I make a try with verifier.exe on original XP SP3 5512.
This is output from Windbg.
Does this mean, all is ok with any driver from this XP SP3?
Dietmar
PS: I noticed, that the very last version from XP SP3, updated with all the Posready updates until May 2019
⇗ https://www.zone94.com
does not longer work together with the debug versions of XP SP3 hal.dll and ntoskrnl.exe .
EDIT: Now I think, this happens because of the use from ntoskrn8.sys .
⇗ @Outbreaker
So it seems not a good idea, to make use of ntoskrn8.sys in a full working XP SP3 installation for daily use.
Better to integrate wished functions direct into ntoskrnl.exe.
And this modified ntoskrnl.exe can then be used after just load and store with the nice tool ResourceHacker.

    0: kd> !verifier

    Verify Level fb ... enabled options are:
    	Special pool
    	Special irql
    	All pool allocations checked on unload
    	Io subsystem checking enabled
    	Deadlock detection enabled
    	Enhanced Io checking enabled
    	DMA checking enabled

    Summary of All Verifier Statistics

    RaiseIrqls                             0x2b
    AcquireSpinLocks                       0xfc9c5
    Synch Executions                       0x2
    Trims                                  0x6740

    Pool Allocations Attempted             0xec08
    Pool Allocations Succeeded             0xec08
    Pool Allocations Succeeded SpecialPool 0xec08
    Pool Allocations With NO TAG           0x9
    Pool Allocations Failed                0x0
    Resource Allocations Failed Deliberately   0x0

    Current paged pool allocations         0x148c for 00872544 bytes
    Peak paged pool allocations            0x14c9 for 0087CA78 bytes
    Current nonpaged pool allocations      0xf2e for 0219E658 bytes
    Peak nonpaged pool allocations         0x112e for 024B66B0 bytes

#6558 | iyutos | (deleted) I found "Modded ACPI Drivers Depot"
#6559 | Dibya | What kind of problems are faced with ntoskrn8.sys? ⇗ @diderius6

#6560

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #6557

> So it seems not a good idea, to make use of ntoskrn8.sys in a full working XP SP3 installation for daily use.

⇗ @diderius6
I disagree, it is perfectly fine for daily use, it only becomes an issue when debugging is needed - in which case use the official checked build.

#6561

genieautravail

⇗ @daniel_k
ACPI tables of the laptops.
Regardsgenieautravail has attached files to this post

- ⇗ ACPIE6230.zip
- ⇗ ACPIE6430.zip

#6562

genieautravail

⇗ @daniel_k, ⇗ @Mov AX, 0xDEAD

> Zitat

> IMHO, only acpi.sys v6666 (outerspace) should be recommended. as it is based on the original SP3 version with improved ACPI 2.0 support by ⇗ @Mov AX, 0xDEAD .

Perhaps, but only on computers that don't "hide" the USB 3.0 controller.
Overall, on all computers on which I have tried the various acpi files, I get better results with the acpi_5048...
In the acpi.sys v6666 (outerspace) something is mssing or wrong as it can't "unhide" the USB 3.0 controller.
Probably a tiny thing to change in the code.
Regards

#6563

diderius6

This is the famous double slit experiment in Quantenmechanic.
2 years ago I think about, how to prove it. Now it seems, that it has been done.
Take a look on this "streets" for photons, electrons, any particel.
Because they do not cross, it is impossible, that any information is lost, world as big clock,
Dietmar
⇗

#6564 | diderius6 | After crazy fight with missing arcpath, which gives Bsod 0x7b, I succeed to get original XP SP3 5512 to work with the original acpi.sys from Vista. This is great work from ⇗ @infuscomus Dietmar ⇗
#6565 | infuscomus | ⇗ @diderius6 Please share how you achieved this! even I still have not got this acpi.sys working properly.

#6566

Mov AX, 0xDEAD

Hi,
Ntoskrnl_Extender + Storport_win8 + Guide updated to full support x64 Windows XP/2003, everything works - wdf 1.11, usb 3, storport_win7, msahci, storahci, uaspstor, ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)
not tested yet: 3rd party intel/amd sata drivers, nvme_win7
also Vista and Win7 supported as target os, compilation is OK for x32/x64 platforms, but not tested on real OSes

#6567

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #5358

> @diderius6 @XPLives
> regarding XP and larger than 2TB hard drives -
> I noticed the import table for disk.sys of vista RTM is a match for XP ntoskrnl hal and classpnp.sys
> I'm wondering if it might be possible to swap XP disk.sys with vista RTM disk.sys to get larger disk support?
> edit:
> and disk.sys of windows 7 SP1 is a match with ntoskrn8 extender.

Don't bother. If you did get this to work it would only support GPT for large disks. Once you moved the drive to vanilla XP or 2K it would not read larger drives > 2.2TB and it would not read GPT without the same modded drivers on the the target system.
I am looking into finding a way to read controller chips that do the translation so then MBR can be used to boot off > 2.2TB drives internally connected. Then you can have 17.6TB for a boot drive using FAT32.

#6568 | infuscomus | ⇗ @XPLives I'm not too concerned about not having 2TB+ disks on XP right now (excluding the USB workaround), and it turns out it was not the issue anyway, it was in fact a kernel panic from having more than 32 CPUs.

#6569

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6568

> @XPLives
> I'm not too concerned about not having 2TB+ disks on XP right now (excluding the USB workaround), and it turns out it was not the issue anyway, it was in fact a kernel panic from having more than 32 CPUs.

Which CPU do you have with 32 Cores+ showing? I thought you had a 12 Cores / 24 Thread ThreadRipper at one point you mentioned for the TRX40 motherboard.
I'm also doing another test later for 18TB and 32TB for MBR and GPT.

#6570 | infuscomus | ⇗ @XPLives 3960x - 24 Core / 48 Thread I found that if I either disabled a CCX or disabled hyperthreading XP would boot just fine, but if all are enabled it freezes without a BSOD.

## Page 439

#6571

XPLives

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #4331

> > Zitat von ⇗ XPLives im Beitrag ¶ #4330

> > And Daniel_K is missing so no idea if he was contacted first or Fernando about this to find helpful answers on what really happened and what was the timeline of events.

> @XPLives ...see the following page, message 4203. Also 4194, a page or so before. Reading between the lines I'd say someone from Intel is behind this.
> Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (281)

Reading that message link you provided again made me reconsider you might be right that it's possible Intel was upset about something. I think it was the Storage drivers themselves but even those that were modified were unnecessary to get XP installed but only useful for using the extra features that DK might have enabled and work on XP when originally it was meant for another operating system.
However even Intel cracking down on such drivers still had no impact on getting XP to install on modern hardware using the older drivers still available so they were mainly trying to swat the little guy again with bullying. Sounds like Creative Labs part deux.
Intel should be thankful since it would only encourage more people to buy Intel CPUs because of their compatibility versus AMD. Also the extra functions in the newer storage drivers backported to XP just helps that case.
I remember hounding Intel when Haswell was released without XP drivers for their iGPU. It really damned their sales wherever I could. I felt you were getting less for your money losing the use of the iGPU since they decided to drop XP driver support. It would have been better had they just released the source code for the XP iGPU drivers and let people do the work they wouldn't. I consider all the CPUs with their iGPUs basically a waste of money where I'd rather have that money and die space used for more cores and just use my own discrete graphics card.

#6572

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6570

> @XPLives
> 3960x - 24 Core / 48 Thread
> I found that if I either disabled a CCX or disabled hyperthreading XP would boot just fine, but if all are enabled it freezes without a BSOD.

Was that the only ThreadRipper CPU you had? For some reason I thought you had a 12 Core / 24 Thread.
What does the CCX do?
Disabling the HyperThreading would give you just the pure 24 Cores and No Threads so are you saying you finally got XP working with 24 Cores on your TRX40 motherboard?
Which ACPI.sys did you have to use to boot and work properly?
It shouldn't be too hard for me to test what happens once I break 32 Cores on Intel. It's just a matter of $$$ to do it.
But you also have to realize there might be a certain point where number of Cores in XP doesn't improve or alter the performance much. I'm not certain where that number is yet as I haven't done any major core comparison testing. I'd say it's possible 8 Cores vs 4 Cores you should see some improvement but is it significant? I'm not even sure if most software for XP written takes advantage of more than 2 cores. I'd have to see how Crysis does on 12 and 24 Cores and see if the Task Manager shows any kind of CPU usage on all the cores or just the first few.

#6573

infuscomus

⇗ @XPLives

> Zitat von ⇗ XPLives im Beitrag ¶ #6572

> Was that the only ThreadRipper CPU you had? For some reason I thought you had a 12 Core / 24 Thread.

Thats the only Threadripper CPU I have.

> Zitat von ⇗ XPLives im Beitrag ¶ #6572

> What does the CCX do?

Disables a Compute Core Complex so some CPU cores are turned off.

> Zitat von ⇗ XPLives im Beitrag ¶ #6572

> Disabling the HyperThreading would give you just the pure 24 Cores and No Threads so are you saying you finally got XP working with 24 Cores on your TRX40 motherboard?

Yep, I got it working properly.

> Zitat von ⇗ XPLives im Beitrag ¶ #6572

> Which ACPI.sys did you have to use to boot and work properly?

I used the outerspace acpi.sys - this gets past ACPI BSOD - although motherboard USB ports will not behave correctly on every boot unless I disable and reenable the USB controller every time (and I needed a separate pci-e USB card to be able to do this)

> Zitat von ⇗ XPLives im Beitrag ¶ #6572

> It shouldn't be too hard for me to test what happens once I break 32 Cores on Intel. It's just a matter of $$$ to do it.

If you can figure out what happens that would be great. Server 2003 RTM has the same issue, but SP1 has a fix in its kernel somewhere that stops it freezing.

#6574

XPLives

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6573

> @XPLives
> I used the outerspace acpi.sys - this gets past ACPI BSOD - although motherboard USB ports will not behave correctly on every boot unless I disable and reenable the USB controller every time (and I needed a separate pci-e USB card to be able to do this)
> If you can figure out what happens that would be great. Server 2003 RTM has the same issue, but SP1 has a fix in its kernel somewhere that stops it freezing.

The problem with the internal USB 3.0 ports is something I cannot solve since I also use internal USB 3.0 PCIe cards so I avoid them. Also the best card is the Texas Instruments model as it has the fastest reaction time and less lag which is important when watching HD footage and scrubbing through it there is almost no noticeable delay. Using any other brand has lags of a few seconds in some cases even if they have a higher top end sustained transfer rate speed.
Imagine if all USB 3.0 PCIe cards were different car models.
One is the fastest but very poor braking that takes a few seconds before it responds.
Other cars maybe 90%-99% as fast but even poorer braking response time than the fastest car.
One is 98% of the top speed of the fastest car but can brake instantly. I choose this car. This is the Texas Instruments.
But DK could not crack the TI driver successfully but that is in my opinion the best driver out there even if it is considered Fort Knox. Other option I would suggest is to negotiate a deal to sell the source code to that driver for a cheap price since I doubt the company cares about XP / 2003 any more these days so it's free money in the end to them.
If there's an option on the BIOS side to disable the USB 3.0 on board that's what I do so I don't have to deal with any conflicts or popups or using up resources. Some BIOS don't let you do this.
The AM4 BIOS doesn't have proper MPS mode which is why I gave up early on for multicore support. If you can transplant AM3+ BIOS MPS into AM4 and TRX40 BIOS then you can have the same compatibility as Intel does.
I am getting an advanced BIOS Programmer to see if I can frankenstein it since I told you long ago I bought the AMD 990FX at the time hoping to use it to bridge the gap to AM4 but it has sat there unused since then. But I will be starting from complete scratch and total guess work.
The best idea is transplant settings from MPS mode into ACPI.sys to simulate MPS mode while using ACPI.sys so it's always guaranteed 100% working on all systems (Intel) at least but possibly AM4 would work too since you are simulating MPS mode while using ACPI.sys it should in theory work on all platforms. Then tweak this MPS emulating ACPI.sys to add more ACPI functionality one step at a time so it's still 100% compatible. Using a pure ACPI.sys always has problems as we discover later and trying to patch the problem after the fact for every user. Why not start with what works 100% and add onto it instead to avoid debugging nightmare? One day diderius6 may not be alive and you are left in the same situation with no one to fix a future BSOD specific issue.
Once this is completed for 32-Bit versions then to find a way to modify this MPS emulating ACPI.sys for 64-Bit XP/2003. May take a long time to complete since no source code for it exists for any MPS Mode for 64-Bit so a modified ACPI.sys emulating MPS mode needs to be created. Even if hyperthreading threads are gone I would still prefer it than not being able to use it.
Can you provide the outerspace acpi.sys original post link and also upload that version here again in case it's dead and I'll place it later into its own Thread Depot for easier location.
Also for the CPU Max Cores fix can you give me that file that you tested from diderius6 for 64 Cores and 128 Cores if you have both files? I think those links are dead now from long ago.
I think I will try to see after 64 Cores and 128 Cores works to try to push it to 256 Cores, 512 Cores, and 1024 Cores support over the next twenty years.

#6575

XPLives

> Zitat von ⇗ RayeR im Beitrag ¶ #5369

> > Zitat von ⇗ XPLives im Beitrag ¶ #5320

> > Actually it is unnecessary to worry about this. As long as use the source code for Windows 2000 Server to create the updated ACPI.sys file it can work with XP SP0-SP3, 2009 POS, and Server 2003. I tested this before.
> > As for SP1 source it won't be an issue for SP2 or SP3 to work with it. What you cannot do is use SP3 source to work with Windows 2000 SP0-SP4, or XP SP0-SP2.
> > It is imperative to use Windows 2000 source code to create the updated ACPI files so it can be used with all NT5.X versions from Windows 2000->2009 POS.

> I need to clarify this...
> So you mean there was already leaked sources of acpi.sys from W2k that can be rebuild and used for all newer windows up to SP3/Wk3? I read that some subset of W2k sources had leaked before but didn't investigated further.
> Are you sure there was not any critical acpi.sys updates in newer OS versions that would require some minimal version for specified OS version? I would guess ahat acpi.sys from XP SP1 would be more advanced than one from W2k.
> And how about that acpi.sys patches linked in this thread? I though they are original binaries that was hacked/patched on binary level using disassembler and hexa exitor, not rebuilded from sources. am I right?
> diderius6 also mentioned about acpi.sys from XP SP3 from "outer space" that it worked for him, it's meant to be original SP3 version or some hacked one?
> He aslo mentioned "I build a new acpi.sys" - is it mean from leaked src?
> Update: oh, I see you just rebuild and run 'miniXP' - congrats :) But a pitty about missing kernel sources :(
> BTW from the ⇗ posted description of acpi.sys it seems it's respnsible for enumerating other devices and loading drivers so I can imagine that if something not anumerated properly then disk driver is not loaded getting other error.
> BTW2 there's mention about AMLI debugger, did someone able to run it? It should help debugging ACPI issuses.

A lot of questions some I cannot answer regarding diderius6 modified ACPI.sys as I do NOT know what he did or changed and he has not released an instruction manual or guide to replicate those changes. Also the method of constantly patching an ACPI.sys that's constantly like a leaking boat eventually diderius6 will die one day (God forbid) and then the holes in the boat remain unplugged and it sinks.
In my own testing using the Windows 2000 ACPI.sys versions then can be placed into any later NT 5.X version and boot up properly and used without issue. It is using a later ACPI.sys version from say 2003 or XP and placing it into Windows 2000 it will not work. Hope that made sense. That is why if the source code to the Windows 2000 ACPI.sys exists and can be modified directly then that is the best way to proceed to fix any ACPI issues that affect XP, 2003, and 2009 POS. Now how ACPI itself works even if you have the source code is another can of worms to unravel. I think the key is replicating the MPS mode equivalent environment into the ACPI.sys as being the default settings. Then you will have a true emulated MPS Mode using ACPI.sys method of working on all NT5.X based operating systems.
You can go to my main ACPI thread here:
⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
I discovered this ACPI.SYS forward compatibility over 2 years ago.
⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009
Again good to see you RayeR as all things retro and ISA SB passion.
XPLives

#6576

Andalu

> Zitat von ⇗ daniel_k im Beitrag ¶ #6554

> > Zitat von ⇗ infuscomus im Beitrag ¶ #6552

> > /4GB option did not work correctly? how so? It seems to work just fine for me.

> You may mimic its behavior by using the /M:4097MB parameter.

thank you for the new WinXPPAE patch release
It works fine with the option /ALL but I was not able to obtain the /4GB recognition: only 2.11GB of ram detected using the /M:4097MB parameter in the command line.
Even adding the entries "/M:4097MB" and "/kernel=ntkrnlpa.exe" (ntkrpamp.exe renamed) in the boot.ini didn't help.
Where I was wrong?

#6577

RayeR

Hi, can someone point me to some description of daniel_k's patch - what this patch do differently and why comapred to original chinese 64GB or russian 128GB patches? I just tried it and compared patched files. There was much more modified Bytes (~200) in the HAL.DLL over old patches. But I did not notice any difference when boot up. My problem with PAE are some drivers that cause XP unresponsive, e.g. when using generic USB camera or Saleae USB logic analyser. Of course I replaced all related USB drivers by files from W2K3S SP2 or newer but problem still persist.
I also noticed that original VIA VL805 drivers for USB 3.0 XHCI doesn't even start properly after installation with PAE enabled (error code 10). So I moved to Win8 backported driver that seems to work OK with PAE. Just tested with USB 2.0 device only, still waiting for delivery of USB3SATA cable...
BTW what is security cookie inside driver files and why it needs to be changed? AFAIK this is something new that came after XP so do I bother when using backported drivers in XP-only?

#6578

Mov AX, 0xDEAD

> Zitat von ⇗ RayeR im Beitrag ¶ #6577

> Hi, can someone point me to some description of daniel_k's patch - what this patch do differently and why comapred to original chinese 64GB or russian 128GB patches? I just tried it and compared patched files. There was much more modified Bytes (~200) in the HAL.DLL over old patches. But I did not notice any difference when boot up.
> I also noticed that original VIA VL805 drivers for USB 3.0 XHCI doesn't even start properly after installation with PAE enabled (error code 10).
> BTW what is security cookie inside driver files and why it needs to be changed? AFAIK this is something new that came after XP so do I bother when using backported drivers in XP-only?

Hi RayeR
- If you use Daniel_K's PAE patch properly, you will see difference, for example original VIA USB 3 driver load with error 10.
error 10 on VIA means you have unproperly pached hal.dll (XP64G/FIX128 produce such bugged hal.dll)
- Why 200 bytes ? - run disassemler/bindiff and you can see how much cost restoring DMA functionality XP SP2/SP3' hal to W2003' hal for systems with more 4Gb ram
- Replacing some USB files from W2003 solve famous error in orig XP drivers - USB 1.0/2.0 contoller stop working on PAE + RAM>4GB system, this solution not related to PAE patches, this is just replacing faulty driver from one MS team to better driver written by another MS team :)
- Security cookie introduced in windows 8, they must be random at every boot, driver itself check this "random", on all prew-Win8 OSes, kernel load driver in older way without random. To bypass check for "random" i offer change cookie to pseudorandom (staticaly in file), but exist another way - patching this check

#6579

RayeR

Thanks for info, so DMA works better with dan's patch, OK. I tested the VIA driver before I found this patch so I had unproperly patched hal.dll by chinese PAE patch.
And is there known solution for USB cameras with PAE? This are the drivers I had replaced from W2K3S:
hidparse.sys usbehci.sys usbport.sys usbstor.sys usb8023.sys
usbaudio.sys usbhub.sys usbprint.sys usbuhci.sys
usbccgp.sys usbintel.sys usbscan.sys usbvideo.sys
usbd.sys usbohci.sys usbser.sys usb8023x.sys
Did I miss something?
I still didn't get the purpose of the security cookie. It's some random number initilaized by kernel for every driver it loads and then driver checks for it? What happens when it's changed at runtime? Should it protect against some hacker's attack of unwanted driver modification? So it would make me more sense to check some hash of the driver periodically...

#6580

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6563

> Take a look on this "streets" for photons, electrons, any particel.
> Because they do not cross, it is impossible, that any information is lost, world as big clock,
> Dietmar

⇗ @diderius6 ...the physics is wrong.
The original double-slit experiment involved waves of light striking a surface with two slits. The different frequencies in the wave were deflected different amounts onto a target where certain frequencies added and other subtracted, causing alternate light and dark areas on the target.
Now they think that individual electrons behave the same way but they do not. For one, you cannot fire a single electron from a gun, they flow through a vacuum in a beam of electrons. They won't flow through air because they would collide with air molecules. Electrons beams were applied to a single slit, not a double slit. Because they produced the same diffraction patterns on a target screen it was theorized that electrons must have a wave-like nature, BS. Electrons are solid particles that carry a charge and a magnetic field, therefore the diffraction patterns must be due to some kind of quantum property as proposed by Bohm.
There is no proof that photons exist. They are defined as particles of electromagnetic energy with NO MASS. Unlikely!! It is known that electrons attached to atoms emit and absorb EM of certain frequencies but how can a particle have a frequency? Obviously, the electrons are emitting and absorbing portions of EM fields (aka waves).
It is convenient to think of EM as being made of photons but the same is done in electrical theory by forming an analogy with water flow. I find that unnecessarily confusing and have never thought that way. Same with photons, the interaction of EM with electrons can be done easily without thinking in terms of photons. In fact, the idea of a photon only serves to confuse the physics.
Before he died, Einstein stated that no one knew whether EM was a wave or a series of particles. I'll go one further, I know a lot about electrons, having worked in the field for decades. I don't think there is any such thing as a photon and that part of quantum theory is nonsense.

#6581

gordo999

> Zitat von ⇗ RayeR im Beitrag ¶ #6579

> I still didn't get the purpose of the security cookie. It's some random number initilaized by kernel for every driver it loads and then driver checks for it?

⇗ @RayeR ...they are used everywhere in code, not just in drivers.
⇗ https://docs.microsoft.com/en-us/cpp/c-r...e?view=msvc-160
"The global security cookie is used for buffer overrun protection in code compiled with /GS (Buffer Security Check) and in code that uses exception handling. On entry to an overrun-protected function, the cookie is put on the stack, and on exit, the value on the stack is compared with the global cookie. Any difference between them indicates that a buffer overrun has occurred and causes immediate termination of the program".
They appear to be anti-hacker devices since a buffer overrun is a prime way of hacking code.

#6582

diderius6

⇗ @gordo999
Oppenheimer (he was the doctor father of Bohm) tells:
When we cant prove, that he is wrong, we must ignore him.
Einstein writes about Bohm: It seems to me too easy. But when there is a man on earth who understand Quantenmechanics,
then it is Bohm
Dietmar
PS: You can make an easy experiment: Just put the screen from an interference patton closer and closer to the slit.
You will find those "streets".
Oh, this has more dramatic consequences than Galilei in 1600.

#6583 | RayeR | Aha, I know this kind of stack overflow protection-detection, I also used somethin like that on my MCU code but didn't know they call stack fill as a cookie...
#6584 | daniel_k | ⇗ @infuscomus and ⇗ @Andalu Hal patches are perfect, Kernel needed fixes. I've already fixed the issue and will release ASAP. ⇗ @genieautravail Got an idea after looking at your ACPI dumps.

#6585

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6582

> But when there is a man on earth who understand Quantenmechanics,
> then it is Bohm

⇗ @diderius6 ...I know this is off-topic, and I won't take advantage, but the theories related to computers are all based on it. XP would not exist had it not been for the work of people like David Bohm.
David Bohm is one of my favourite physicists. He once stated that any equation that has no physical evidence to back it is garbage. I have read several of his books and I recall him talking about the one slit experiment with free electrons. He did not have an explanation for why they could be bent to form a diffraction pattern on a target but he hypothesized there 'might' be a quantum action at work.
I fear that theories invented to explain the one and two slit experiments are on shaky grounds. The wave theory is plain enough but when you introduce photon theory, you are relying more on consensus than actual physical reality.
Bohm was a good friend of Einstein and he ran many of his ideas past him. Einstein was not so enthusiastic about quantum ideas that involved action at a distance. Neither was Schrodinger. Both of them wanted a more physical explanation for quantum theory. Then again, Einstein turned around and based relativity theory on redefining time and distance, with no proof of either. He simply added a multiplier to time based on the speed of light with no experimentation or further proof. Some of it worked out but one of his main critics was Louis Essen, who invented the atomic clock. He claimed Einstein's theories are nothing more than a collection of thought experiments and that Einstein did not understand measurement.
I also liked Bohm's work with Jiddu Krishnamurti on how the mind works with respect to thought. There is a book where they both discuss time and Bohm points out at one point that we humans invented time. The title of the book is 'The Ending of Time'. The 'ground' of which they speak is a reference to what lies beyond thought, when the mind becomes completely quiet.

## Page 440

#6586

gordo999

> Zitat von ⇗ RayeR im Beitrag ¶ #6583

> Aha, I know this kind of stack overflow protection-detection, I also used somethin like that on my MCU code but didn't know they call stack fill as a cookie...

⇗ @RayeR ...whenever I trace through code, the cookie is referenced by a magic number. That is the value pushed onto the Stack. It is a simple integer value. When the cookie is checked there is a small code section to do the check. I usually jump over it.

#6587

Mov AX, 0xDEAD

> Zitat von ⇗ RayeR im Beitrag ¶ #6579

> And is there known solution for USB cameras with PAE? This are the drivers I had replaced from W2K3S:
> hidparse.sys usbehci.sys usbport.sys usbstor.sys usb8023.sys
> usbaudio.sys usbhub.sys usbprint.sys usbuhci.sys
> usbccgp.sys usbintel.sys usbscan.sys usbvideo.sys
> usbd.sys usbohci.sys usbser.sys usb8023x.sys
> Did I miss something?

i dont know, if camera uses custom vendor driver, problem maybe in this driver.
for example on my lenovo ivybridge notebook, camera chip made by RealTek and require custom driver to work on winxp/2003
but chip connected to USB bus and relay on windows usb software stack, so probably never touch DMA things itself

> Zitat von ⇗ RayeR im Beitrag ¶ #6579

> I still didn't get the purpose of the security cookie. It's some random number initilaized by kernel for every driver it loads and then driver checks for it? What happens when it's changed at runtime? Should it protect against some hacker's attack of unwanted driver modification? So it would make me more sense to check some hash of the driver periodically...

In pre-win8 drivers, every "cookie protected" driver at begin itself generate random cookie value, in Win8 MS moved this part to kernel and drivers dont have this "init cookie procedure" anymore, so this is why win8 drivers expect random from kernel, but winxp<->win7 kernels can't provide it.
And yes, sec. cookies used as stack protection, Idea is to place cookie on stack between return adress and local variables.
If someone try to change return adress on stack (buffer overflow attack), it must patch cookie too, but attacker don't know cookie value because it is random. Every "cookie protected" function when want to return to parent first check saved cookie and only if it is OK, return to parent.

#6588

genieautravail

⇗ @daniel_k

> Zitat von ⇗ daniel_k im Beitrag ¶ #6584

> @infuscomus and @Andalu
> Hal patches are perfect, Kernel needed fixes.
> I've already fixed the issue and will release ASAP.

OK, because as Andalu I have the same issue with the /M:4097MB parameter.
Without WinXPPAE:
⇗
With WinXPPAE 2 and /4GB parameter:
⇗
With WinXPPAE 3 and /M:4097MB parameter:
⇗
Regards

#6589 | daniel_k | WinXPPAE v3: ⇗ http://www.mediafire.com/file/urjqtrfveqnr16s - Properly patched TotalPagesAllowed, while leaving NumberOfPages set to maximum. - Fixed when using /3GB, maximum RAM is limited to 16GB.
#6590 | Andalu | ⇗ @daniel_k just tried with the /4GB option: ram correctly recognized, thanksss
#6591 | genieautravail | ⇗ @daniel_k Issue resolved with the /M:4097MB parameter. Good works! Regards
#6592 | daniel_k | ⇗ @RayeR The only file you need from Server 2003 is usbport.sys, please try to replace only this file.

#6593

YuriyCN

Windows XP mod 2021 - system build for the modern PC (edition 12.02.2021)
The information doesn't fit into a forum post for a long time - so download the text file and read it in Notepad. Always use the latest version of the methodology, as the information is constantly changing and the methodology is supplemented.
All information is in txt file (84KB, ENGLISH) - ⇗ https://yadi.sk/d/P3OGVJsJ24aOvg
All information is in txt file (86KB, RUSSIAN) - ⇗ https://yadi.sk/d/M58N2iE6qIOAdw

#6594

Mov AX, 0xDEAD

Hi All,
Interesting KB888137 about how Microsoft explains killing >4Gb memory support in XP SP2/SP3:
SYMPTOMS
In Windows Vista, or after you upgrade to Windows XP Service Pack 2 (SP2), the memory that is reported
in the System Properties dialog box or by the System Information tool (Msinfo32.exe) has changed.
CAUSE
This issue occurs because of a design change in Windows XP SP2 that is also included in Windows Vista.
The changes were made to PAE mode behavior to improve driver compatibility.
To reduce driver compatibility issues, Windows Vista and Windows XP Service Pack 2 include hardware abstraction layer
(HAL) changes that mimic the 32-bit HAL DMA behavior. The modified HAL grants unlimited map registers when the computer
is running in PAE mode. Additionally, the kernel memory manager ignores any physical address that is more than 4 GB.
Any system RAM that is more than the 4 GB barrier would be made unaddressable by Windows and be unusable in the system.
By limiting the address space to 4 GB, devices with 32-bit DMA bus master capability will not see a transaction with
an address that is more than the 4 GB barrier. Because these changes remove the need to double-buffer the transactions,
they avoid a class of bugs in some drivers that is related to the correct implementation of double buffering support.
The largest driver PAE compatibility issue involves direct memory access (DMA) transfers and map register allocation.
Many devices that support DMA, typically 32-bit adapters, cannot perform 64-bit physical addressing. When these devices
run in 32-bit mode, the devices can address all physical address space. In PAE mode, data can be present at a physical
address that is more than 4 GB. To enable devices with these constraints to function in this scenario, the Windows 2000
Server family and later versions of Windows provide double-buffering for the DMA transaction. The Windows 2000 Server
family and later versions of Windows do this by providing a 32-bit address that is indicated by a map register.
The device can perform the DMA transaction to the 32-bit address and the kernel copies the memory to the 64-bit
address that is provided to the driver. When the system runs with PAE disabled, drivers for 32-bit devices never
require their map registers to be backed by real memory. This means that double-buffering is not required, because
all devices and drivers are contained within the 32-bit address space. Based on tests of drivers for 32-bit devices
on 64-bit processorbased computers, it is expected that most client-tested, DMA-capable drivers expect unlimited map
registers.

#6595

diderius6

⇗ @Mov AX, 0xDEAD
Is it a lot of work, for Lan Windbg
also to modd kdstub.dll and kdnet.dll for XP 64 bit from the files from win81 64 bit or even win10 64 bit?
For experiments with UEFI boot,
this will help a lot
Dietmar

#6596

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #6595

> @Mov AX, 0xDEAD
> Is it a lot of work, for Lan Windbg

Hi
Yes, a lot, i attached part of source fasm code, you need convert it to x64 asm
remain part is injected code in kdnet.dll
⇗ https://pastebin.com/vgkpEgei

#6597

diderius6

⇗ @Mov AX, 0xDEAD
Via Lan Windbg you can do this via a PCI-e Slot card.
But when you use a slot card for a COM1 serial port,
debugging does not work.
Do you think, that it can make to work with some settings in boot.ini
Dietmar
EDIT: I found this
"The kernel debugging support has hardcoded support for UARTs that look like a 16550, and expects to be able to communicate with them at the standard I/O addresses, 0x3f8 (for COM1) and 0x2f8 (for COM2). (Not sure about COM3/COM4/etc.) The KD support in the kernel does not use a loadable driver, so if you want to use a serial UART, this is your only option. If your PCI board can be configured to work this way, and be ready to do so at OS boot time, then you can probably get it to work."

#6598

diderius6

I found kd1394.dll also in XP 64,
so a Windbg session should be possible during Firewire Slot card
Dietmar
In boot.ini of the Target PC you have to add /debug /debugport=1394 /CHANNEL=3
And you have to disable the 1394 device(!) in device manager.
and on the Host PC, where Windbg runs in Console
set_NT_DEBUG_BUS=1394
set_NT_DEBUG_1394_CHANNEL= x
kd -k
and run Windbg.
⇗ http://www.ockam.com/OldSite/docs/DisableSerialMiceOnXP.pdf

#6599 | PPeti66x | ⇗ @YuriyCN Hi! Some notes about Realtek HD Audio for XP: Some notebook manufacturers are prone to use a custom solutions, and these requires a custom drivers made by the manufacturer. Without a manufacturer-specific driver the device will not work correctly (even if the official Realtek driver can be installed without errors). Known problems: audio have much more noise, because noise cancellation for motherboards internal noise not works, or plugged-in headphone have no sound. Other possible problems may be a higher CPU usage or problems around stanby. The Dell M4800 have issues with the Realtek driver, but I heard that some Lenovo notebooks have similiar problems. For the Dell M4800 (Realtek ALC3226) I found a correct driver: "https://dl.dell.com/FOLDER01584986M/10/REALTEK_ALC3226-HD-AUDIO_A04_D3P06_SETUP_ZPE.exe" For later versions the XP driver was removed.
#6600 | onuracengiz | Have you tried these; ⇗ Realtek HD Audio (HDA) Drivers Version 8186 ⇗ Microsoft UAA Bus Driver for High Definition Audio

## Page 441

#6601

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6597

> @Mov AX, 0xDEAD
> 0x3f8 (for COM1) and 0x2f8 (for COM2).

change in kdcom.dll constants to yours or recompile kdcom.c
but first check in DOS what COM adapter really works without windows/drivers

#6602

diderius6

⇗ @Mov AX, 0xDEAD
Today in the morning I take a look with Ida Pro at kdcom.dll and found the entries for COM1 and COM2.
They are there implemented as strings.
Can I just change those strings against the adresses 0x3f8 (for COM1) and 0x2f8 (for COM2)?
And in boot.ini /debugport=0x3f8 ?
The idea I understand but to make it come true is another thing.
How can I check under DOS, that this serial adapter works with only this kdcom.dll as driver?
I have 2 different Serial slot cards. I think, that it works only for a to 100% compatible to 16550 UART
Dietmar
Edit: I have PEX2S553 Startech Serial Card , 2 Port Pci-E , 16550 Uart with mcs9922cv-aa chip.
Seems, that indeed no other driver is needed under DOS
Installation Procedure:
The following procedure explains how to install MosChip serial and parallel I/O ports on DOS.
Step 1: Copy "SXDOSIN.exe" to 'C:\' Drive from Floppy. The command is "copy a:\ SXDOSIN.exe c:\"
Step 2: Type "sxdosin" to confirm Device detection. (Eg. MCS9901)
Following information is displayed For 4 Serial Port
COM1 exists.
COM2 exists
LPT1 exists.
PCI Device configurations.
Found Moschip Semiconductor pci device 9901 (1000A000) Rev00 on Bus01 Slot 00
Found Moschip Semiconductor pci device 9901 (1000A000) Rev00 on Bus01 Slot 00
Found Moschip Semiconductor pci device 9901 (1000A000) Rev00 on Bus01 Slot 00
Found Moschip Semiconductor pci device 9901 (1000A000) Rev00 on Bus01 Slot 00
Detected 4 pci device(s)
= = = = = = = = = = = = = = = =
COM1 exist at 3F8.
COM2 exist at 2F8.
LPT1 exist at 378
= = = = = = = = = = = = == = = = =

#6603

YuriyCN

> Zitat

> Have you tried these;
> Realtek HD Audio (HDA) Drivers Version 8186

This driver does not work on Windows XP!!
Windows Vista or newer is required.
============================
I actually got the latest version of "Realtek HD Audio" drivers for Windows XP - it's version 5.10.0.7514 of 23.08.2016.
The supported chips are ALC880, ALC882, ALC883, ALC885, ALC886, ALC887, ALC888, ALC889, ALC892, ALC899, ALC861VC, ALC861VD, ALC867, ALC900, ALC660, ALC662, ALC663, ALC665, ALC668, ALC670, ALC671, ALC672, ALC676, ALC680, ALC221, ALC231, ALC233, ALC235, ALC255, ALC260, ALC262, ALC267 and others.
Realtek_HD_Audio_v5.10.0.7514 driver from 08/23/2016 for Windows XP (35 MBytes) - ⇗ https://www.upload.ee/files/11530218/Rea...8.2016.zip.html

#6604

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6602

> @Mov AX, 0xDEAD
> Can I just change those strings against the adresses 0x3f8 (for COM1) and 0x2f8 (for COM2)?
> And in boot.ini /debugport=0x3f8 ?

No, kdcom dont understand this, look for integers 3f8 and 2f8 inside dll
you dont need change ports if your card has standart ports already com1=0x3f8, com2=0x2f8

> Zitat

> COM1 exist at 3F8.
> COM2 exist at 2F8.
> LPT1 exist at 378

1) download any terminal util for DOS
2) check with remote PC for "echo" after typing on keyboard, config 115200 8-N-1
3) you need proof that COM hardware works at standart i/o ports
some test utils support loop test of com ports, just connect rx to tx
ntdetect.com may inteference with com ports, i dont knoq how to disable ntdetect

#6605 | PPeti66x | ⇗ @YuriyCN Headphone not works with it. Same result as the R2.74. The only correct driver is what I linked before.

#6606

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6597

> But when you use a slot card for a COM1 serial port,
> debugging does not work.

⇗ @diderius6 ...is the serial port turned on in BIOS and is it assigned the correct port numbers? You can change the port numbers in BIOS but I don't know if the serial feature appears if you don't have an onboard serial port. Could you add it to BIOS?
Sometimes the hypervisor takes COM1, if you have a hypervisor. Don't think there is one on XP. Sometimes Bluetooth can grab it or an internal modem chip.
⇗ https://phoenixnap.com/kb/what-is-hypervisor-type-1-2
A common problem with COM ports is an IRQ/port conflict with another device. Usually, COM ports use IRQ 3 and 4. Look in Device Manager to see if any COM ports are available. Make sure 'Show Hidden Devices' is checked in the View tab of Device Manager. If your add-on card is properly installed, it should show up in Device Manager under Ports. Also, for more hardware info, look under View\Resources by type and \Resources by connection. Look there to see if another device is trying to use IRQ 3/4 or a COM port address assigned to COM 1/2. With modern chipsets, it's common for devices to share IRQs.
A real good reason nothing shows up in device manager is that the drivers for the add-on card are not right for XP.
If only COM2 is listed (COM1 is missing) you need to troubleshoot to find out why. One good reason is that nothing is attached to the physical port. It can occur because COM1 was assigned earlier and never released. You can fix it in the registry but I can't remember how. Turning on 'Show Hidden Devices' should reveal it in Device Manager.
In boot.ini, I don't know if you can list the port address in hex, I think you have to specify it as COMx.
You can use Hyperterminal to test serial ports or get one of the free communications apps on the net that talk between COM ports. Google putty serial. Better still.
⇗ https://www.techwalla.com/articles/how-t...rial-connection
ps. On my W7 machine the com ports are listed under:
HKLM\system\controlset001\enum\ACPI\PNP0501\0 and \1. May be something in ACPI causing COM issues.

#6607

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6604

> ntdetect.com may inteference with com ports, i dont knoq how to disable ntdetect

⇗ @Mov AX, 0xDEAD ...Seems to depend on whether BIOS sets the hardware parameters or whether ACPI is available.
"Ntdetect.com is used on computers that use BIOS firmware. Computers with Extensible Firmware Interface, such as IA-64, use a method of device-detection that is not tied to the operating system.[1]
Hardware detection operates somewhat differently depending on whether or not Advanced Configuration and Power Interface (ACPI) is supported by the hardware. It passes on the hardware details gathered from the BIOS onto the OS. If ACPI is supported, the list of found devices is handed to the kernel, Windows will take responsibility for assigning each device some resources. On older hardware, where ACPI is not supported, the BIOS takes responsibility for assigning resources, not the operating system, so this information is passed to the kernel as well".
⇗ https://en.wikipedia.org/wiki/Ntdetect.com
************
⇗ @Mov AX, 0xDEAD ... Похоже, это зависит от того, устанавливает ли BIOS параметры оборудования или доступен ACPI.
"Ntdetect.com используется на компьютерах, которые используют микропрограмму BIOS. Компьютеры с расширяемым интерфейсом микропрограмм, такие как IA-64, используют метод обнаружения устройств, который не привязан к операционной системе. [1]
Обнаружение оборудования работает несколько по-разному в зависимости от того, поддерживается ли аппаратным обеспечением Advanced Configuration and Power Interface (ACPI). Он передает сведения об оборудовании, собранные из BIOS, в ОС. Если ACPI поддерживается, список найденных устройств передается ядру, Windows берет на себя ответственность за назначение каждому устройству некоторых ресурсов. На старом оборудовании, где ACPI не поддерживается, за назначение ресурсов берет на себя BIOS, а не операционная система, поэтому эта информация также передается ядру ".
[URL] ⇗ https://en.wikipedia.org/wiki/Ntdetect.com [/ URL]

#6608

onuracengiz

⇗ Realtek HD Audio (HDA) Drivers Version R2.8x (8186) WHQL listed as Xp.maybe installer is not working on Xp but have you tried have disk method?
Could you try the official one from realteks website
⇗ Windows 2000, Windows XP/2003(32/64 bits) 2.74 dated 2014/05/14
And yes ⇗ Intel Realtek ALCxxx Driver v5.10.0.5377 is also for Xp but these are for much older cards
Same goes for ⇗ Microsoft UAA Bus Driver for High Definition Audio even much much older (again intel board)
and here is a bonus; ⇗ K-Lite Codec Pack v13.8.5 Mega
⇗ OpenAl driver v1.1 (cross-platform 3D audio API) some apps and games uses this (Baldur's Gate: Enhanced Edition.
Battlefield 2 etc) get more information ⇗ here
⇗ OpenAL Soft v1.21.1 (updated Win32 and Win64 binaries 4.2.2021)

#6609

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6598

> so a Windbg session should be possible during Firewire Slot card

I wonder if it would work through firewire on a PCI, PCIe, PCMCIA or ExpressCard?

> Zitat von ⇗ diderius6 im Beitrag ¶ #6602

> Today in the morning I take a look with Ida Pro at kdcom.dll and found the entries for COM1 and COM2.

In which offset?

> Zitat von ⇗ diderius6 im Beitrag ¶ #6602

> How can I check under DOS, that this serial adapter works

- connect two computers with a nullmodem cable
- on remote PC run Putty on COMx 19200
- on local PC run MS-DOS 6.22 and type:

      mode com1:19,n,8,1,p
      ctty com1

At this point, you should see the data in Putty:
⇗
To use the serial port on the card, e.g. mini-PCIe, you probably need to use the MMIO address - but how to use this in WinDbg ???
⇗ mPCIe serial
⇗ Chromium OS [serial] Console Debugging HOWTO

#6610

diderius6

⇗ @Gelip
I think, the most important for Windbg via Firewire is the compability of the 1394 card.
I read, that those from Texas Instruments are best for this. Any of them should work for Windbg 1394 Firewire debug.
Because there is no Whitelist from Microsoft for 1394 as for the Lan Slot cards.
⇗ https://docs.microsoft.com/en-us/windows...er-a-1394-cable
Until now, I do not find a report, that someone succeeds with using a Serial Slot card for Windbg.
When you have a board, with a COM1 connector, you have to disable(!) this device in Bios of the target (to be debugged)
computer, when you want to use this Serial Slot card. So, you kill a working connection.
Question for me is, if there is an entry in Bios needed for a working Serial Windbg connection.
I think yes,
and so Windbg will not work with any Serial Slotcard
Dietmar

#6611

YuriyCN

> Zitat von ⇗ onuracengiz im Beitrag ¶ #6608

> And yes ⇗ Intel Realtek ALCxxx Driver v5.10.0.5377 is also for Xp but these are for much older cards

Latest version - Realtek_HD_Audio_v5.10.0.7514 driver 08/23/2016
⇗ https://www.upload.ee/files/11530218/Rea...8.2016.zip.html

#6612 | onuracengiz | thank you.inf and files looks legit.i will try to verify the source.in the mean time, majorgeeks is a trustworthy source therefore i will keep that version ⇗
#6613 | PPeti66x | ⇗ @onuracengiz You did not uderstand, what I am say: The mentioned Realtek drivers (R2.74, v5.10.0.7514) installs and works on XP, but have missing features on Dell (and probably on some Lenovo) computers. Dell made special drivers (not only repacked, but completely recompiled with specific customizations) for this audio chip, because used some non-standard solutions.

#6614

onuracengiz

thats because realtek versions are often generic ones,in order to cover more devices.manufacturer's version is custom tailored.thats normal
latest does not mean good for everbody.
Also they might have added more files into it afterwards?
Need confirmation from more people that this one is working for them aswell
source traces back to tenforums
this one is from realtek official
⇗

#6615

genieautravail

⇗ @PPeti66x ⇗ @YuriyCN ⇗ @onuracengiz
It's the same thing for display drivers.
My Dell Latitude e6230 laptop use a specific driver from Dell for the Intel HD 4000 chip.
Windows XP won't install the generic driver from Intel even if the driver is more recent...
Regards

## Page 442

#6616 | onuracengiz | your sata,chipset (not even drivers but still),graphics drivers are device series based "can be considered" generic drivers,but oh well :) and that may be,just maybe cause of the end of xp support :D

#6617

Gelip

@diderius

> Zitat von ⇗ diderius6 im Beitrag ¶ #6602

> Seems, that indeed no other driver is needed under DOS
> Installation Procedure:
> The following procedure explains how to install MosChip serial and parallel I/O ports on DOS.
> Step 1: Copy "SXDOSIN.exe" to 'C:' Drive from Floppy. The command is "copy a: SXDOSIN.exe c:"
> Step 2: Type "sxdosin" to confirm Device detection. (Eg. MCS9901)

Please test:

- connect two PC with nullmodem serial cable
- on PC1 run WinDbg on serial COM1 115200
- on PC2 in WinXP config serial debug in boot.ini on COM1: /debug /debugport=COM1: /baudrate=115200
- reboot PC2 from USB with MS-DOS 6.22 - ready bootable MS-DOS disk image that you need to write to a USB flash drive with Win32DiskImager - link: ⇗ msdos.zip
- remap COM your PCIe card to standard COM1 3F8 IRQ4 use SXDOSIN.exe
- run GRUB4DOS grub.exe
- boot WinXP from GRUB4DOS like this:
  find --set-root /ntldr
  chainloader /ntldr
  boot

Does data on PC1 appear in WinDbg?
If not work try without HIMEM.SYS, SMARTDRV.EXE, SETVER.EXE

#6618

diderius6

⇗ @Gelip
"reboot PC2 from USB with MS-DOS 6.22 - ready bootable MS-DOS disk image that you need to write to a USB flash drive with Win32DiskImager - link: msdos.zip"
I cant get the USB bootable MS-DOS 6.22 image.
Can you upload it for me, then I test
Dietmar

#6619 | Gelip | ⇗ @diderius6 New link: ⇗ https://www97.zippyshare.com/v/rwRpVcxV/file.html
#6620 | diderius6 | ⇗ @Gelip I get 403 Forbidden Dietmar PS: Use ⇗ https://ufile.io/

#6621

Gelip

⇗ @diderius6
⇗ msdos.zip
I tested my serial port ExpressCard i-Tec EXRS232 in the early stages of Debian 6 boot and it works beautifully but it's probably thanks to the Linux kernel:
In CMDLINE need like this (0x4000 is address my card):
earlycon=uart8250,io,0x4000,115200n8 or console=uart8250,io,0x4000,115200n8
To check the address in Linux type in terminal: dmesg | grep tty
⇗

#6622

PPeti66x

⇗ @genieautravail
I had no issues with Intel HD4000 except display switching. You can install the driver only if the device is enabled. If you have a discrete VGA, XP probably uses this by default (and others are disabled), and you can not install the Intel driver in this case. You must force the Intel Graphics by BIOS first. In my case (Dell M4800) it is Video/Switchable_Graphics: Enable Switchable Graphics (checkbox) - it is a one-shot option, because then incompatible OS is detected and switched back automatically. So if you installing the XP, you must set at every restart.
...interesting, it worked me before, now I get black screen (display/backlight is ON, I can set even the brightness level). Driver installation worked without error (without Intel Driver, it works). It is caused by a BIOS update? Or something else? Same on x86 and x64 version (both with original and modded ACPI.SYS).

#6623

diderius6

⇗ @Gelip
Thanks for the nice USB MS-DOS 6.22. This is a very nice, because you can copy any files to the USB stick.
I have to rename Himem.sys, because it tests and tests and tests extended memory (32 GByte:)) ).
Then I make the test with just typing C:\SXDOSIN at the comandline.
But no COM port can be found. I check all PCI-E slots with both Serial cards.
When I disable the com Port in Bios, no port at all can be found.
So it is just a lie from the manufacturer, that this card works under DOS
Dietmar
PS: Shows your Serial Slot card an COM port with C:\sxdosin ?
⇗

#6624

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6623

> PS: Shows your Serial Slot card an COM port with C:sxdosin ?

My serial card is on chip Oxford but also not detect. I try SXDOSIN.EXE, DOS_MODE.EXE, NMDOSIN.EXE
but
I have good news! Kernel Debug work on ⇗ ReactOS 0.4.9 with ExpressCard. I need set serial port address in freeldr.ini - my card I/O is 0x4000:

    [ReactOS_Debug]
    BootType=Windows2003
    SystemPath=multi(0)disk(0)rdisk(0)partition(1)\ReactOS
    Options=/DEBUG /DEBUGPORT=COM:0x4000 /BAUDRATE=115200 /SOS

⇗

#6625

diderius6

⇗ @Gelip
Yes, Reactos is a nice project, but still Win95B is more useful
Dietmar
PS: I notice, that SXDOSIN.EXE shows working Serial PCI slot cards but not PCI-E.
Interesting, if there is any Serial PCI-E card today on the market, which works under DOS also.
I have not found.
Manufacturers you cant trust, see above, only test test test..

#6626

Gelip

⇗ @diderius6
Try set I/O and IRQ in MS-DOS with setpci tool (included on my msdos.img):

    setpci -s xx:xx:x INTERRUPT_LINE=04
    setpci -s xx:xx.x BASE_ADDRESS_0=0x03f8
    setpci -s xx:xx.x command=1

Check the bus slot func address of your card and enter xx:xx.x instead then grub4dos and boot WinXP

#6627 | Gelip | @diderius ⇗ @Mov AX, 0xDEAD Yeeeesssssaaa! WinDbg work over ExpressCard serial It is enough to change the I/O address COM1 3F8 in the kdcom.dll 64-bit 5.2.3790.1830 file in offset 1024 by changing F8 03 to the address of our card (I have 00 40)

#6628

diderius6

⇗ @Gelip Waaaooohh ,
please help me to do this with my card also.
LSPCI gives for me
03:00.0 0700:9710:9922
03:00.1 0700:9710:9922
So this means, I only have to change F8 03 to 00 07 in kdcom.dll
Dietmar

#6629

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6628

> LSPCI gives for me
> 03:00.0 0700:9710:9922
> 03:00.1 0700:9710:9922
> So this means, I only have to change F8 03 to 00 07 in kdcom.dll

Nooooo!!! - 0700:9710 is PCI Vendor:Device
You need I/O address - check in Linux Live in terminal: dmesg | grep tty or lspci -s 03:00.0 -v
In line ttyS0 at I/O 0xnnnn where nnnn is I/O address. This address need insert to kdcom.dll in little endian form e.g if your address is 8000 then replace F8 03 to 00 80:
root@debian:~# dmesg | grep tty
[ 0.000000] console [tty0] enabled
[ 0.843833] ttyS0: detected caps 00000700 should be 00000100
[ 0.843908] 0000:05:00.0: ttyS0 at I/O 0x4000 (irq = 19) is a 16C950/954
or
root@debian:~# lspci -s 05:00.0 -v
05:00.0 Serial controller: Oxford Semiconductor Ltd Device c120 (prog-if 02 [16550])
Subsystem: Oxford Semiconductor Ltd Device c120
Flags: bus master, fast devsel, latency 0, IRQ 19
I/O ports at 4000 [size=8]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-20
Capabilities: [110] Power Budgeting <?>
Kernel driver in use: serial

#6630 | Gelip | The COM port driver card (PCI, PCIe, PCMCIA or ExpressCard) in the debugged WinXP system must be uninstalled because the debugging process will be interrupted when the driver is loaded.

## Page 443

#6631

diderius6

⇗ @Gelip
For my Serial PCI-E slot cards it does not work under XP SP3.
I have the (small) problem, that I have 2 COM connectors on those cards each.
I found out, that the IO address is 0xD000 and 0xD010 for both cards.
In XP SP3 kdcom.dll you have to change the addresses at 2 places,
and I did those changes for COM1 and COM2 but without success.
Dont know, where the problem is
Dietmar
PS: Here is my original kdcom.dll file and the modded one
⇗ https://ufile.io/z9638ayh
EDIT:And the most most crazy is, that also with the modded kdcom.dll I can use the inbuild COM1 port of this board!
So, may be ntoskrnl.exe or ntldr plays a role in XP SP3 also.
By the way I noticed, that Windbg can ONLY run on COM1 with IO address 0x3F8h.

#6632

diderius6

Yepp,
COM4 COM3 COM2 COM1 appear in this очередь with there IO address also in ntoskrnl.exe of XP SP3
Dietmar

    .text:0046889B                 mov     eax, 2E8h
    .text:004688A0                 jmp     short loc_4688B5
    .text:004688A2 ; ---------------------------------------------------------------------------
    .text:004688A2

    .text:004688A2 loc_4688A2: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+5E j
    .text:004688A2                 mov     eax, 3E8h
    .text:004688A7                 jmp     short loc_4688B5
    .text:004688A9 ; ---------------------------------------------------------------------------
    .text:004688A9

    .text:004688A9 loc_4688A9: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+5B j
    .text:004688A9                 mov     eax, 2F8h
    .text:004688AE                 jmp     short loc_4688B5
    .text:004688B0 ; ---------------------------------------------------------------------------
    .text:004688B0

    .text:004688B0 loc_4688B0: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+58 j
    .text:004688B0                 mov     eax, 3F8h
    .text:004688B5

    .text:004688B5 loc_4688B5: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+38 j
    .text:004688B5                                         ; InbvPortInitialize(x,x,x,x,x)+53
    j ...
    .text:004688B5                 lea     edi, [esi+esi*2]
    .text:004688B8                 lea     edi, _CmRegistryLogSizeLimit[edi*4]
    .text:004688BF                 cmp     dword ptr [edi], 0
    .text:004688C2                 jz      short loc_4688C8
    .text:004688C4

    .text:004688C4 loc_4688C4: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+47 j
    .text:004688C4                 xor     al, al
    .text:004688C6                 jmp     short loc_468916
    .text:004688C8 ; ---------------------------------------------------------------------------
    .text:004688C8

    .text:004688C8 loc_4688C8: ; CODE XREF: InbvPortInitialize(x,x,x,x,x)+8A j
    .text:004688C8                 cmp     [ebp+arg_10], 0
    .text:004688CC                 jz      short loc_4688F0
    .text:004688CE                 xor     ecx, ecx

#6633

Gelip

⇗ @diderius6
I only changed the second place and after editing the file, you need rebuild the checksum and PE header with CFF Explorer:
⇗
Do you have two PCIe cards with serial ports??? If so, take one out.
Show the result of the dmesg | grep tty and lspci -s bus:slot.func -v your card.
In Linux, ttySX is the COMX port number on Windows and in kdcom.dll F803 is the COM1 address. You are interested in the I/O address assigned to the ttyS0 device in Linux.
ttyS0 -> COM1 0x03F8 -> F803 in kdcom.dll
ttyS1 -> COM2 0x02F8 -> F802 in kdcom.dll
and probably
ttyS2 -> COM3 0x03E8 -> E803 in kdcom.dll
ttyS3 -> COM4 0x02E8 -> E802 in kdcom.dll
⇗ COM I/O addresses

#6634

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #6621

> I tested my serial port ExpressCard i-Tec EXRS232 in the early stages of Debian 6 boot and it works beautifully but it's probably thanks to the Linux kernel:

⇗ @Gelip ⇗ @diderius6 ...for what it's worth...I have used the Startech USB to serial adapter (ICUSB2321F) with windbg and a null modem cable. It worked well with W7 as host and both W7 ans W10 as target.
My mobo, an ASUS B360M, has two serial ports on the mobo. Have not been able to get it running lately on either OS and not on XP. I think there is a problem with W10 running in a dual boot system with W7. I found that out by mistake. First, I established a LAN connection from W7 as host to W10 as target with windbg. When I switched back to the USB-serial port setup, during the required reboot of the target, which was supposed to be W7, I had forgotten about the dual boot setup and W10 grabbed the connection. As I was messing with it, suddenly the serial connection started working with windbg, but with W7 as target.
That makes me suspect that the boot loaders of either W10 or XP are interfering with the windbg connection. If ntdetect is involved it may not be reporting the serial ports to ntoskrnl. If it's not involved, as in an ACPI system, the ACPI system is not reporting the serial ports correctly.
More specifically, neither W7 nor XP will run natively on the B360M. I needed USB drivers from canonkong and other drivers to get W7 runnong on this board. Makes me think that something is wrong with the drivers related to debugging on both XP and W7 on the newer chipsets.
Here's how I got the debug session going originally between W7 as host and W7 as target, using a USB-serial adapter and a NULL modem cable. I had W7 dual booted with W10, using the W10 boot loader. I forgot that and when I tried to establish the debug session, the W10 bootloader grabbed the connection. I was frustrated about that but it gave me an opportunity to go into the W10 Advanced options screen and I enabled debug mode from there.
Here's the key. While I was in the W10 advanced options screen I also selected W7 as the default OS. So, now I have debug mode set by W10 and W7 selected as the default OS. When I rebooted, as required, it ran back to the W10 boot screen but I could see on the host that I now had a debug connection. When I rebooted again, like magic, it now started in W7 with a full debug session running. After that, I had no problem starting a debug session in W7.
I know there is a problem between the W10 bootloader and XP but I am thinking that W10 has the ability to initiate a debug session that is lacking in W7 or XP. Or, at least, it is partially broken in XP and W7. Ditmar gor a debug session going between a host and XP but I have been unable to do so on the B360M chipset.

#6635

diderius6

⇗ @Gelip
Even with address hack 03f8h => D000h in kdcom.dll and ntkrnlpa.exe
both Serial PCI-E cards do not work with Windbg.
Now I am out of ideas.
Maybe, that somebody has also a Serial PCI-E card and can try my files from original XP SP3 5512
Dietmar
PS: OH, the most most most crazy: With both of my modded files, the onboard COM port still works, even I changed the adresses,
crazy. Debug address must be hard hard coded in Bios or ntdetect.com fetch them, so no chance for a Serial PCI-E card on a board that has already a COM port..
⇗ https://ufile.io/cgvtu40s

#6636

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6628

> So this means, I only have to change F8 03 to 00 07 in kdcom.dll Dietmar

⇗ @diderius6 ...be careful, the change should only be temporary. 03F8 is a standard serial port address for a com port and has been back to the days of DOS. Your other address seems to be its PCI address. Not the same. That address will vary from system to system.
There is no reason why your external cards should not be detected by BIOS is the 0x3F8 range. When the card is detected at boot time by ACPI, there is info in the card's EEPROM that identifies it and it's type. It likely has a hardware ID like Ven_xxxx&Dev_xxxx programmed into it. It seems to me that ACPI is not detecting your card.
The 0x3F8 address does not come from the card itself, it comes from a serial comm controller which is either on the mobo or on the card itself. If the card is not reporting itself correctly, that's the problem.

#6637

diderius6

⇗ @gordo999
I hacked also ntdetect.com, changing COM1 port there from 03F8h => D000h
Crazy, XP boots with this 3 hacked files,
but still none of the crazy Serial PCI-E slot cards will work for Windbg
Dietmar
⇗ https://ufile.io/s4u98ipl

#6638

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6623

> I have to rename Himem.sys, because it tests and tests and tests extended memory (32 GByte:)) ).

⇗ @diderius6 ...himemsys is a driver to see memory above the DOS 1 meg limit, but just above it. It cannot see 32 Gigs. Furthermore, DOS is a 16 bit OS that cannot address memory beyond 1 Mb. You can use extended memory, which has a base in the DOS memory range between 640K to 1024K, but that requires an external card and a lot of headaches. Even at that, it could never see the gigabyte addresses of today's OSs.
You'd need DOS 7 to do that, which is the DOS built into modern systems and used in the CMD window.

#6639

diderius6

⇗ @gordo999
I just try the onboard COM port. Crazy, Windbg works together with those 3 modded files.
So, this address 03F8h stays in Bios and this is enough for Serial Windbg, because now I dont know any file, where it is mentioned also.
In hal.dll this address is not
Dietmar

#6640

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6637

> but still none of the crazy Serial PCI-E slot cards will work for Windbg
> Dietmar

It seems external cards operate differently than the standard mobo serial ports. Some useful information here:
⇗ https://community.osr.com/discussion/215...-pci-card-issue
"When you debug via 1394, the debugger has its own miniature 1394 driver
stack. When you debug via COM1, the debugger writes to I/O port 0x3F8.
A PCI-based COM port always has a BIOS-assigned port number, even if the
O/S calls it COM1".
A problem I had when building a NULL modem cable was the difference between the mobo serial pin-out and the RS-232 standard. There may be differences in how your external card is wired to the DB-9 output connector. As it indicates in the forum discussion, windbg uses a primitive system that talks only to the mobo COM port. If it's not there it won't see the external card. Don't know if there's a way to make it see the card.
The wiring of the NULL modem cable is very important. Microsoft supplies the required wiring in one of its debugging articles.
Also see the post from Jan under OSR_Community_User, The name is at the end of the post and there is some good technical info in it.

#6641

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6637

> I hacked also ntdetect.com, changing COM1 port there from 03F8h => D000h

⇗ @diderius6 ...can't d/l files...getting Forbidden warning. I'll try later. If it's not too much trouble can you PM them to me? I want to test them on my system but it may be a few days.

#6642

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6637

> Crazy, XP boots with this 3 hacked files

⇗ @diderius6 ...ntdetect is only used on older systems that existed before ACPI. We are using modded ACPI drivers to run XP therefore it's unlikely that ntdetect is being used. ACPI reports the info ntdetect once retrieved directly to ntoskrnl.
Your PCI serial cards are likely finding a different way to report their serial ports. Maybe they cannot report till after the system has booted and there drivers are loaded. However, it seems that ACPI should still be able to interrogate the PCI cards. Maybe the ACPI driver needs further modifications.
I keep forgetting that ACPI will detect an on-board COM port directly, at 0X3F8, or whatever address it is wired to. On my mobo, the COM 1 and COM 2 ports cannot be changed, a device connected to COM2 shows up as being connected to COM2, However, those addresses can be re-assigned via software in Windows.
Port addresses are memory addresses as far as Windows is concerned. In the real world, many of those addresses are dedicated to external hardware.
When my USB to serial interface was working, I was able to break early in the target boot process. I did not test to see how early I could break. However, the USB-serial drivers were already working in the host.

#6643

LSS3333

⇗ @daniel_k
I'm trying the latest WinXPPAE 3.5, but it doesn't seem to accept the halmacpi.dll version 5.1.2600.5687, citing "Invalid file".
The base SP3 version (5.1.2600.5512) of halmacpi.dll, which can be obtained from official SP3 update, can be patched, but I don't have a detail of the difference between these two HAL versions.
I haven't gotten it working yet with /M:ALL (or /M:131072MB), as that resulted in the system rebooting immediately (no error message, no BSOD). This is observed with 5687 HAL (since I can't patch it), and patched 5512 HAL. Will try lowering the memory limit to 4GB to see if it makes a difference, and start testing from there.
EDIT: Will try this again. Just found out the HAL might have been patched by something else, so it's possible there's another patch in the WXPIE integrator involving the HAL (maybe ACPI?) and is not compatible with WinXPPAE (maybe the order of patching matters). It seems PM Timer Fix from the integrator has its own modified halmacpi.dll that WinXPPAE cannot recognize.
EDIT 2: Tested a bit deeper and can confirm up to 64GB works in my case (as per original PAE specifications), using 128GB or ALL would result in reboot. Haven't done any detailed tests yet, though I haven't encountered any critical issues during the boot process for now.
Support of 128GB might be CPU-dependent so it won't work under all circumstances.
EDIT 3: Tried installing some drivers. nVidia video card drivers work without major issues at the moment, just that Windows XP doesn't seem to work well with some 4K monitors so I got a black screen and had to manually set it to 1080p via registry from Safe Mode. It seems Asus Xonar (C-Media) drivers don't cope well with the patch that I get a BAD_POOL_CALLER BSOD when the driver loads.

#6644

Gelip

⇗ @diderius6
I just tested debugging with WinXP SP2 32-bit on other laptop IdeaPad S10e and working :-) I edited the second location of F8 03 in the kdcom.dll file offset C50. kdcom.dll EN is exactly same on WinXP SP2 and SP3 regardless of the language version of the system. The card in this laptop has a different I/O address than in the X220, so you need to put the same in the kdcom.dll file.
You do not need to disable the port COM integrated on the motherboard, but then you need to change F8 02 COM2 in the kdcom.dll file (probably offset C47) and set boot.ini to COM2.
I tested COM2 F8 02 on WinXP 64-bit and working OK so it should work on WinXP 32-bit
⇗
It has to work and somewhere you are making a mistake - are you sure you are using WinDbg 32-bit for debugging WinXP 32-bit?
⇗ @diderius6
Show me the output of the dmesg | grep tty from Linux I'll make you kdcom.dll
Write ⇗ d6.img to USB stick and boot PC from this.

#6645 | diderius6 | ⇗ @Gelip 3F8h for COM1 is also mentioned at 3 places in NTLDR. Now I am downloading your d6.img and I will send you photo Dietmar

## Page 444

#6646

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6645

> 3F8h for COM1 is also mentioned at 3 places in NTLDR.

You don't need to modify any other files except kdcom.dll

#6647

diderius6

⇗ @Gelip
With d6.img copied bit by bit to USB3 stick I cant boot my compi.
I tried all USB slots.
On USB3.0 it tells: Unable to build a live system
On USB3.1 hangs at sysenter_do_call+0x12/0x28
Dietmar

#6648

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6647

> On USB3.0 it tells: Unable to build a live system
> On USB3.1 hangs at sysenter_do_call+0x12/0x28

⇗ @diderius6
Try in the USB 2.0 port and/or disable USB 3.0 in bios. It seems Debian 6 doesn't support USB 3. You need Debian 9:
⇗ live-image-i386.hybrid.iso

#6649

diderius6

⇗ @Gelip
No USB2 port on this board and no possibility in Bios to set USB3 --> USB2,
so on this board Asrock z370 gaming k6 fatalty d6.img does not work
Dietmar
EDIT: I succeed to boot via USB3 into a initramfs comandline.
There you can see, that only the onboard COM is recogniced
⇗

#6650

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6649

> There you can see, that only the onboard COM is recogniced

Is the PCIe serial card inserted in PCIe slot?

#6651

diderius6

⇗ @Gelip
Yeppp;)).
I also tried the other PCI-E Serial slotcard,
exact the same, just not recogniced from Linux Debian on this board
Dietmar
⇗

#6652

diderius6

By the way I noticed,
that when I change in ntldr 03F8h ---> D000h
at its 3 places,
I get message on boot, that ntldr cant be found.
Is there a tool, with which you can rebuild the integrity of ntldr
Dietmar
EDIT: I succeed to hack ntldr 03F8h ---> D000h at 3 places and boot.
But even with now 4 modded files, Windbg does not work with Serial PCI-E card on this board.
EDIT2: With those 4 changed files, the board intern COM port still works. This is really a good survive:)).
Here is normal ntldr and the hacked ntldr from XP SP3 5512
⇗ https://ufile.io/u9mzun6m

#6653 | Gelip | ⇗ @diderius6 And if you disable the integrated COM port in bios, then Linux sees ports on the PCIe card? Try Debian9, link in ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (444)

#6654

diderius6

⇗ @Gelip
Can you help me, to build a working USB3 boot from this *.iso?
I try, but then I was told, that I have to give the numbers of heads???
Content of my menu.lst
title Start IBM Lenovo BIOS Update from ISO
root (hd0,0)
--heads=0
map /live-image-i386.hybrid.iso (0xff) || map --mem /live-image-i386.hybrid.iso (0xff)
map --hook
root (0xff)
configfile /grub4dos.lst || chainloader (0xff)

#6655

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6654

> Can you help me, to build a working USB3 boot from this *.iso?
> I try, but then I was told, that I have to give the numbers of heads???
> Content of my menu.lst

Just write iso to usb with win32diskimager and boot
Of course it can be done like Debian6. You need to extract 3 files from the ISO>live subfolder to the appropriate locations on the flash drive: filesystem.squashfs, initrd.img and vmlinuz

#6656

diderius6

⇗ @Gelip
This time it works.
micro ) letters on screen, but no problem for cam.
The other PCI-E Serial slot card gives exact the same values.
Dietmar
⇗

#6657

Gelip

⇗ @diderius6
Where are the same ???
ttyS0 is integrated serial port COM1 on motherboard on I/O 0x03F8
ttyS1 COM2 I/O 0xD010 and ttyS2 COM3 I/O 0xD000 is ports on your PCIe card.
You must repalce COM2 or COM3 location in kdcom.dll but not all places only one:
offset C47: ttyS1 (COM2) 0x2F8 (F802) - address 0xD010 (10D0) and use boot.ini COM2
or
offset C3E: ttyS2 (COM3) 0x3E8 (E803) - address 0xD000 (00D0) and use boot.ini COM3
Try this files - first on COM2 and second on COM3:Gelip has attached files to this post

- ⇗ kdcom_10D0_offset_C47_COM2.zip
- ⇗ kdcom_00D0_offset_C3E_COM3.zip

#6658

diderius6

⇗ @Gelip
Thanks for help!
I test both files, enable disable COM in Bios, in Device Manager, edit boot.ini .
Serial Windbg with this PCI-E slotcard does not work until now
Dietmar
PS: Now I set up a brandnew XP SP3.

#6659

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6658

> @Gelip
> Thanks for help!
> I test both files, enable disable COM in Bios, in Device Manager, edit boot.ini .
> Serial Windbg with this PCI-E slotcard does not work until now
> Dietmar
> PS: Now I set up a brandnew XP SP3.

I'm not sure if it's an offset C47 for COM2 because F802 is in five offsets. You must check all but one offset at a time.
If you disable the COM port in bios then the port settings on the PCIe card change from COM2, COM3 to COM1,COM2 and you need replace a different location in kdcom.dll. After disable integrated serial you must one more time check settings in Debian dmesg | grep tty
The same as you put the PCIe card in another slot, the settings may change and again you need a different kdcom.dll file.
Stick to one hardware configuration e.g. disabled integrated and only use serial PCIe card and then test kdcom.dll

#6660 | diderius6 | ⇗ @Gelip I tried really all, no success with this PCI-E Serial slotcard for Windbg Dietmar

## Page 445

#6661

genieautravail

⇗ @PPeti66x
I don't have issues with the Intel HD 4000 driver.
I'm just telling that I can only use the specific driver from Dell.
On this laptop, I have only the graphic chip from the processor, there is no discrete graphic card.
On the Dell Latitude E6430 laptop, I have both the Intel HD 4000 and NVIDIA Quadro NVS 5200M graphics solutions.
Fortunately, in the BIOS there is a setting that let me disable the Nvidia Optimus technology.
So, only the NVIDIA Quadro NVS 5200M graphic card is used by the system (and XP).
It's one of the reasons that I love Dell laptops!
Interesting what you are saying, because on the E6430 laptop, I don't have to set this setting in the BIOS at every restart...
It seems that the support for XP is very limited on your laptop.
Regards

#6662

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6660

> I tried really all,
> no success with this PCI-E Serial slotcard for Windbg
> Dietmar

Impossible, you are making a mistake somewhere.
1. Have you rebuilt the PE header and checksum?
2. Do you replace the kdcom.dll file outside of a working WinXP system?
3. Are you using Windbg 32-bit?
4. Did you uninstall the PCIe COM port drivers in the device manager? You also need to manually remove oemXX.inf files from C:\WINDOWS\Inf because after restart WinXP will install itself again automatically.
5. Did you confuse the COMX port number in boot.ini with what you are editing in kdcom.dll?
I am just checking the port locations in the kdcom.dll file on WinXP 32-bit:
COM1 offset C50 - need change F803 to little endian I/O addres ttyS0 (it definitely works) < boot.ini COM1
COM2 offset C47 - need change F802 to little endian I/O addres ttyS1 (it definitely works) < boot.ini COM2
COM3 offset C3E - need change E803 to little endian I/O addres ttyS2 (not tested but 99%) < boot.ini COM3
COM4 offset C35 - need change E802 to little endian I/O addres ttyS3 (not tested but 99%) < boot.ini COM4
I don't have how to test COM3 and COM4 ports because I have only 2 PCIe hardware ports (one integrated on motherboard SOL and one on ExpressCard)

#6663 | Gelip | ⇗ @diderius6 Only one fundamental question: Does WinXP see PCIe ports in device manager as PCI Serial Port in section Other devices when no drivers are installed?
#6664 | PPeti66x | ⇗ @genieautravail XP was not supported at all. Dell never released drivers for it. And in BIOS no correct VGA selection option. Discrete graphics is used by default, CPU graphics can be forced by every restart. It was hard to hunt down XP drivers for all devices. The only Dell-specific driver is for the Realtek Audio. At this time only 3 things have problems: 1.) Intel Graphics (without installing the Intel driver works), 2.) ST Electronic Freefall sensor (probably WDF coinstaller problem, it was killed at expriments with USB3 HCSwith), 3.) USB3 not detecting newly plugged-in devices after sleep mode was used, but otherwise is OK. In other words: it is now usable with XP without major issues or restrictions.
#6665 | diderius6 | ⇗ @Gelip I do not think, that I make a mistake. This PCI-E card is just not compatible with kdcom.dll Dietmar "Only one fundamental question: Does WinXP see PCIe ports in device manager as PCI Serial Port in section Other devices when no drivers are installed?" Yes.
#6666 | infuscomus | ⇗ @diderius6 I think in XP PCIe ports are shown as "PCI Standard PCI-to-PCI Bridge"
#6667 | diderius6 | ⇗ @Gelip Do you have a PCI-E Serial slot card? Make test with it. I think, only PCI works Dietmar

#6668

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6667

> Do you have a PCI-E Serial slot card?

Unfortunately I don't, but my ExpressCard is on a PCI Express Root:
⇗
And how is your card connected in device manager - View -> Devices by connection?

#6669 | diderius6 | ⇗ @Gelip Here it is. I enabled, disabled all. No difference, just no serial Windbg via this PCI-E slotcard Dietmar ⇗

#6670

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6669

> Here it is. I enabled, disabled all. No difference, just no serial Windbg via this PCI-E slotcard

Download pciutils for Windows and make screenshots: lspci -s 03:00.0 -v and lspci 03:00.1 -v Gelip has attached files to this post

- ⇗ pciutils-3.5.5-win32.zip

#6671 | diderius6 | ⇗ @Gelip Here it is Dietmar ⇗

#6672

Skorbin

While preparing for my Win 98 / Win XP Dual build I stumbled over the Win 98 tools from R. Loew, which are available for free now. Not only that, but if I see that right, there are also source codes available.
Now, Windows 98 is not exactly what people try to achieve here, but there is a tool which aims for implementing the trim command under DOS.
Maybe there are interesting parts which can be used for a similar function for Windows XP?
Might be worth to have a look at those sources ....

#6673

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6671

> Here it is
> Dietmar

Your card has I/O and MMIO addresses and mine has only I/O:
C:\Program Files\pciutils>lspci -s 05:00.0 -v
05:00.0 Serial controller: Oxford Semiconductor Ltd Device c120 (prog-if 02 [16550])
Subsystem: Oxford Semiconductor Ltd Device c120
Flags: bus master, fast devsel, latency 0, IRQ 10
I/O ports at 4000
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Legacy Endpoint, MSI 00

#6674

diderius6

⇗ @Gelip
I look for comments about your Serial card.
And everybody tells, that it is compatible with DOS and nobody told
about problems on any OS.
This I do not hear about my card.
I can change the modus of the chip, which should be "simulated".
Oha, nobody needs this
Dietmar

#6675

diderius6

⇗ @Gelip
I found this
"The Re-Mapping to legacy addresses will work in systems that have PCI and PCIe expansion slots that are on Bus 0.
Systems have the PCI and PCIe expansion slots behind a Bridge (Bus-1, Bus-2) may not work since legacy address is not recognised by system."
Dietmar

## Page 446

#6676

diderius6

⇗ @Gelip
This is a new DOS tool,
which recognices my card under DOS.
It is on BUS 3.
Now I look, if there is any PCI-E slot on my board
with Bus 0
Dietmar
EDIT: No Bus 0 on my board for any PCI-e slot.
⇗ https://ufile.io/hi5b14x2

#6677

Gelip

⇗ @diderius6
It seems to me that this is about I/O vs MMIO and my hack kdcom.dll will only work on the cards without MMIO. Read this: ⇗ Who Decides Between I/O Mapped and Memory Mapped I/O (x86)
On ⇗ ReacOS debug info i found this:

> Zitat

> Note: ReactOS does not (yet!) support memory mapped I/O (MMIO) based (modern) serial extension cards.

This is probably why WinXP debugging does not work for you because the card is MMIO.
Check on Debian in CMDLINE if COM port works over I/O or MMIO:
⇗ http://www.chromium.org/chromium-os/how-...s-for-your-UART
try I/O: console=uart8250,io,0xd010,115200n8
try MMIO: console=uart8250,mmio,0xyour_start_addres,115200n8
or MMIO32: console=uart8250,mmio32,0xyour_start_addres,115200n8
Boot PC from my Debian 9 USB and press Tab to edit boot parameter and after space write console=uart8250,io,0xd010,115200n8 and if on Putty you have data this means that card work over I/O
Now reboot PC and write second MMIO setting and check.

#6678

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #6636

> The 0x3F8 address does not come from the card itself, it comes from a serial comm controller which is either on the mobo or on the card itself. If the card is not reporting itself correctly, that's the problem.

Hi gordo999,
PCI devices not connected directly to address translator, if cpu want to read at 0x3F8 port from PCI device, it in most cases will read it from southbridge
So PCI devices declare resource list (in PCI 256 byte header), then bios/OS read this list and reconfigure PCI Host/Bridge to include this ranges to adress decoding.
These serial card supplied with own DOS utils, and if vendor's pictures are not lie, these utils do some magic with PCI bus to enable passthrough very low I/O adresses to PCI device. Port 80 on POST cards is other case, port 80 hardcoded to address decoder by hardware, bios can route it to LPC or PCI/PCIe bus. VGA low I/O ranges also can be forced in PCI bridge to passthrough.
May serial card tell bios to enable passthroug at low I/O ranges by declaring some bits in PCI Config space - i dont know.....
So Gelip & Dietmar choose right way, keep card own i/o adresses, but patch kdcom to work with it

#6679

diderius6

⇗ @Gelip
I just bought this card Lindy 51187.
It has Oxford 952 chipset, the same as yours but with a PCI-e connector.
It works on all OS, from DOS to win10.
Soon fun will go on
Dietmar
PS: ⇗ @Mov AX, 0xDEAD
Have you tried your Serial card for Windbg?
⇗

#6680

diderius6

⇗ @Gelip
Via USB boot of Debian 9 and typing after hitting Tab and then Space
console=uart8250,io,0xd010,115200n8
I get this output in micro letters )
Dietmar
⇗
with reboot, Tab and space
console=uart8250,mmio,0xd010,115200n8
output is in normal letters
Probing EDD (edd=off to disable)... ok
and a blinking cursor at the beginning of next line )
Now after reboot , Tab and space
console=uart8250,mmio32,0xd010,115200n8
exact the same message in normal letters
Probing EDD (edd=off to disable)... ok
and a blinking cursor at the beginning of next line )
EDIT: May be, that the 0xd010 address in the last 2 examples has to be changed against the start 32 bit addresses of the mmio.
So I change 0xd010 => 0xdf403000 for mmio and also in mmio32.
But nothing changed, the message with blinking cursor in the end stays the same.

#6681

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #6678

> So Gelip & Dietmar choose right way, keep card own i/o adresses, but patch kdcom to work with it

⇗ @Mov AX, 0xDEAD ...thanks for info. The problem, as I pointed out, with modding kdcom, is that the mod works only for one external card on one buss address. KDcom expects to see a com port at a traditional address for a serial port, hence the 'com' in kdcom. That means any traditional com device accessed early in the boot stage will be where it's expected to be. Why the manufacturer pf the external serial cards is using a different address in not clear.
As I pointed out to Gelip and Dietmar, the external card driver is not loaded when kdcom is first initialized. Furthermore, the system has been booting in real mode to that point. I am sure BIOS is access initially in real mode. They likely arrange the port addresses low enough so they can be accessed in real mode, as they have always been accessed by DOS in the past.
Someone mentioned that the external cards will work on DOS. So, why are they using such strange port addresses for a com port?

#6682 | Skorbin | Hmmm ⇗ @gordo999 , if I remember my old DOS times correctly (ISA bus and such), they used to to set add-on serial cards to different adresses by default to avoid collision with onboard ports. But usually you had the ability to change them back by setting jumpers.

#6683

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #6681

> Someone mentioned that the external cards will work on DOS. So, why are they using such strange port addresses for a com port?

i think to avoid confliction with southbridge and bugged bioses if these bioses dont disable default legacy range routing to southbridge LPC bus

#6684

Gelip

@dierius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6680

> Via USB boot of Debian 9 and typing after hitting Tab and then Space
> console=uart8250,io,0xd010,115200n8

But did you connect a second PC with a nullmodem cable and run Putty serial 115200 at that time ?? You have to check if the data is sent via nullmodem cable from PC Debian to the second PC with Putty on e.g. Windows.
⇗ ⇗ ⇗
You have two port COM on your PCIe Startech card but I just don't know which is which.
One port is: 03:00.0 IO 0xd010 or MMIO df403000 or MMIO df402000
Second port is: 03:00.1 IO 0xd000 or MMIO df401000 or MMIO df400000
During the test, you must have a nullmodem cable connected to the appropriate port.
Connect cable to first port COM and make tests:
console=uart8250,io,0xd010,115200n8
console=uart8250,mmio,0xdf403000,115200n8
console=uart8250,mmio,0xdf402000,115200n8
console=uart8250,mmio32,0xdf403000,115200n8
console=uart8250,mmio32,0xdf402000,115200n8
Connect cable to second port COM and repeat same test.
Make a note of which settings and which COM port data appears in Putty.
P.S. You have the addresses here:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (446)
but the photo is out of focus so I'm not sure.

#6685 | jonathan_hzs | HDMI sound VEN_8086&DEV_280B i7-7700 HD6300 32WINXP have idea?
#6686 | jonathan_hzs | HDAUDIO\FUNC_01&VEN_8086&DEV_280B HDMI sound PCI\VEN_8086&DEV_15B8 LAN adapter (2) I219-v Missing drivers for devices

#6687

diderius6

⇗ @Gelip
I boot compi with the Startech card with Debian 9, hitting tab and space
console=uart8250,io,0xd010,115200n8
On the other compi, connected via Nullmodem cable, where Putty runs under XP SP3 at COM1 then appears black screen with a line
Debian GNU/Linux 9 debian ttyS1
debian login:
Password:
I tried some, gives always
Login incorrect
Dietmar
PS: I know, why I like XP )

#6688

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6687

> I boot compi with the Startech card with Debian 9, hitting tab and space
> console=uart8250,io,0xd010,115200n8

So the card works with I/O 0xd010?
Password: toor

#6689

diderius6

⇗ @Gelip
This appears with Putty on screen from compi with XP SP3 (needs about 30 sec?!) for to react.
Can I check anything from the XP compi via this comand line about the Serial card and Password:toor
Dietmar
debian login: root
Password:
Linux debian 4.9.0-8-686 #1 SMP Debian 4.9.130-2 (2018-10-27) i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@debian:~#

#6690

diderius6

⇗ @Gelip
"mmio" does not work at all.
Compi with debian 9 hangs always at
Probing EDD (edd=off to disable)... ok
(What a crazy message, nothing is ok, I prefer blue screen Bsod^^)
Dietmar

## Page 447

#6691

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6689

> Can I check anything from the XP compi via this comand line about the Serial card and Password:toor

Yes, you can also run Debian locally and remotely simultaneously (monitor and Putty). In cmdline write like this:
console=tty0 console=uart8250,io,0xd010,115200n8
or
console=tty0 console=ttyS1,115200n8
ttyX - local console monitor display
ttySX - remote console serial

#6692

diderius6

⇗ @Gelip
I noticed, that when I disable the internal COM port in Bios on the compi with debian 9 running,
on the remote compi with Putty under XP SP3 changes
ttyS1 => ttyS0
ttyS2 => ttyS1
which means, that now the internal COM port looks like non existant for the Startech PCI-e Serial card
Dietmar

#6693

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6692

> I noticed, that when I disable the internal COM port in Bios on the compi with debian 9 running,
> on the remote compi with Putty under XP SP3 changes
> ttyS1 => ttyS0
> ttyS2 => ttyS1
> which means, that now the internal COM port looks like non existant for the Startech PCI-e Serial card

Yes, In Windows, the serial ports are numbered from 1 and the first available port is COM1
On Linux, serial ports are numbered from 0 and the first available port is ttyS0
If you disable COM in bios or if you move the card to another PCI-e slot, the port numbers, I/O addresses and interrupts IRQ will change but:
Always:
COM1 = ttyS0
COM2 = ttyS1
COM3 = ttyS2
COM4 = ttyS3
etc.

#6694

diderius6

⇗ @infuscomus compiled a real NTLDR_debug.
Waaaooohh;)),
your ntldr_debug works!
For to check this, I renamed boot.ini to booooooooooot.ini .
There is NO /debug switch at all, nowhere.
When I start XP SP3, at once I get message, that ntldr starts a Debug session at COM1 with 115200 baud.
And the via serial cable connected compi, where Windbg runs, starts at once a Windbg session.
Nice.
Now I look, how it is possible to break into Windbg at the earliest possibility.
And then you can check, which drivers are loaded,
should be VERY few
Dietmar
EDIT: Maybe it is possible, to integrate in this NTLDR_debug itself a EBFE endless loop
or CC. This can only work, when this ntldr already started Windbg.

#6695 | infuscomus | ⇗ @diderius6 does it matter where I put the endless loop? or do I just put it in at osloader entrypoint?
#6696 | diderius6 | ⇗ @infuscomus Very late, when all the work of ntldr is done. Only important is, that this place with endless loop EBFE is always reached and that Windbg is already started Dietmar PS: With the Source Code it may be easier to find the point, when all the work is done from ntldr.
#6697 | infuscomus | ⇗ @diderius6 If you can trace ntldr in windbg and find the point where it is done let me know where to add the loop.

#6698

diderius6

⇗ @infuscomus
I succeed to break very early into ntldr.
Then I build a file osloader.exe, using WinHex looking for MZ in your ntldr_debug.
From this alone standing MZ (inclusive) in Hexeditor until the end of ntldr_debug I build osloader.exe because I want to load Symbols. But then Windbg tells, that no Symbols can be found for osloader.exe .
So, we need osloader.pdb , I think it is not the same as a ntldr_debug.pdb
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Boot Debugger Initialized
>     BD: osloader.exe base address 00400000
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Wed Feb 17 16:46:50.171 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     Module List address is NULL - debugger not initialized properly.
>     WARNING: .reload failed, module list may be incomplete
>     KdDebuggerData.KernBase < SystemRangeStart
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00000000 Loaded module list = 0x00000000
>     System Uptime: not available
>     BD: Boot Debugger Initialized
>     BD: osloader.exe base address 00400000
>     Break instruction exception - code 80000003 (first chance)
>     *** WARNING: Unable to verify timestamp for osloader.exe
>     osloader!BlOsLoader+0x4e1:
>     004239ec cc              int     3
>     kd> lm
>     start    end        module name
>     00400000 00500000   osloader M (pdb symbols)          c:\windows\symbols\exe\osloader.pdb
>     kd> !devnode 0 1
>     No export devnode found
>     kd> .readmem C:\osloader.exe 0x400000 L01000
>     Reading 1000 bytes..
>     kd> .imgscan /l /r 00400000
>     MZ at 00400000 - size 85000
>       Name: osloader.EXE
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.EXE -
>       Loaded osloader.EXE module
>     kd> !devnode 0 1
>     No export devnode found

#6699 | infuscomus | ⇗ @diderius6 osloader symbols should be in osloader_dbg.pdb which i sent to you - try renaming to osloader.pdb I'm pretty sure that will work.
#6700 | diderius6 | ⇗ @infuscomus Do you have the Symbols for Win2003 32 bit 3790 free and checked versions Dietmar PS: May be someone here in the forum has.
#6701 | infuscomus | ⇗ @diderius6 I don't think free ntldr will let you debug, only checked version. just the symbols for osloader? or did you want everything? I get them whenever I build from source.
#6702 | infuscomus | ⇗ @diderius6 did renaming osloader_dbg.pdb to osloader.pdb not work?

#6703

diderius6

⇗ @infuscomus
The symbols for osloader.exe work.
But still I get message: debugger not initialized properly.
When I type

    kd>!devnode 0 1

No export devnode found
Before this happens to me, when the Symbols where wrong
Dietmar

#6704

diderius6

⇗ @infuscomus
For sure Windbg works.
Trace shows, that it is even in an early Phase of working NTLDR,
nothing else is loaded, only ntdetect.com.
Cool, via this methode you can also check Bsod 0x7b of a boot device
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Boot Debugger Initialized
>     BD: osloader.exe base address 00400000
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Wed Feb 17 18:17:01.835 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols2
>     Executable search path is: C:\WINDOWS\symbols2
>     Module List address is NULL - debugger not initialized properly.
>     WARNING: .reload failed, module list may be incomplete
>     KdDebuggerData.KernBase < SystemRangeStart
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00000000 Loaded module list = 0x00000000
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     *** WARNING: Unable to verify timestamp for osloader.exe
>     osloader!DbgBreakPoint:
>     004239ec cc              int     3
>     kd> lm
>     start    end        module name
>     00400000 00500000   osloader M (private pdb symbols)  c:\windows\symbols2\osloader.pdb
>     kd> !devnode 0 1
>     No export devnode found
>     kd> .readmem C:\osloader.exe 0x400000 L0x1000
>     Reading 1000 bytes..
>     kd> .imgscan /l /r 00400000
>     MZ at 00400000 - size 85000
>       Name: osloader.EXE
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.EXE -
>       Loaded osloader.EXE module
>     kd> lm
>     start    end        module name
>     00400000 00485000   osloader   (export symbols)       osloader.EXE
>     kd> !sym noisy
>     noisy mode - symbol prompts on
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x20473:
>     004239ed c3              ret
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x2517a:
>     004286f4 c9              leave
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x2517b:
>     004286f5 c20c00          ret     0Ch
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x25b9c:
>     00429116 807dff00        cmp     byte ptr [ebp-1],0
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x25ba0:
>     0042911a 7405            je      osloader!ScsiPortWritePortUchar+0x25ba7 (00429121)
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x25ba2:
>     0042911c e81c40ffff      call    osloader!ScsiPortWritePortUchar+0x19bc3 (0041d13d)
>     kd> p
>     osloader!ScsiPortWritePortUchar+0x25ba7:

#6705 | infuscomus | ⇗ @diderius6 I PMed you a free ntldr build with symbols

## Page 448

#6706 | infuscomus | ⇗ @diderius6 any luck with the free build symbols?

#6707

diderius6

⇗ @infuscomus
In the beginning all seems to work nice.
I can see the very early work of loading ntldr and XP SP3 starts with the ntldr_dbg.
But later it always break in the beginning and then crashes.
So tomorrow I will look what changed
Dietmar

#6708

diderius6

⇗ @infuscomus
I got it work again, in the very beginning of the ntldr_dbg.
You can see this with trace on compi, which is debugged.
No ntoskrnl.exe, no hal.dll is loaded but Windbg started already with work.
But it does not work as good as with normal ntldr and Windbg. It often hangs like in a loop during operating ntldr_dbg.
I think with using Ida Pro and Windbg, you can trace XP in a Virtual machine even when the bootsector is loaded to memory.
But on a real compi the things are other
Dietmar

#6709

gordo999

> Zitat von ⇗ Skorbin im Beitrag ¶ #6682

> if I remember my old DOS times correctly (ISA bus and such), they used to to set add-on serial cards to different adresses by default to avoid collision with onboard ports. But usually you had the ability to change them back by setting jumpers.

⇗ @Skorbin that's right. However, the selectable port addresses were all within the traditional ranges for a serial com ports. I can still do that to a limited extent in the BIOS of my Asus B360M. There was also a major problem with IRQ addresses, which were limited to about 16, with some reserved for the system.
As long as no other device was using a traditional serial/parallel port/IRQ, you could use it. IRQ 5 and 7 were commonly used if you were not running either as an LPT port. That could create major headaches when you tried to install a com port, a parallel port, a mouse...whatever...and something else was using it. If it was a mouse port, the system would freeze.
The problem as I remember was the I/O controller chip, the PIC (Programmable Interrupt Controller) on early IBM-based mobos. They alleviated the problem by introducing a second controller chip which ran off a port on the first chip. The number of IRQ's was still limited and I think that was fixed by the APIC (Advanced Programmable Interrupt Controller).
⇗ https://en.wikipedia.org/wiki/Advanced_P...rupt_Controller

#6710 | infuscomus | ⇗ @diderius6 I will try to build an ntldr using XP SP1 source, maybe that might behave better than this server 2003 one.

#6711

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6698

> I succeed to break very early into ntldr.

⇗ @diderius6 ...just wondering. Can you trace as far as ntoskrnl being loaded. If so, can you trace ntoskrnl code? A weakness I find with windbg is that it will not trace into kernel code. Wonder if you can with a remote k-mode debugging session via com port.
The sysenter command indicates a process leading to kernel code. With each sysenter a number is loaded into EAX/RAX that represents a function to be called. With the softice debugger, I could trace into those kernel calls at sysenter. My experience with windbg on a single computer is that it skips over the sysenter.
People have asked me why I want to trace into kernel code. The reason is simple. There are times when the system (kernel) will call back into a calling processes and if the sysenter part is jumped over, whatever happened during the call back to the calling code is missed.

#6712

Skorbin

> Zitat von ⇗ gordo999 im Beitrag ¶ #6709

> > Zitat von ⇗ Skorbin im Beitrag ¶ #6682

> > if I remember my old DOS times correctly (ISA bus and such), they used to to set add-on serial cards to different adresses by default to avoid collision with onboard ports. But usually you had the ability to change them back by setting jumpers.

> @Skorbin that's right. However, the selectable port addresses were all within the traditional ranges for a serial com ports. I can still do that to a limited extent in the BIOS of my Asus B360M. There was also a major problem with IRQ addresses, which were limited to about 16, with some reserved for the system.
> As long as no other device was using a traditional serial/parallel port/IRQ, you could use it. IRQ 5 and 7 were commonly used if you were not running either as an LPT port. That could create major headaches when you tried to install a com port, a parallel port, a mouse...whatever...and something else was using it. If it was a mouse port, the system would freeze.
> The problem as I remember was the I/O controller chip, the PIC (Programmable Interrupt Controller) on early IBM-based mobos. They alleviated the problem by introducing a second controller chip which ran off a port on the first chip. The number of IRQ's was still limited and I think that was fixed by the APIC (Advanced Programmable Interrupt Controller).
> ⇗ https://en.wikipedia.org/wiki/Advanced_P...rupt_Controller

⇗ @gordo999
If my memory serves right, the com ports were typically IRQ 3 and 4, LPT initially at IRQ 5, but later (with the introduction of soundcards with their demand for IRQ 5 and interrupt sharing not always working as intended) often moved to IRQ 7 (?).

#6713 | infuscomus | ⇗ @diderius6 OK, I built you an ntldr_dbg from XP SP1 source - check your PMs let me know if this behaves correctly now.

#6714

diderius6

⇗ @infuscomus
I make a small joke.
I put only your new NTLDR_dbg and my special ntdetect.com on a 2 Gbyte FAT16 partition.
And voila, Windbg works
Dietmar
⇗
⇗

#6715 | infuscomus | ⇗ @diderius6 cool, can you try to debug my vhal4xp.dll using this setup?

#6716

diderius6

⇗ @infuscomus
I just change at 3 places in your nice NTLDR_dbg
3F8h ---> D010h
And Waaaooh,
my Startech Serial PCI-e card works with Windbg,
COM in Bios disabled, oh so much fun )
Dietmar
EDIT: This at 3 places modded ntldr_dbg build from XP SP1 Sources works also on my Startech Serial PCI-e card
for large NTFS harddisks with 2048 Sectors preceding partition 1 .
https://ufile.io/jdjxz4wq
⇗
⇗

#6717 | infuscomus | ⇗ @diderius6 Finally, the source code proves itself useful for us. I noticed in your first pic your error message is different from mine when I try to load vhal4xp.dll instead I get "load needed DLLs for kernel."

#6718

diderius6

⇗ @infuscomus
With your nice ntldr_dbg Windbg works also for your Vista hal.dll.
I remember my experiments with Vista years ago.
For to find all the needed Dlls, you have to check each file with Dependency Walker,
if there is another dependency on a Vista *.dll, hal.dll, ntoskrnl.exe file.
I found about 20 more *.dll from Vista, that are needed for this Vista hal.dll
Dietmar
PS: You can try also Brutforce methode: Copy ALL *.dlls from Vista into the folder Windows\system32 from XP.
⇗
⇗

#6719 | infuscomus | ⇗ @diderius6 I thought I had resolved all the missing imports in vista hal.dll using dependency walker. I noticed pshed.dll is not listed in the load order, I know vista hal.dll depends on it, is there a way to add pshed.dll to the load order?
#6720 | diderius6 | ⇗ @infuscomus Make try with to copy ALL *.dlls from Vista into folder Windows\system32 of XP and look, what happens. The message of missing DLL for Kernel should be gone Dietmar PS: Hard way, to find all the dependencies. May be you find them WITH all the *.dlls from Vista in the XP folder.

## Page 449

#6721 | infuscomus | ⇗ @diderius6 That would probably break the XP install unrecoverably, I would prefer to avoid that. Does windbg give any info about the cause of "load DLLs for kernel."?

#6722

diderius6

⇗ @infuscomus
No information.
hal.dll is loaded as you can see.
Because ntoskrnl.exe is from XP,
I think, it will be hard to find out, which *.dll from Vista is missed,
so Brute force
Dietmar

#6723 | infuscomus | ⇗ @diderius6 I searched with disassembler in vista hal and managed to find this mcupdate.dll
#6724 | diderius6 | ⇗ @infuscomus As I remember, there are about 20 *.dlls from Vista, that you need more for to fulfill all dependencies Dietmar
#6725 | infuscomus | ⇗ @diderius6 why doesn't dependency walker tell you what the other dependencies are?

#6726

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6716

> I just change at 3 places in your nice NTLDR_dbg 3F8h ---> D010h
> And Waaaooh,my Startech Serial PCI-e card works with Windbg,COM in Bios disabled, oh so much fun )

Please check on this hardware config my kdcom.dll file with the original WinXP SP3 ntldr and other original files. Gelip has attached files to this post

- ⇗ kdcom_COM1_D010.zip

#6727

diderius6

⇗ @infuscomus
For the very first time, that I see, that Dependency Walker did not see all, what is going on,
was with the nvme.sys from OFA.
Kai Schtrom told me, that not all functions and their use are shown by Dependency Walker,
and on this recognicing he rebuild a working nvme.sys from OFA for XP SP3
Dietmar

#6728

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #6727

> @infuscomus
> For the very first time, that I see, that Dependency Walker did not see all, what is going on,
> was with the nvme.sys from OFA.
> Kai Schtrom told me, that not all functions and their use are shown by Dependency Walker,
> and on this recognicing he rebuild a working nvme.sys from OFA for XP SP3
> Dietmar

Well, that's annoying. So what is the proper way to find what is missing?

#6729

diderius6

@infuscoumus
When I understand Kai correct,
he looks for each import and export function and compare, if they are just there or needed
in OFA nvme Source Code and in a lot of versions of storport.sys.
He writes about this search at
⇗ https://sourceforge.net/projects/nvme-fo...Me.txt/download
Dietmar

#6730

diderius6

⇗ @Gelip
I use the same hardware, all the same as for the ntldr_dbg.
I only change original kdcom.dll against yours and change entry in boot.ini for debug.
But Windbg does not start for the Startech card PCI-e serial. I check all, that the com port on the card is the same,
that COM is disabled in Bios, does not help
Dietmar
EDIT:And in a last step I change on this configuration only ntldr ---> modded ntldr_dbg
and at once Windbg starts on reboot.

#6731

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6730

> does not help
> Dietmar
> EDIT:And in a last step I change on this configuration only ntldr ---> modded ntldr_dbg
> and at once Windbg starts on reboot.

Very strange - I tested on WinXP SP2 32-bit and SP2 64-bit and works.
Maybe there is something different on WinXP SP3???
Yes, NTLDR file in SP2 is other than in SP3 - maybe this is problem?
I test ntldr SP3 in WinXP SP2 and works.

#6732 | diderius6 | ⇗ @Gelip I test ntldr SP1, SP2, SP3 not works Dietmar
#6733 | Gelip | ⇗ @diderius6 I am installing fresh WinXP SP3 and checking it - maybe other files differents?
#6734 | diderius6 | ⇗ @Gelip I also modd ntldr from XP SP1 on the same 3 places, where I modd the XP SP1 ntldr_dbg also not works Dietmar
#6735 | Gelip | ⇗ @diderius6 Where did you copy the modified kdcom.dll file?

## Page 450

#6736

diderius6

⇗ @Gelip
I copy the modified kdcom.dll file to Windows\system32 of XP SP3.
Then I disconnect USB box and reconnect it, looking if the your modded kdcom.dll is still there.
Because I notice, that via USB file transaction ALWAYS some mistakes can happen.
By the way, first I noticed this crazy bad behavior of USB on the Raspberry Pi.
This never happens on IDE or Sata connetion.
I just notice, that the ntldr_dbg XP SP1 has some extra scsiport routines integrated.
They are missed complete in XP SP1 ntldr
Dietmar

#6737 | Gelip | ⇗ @diderius6 I tested my kdcom.dll mod on WinXP SP3 and working same as on SP2 or 64-bit This means that it does not depend on the WinXP version.
#6738 | diderius6 | ⇗ @Gelip Yes, it depends on the PCI-e Serial Slotcard. Just arrives my new PCI-e Slotcard and I will report you soon Dietmar

#6739

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6738

> Yes, it depends on the PCI-e Serial Slotcard.
> Just arrives my new PCI-e Slotcard and I will report you soon

Thanks. I also ordered a serial port on a PCIe card and an ExpressCard to PCIe EXP GDC adapter and will also test.

#6740

diderius6

⇗ @Gelip
It has the same addressed 0xD010 and 0xD00 and Oxfordshipset and no MMiO.
Does not work with modded kdcom.dll
works with modded ntldr_dbg
Dietmar
⇗

#6741 | Gelip | ⇗ @diderius6 Are you 100% sure that you are replacing the kdcom.dll file - you cannot do it normally in a running WinXP because SFC will work and restore the original file. What is USB box ??????? I change files in WinXP Live.

#6742

diderius6

⇗ @Gelip
USB box is from ICY, very nice, you can put your harddisk or SSD in
and change all, that you want via other XP.
I am to 100% sure, that I did everything right (not so often you can say this in your life;) )
Dietmar
⇗

#6743

diderius6

⇗ @Gelip
I modded 03F8 ---> D010 for COM1
in XP SP3
at all places in
ntdetect.com
ntldr
hal.dll
ntkrnlpa.exe
kdcom.dll
and double check all this files before and after modd.
XP SP3 still boots with those modded files, but no starting Windbg.
In hal.dll I also found, that maybe for simulating full COM1 IRQ has to be 4, but this is hard to find at all the right places
Dietmar

#6744

gordo999

> Zitat von ⇗ Skorbin im Beitrag ¶ #6712

> If my memory serves right, the com ports were typically IRQ 3 and 4, LPT initially at IRQ 5, but later (with the introduction of soundcards with their demand for IRQ 5 and interrupt sharing not always working as intended) often moved to IRQ 7 (?).

⇗ @Skorbin ....that's the way I remember it.

#6745 | infuscomus | ⇗ @diderius6 can you try softice with ntldr_dbg to see if that debugger will let you debug hal.dll?

#6746

diderius6

⇗ @infuscomus
In the afternoon today I can try.
When for example you delete kdcom.dll,
you get the same message about missing dll for Kernel. So it is not direct a problem of hal.dll.
So you can find out, which dll it is
Dietmar

#6747 | infuscomus | ⇗ @diderius6 any luck debugging the HAL using softice?
#6748 | diderius6 | ⇗ @infuscomus Do you know, how to get a full version of Softice, that works under XP SP3 Dietmar
#6749 | infuscomus | ⇗ @diderius6 I thought that since SoftICE was old and not maintained it would be easy to find, but I'm having trouble finding a copy. edit: i think i found it on archive.org ⇗ https://archive.org/search.php?query=softice%20debugger

#6750

diderius6

⇗ @infuscomus
I get a version SIEX4322.EXE from 17 November 2006, which should work under XP SP2.
This is the official "last" version.
But compi with XP SP3 crashes after reboot.
Also I read, that there is a patch for this version of softice for to work also under XP SP3,
until now I dont find
Dietmar

## Page 451

#6751 | infuscomus | ⇗ @diderius6 does the softice uploaded to archive.org work on SP3?
#6752 | diderius6 | ⇗ @infuscomus I dont know, how to find softice at archive.org Dietmar
#6753 | infuscomus | ⇗ @diderius6 This one - ⇗ https://archive.org/details/soft-ice-v-4.2.7-rc-1-for-xp
#6754 | diderius6 | ⇗ @infuscomus I think, that it is only a guide for Softice. And how to unpack *.jp2 files(?!) Dietmar
#6755 | infuscomus | ⇗ @diderius6 In the RAR file on the right of the page there is an EXE inside

#6756

XPLives

⇗ @Skorbin, ⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #6744

> > Zitat von ⇗ Skorbin im Beitrag ¶ #6712

> > If my memory serves right, the com ports were typically IRQ 3 and 4, LPT initially at IRQ 5, but later (with the introduction of soundcards with their demand for IRQ 5 and interrupt sharing not always working as intended) often moved to IRQ 7 (?).

> ⇗ @Skorbin ....that's the way I remember it.

Actually LPT1 was for Printer Ports using IRQ7 not IR5 as the default. The original Sound Cards ISA using by Creative Labs Sound Blaster was set at IRQ7 which potentially conflicted with a Printer Port. However when gaming back then using your sound card it was rare to be able to Print at the same time in DOS so such a conflict did not actually occur since multitasking was not big in DOS. Windows 3.1 probably could have issues if you were to print a Word Document while playing music or sound in the background simultaneously. I can see at that point a potential issue could occur if both devices were sharing IRQ7. Strangely enough IRQ5 was used for LPT2 but it was doubtful people had two printers hooked up to their PC back in the day so this was very rare.
It was because of this issue the later Sound Blaster Pros began to shift to IRQ 5 from the original IRQ 7. Not the other way around as you stated from IRQ5 to IRQ7. In the end the IRQ7 restoration of LPT1 is often missed if you had not been there in the early days. I still prefer my ISA sound cards set on IRQ7 for max compatibility.
For Serial Com Port 1 and 2. Typically with an I/O ISA expansion card included 2 Serial Ports though some could have up to 4 Serial Ports with some header to expansion bracket.
Serial Com Port 1 was mainly used for a serial mouse. Com Port 2, 3, and 4 were used for Analog Modems.
Back then Serial Com Port 1 used IRQ 4. Serial Com Port 2 used IRQ 3 and usually people connected a dial up modem on this.
If people used Serial Com Port 3 it would share with IRQ4. Serial Com Port 4 would share with IRQ3.
However, I never recalled ever using two serial mice or two serial modems in the same PC back in the day to see what would happen if this conflict could be fatal hanging both devices or not.
[Typical max out setup for a PC 386/486]
Serial Com Port 1 - IRQ 4 - Serial Mouse
Serial Com Port 2 - IRQ 3 - 14,400 Baud External Modem - Used for the old internet days on the telephone line
Sound Card - Sound Blaster ISA - IRQ7
Printer - IRQ5 if using the sound card above
If using Sound Blaster Pro then
Sound Card - Sound Blaster Pro ISA - IRQ5
Printer - IRQ7
However many sound programs targeted IRQ7 as the default IRQ so did not work correctly as a result of the later IRQ5 switching.
Probably could be patched in code to change IRQ.
Many newer sound programs allowed flexibility of IRQ and Address choosing using a setup or install program.

#6757

XPLives

⇗ @diderius6, ⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #6638

> > Zitat von ⇗ diderius6 im Beitrag ¶ #6623

> > I have to rename Himem.sys, because it tests and tests and tests extended memory (32 GByte:)) ).

> ⇗ @diderius6 ...himemsys is a driver to see memory above the DOS 1 meg limit, but just above it. It cannot see 32 Gigs. Furthermore, DOS is a 16 bit OS that cannot address memory beyond 1 Mb. You can use extended memory, which has a base in the DOS memory range between 640K to 1024K, but that requires an external card and a lot of headaches. Even at that, it could never see the gigabyte addresses of today's OSs.
> You'd need DOS 7 to do that, which is the DOS built into modern systems and used in the CMD window.

You can see up to the 4GB boundary in DOS. Anything above it DOS does not see directly. You can make 2GB Ramdrive which is useful.
R. Loew made a Ramdrive for using memory above 4GB range to 32GB and probably to 2TB. However, for whatever reason I cannot get his to work properly on my systems.
Renaming himem.sys as you said or trying /TESTMEM:OFF method.
Modifying MSDOS.SYS you could set default to Command Prompt safe mode to bypass loading CONFIG.SYS or use custom MENU method if you need to load specific drivers for different situations.

#6758

XPLives

⇗ @diderius6, @gelip, ⇗ @gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6637

> ⇗ @gordo999
> I hacked also ntdetect.com, changing COM1 port there from 03F8h => D000h
> Crazy, XP boots with this 3 hacked files,
> but still none of the crazy Serial PCI-E slot cards will work for Windbg
> Dietmar
> ⇗ https://ufile.io/s4u98ipl

Dietmar, here's a crazy idea to try and patch to work for XP. Can you replace using LPT1 address to debug XP instead? Can transfer more information than serial so would have advantages.
A lot of motherboards have parallel port header on board. But also PCIe Parallel Port card also exists some with 2 LPT ports. Then can use Serial Port Com1 for hooking up Serial Mouse if motherboard cannot use USB to control mouse.
XPLives

#6759 | diderius6 | ⇗ @infuscomus I succeed to install this version of Softice in XP SP3. But when I start it, I see for a second a screen like in Dos mode and then shuts down Dietmar
#6760 | infuscomus | ⇗ @diderius6 I guess it is not the right version for XP? but then why did they write that it was for XP?
#6761 | diderius6 | ⇗ @infuscomus The last original version od Softice crashes under XP SP3. This not. Also seems the IDE much more comfortable than on the Softice versions that I know from years ago. Maybe, it is just of not correct connection. I try, Dietmar

#6762

diderius6

⇗ @infuscomus
This version seems not to work under XP SP3.
The NTICE.bat with content
net start ntice
does not work
Dietmar
EDIT:
May be it has nothing to do with XP SP3 but just gets no connection to a server from softice,
because this company does not exist any more.
Edit2: No, the file NTice.sys crashes XP SP3

#6763 | infuscomus | ⇗ @diderius6 I just noticed, there is a windbg.cpp in the source.
#6764 | infuscomus | ⇗ @diderius6 I sent you a windbg built from source - in your PMs. let me know if this lets you debug the HAL

#6765

diderius6

⇗ @infuscomus
This compiled windbg works,
but it is just windbg.exe vers 6.1.
The windbg I run is 6.12 or the version 6.3.9600.17200 x86 from ⇗ @Mov AX, 0xDEAD from Win8.1.
So, this will not help, is an interesting discovery,
Dietmar

## Page 452

#6766 | infuscomus | ⇗ @diderius6 I was thinking it might have been a special internal Microsoft version, but if there is nothing special about it then nevermind.

#6767

diderius6

⇗ @infuscomus
I found this about softice:
"windows update KB885835 (12/14/2004) has changed ntoskrnl.exe to version 5.1.2600.1605(xpsp2.040919-1003) and softice could not hook function MICopyOnWrite, it went to loop EBFE, windows was locked"
So, may be it is possible to run XP SP3 with an old ntoskrnl.exe and Hal.dll from XP SP2, or just to repair the function above
Dietmar
PS: I have NTice.sys version 3.2.1.2560 . This should work with XP SP2.
Is there any newer or modded ntice.sys?
EDIT: Softice seems to run only on a one CPU compi, so may be /onecpu in boot.ini helps.
Output folder: C:\Programme\SoftICE
Created uninstaller: C:\Programme\SoftICE\Uninstall.exe
Installed: Install Soft-ICE v4.3.21...
Installed: Install symbols for WinXP SP2 (5.1.2600.2180)...
Installed: Shortcuts in Start Menu...

#6768

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #6745

> can you try softice with ntldr_dbg to see if that debugger will let you debug hal.dll?

⇗ @infuscomus ...if you can get it running on XP without a VM. That's my next project if I can ever get past my current commitments.
Softice has a video driver problem with more modern systems. It has a universal driver which has worked in the past with simpler systems but it won't run on drivers from Nvidia, etc. Can't recall how soon you can begin debugging but I do recall that the Driver Studio package, which includes softice, acts almost like the F6 key when loading driver during a Windows install. A window pops up before Windows loads and offers some options.
One reason softice was so successful was its ability to load Windows on top of its drivers. I'm thinking it must have hooked ntoskrnl very early. Driver Studio has provisions for debugging drivers so it must have some functionality early in the boot stage.

#6769

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6759

> I succeed to install this version of Softice in XP SP3.
> But when I start it, I see for a second a screen like in Dos mode and then shuts down
> Dietmar

⇗ @diderius6 ...Try Ctrl-D to see if the screen returns. Softice uses a DOS-type window. If it doesn't return it's likely a video driver problem.

#6770

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #6760

> I guess it is not the right version for XP? but then why did they write that it was for XP?

⇗ @infuscomus ...XP only works on XP x86. I had it running well on SP3 on an older system and on a VM. In fact, it still works for me on a VM running XP x86.
The best version is the Driver Studio version. It can be tough to setup but well worth it for x86 apps if you can get it running. Steep learning curve but it will go through any kernel code. I was working on a DX app and the mouse cursor you see on a DX screen is not the Windows mouse cursor, therefore it won't respond to any normal BP. Neither do the DX windows belong to Windows. I managed to set a BP on the Windows mouse driver then trace through system code and into the DX code. I have not encountered any other debugger that can do that.

#6771

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6767

> I found this about softice:
> "windows update KB885835 (12/14/2004) has changed ntoskrnl.exe to version 5.1.2600.1605(xpsp2.040919-1003) and softice could not hook function MICopyOnWrite, it went to loop EBFE, windows was locked"

⇗ @diderius6 ...that's old. The MICopyOnWrite error was always logged on the softice start screen but it did not prevent SI from working. The company who created SI, NuMega, were always updating a file in SI that dealt with changes in the Windows kernel.
If NuMega could do it, I am theorizing that anyone could mod that file to update it to newer versions of XP SP3. I would like to see the video driver issue solved and see SI ported to 64 bit. I think the name of the file was OSInfo.dat, or something like that. The most recent version of Driver Studio also had the most recent versions of that file and that was well past 2004.

#6772

gordo999

> Zitat von ⇗ XPLives im Beitrag ¶ #6756

> Back then Serial Com Port 1 used IRQ 4. Serial Com Port 2 used IRQ 3 and usually people connected a dial up modem on this.

⇗ @XPLives ...recall Zmodem well, after struggling through long BBS downloads with Xmodem.

#6773 | diderius6 | Hi, is there a tool, which works under DOS, with which you can build a serial connection on COM port and where you can set the address of the COM port to 0xD010 Dietmar
#6774 | infuscomus | ⇗ @diderius6 I'm not sure any DOS terminal will let you set the COM port to 0xD010 I think you would need to write your own DOS program to do this.

#6775

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6773

> is there a tool, which works under DOS,
> with which you can build a serial connection on COM port
> and where you can set the address of the COM port to 0xD010

Try change serial port I/O with debug.exe at the address 40:0 in MS-DOS 6.22 and maybe use FileMaven 3.5a to test if work:
⇗ Testing ports COM & LPT
⇗
P.S. I also found this: ⇗ INPOUT32/X64 Works with SOME PCI cards
⇗ Using DEBUG to Create Program to Swap LPT Ports
To change 03F8 to D010 COM1:
⇗
⇗ 22.1 The 8250 Serial Communications Chip

#6776 | Gelip | ⇗ @diderius6 It works with my ExpressCard with serial port Host or guest mode FileMaven3 even when the integrated motherboard COM (AMT SOL) port is enabled in the BIOS but the first connection must be when the host computer in FileMaven must be the second computer baudrate 19200 (not the one where we set the port in debug.exe)

#6777

diderius6

⇗ @Gelip
This are nice news;))!!
What is the name of your Serial card,
thanks for help a lot
Dietmar
PS: Can you use your original kdcom.dll from XP SP3 now for debugging?

#6778

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #6777

> What is the name of your Serial card,
> thanks for help a lot
> Dietmar
> PS: Can you use your original kdcom.dll from XP SP3 now for debugging?

My ExpressCard is: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (443)
Yes, (tested WinXP SP2 64-bit) if set I/O in MS-DOS then work with original kdcom.dll
but the computer cannot be restarted. After changing the I/O in MS-DOS, you have to boot GRUB4DOS (grub.exe) and boot WinXP from it.
How to do it:
WinDbg PC:

- run WinDbg on your port serial at 19200

Debugging PC:

- we have the original WinXP system installed on the disk
- if have integrated motherboard COM the use COM2 to debug
- set debug in boot.ini to COM2 baudrate 19200
- reboot PC to MS-DOS 6.22 e.g. from USB stick
- set COM2 to I/O addres your PCIe port COM e.g. my is 0x4000 (little endian 0040)
  debug.exe
  -e 40:2 00 40
  -q
  grub.exe
  map (hd0) (hd1)
  map (hd1) (hd0)
  map --hook
  find --set-root /ntldr
  chainloader /ntldr
  boot

⇗
or disable integrated motherboard port COM and set COM1 in boot.ini and MS-DOS for debug:

- debug.exe
  -e 40:0 00 40

COM1 -> 40:0
COM2 -> 40:2
UPDATE
=====
It also works when the AMT SOL serial port is enabled in the BIOS - probably because SOL has a different I/O 0x50B0 than the one set in MS-DOS 0x4000
debug.exe
-e 40:0 00 40
⇗

#6779 | diderius6 | ⇗ @Gelip Can you please send to me your installation with GRUB4DOS? Dietmar

#6780

diderius6

I do not succeed to get Softice to work with XP SP2.
Without the graphiccard, Softice test for video tells me,
that the test is not successfull,
but when I start Softice, I can see for a short moment some colored lines on the screen.
When I install the Nvida driver for the 980 GTX (with some problems in XP SP2 but get it to work),
the video test from Softice tells, that all is ok,
but when I start Softice, it just hangs in a black window with white cursor. The videocard GT 730 shows same behavior.
I disabled in Bios Hyperthreading, set numbers of CPU=1 and use the ntoskrnl.exe without PAE support.
The switch in boot.ini /NOPAE not works
Dietmar
PS: When I hit direct CTRL D after start of softice, behavior is the same, no error message. With PAE I get there error 31.

## Page 453

#6781

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6779

> Can you please send to me your installation with GRUB4DOS?

Just copy the DEBUG.EXE file to the USB stick created from my msdos.img file and boot WinXP PC from this USB stick Gelip has attached files to this post

- ⇗ DEBUG_MSDOS622.zip

#6782 | diderius6 | With the X1300 graphic card I get Softice version 4.3.21 to run on XP SP2, but still no grafik output, the video test from Softice tells me, that no DirectDraw on this card Dietmar ⇗
#6783 | infuscomus | ⇗ @diderius6 maybe, try a reinstall of directx?

#6784

onuracengiz

⇗ DirectX End-User Runtimes (June 2010)
⇗ DirectX 3.0, 5.2, 6.1, 7.0, 8.0, 8.1, and 8.2
⇗ ATI Radeon X1xxx Series Drivers & Support
⇗ sguide_tweak_2k_pppoe.zip Generic patch for Windows XP/2000 and DSL connections using PPPoE. This patch will optimize your TCP/IP Registry settings for high speed Internet connections. It is specifically designed for PPPoE DSL connections. To install, extract the .inf file first, then double-click (or right-click on filename and choose install from the pull-down menu) and reboot for changes to take effect
⇗ winxp_dnscache.zip Patch Windows 2k/XP not to cache failed DNS entries. By default, when a DNS lookup fails (due to temporary DNS problems), Windows still caches the unsuccessful DNS query, and in turn fails to connect to a host regardless of the fact that the DNS server might be able to handle your lookup seconds later. This patch fixes the problem by configuring the DNS client to continue sending queries to an unresponsive network. To install, save to your HD, unzip the .reg file, then double-click the filename
⇗ sg_webtweak_2k.zip Patch increases Web page loading speed, by doubling the number of possible concurrent open connections. For example, imagine a web page has 20 images and some text - in order for your browser to get all these files, it opens 2 or 4 concurrent connections, depending on the Web server. Increasing the number of open connections allows for faster retrieving of the data. Please note that the patch sets some values outside of the HTML specs. If you decide to install it, backup your Registry first. Changes will take effect after you reboot

#6785

diderius6

⇗ @onuracengiz ⇗ @infuscomus
Thanks for the driver, I installed all new.
But this card X1300 really seems to have no DirectDraw
Dietmar
PS: I have no other PCI-e videocard, that I can test. So it seems, that Softice fails to me because of the videocard.
May be here in the forum is somebody, who knows, which video card works for the last versions of Softice.
EDIT: Strange, on XP SP3 ist DirectDraw activated with the same card X1300 but on XP SP2 not.

#6786

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6785

> But this card X1300 really seems to have no DirectDraw

Softice Serial & Troubleshooting.txt from SoftICE 4.05:

> Zitat

> 3) Some cards do not support the direct draw system. The correct
> settings
> for these in SoftICE Video (in the SoftICE Display Adapter Setup) are
> Standard Vga with Universal Video Driver box NOT checked.

#6787 | diderius6 | ⇗ @Gelip Thanks, but does not help. Now I give up on a first with Softice and try your GRUB4DOS on a fresh installed XP SP3 Dietmar
#6788 | infuscomus | ⇗ @diderius6 Try a GT710, they're abundant and cheap.
#6789 | diderius6 | ⇗ @infuscomus I tried a GT730, Softice video test tells, that all is ok, but isnt Dietmar

#6790

onuracengiz

Can you add a screenshot from your dxdiag panels
DirectX, and its 2D component DirectDraw, should be enabled by default on most Windows XP computers. If you have reason to believe it is turned off on your computer, open the "Run" dialogue and type "dxdiag." Click the "Display" tab and ensure "DirectX" and "DirectDraw" are both turned on. If not, click their checkboxes to turn them on
⇗ Microsoft DirectX Control Panel 9.0c (use this if you are having trouble with the original)

#6791 | diderius6 | Yesssaaa;)) with your help I get it SoftICE ver.4.3.21 on XP SP3 Dietmar ⇗
#6792 | onuracengiz | Go nuts :)
#6793 | infuscomus | ⇗ @diderius6 nice! do you think you can debug the HAL using this?
#6794 | diderius6 | ⇗ @infuscomus May be. Until now, it is just crazy for me, that it works on XP SP3 Dietmar

#6795

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6791

> SoftICE ver.4.3.21 on [b]XP SP3/b]

Cool
P.S. Don't use the camera (or smartfon) to take a WinXP screenshot. Just:

- press Print Screen key on keyboard (PrtScr) to make full screenshot
- press Alt+PrtScr to make only active window screenshot
- open MS Paint, paste clipboard and save file as .PNG format

P.S. If WinXP is set to debug (boot.ini) and WinDbg is running on the other PC then pressing the PrtScr button will cause Break and OS stop responding (need go 'g' to run WinXP on WinDbg) - so it's best to use IrfanView -> Options -> Capture/ScreenShot...

## Page 454

#6796 | onuracengiz | ⇗ FastStone Image Viewer (was my favorite) ⇗ IrfanView ⇗ XnView

#6797

diderius6

⇗ @Gelip
All (4, all different) of my Serial PCI-e Slot cards show via debug
0040:0000 00 00 00 00 00 00 00 00
Now it looks like a small wonder, that the modded NTLDR_dbg can work with this
Dietmar
PS: With the onboard enabled COM port debug shows
0040:0000 F8 03 00 00 00 00 00 00

#6798

diderius6

⇗ @Gelip
But now fun is going on;)..
I type debug in USB boot MS-DOS6.22 and then
-e 40:0 10 D0
q
And I download the MS-DOS program Kermit, which I put also on the nice USB stick.
And after typing Kermit in commandline
I type Output otto
Before I open putty on the other serial connected compi with a Baudrate of 9600
and this is the result,
which means, that I just help MS-DOS a little to find its Serial adress and that this card indeed works under MS-DOS.
Now I make a try to change the adress of the Startech PCI-e Serial Slotcard to adress 03 F8
and look, if I can start with normal kdcom.dll Windbg
Dietmar
EDIT:Ok, I cant change port to 03F8. Kermit via test COM1 tells me now, not an 8250 UART at this COM port.
So I still need for Windbg D010 modded kdcom.dll .
EDIT2: Even with for address D010 modded kdcom.dll Windbg does not start from the Startech PCI-e slotcard
via grub from DOS.
EDIT3: When I look with debug from the via grub so booted XP I see, that the com1 port is set back to 03 F8.
EDIT4: It seems not possible, to redirect COM1 port from address 03F8 ---> D010 or vice versa(!) under XP SP3.
⇗

#6799

Gelip

⇗ @diderius6
Must be 19200 baudrate in boot.ini and in MS-DOS
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (453)
19200 is max baudrate for MS-DOS
Everything works for me and I have two ways to make WinDbg work:

- modded kdcom.dll and 115200 baud in boot.ini

or

- MS-DOS set I/O and only 19200 in boot.ini with original kdcom.dll

#6800 | infuscomus | ⇗ @diderius6 you know how my patched vista acpi.sys mostly gives a 7B BSOD but also sometimes works? can you try to debug that?

#6801

diderius6

⇗ @infuscomus
I think, that the acpi.sys from Vista works sometimes,
because not all (mostly all survives is ram?!) is gone in memory after reboot.
The original acpi.sys from Vista looks for the acpi tables at a wrong place.
Your modded acpi.sys looks at the right place, but the tables are just not loaded up there.
When now in memory the tables still stay, modded acpi.sys from Vista fetch this tables from before boot,
reads and start.
I think, it is nearly impossible to debug this.
You get Bsod, because the tables are not found.
XP starts normal, when the tables are found,
just crazy
Dietmar

#6802

diderius6

⇗ @Gelip
Today I make a new try.
I put only the files from XP SP3 on the harddisk, that are needed, so that Windbg still starts with the onboard COM1 port.
Then I disable step by step the address 03F8 until Windbg stops to start.
It is vice versa than doing before
Dietmar
PS: There must be a driver, which overwrites in memory the D010 address, build via DOS in memory.
I do not think, that it is Bios, because with disabled COM port in Bios Windbg does not start and Debian 9 use with disabled COM1 port in Bios for the COM port on the slotcard COM1.

#6803

Gelip

⇗ @diderius6
I don't understand what you want to test - onboard serial port or ports on PCIe card? - decide what you want to test I thought you only want to test serial ports on a PCIe card. Why are you turning on the integrated port in the bios again ????
By the way, does WinDbg work on the built-in serial port of the motherboard?

#6804 | diderius6 | ⇗ @Gelip Windbg works with the inbuild COM port. When you do not reach your aim on a normal way, you just can try something crazy other Dietmar

#6805

Andalu

I tried to make a fresh XP installation on a Comet Lake board (GA-H470-HD3) but I got a 7B bsod (0xF7AFC524,0xC034,0x00,0x00).
It seems to be related to the acpi.sys version used. This bsod is bypassed with the acpi2013.sys (SHA-1 726C3B83599A20A2C15CF1FDAAD4F81469A6ED99)
but even in this case I got an error (never seen before) on the text-mode: "Setup cannot copy the file: setupwst.exe".
Skipping this file the text-mode ends normally but the following GUI-mode doesn't start.
Until now to prepare the USB flash I always used the Yumi tool (much faster than others) but for this H470 system it doesn't work: I got a blank screen just after the memory loading and before to enter in the first step of the XP setup. The same happens with RMPrepUSB.
WinSetupFromUSB 1.9 seems to work better but with it I got the error above about the setupwst.exe file.
XP works on my H470 board only by using a disk drive from another XP system (in this case even with the acpi6666 from outer space).
A strange thing: the bios version (F3) installed on my board is not listed on the official gigabyte webpage, maybe it is a buggy version?

#6806

diderius6

⇗ @Andalu
On my EVGA Dark Z390 (XP friendly Bios) board also no USB install at all works.
And even with CD install and normal harddisk I got always Bsod 0x7B.
I can install XP via CD only, because there is an Asmedia 106 Sata Slot on this board.
The same I hear about the EVGA Dark z490 on
⇗ https://community.hwbot.org/
even they try a lot to optimize USB install via Firadisk
Dietmar
PS: You can try an install to USB harddisk or nvme. With the XP from zone94.com it is possible.

#6807 | infuscomus | ⇗ @diderius6 I thought I recalled you saying it was possible to diagnose a 7B BSOD using the ntldr_dbg version I sent you, so I thought it might be possible to find out why my modded vista acpi.sys gives this BSOD. If I was mistaken and that is not what you said, I'm sorry.

#6808

diderius6

⇗ @infuscomus
With hard work it may be possible to find out a little bit more, what happens.
With my tests before with Windbg I know, it happens because of the not found acpi tables
Dietmar
PS: Windbg works much less stable with the ntldr_dbg.
So for example it is not always possible to trace a driver,
because it hangs in an endless loop.

#6809

Andalu

⇗ @diderius6
You're giving me a bad news I was hoping to install XP without troubles even in that system.
I've never tried installing XP on a USB HD or nvme, I can also attempt but I wouldn't know where to start after selecting the related option in the Patch Integrator.
P.S.: another strange thingh about the XP ISO installation on my H470 system: the usb boot from a nvme to usb3 enclosure (with a M.2 sata drive) doesn't work
while I never had issue on the Q370 system.

#6810

diderius6

⇗ @Andalu
I know for sure, that USB install with the nice USB driver from ⇗ @Mov AX, 0xDEAD
works with the XP SP3 from zone94.com
SP3 x86 - Integral Edition 2020.5.5 (Vanilla).iso
WinXP-IE Optional Patch Integrator v2.3.3b14.cmd
Customized Option 1,2,3,4,5,D,S,U,L
Dietmar

## Page 455

#6811 | onuracengiz | generally speaking server 2003 is more stable then xp,instead of vista's use 2003's.or even better Xplives's modified ones ⇗ Modded ACPI Drivers Depot 2000 XP 2003 2009

#6812

diderius6

Here is the minimal list for XP SP3 on a NTFS partition with the iastor driver from fernando
so that serial debug via COM works for Windbg:
In folder C:\
ntldr
ntdetect.com
boot.ini
In C:\WINDOWS
folder
AppPatch with drvmain.sdb in it
folder
Fonts with vga850.fon in it
folder system32 with in it
bootvid.dll
c_850.nls
c_1252.nls
kdcom.dll
l_intl.nls
ntkrnlpa.exe
HAL.DLL
C:\WINDOWS\system32\config
with system in it
and
C:\WINDOWS\system32\drivers
with
acpi.sys
disk.sys
iaStor.sys
isapnp.sys
ksecdd.sys
mountmgr.sys
mssmbios.sys
ntfs.sys
partmgr.sys
pci.sys
pciidex.sys
videoprt.sys
So, away from Bios, there has to be changed address for COM1 port from 03F8 --->D010
for the Startech Serial PCI-e slot card, which works under DOS but DOS did not find their address D010
Dietmar
PS: In DSDT all serial COM ports are listed, for example 0x03F8.

#6813 | Andalu | ⇗ @diderius6 XP ISO successfully installed from a USB stick on my Comet Lake H470 system with Easy2Boot: ⇗ But it was not easy at all: Easy2Boot only worked correctly twice out of 15 attempts: most of the time the system reboots automatically or Easy2Boot freezes on its first screens. So far I haven't been able to figure out the reason for this malfunctioning, really annoying. Another mandatory requirement for Easy2Boot is an external graphics card: the XP installation doesn't work at all with the internal cpu graphics.

#6814

diderius6

Hi,
I look at the Source code for XP SP1,
what is different in the normal ntldr compared with the ntldr_dbg.
The problem in the normal ntldr is, that the address for COM1 0xD010 is not transfered
to ntoskrnl.exe when using a PCI-e Serial slotcard.
But using the ntldr_dbg this address is transfered.
So, there is a chance without modding DSDT in Bios, to make an ntldr,
that transfers the address of COM1 to ntoskrnl.exe but still uses after kdcom.dll
Dietmar
PS: I noticed an interesting thing with the ntldr_dbg.
It seems to crash, when first part of load from XP is done.
May be, like in USB, that then the slotcard looses contact with the COM1 port at 0xD010
and so crashes.

#6815 | Brooons | After installation of any driver USB disappears hibernate. Why?
#6816 | diderius6 | ⇗ @Brooons This seems to be a problem of all USB drivers under XP. The same happens for the pagefile, when you do USB boot. I do not know, if this problem is solved in the nice win8 USB driver from ⇗ @Mov AX, 0xDEAD Dietmar

#6817

Brooons

> Zitat

> USB driver from @Mov AX, 0xDEAD
> Dietmaк

Where I can see this driver, please.

#6818

Gelip

⇗ @diderius6
I received a PCIe card with a serial port I ordered - ⇗ Sunrich I-350 PCI-E 1S Serial:
⇗
I tested the card in a desktop PC in the PCIe x1 slot and in a laptop with EXP GDC 8.5c ExpressCard external graphics adapter.
Unfortunately this card doesn't use I/O addresses but MMIOs so I can't use it with WinDbg. However, it works very well in the early stages of Linux bootup:
cmdline:
desktop PC: console=uart8250,mmio,0xf7c01000,115200n8
laptop PC: console=uart8250,mmio,0xf0801000,115200n8

#6819 | diderius6 | ⇗ @Brooons Dietmar ⇗ https://forums.mydigitallife.net/threads...hardware.81607/

#6820

diderius6

This is a step in the right direction.
I hack this hacked;) ntldr to work with my Startech card,
now the bootfiles can be debugged careful.
Only disadvantage of this ntldr is,
that it shuts down after first step of XP SP3 load but XP starts to desktop
Dietmar
PS: For the very first time I can debug the whole boot process of XP SP3
without any error message or crazy loops.
⇗ https://ufile.io/zsfm8mqi
⇗

#6821 | infuscomus | ⇗ @diderius6 even the HAL?

#6822

diderius6

⇗ @infuscomus
Just send me, what you want to test.
I got soso many files,
that I do not know which where the last and which should work together
Dietmar
PS: Crazy job. After building minimal XP SP3 for debugging I tested 41 different ntldr.
Found this one and modd it, works.

#6823 | infuscomus | ⇗ @diderius6 can you try and debug vhal4xp.dll (the most recent one I sent you without missing imports) do you need me to send it again?
#6824 | diderius6 | ⇗ @infuscomus Which files have to stay together with vhal4xp.dll ? Can it work together with the checked files from XP SP3? Dietmar
#6825 | infuscomus | ⇗ @diderius6 vhal4xp.dll depends on my ntoskrn8.sys (you should still have this right?) kdcom.dll and pshed.dll - put all of these in windows\system32 I think it should work with checked XP SP3, but just doubled check in dependency walker that I haven't missed an import.

## Page 456

#6826

diderius6

⇗ @infuscomus
I found the exact place, where hal.dll crashes.
The reason is the value in EAX at this place (see EIP)
Dietmar

    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Mon Feb 22 19:13:39.040 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols2;C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols2
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> lm
    start    end        module name
    00400000 0045a000   osloader   (private pdb symbols)  c:\windows\symbols2\osloader.pdb
    kd> bc *
    kd> bp 0040e723
    kd> g
    BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
    BD: 806C8000 \WINDOWS\system32\hal.dll
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd> t
    osloader!AEReboot:
    00402ad3 55              push    ebp
    kd> t
    osloader!AEReboot+0x1:
    00402ad4 8bec            mov     ebp,esp
    kd> t
    osloader!AEReboot+0x3:
    00402ad6 51              push    ecx
    kd> t
    osloader!AEReboot+0x4:
    00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
    kd> t
    osloader!TextGrTerminate:
    0040c0f1 33c0            xor     eax,eax
    kd> t
    osloader!TextGrTerminate+0x2:
    0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0x8:
    0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
    kd> t
    osloader!TextGrTerminate+0xa:
    0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0xf:
    0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
    kd> t
    osloader!TextGrTerminate+0x15:
    0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
    kd> t
    osloader!TextGrTerminate+0x17:
    0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!TextGrTerminate+0x1c:
    0040c10d 6a03            push    3
    kd> t
    osloader!TextGrTerminate+0x1e:
    0040c10f 6800000080      push    80000000h
    kd> t
    osloader!TextGrTerminate+0x23:
    0040c114 ff5018          call    dword ptr [eax+18h]
    kd> t
    00020eff 6858000000      push    58h
    kd> t
    00020f04 680a0f0000      push    0F0Ah
    kd> t
    00020f09 cb              retf
    kd> t
    0058:0f0a 6655            push    ebp
    16.kd> t
    0058:0f0c 6653            push    ebx
    16.kd> t
    0058:0f0e 6656            push    esi
    16.kd> t
    0058:0f10 6657            push    edi
    16.kd> t
    0058:0f12 6689e3          mov     ebx,esp
    16.kd> t
    0058:0f15 b86000          mov     ax,60h
    16.kd> t
    0058:0f18 8ed8            mov     ds,ax
    16.kd> t
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3

⇗

#6827

infuscomus

⇗ @diderius6
strange that it fails there
maybe pshed.dll needs a proper service registry entry?
I took this registry from windows 10, it might be different on vista

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Microsoft-Windows-Kernel-WHEA]
    "ProviderGuid"="{7b563579-53c8-44e7-8236-0f87b9fe6594}"
    "EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
       00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
       5c,00,50,00,53,00,48,00,45,00,44,00,2e,00,44,00,4c,00,4c,00,00,00

edit:
I'm happy to see you've gotten further with debugging at least.

#6828

diderius6

⇗ @infuscomus
I take a look what happens direct before crash of Hal.dll
Dietmar

    Connected to Windows Boot Debugger 3790 x86 compatible target at (Mon Feb 22 20:47:28.708 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols2;C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols2
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> bc *
    kd> bp 0040e71e
    kd> g
    BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
    BD: 806C8000 \WINDOWS\system32\hal.dll
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> t
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd> t
    osloader!AEReboot:
    00402ad3 55              push    ebp
    kd> t
    osloader!AEReboot+0x1:
    00402ad4 8bec            mov     ebp,esp
    kd> t
    osloader!AEReboot+0x3:
    00402ad6 51              push    ecx
    kd> t
    osloader!AEReboot+0x4:
    00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
    kd> t
    osloader!TextGrTerminate:
    0040c0f1 33c0            xor     eax,eax
    kd> t
    osloader!TextGrTerminate+0x2:
    0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0x8:
    0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
    kd> t
    osloader!TextGrTerminate+0xa:
    0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0xf:
    0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
    kd> t
    osloader!TextGrTerminate+0x15:
    0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
    kd> t
    osloader!TextGrTerminate+0x17:
    0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!TextGrTerminate+0x1c:
    0040c10d 6a03            push    3
    kd> t
    osloader!TextGrTerminate+0x1e:
    0040c10f 6800000080      push    80000000h
    kd> t
    osloader!TextGrTerminate+0x23:
    0040c114 ff5018          call    dword ptr [eax+18h]
    kd> t
    00020eff 6858000000      push    58h
    kd> t
    00020f04 680a0f0000      push    0F0Ah
    kd> t
    00020f09 cb              retf
    kd> t
    0058:0f0a 6655            push    ebp
    16.kd> t
    0058:0f0c 6653            push    ebx
    16.kd> t
    0058:0f0e 6656            push    esi
    16.kd> t
    0058:0f10 6657            push    edi
    16.kd> t
    0058:0f12 6689e3          mov     ebx,esp
    16.kd> t
    0058:0f15 b86000          mov     ax,60h
    16.kd> t
    0058:0f18 8ed8            mov     ds,ax
    16.kd> t
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized

#6829 | infuscomus | ⇗ @diderius6 I see It's already at the BootFailed function by that point. I noticed just before calling BootFailed there is a BlPrint function, does BlPrint give any useful information?

#6830

diderius6

⇗ @infuscomus
ntldr was put into an endless loop, I found
Dietmar

    seg000:000108E7 loc_108E7: ; CODE XREF: seg000:000108DD j
    seg000:000108E7                 call    sub_13F2F
    seg000:000108EC                 call    sub_4D38
    seg000:000108F1                 call    sub_1DDF6
    seg000:000108F6                 call    sub_71E0
    seg000:000108FB                 push    ebx
    seg000:000108FC                 call    sub_FDAA
    seg000:00010901                 test    byte ptr ds:42FC2Ch, 1
    seg000:00010908                 jz      short loc_10936
    seg000:0001090A                 push    4203A4h
    seg000:0001090F                 call    sub_EC5F
    seg000:00010914                 mov     eax, ds:4222ECh
    seg000:00010919                 pop     ecx
    seg000:0001091A                 call    dword ptr [eax+54h]
    seg000:0001091D                 mov     esi, eax
    seg000:0001091F

    seg000:0001091F loc_1091F: ; CODE XREF: seg000:0001092C j
    seg000:0001091F                 mov     eax, ds:4222ECh
    seg000:00010924                 call    dword ptr [eax+54h]
    seg000:00010927                 sub     eax, esi
    seg000:00010929                 cmp     eax, 5
    seg000:0001092C                 jb      short loc_1091F
    seg000:0001092E

    seg000:0001092E loc_1092E: ; CODE XREF: seg000:0001093F j
    seg000:0001092E                 mov     eax, ds:4222ECh
    seg000:00010933                 call    dword ptr [eax+14h]
    seg000:00010936

    seg000:00010936 loc_10936: ; CODE XREF: seg000:00010908 j
    seg000:00010936 ;
    seg000:0001093D j
    seg000:00010936                 call    sub_1E0D1
    seg000:0001093B                 test    al, al
    seg000:0001093D                 jz      short loc_10936
    seg000:0001093F                 jmp     short loc_1092E
    seg000:00010941

#6831 | infuscomus | ⇗ @diderius6 I can see the loop in graph view - I think you would need to set a breakpoint before BootFailed gets called to find the cause of this.

#6832

diderius6

⇗ @infuscomus
Here it is
Dietmar

    Connected to Windows Boot Debugger 3790 x86 compatible target at (Mon Feb 22 21:26:52.898 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols2;C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols2
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> bc *
    kd> bp 0040e6f1
    kd> g
    BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
    BD: 806C8000 \WINDOWS\system32\hal.dll
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd> t
    osloader!NtProcessStartup+0x23f:
    0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> t
    osloader!NtProcessStartup+0x26d:
    0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
    kd> t
    osloader!BlTerminalHandleLoaderFailure:
    0041bec1 55              push    ebp
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x1:
    0041bec2 8bec            mov     ebp,esp
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x3:
    0041bec4 51              push    ecx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x4:
    0041bec5 51              push    ecx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x5:
    0041bec6 53              push    ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x6:
    0041bec7 33db            xor     ebx,ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x8:
    0041bec9 381da1704500    cmp     byte ptr [osloader!BlTerminalConnected (004570a1)],bl
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0xe:
    0041becf 7507            jne     osloader!BlTerminalHandleLoaderFailure+0x17 (0041bed8)
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x10:
    0041bed1 b001            mov     al,1
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x12:
    0041bed3 e966020000      jmp     osloader!BlTerminalHandleLoaderFailure+0x27d (0041c13e)
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27d:
    0041c13e 5b              pop     ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27e:
    0041c13f c9              leave
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27f:
    0041c140 c3              ret
    kd> t
    osloader!NtProcessStartup+0x272:
    0040e72b 84c0            test    al,al
    kd> t
    osloader!NtProcessStartup+0x274:
    0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> t
    osloader!NtProcessStartup+0x276:
    0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
    kd> t
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> t
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]

#6833 | diderius6 | Here ist the whole package with Source Code for this nice ntldr for debug bootdevices in XP *.pdb , ntldr for IDA etc. Dietmar ⇗ https://ufile.io/8c63f15v
#6834 | infuscomus | ⇗ @diderius6 The pdb symbols included in your download don't seem to be for the osloader.exe you included.
#6835 | diderius6 | ⇗ @infuscomus There are different *.pdb files in this packet. For this here used ntldr take the *.pdb from the bin folder, this one works together with ntldr here used Dietmar

#6836

diderius6

⇗ @infuscomus
compi hangs after the call of

    osloader!CpPutByte+0x3a:
    00409e82 e88cfeffff      call    osloader!CpReadLsr (00409d13)  -------->

    seg000:0000BF23 ; =============== S U B R O U T I N E -------- < =======================================
    seg000:0000BF23
    seg000:0000BF23
    seg000:0000BF23 sub_BF23
    proc near ; CODE XREF: sub_BFD5+27 p
    seg000:0000BF23                                         ; sub_BFD5+60
    p ...
    seg000:0000BF23
    seg000:0000BF23 arg_0           = dword ptr  4
    seg000:0000BF23 arg_4           = byte ptr  8
    seg000:0000BF23
    seg000:0000BF23                 push    ebx
    seg000:0000BF24                 push    esi
    seg000:0000BF25                 mov     esi, [esp+8+arg_0]
    seg000:0000BF29                 mov     eax, [esi]
    seg000:0000BF2B                 add     eax, 5
    seg000:0000BF2E                 push    eax
    seg000:0000BF2F                 call    dword ptr ds:422494h
    seg000:0000BF35                 mov     bl, al
    seg000:0000BF37                 test    [esp+8+arg_4], bl
    seg000:0000BF3B                 jnz     short loc_BF64
    seg000:0000BF3D                 mov     eax, [esi]
    seg000:0000BF3F                 add     eax, 6
    seg000:0000BF42                 push    eax
    seg000:0000BF43                 call    dword ptr ds:422494h
    seg000:0000BF49                 test    al, 40h
    seg000:0000BF4B                 setz    al
    seg000:0000BF4E                 inc     al
    seg000:0000BF50                 or      ds:42D108h, al
    seg000:0000BF56                 cmp     byte ptr ds:42D108h, 3
    seg000:0000BF5D                 jnz     short loc_BF64
    seg000:0000BF5F                 or      word ptr [esi+8], 2
    seg000:0000BF64

    seg000:0000BF64 loc_BF64: ; CODE XREF: sub_BF23+18 j
    seg000:0000BF64 ;
    sub_BF23+3A j
    seg000:0000BF64                 pop     esi
    seg000:0000BF65                 mov     al, bl
    seg000:0000BF67                 pop     ebx
    seg000:0000BF68                 retn    8    <---- Compi never comes back to the place, from where it is called
    seg000:0000BF68 sub_BF23        endp
    seg000:0000BF68
    seg000:0000BF6B

#6837

diderius6

    UCHAR
    CpReadLsr(
          PCPPORT Port,
          UCHAR waiting
      );

        Routine Description:

            Read LSR byte from specified port.  If HAL owns port & display
            it will also cause a debug status to be kept up to date.

            Handles entering & exiting modem control mode for debugger.

        Arguments:

            Port - Address of CPPORT

        Returns:

            Byte read from port

#6838

diderius6

⇗ @infuscomus
Oh, I just see, that this Bsod can happen because of my hack for the COM1 port address to 10D0 (little endian) everywhere, but only in your hal.dll not, ok tomorrow more )
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Mon Feb 22 23:27:45.367 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols2
>     Executable search path is: C:\WINDOWS\symbols2
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     osloader!CpReadLsr+0x18:
>     00409d2b 7527            jne     osloader!CpReadLsr+0x41 (00409d54)
>     kd> g
>     Access violation - code c0000005 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     00000020 ??              ???
>     kd> g
>     Access violation - code c0000005 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     00000020 ??              ???
>     kd> g
>     Access violation - code c0000005 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     00000020 ??              ???
>     kd> !analyze -v
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Mon Feb 22 23:29:23.445 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols

>     Loading User Symbols
>     Unable to resolve nt!KiBugCheckData
>     *******************************************************************************
>     *                                                                             *
>     *                        Exception Analysis                                   *
>     *                                                                             *
>     *******************************************************************************

>     FAULTING_IP:
>     +0
>     00000020 ??              ???

>     EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: 00000020
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 3
>        Parameter[0]: 00000000
>        Parameter[1]: 00000020
>        Parameter[2]: 00000000
>     Attempt to read from address 00000020

>     DEFAULT_BUCKET_ID:  BAD_INSTRUCTION_PTR

>     ERROR_CODE:
>      (NTSTATUS) 0xc0000005 - Die Anweisung in "0x%08lx" verweist auf
>     Speicher in "0x%08lx". Der Vorgang  "%s" konnte nicht auf dem Speicher
>     durchgef hrt werden.

>     EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Die
>     Anweisung in "0x%08lx" verweist auf Speicher in "0x%08lx". Der Vorgang
>     "%s" konnte nicht auf dem Speicher durchgef hrt werden.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000020

>     EXCEPTION_PARAMETER3:  00000000

>     READ_ADDRESS:  00000020

>     FOLLOWUP_IP:
>     osloader!Port+0
>     0042d0d8 10d0            adc     al,dl

>     FAILED_INSTRUCTION_ADDRESS:
>     +1562faf009bdf58
>     00000020 ??              ???

>     MOD_LIST: <ANALYSIS/>

>     FAULTING_THREAD:  00000001

>     PRIMARY_PROBLEM_CLASS:  BAD_INSTRUCTION_PTR

>     BUGCHECK_STR:  APPLICATION_FAULT_BAD_INSTRUCTION_PTR_INVALID_POINTER_READ

>     LAST_CONTROL_TRANSFER:  from 0042d0d8 to 00000020

>     STACK_TEXT:
>     WARNING: Frame IP not in any known module. Following frames may be wrong.
>     0005c324 0042d0d8 00000030 0040ab93 00000000 0x20
>     0005c32c 0040ab93 00000000 00000030 0040abb8 osloader!Port
>     0005c338 0040abb8 00000030 0005c388 0040afad osloader!BdComPutByte+0xf [f:\work\ntldr\source\osloader\dbgcom.cpp @ 71]
>     0005c344 0040afad 0005c360 00000010 00000000 osloader!BdComSendString+0x10 [f:\work\ntldr\source\osloader\dbgcom.cpp @ 102]
>     0005c370 0040ed8a 00000002 0005c388 00000000 osloader!BdComSendPacket+0xa8 [f:\work\ntldr\source\osloader\dbgcom.cpp @ 572]
>     0005c390 0040f484 0005c3ac 0005c3ec 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005c3f8 0040f662 00000007 0005c508 0005c500 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005c510
>      0040b63c 0005c564 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005c550 0040b256 0005c564 00000000 0005c5b8 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005c5b0 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005c688 0040ed8a 00000002 0005c6a0 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005c6a8 0040f484 0005c6c4 0005c704 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005c710 0040f662 00000007 0005c820 0005c818 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005c828
>      0040b63c 0005c87c 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005c868 0040b256 0005c87c 00000000 0005c8d0 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005c8c8 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005c9a0 0040ed8a 00000002 0005c9b8 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005c9c0 0040f484 0005c9dc 0005ca1c 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005ca28 0040f662 00000007 0005cb38 0005cb30 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005cb40
>      0040b63c 0005cb94 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005cb80 0040b256 0005cb94 00000000 0005cbe8 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005cbe0 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005ccb8 0040ed8a 00000002 0005ccd0 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005ccd8 0040f484 0005ccf4 0005cd34 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005cd40 0040f662 00000007 0005ce50 0005ce48 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005ce58
>      0040b63c 0005ceac 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005ce98 0040b256 0005ceac 00000000 0005cf00 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005cef8 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005cfd0 0040ed8a 00000002 0005cfe8 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005cff0 0040f484 0005d00c 0005d04c 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005d058 0040f662 00000007 0005d168 0005d160 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005d170
>      0040b63c 0005d1c4 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005d1b0 0040b256 0005d1c4 00000000 0005d218 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005d210 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005d2e8 0040ed8a 00000002 0005d300 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005d308 0040f484 0005d324 0005d364 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005d370 0040f662 00000007 0005d480 0005d478 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005d488
>      0040b63c 0005d4dc 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005d4c8 0040b256 0005d4dc 00000000 0005d530 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005d528 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005d600 0040ed8a 00000002 0005d618 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005d620 0040f484 0005d63c 0005d67c 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005d688 0040f662 00000007 0005d798 0005d790 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005d7a0
>      0040b63c 0005d7f4 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005d7e0 0040b256 0005d7f4 00000000 0005d848 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005d840 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005d918 0040ed8a 00000002 0005d930 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005d938 0040f484 0005d954 0005d994 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005d9a0 0040f662 00000007 0005dab0 0005daa8 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005dab8
>      0040b63c 0005db0c 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005daf8 0040b256 0005db0c 00000000 0005db60 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005db58 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005dc30 0040ed8a 00000002 0005dc48 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005dc50 0040f484 0005dc6c 0005dcac 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005dcb8 0040f662 00000007 0005ddc8 0005ddc0 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005ddd0
>      0040b63c 0005de24 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005de10 0040b256 0005de24 00000000 0005de78 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005de70 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005df48 0040ed8a 00000002 0005df60 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005df68 0040f484 0005df84 0005dfc4 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005dfd0 0040f662 00000007 0005e0e0 0005e0d8 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005e0e8
>      0040b63c 0005e13c 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005e128 0040b256 0005e13c 00000000 0005e190 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005e188 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005e260 0040ed8a 00000002 0005e278 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005e280 0040f484 0005e29c 0005e2dc 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005e2e8 0040f662 00000007 0005e3f8 0005e3f0 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005e400
>      0040b63c 0005e454 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005e440 0040b256 0005e454 00000000 0005e4a8 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]
>     0005e4a0 0040b2be 00000000 00000000 00000000 osloader!BdDispatch+0x61 [f:\work\ntldr\source\osloader\debug.cpp @ 251]
>     0005e578 0040ed8a 00000002 0005e590 00000000 osloader!BdTrap03+0x30 [f:\work\ntldr\source\osloader\debug.cpp @ 319]
>     0005e598 0040f484 0005e5b4 0005e5f4 0042e13c osloader!BdWriteBreakpoint+0x40 [f:\work\ntldr\source\osloader\kdapi.cpp @ 557]
>     0005e600 0040f662 00000007 0005e710 0005e708 osloader!BdSendWaitContinue+0xea [f:\work\ntldr\source\osloader\kdapi.cpp @ 1036]
>     0005e718
>      0040b63c 0005e76c 0042e13c 00000000
>     osloader!BdReportExceptionStateChange+0x6c
>     [f:\work\ntldr\source\osloader\kdapi.cpp @ 1141]
>     0005e758 0040b256 0005e76c 00000000 0005e7c0 osloader!BdTrap+0x3e [f:\work\ntldr\source\osloader\debug.cpp @ 601]

>     STACK_COMMAND:  kb

>     SYMBOL_STACK_INDEX:  1

>     SYMBOL_NAME:  osloader!Port+5c32c

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: osloader

>     IMAGE_NAME:  osloader.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4a102c49

>     FAILURE_BUCKET_ID:  BAD_INSTRUCTION_PTR_c0000005_osloader.exe!Port

>     BUCKET_ID:  APPLICATION_FAULT_BAD_INSTRUCTION_PTR_INVALID_POINTER_READ_BAD_IP_osloader!Port+5c32c

>     Followup: MachineOwner
>     ---------

#6839 | gordo999 | ⇗ @diderius6 ...something that might interest you. ⇗ http://standa-note.blogspot.com/2014/11/...of-windows.html ⇗ http://bochs.sourceforge.net/
#6840 | diderius6 | ⇗ @gordo999 Thanks for the links, have a nice day Dietmar PS: "You will see IDA Pro breaks at the very beginning of MBR (0x7c00).." cool

## Page 457

#6841

diderius6

⇗ @infuscomus
Funny, the XP hal.dll does not cry, when I change its COM1 port to address 0xD010
but the Vista hal.dll crashes, telling that it cant set up a terminal on this port.
This I can change back easy, I just need to use the for the Com1 port unmodded files
ntdetect.com, ntldr (new nice Master), (kdcom.dll), ntoskrnl.exe and hal.dll (this from Vista)
and use the onboard COM1 with 0x03F8 address
Dietmar

#6842

diderius6

⇗ @infuscomus
The crazy message about terminal error stays,
even I have now for all files COM1 port at standard address 0x03F8, IRQ 4.
I test, if I can get any more information, why hal.dll from Vista fails on XP SP3
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Tue Feb 23 09:58:06.015 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols2
>     Executable search path is: C:\WINDOWS\symbols2
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3
>     kd> bc *
>     kd> bp 0040e6f1
>     kd> g
>     BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
>     BD: 806C8000 \WINDOWS\system32\hal.dll
>     BD: 80700000 \WINDOWS\system32\kdcom.dll
>     Breakpoint 0 hit
>     osloader!NtProcessStartup+0x238:
>     0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
>     kd> t
>     osloader!NtProcessStartup+0x23f:
>     0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
>     kd> t
>     osloader!NtProcessStartup+0x26d:
>     0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure:
>     0041bec1 55              push    ebp
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x1:
>     0041bec2 8bec            mov     ebp,esp
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x3:
>     0041bec4 51              push    ecx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x4:
>     0041bec5 51              push    ecx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x5:
>     0041bec6 53              push    ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x6:
>     0041bec7 33db            xor     ebx,ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x8:
>     0041bec9 381da1704500    cmp     byte ptr [osloader!BlTerminalConnected (004570a1)],bl
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0xe:
>     0041becf 7507            jne     osloader!BlTerminalHandleLoaderFailure+0x17 (0041bed8)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x10:
>     0041bed1 b001            mov     al,1
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x12:
>     0041bed3 e966020000      jmp     osloader!BlTerminalHandleLoaderFailure+0x27d (0041c13e)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27d:
>     0041c13e 5b              pop     ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27e:
>     0041c13f c9              leave
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27f:
>     0041c140 c3              ret
>     kd> t
>     osloader!NtProcessStartup+0x272:
>     0040e72b 84c0            test    al,al
>     kd> t
>     osloader!NtProcessStartup+0x274:
>     0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
>     kd> t
>     osloader!NtProcessStartup+0x276:
>     0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
>     kd> t
>     osloader!NtProcessStartup+0x265:
>     0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
>     kd> t
>     osloader!NtProcessStartup+0x26a:
>     0040e723 ff5014          call    dword ptr [eax+14h]
>     kd> t
>     osloader!AEReboot:
>     00402ad3 55              push    ebp
>     kd> t
>     osloader!AEReboot+0x1:
>     00402ad4 8bec            mov     ebp,esp
>     kd> t
>     osloader!AEReboot+0x3:
>     00402ad6 51              push    ecx
>     kd> t
>     osloader!AEReboot+0x4:
>     00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
>     kd> t
>     osloader!TextGrTerminate:
>     0040c0f1 33c0            xor     eax,eax
>     kd> t
>     osloader!TextGrTerminate+0x2:
>     0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
>     kd> t
>     osloader!TextGrTerminate+0x8:
>     0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
>     kd> t
>     osloader!TextGrTerminate+0xa:
>     0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
>     kd> t
>     osloader!TextGrTerminate+0xf:
>     0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
>     kd> t
>     osloader!TextGrTerminate+0x15:
>     0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
>     kd> t
>     osloader!TextGrTerminate+0x17:
>     0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd> t
>     osloader!TextGrTerminate+0x1c:
>     0040c10d 6a03            push    3
>     kd> t
>     osloader!TextGrTerminate+0x1e:
>     0040c10f 6800000080      push    80000000h
>     kd> t
>     osloader!TextGrTerminate+0x23:
>     0040c114 ff5018          call    dword ptr [eax+18h]
>     kd> t
>     00020eff 6858000000      push    58h
>     kd> t
>     00020f04 680a0f0000      push    0F0Ah
>     kd> t
>     00020f09 cb              retf
>     kd> t
>     0058:0f0a 6655            push    ebp
>     16.kd> t
>     0058:0f0c 6653            push    ebx
>     16.kd> t
>     0058:0f0e 6656            push    esi
>     16.kd> t
>     0058:0f10 6657            push    edi
>     16.kd> t
>     0058:0f12 6689e3          mov     ebx,esp
>     16.kd> t
>     0058:0f15 b86000          mov     ax,60h
>     16.kd> t
>     0058:0f18 8ed8            mov     ds,ax
>     16.kd> t
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3

#6843

infuscomus

⇗ @diderius6
BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
BD: 806C8000 \WINDOWS\system32\hal.dll
BD: 80700000 \WINDOWS\system32\kdcom.dll
^
do you know of a way to force pshed.dll to load after kdcom.dll? vista hal depends on it and it might be failing if pshed.dll is not loaded.

#6844

diderius6

⇗ @infuscomus
I think, that the harddisk is not recogniced correct with this hal from Vista.
Not easy to understand this output,
but I think, it shows something like this
Dietmar

    osloader!atol+0xbc:
    0041c7ac 894dec          mov     dword ptr [ebp-14h],ecx
    kd> t
    osloader!atol+0xbf:
    0041c7af 837dec00        cmp     dword ptr [ebp-14h],0
    kd> t
    osloader!atol+0xc3:
    0041c7b3 7424            je      osloader!atol+0xe9 (0041c7d9)
    kd> t
    osloader!atol+0xe9:
    0041c7d9 837dfc2d        cmp     dword ptr [ebp-4],2Dh
    kd> t
    osloader!atol+0xed:
    0041c7dd 7509            jne     osloader!atol+0xf8 (0041c7e8)
    kd> t
    osloader!atol+0xf8:
    0041c7e8 8b45f8          mov     eax,dword ptr [ebp-8]
    kd> t
    osloader!atol+0xfb:
    0041c7eb 8be5            mov     esp,ebp
    kd> t
    osloader!atol+0xfd:
    0041c7ed 5d              pop     ebp
    kd> t
    osloader!atol+0xfe:
    0041c7ee c3              ret
    kd> t
    osloader!BlGetPathMnemonicKey+0x84:
    00404fc3 59              pop     ecx
    kd> t
    osloader!BlGetPathMnemonicKey+0x85:
    00404fc4 8b4d10          mov     ecx,dword ptr [ebp+10h]
    kd> t
    osloader!BlGetPathMnemonicKey+0x88:
    00404fc7 8901            mov     dword ptr [ecx],eax
    kd> t
    osloader!BlGetPathMnemonicKey+0x8a:
    00404fc9 32c0            xor     al,al
    kd> t
    osloader!BlGetPathMnemonicKey+0x8c:
    00404fcb 5e              pop     esi
    kd> t
    osloader!BlGetPathMnemonicKey+0x8d:
    00404fcc c9              leave
    kd> t
    osloader!BlGetPathMnemonicKey+0x8e:
    00404fcd c20c00          ret     0Ch
    kd> t
    osloader!BiosPartitionOpen+0x152:
    004045eb 84c0            test    al,al
    kd> t
    osloader!BiosPartitionOpen+0x154:
    004045ed 0f85dffeffff    jne     osloader!BiosPartitionOpen+0x39 (004044d2)
    kd> t
    osloader!BiosPartitionOpen+0x15a:
    004045f3 8d4508          lea     eax,[ebp+8]
    kd> t
    osloader!BiosPartitionOpen+0x15d:
    004045f6 50              push    eax
    kd> t
    osloader!BiosPartitionOpen+0x15e:
    004045f7 8b45f8          mov     eax,dword ptr [ebp-8]
    kd> t
    osloader!BiosPartitionOpen+0x161:
    004045fa 53              push    ebx
    kd> t
    osloader!BiosPartitionOpen+0x162:
    004045fb 83e880          sub     eax,0FFFFFF80h
    kd> t
    osloader!BiosPartitionOpen+0x165:
    004045fe 50              push    eax
    kd> t
    osloader!BiosPartitionOpen+0x166:
    004045ff 895d08          mov     dword ptr [ebp+8],ebx
    kd> t
    osloader!BiosPartitionOpen+0x169:
    00404602 e853f4ffff      call    osloader!BiosDiskOpen (00403a5a)
    kd> t
    osloader!BiosDiskOpen:
    00403a5a 55              push    ebp
    kd> t
    osloader!BiosDiskOpen+0x1:
    00403a5b 8bec            mov     ebp,esp
    kd> t
    osloader!BiosDiskOpen+0x3:
    00403a5d 83ec0c          sub     esp,0Ch
    kd> t
    osloader!BiosDiskOpen+0x6:
    00403a60 817d0881000080  cmp     dword ptr [ebp+8],80000081h
    kd> t
    osloader!BiosDiskOpen+0xd:
    00403a67 53              push    ebx
    kd> t
    osloader!BiosDiskOpen+0xe:
    00403a68 0f9745fe        seta    byte ptr [ebp-2]
    kd> t
    osloader!BiosDiskOpen+0x12:
    00403a6c 816508ffffff7f  and     dword ptr [ebp+8],7FFFFFFFh
    kd> t
    osloader!BiosDiskOpen+0x19:
    00403a73 817d0880000000  cmp     dword ptr [ebp+8],80h
    kd> t
    osloader!BiosDiskOpen+0x20:
    00403a7a 56              push    esi
    kd> t
    osloader!BiosDiskOpen+0x21:
    00403a7b 8b3528274200    mov     esi,dword ptr [osloader!FwDiskCache (00422728)]
    kd> t
    osloader!BiosDiskOpen+0x27:
    00403a81 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x28:
    00403a82 c645ff00        mov     byte ptr [ebp-1],0
    kd> t
    osloader!BiosDiskOpen+0x2c:
    00403a86 7341            jae     osloader!BiosDiskOpen+0x6f (00403ac9)
    kd> t
    osloader!BiosDiskOpen+0x6f:
    00403ac9 33ff            xor     edi,edi
    kd> t
    osloader!BiosDiskOpen+0x71:
    00403acb 807dfe00        cmp     byte ptr [ebp-2],0
    kd> t
    osloader!BiosDiskOpen+0x75:
    00403acf 740b            je      osloader!BiosDiskOpen+0x82 (00403adc)
    kd> t
    osloader!BiosDiskOpen+0x82:
    00403adc 897df8          mov     dword ptr [ebp-8],edi
    kd> t
    osloader!BiosDiskOpen+0x85:
    00403adf a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!BiosDiskOpen+0x8a:
    00403ae4 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8b:
    00403ae5 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8c:
    00403ae6 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8d:
    00403ae7 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8e:
    00403ae8 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8f:
    00403ae9 ff7508          push    dword ptr [ebp+8]
    kd> t
    osloader!BiosDiskOpen+0x92:
    00403aec 897df4          mov     dword ptr [ebp-0Ch],edi
    kd> t
    osloader!BiosDiskOpen+0x95:
    00403aef 6a08            push    8
    kd> t
    osloader!BiosDiskOpen+0x97:
    00403af1 ff5004          call    dword ptr [eax+4]
    kd> t
    00020b4d 6858000000      push    58h
    kd> t
    00020b52 68580b0000      push    0B58h
    kd> t
    00020b57 cb              retf
    kd> t
    0058:0b58 6655            push    ebp
    16.kd> t
    0058:0b5a 6653            push    ebx
    16.kd> t
    0058:0b5c 6656            push    esi
    16.kd> t
    0058:0b5e 6657            push    edi
    16.kd> t
    0058:0b60 6689e3          mov     ebx,esp
    16.kd> t
    0058:0b63 b86000          mov     ax,60h
    16.kd> t
    0058:0b66 8ed8            mov     ds,ax
    16.kd> t
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3

#6845 | diderius6 | ⇗ @infuscomus Now I try something other. I set EB FE at the driverentry from your Vista hal.dll and change the 2 Bytes back to their original value 8B FE in memory Dietmar

#6846

diderius6

⇗ @infuscomus
Hm, this boot debugger is not as good as the normal Windbg.
I set EB FE and CC, does not help.
In the moment, when the compi reach this driverentry of Hal.dll,
the debugger reboots the compi at once
Dietmar

#6847

diderius6

⇗ @infuscomus
Always the same happens
after hal.dll is loaded
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Tue Feb 23 11:42:33.109 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> bc *
    kd> p
    osloader!DbgBreakPoint+0x1:
    0040b0c7 c3              ret
    kd> p
    osloader!BdInitDebugger+0x3c0:
    0040bb78 eb05            jmp     osloader!BdInitDebugger+0x3c7 (0040bb7f)
    kd> p
    osloader!BdInitDebugger+0x3c7:
    0040bb7f c9              leave
    kd> p
    osloader!BdInitDebugger+0x3c8:
    0040bb80 c20c00          ret     0Ch
    kd> p
    osloader!MempCopyGdt+0x254:
    0041143c 33c0            xor     eax,eax
    kd> p
    osloader!MempCopyGdt+0x256:
    0041143e 5b              pop     ebx
    kd> p
    osloader!MempCopyGdt+0x257:
    0041143f 5f              pop     edi
    kd> p
    osloader!MempCopyGdt+0x258:
    00411440 5e              pop     esi
    kd> p
    osloader!MempCopyGdt+0x259:
    00411441 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25a:
    00411442 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25b:
    00411443 c3              ret
    kd> p
    osloader!InitializeMemorySubsystem+0x236:
    0041167a 5f              pop     edi
    kd> p
    osloader!InitializeMemorySubsystem+0x237:
    0041167b 5e              pop     esi
    kd> p
    osloader!InitializeMemorySubsystem+0x238:
    0041167c 5b              pop     ebx
    kd> p
    osloader!InitializeMemorySubsystem+0x239:
    0041167d c9              leave
    kd> p
    osloader!InitializeMemorySubsystem+0x23a:
    0041167e c20400          ret     4
    kd> p
    osloader!DoGlobalInitialization+0x62:
    0040e2fd 85c0            test    eax,eax
    kd> p
    osloader!DoGlobalInitialization+0x64:
    0040e2ff 740f            je      osloader!DoGlobalInitialization+0x75 (0040e310)
    kd> p
    osloader!DoGlobalInitialization+0x75:
    0040e310 e86c330000      call    osloader!InitializeMemoryDescriptors (00411681)
    kd> p
    osloader!DoGlobalInitialization+0x7a:
    0040e315 c20400          ret     4
    kd> p
    osloader!NtProcessStartup+0x15:
    0040e4ce 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x16:
    0040e4cf 68b8254200      push    offset osloader!BlSuCmdLine (004225b8)
    kd> p
    osloader!NtProcessStartup+0x1b:
    0040e4d4 e83ffeffff      call    osloader!ParseCommandLine (0040e318)
    kd> p
    osloader!NtProcessStartup+0x20:
    0040e4d9 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x21:
    0040e4da e86c4affff      call    osloader!BlFillInSystemParameters (00402f4b)
    kd> p
    osloader!NtProcessStartup+0x26:
    0040e4df 8b4628          mov     eax,dword ptr [esi+28h]
    kd> p
    osloader!NtProcessStartup+0x29:
    0040e4e2 a32cfc4200      mov     dword ptr [osloader!BootFlags (0042fc2c)],eax
    kd> p
    osloader!NtProcessStartup+0x2e:
    0040e4e7 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x30:
    0040e4e9 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0x32:
    0040e4eb 25ff000000      and     eax,0FFh
    kd> p
    osloader!NtProcessStartup+0x37:
    0040e4f0 bb48f34200      mov     ebx,offset osloader!BootPartitionName (0042f348)
    kd> p
    osloader!NtProcessStartup+0x3c:
    0040e4f5 0f848c010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x42:
    0040e4fb 83f801          cmp     eax,1
    kd> p
    osloader!NtProcessStartup+0x45:
    0040e4fe 0f8483010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x4b:
    0040e504 83f840          cmp     eax,40h
    kd> p
    osloader!NtProcessStartup+0x4e:
    0040e507 751a            jne     osloader!NtProcessStartup+0x6a (0040e523)
    kd> p
    osloader!NtProcessStartup+0x6a:
    0040e523 83f841          cmp     eax,41h
    kd> p
    osloader!NtProcessStartup+0x6d:
    0040e526 7514            jne     osloader!NtProcessStartup+0x83 (0040e53c)
    kd> p
    osloader!NtProcessStartup+0x83:
    0040e53c 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x84:
    0040e53d e82efdffff      call    osloader!BlIsElToritoCDBoot (0040e270)
    kd> p
    osloader!NtProcessStartup+0x89:
    0040e542 84c0            test    al,al
    kd> p
    osloader!NtProcessStartup+0x8b:
    0040e544 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x8d:
    0040e546 741e            je      osloader!NtProcessStartup+0xad (0040e566)
    kd> p
    osloader!NtProcessStartup+0xad:
    0040e566 0fb64801        movzx   ecx,byte ptr [eax+1]
    kd> p
    osloader!NtProcessStartup+0xb1:
    0040e56a 0fb600          movzx   eax,byte ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xb4:
    0040e56d 51              push    ecx
    kd> p
    osloader!NtProcessStartup+0xb5:
    0040e56e 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xb6:
    0040e56f 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0xb7:
    0040e570 e842fcffff      call    osloader!BlGetActivePartition (0040e1b7)
    kd> p
    osloader!NtProcessStartup+0xbc:
    0040e575 6a4f            push    4Fh
    kd> p
    osloader!NtProcessStartup+0xbe:
    0040e577 33ff            xor     edi,edi
    kd> p
    osloader!NtProcessStartup+0xc0:
    0040e579 8d45a5          lea     eax,[ebp-5Bh]
    kd> p
    osloader!NtProcessStartup+0xc3:
    0040e57c 57              push    edi
    kd> p
    osloader!NtProcessStartup+0xc4:
    0040e57d 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xc5:
    0040e57e c645a400        mov     byte ptr [ebp-5Ch],0
    kd> p
    osloader!NtProcessStartup+0xc9:
    0040e582 e825dd0000      call    osloader!memset (0041c2ac)
    kd> p
    osloader!NtProcessStartup+0xce:
    0040e587 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0xd0:
    0040e589 897d08          mov     dword ptr [ebp+8],edi
    kd> p
    osloader!NtProcessStartup+0xd3:
    0040e58c 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xd5:
    0040e58e 83e07f          and     eax,7Fh
    kd> p
    osloader!NtProcessStartup+0xd8:
    0040e591 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xd9:
    0040e592 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xdc:
    0040e595 6834054200      push    offset osloader!`string' (00420534)
    kd> p
    osloader!NtProcessStartup+0xe1:
    0040e59a 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xe2:
    0040e59b e8b0db0000      call    osloader!sprintf (0041c150)
    kd> p
    osloader!NtProcessStartup+0xe7:
    0040e5a0 83c418          add     esp,18h
    kd> p
    osloader!NtProcessStartup+0xea:
    0040e5a3 8d4508          lea     eax,[ebp+8]
    kd> p
    osloader!NtProcessStartup+0xed:
    0040e5a6 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xee:
    0040e5a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0xf0:
    0040e5a9 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xf3:
    0040e5ac 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xf4:
    0040e5ad a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0xf9:
    0040e5b2 ff505c          call    dword ptr [eax+5Ch]
    kd> p
    osloader!NtProcessStartup+0xfc:
    0040e5b5 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0xfe:
    0040e5b7 0f85bd000000    jne     osloader!NtProcessStartup+0x1c1 (0040e67a)
    kd> p
    osloader!NtProcessStartup+0x104:
    0040e5bd 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x105:
    0040e5be 8d45f8          lea     eax,[ebp-8]
    kd> p
    osloader!NtProcessStartup+0x108:
    0040e5c1 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x109:
    0040e5c2 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x10c:
    0040e5c5 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x111:
    0040e5ca 897df8          mov     dword ptr [ebp-8],edi
    kd> p
    osloader!NtProcessStartup+0x114:
    0040e5cd 897dfc          mov     dword ptr [ebp-4],edi
    kd> p
    osloader!NtProcessStartup+0x117:
    0040e5d0 ff5070          call    dword ptr [eax+70h]
    kd> p
    osloader!NtProcessStartup+0x11a:
    0040e5d3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x11c:
    0040e5d5 0f858a000000    jne     osloader!NtProcessStartup+0x1ac (0040e665)
    kd> p
    osloader!NtProcessStartup+0x122:
    0040e5db 8d45f4          lea     eax,[ebp-0Ch]
    kd> p
    osloader!NtProcessStartup+0x125:
    0040e5de 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x126:
    0040e5df bf00020000      mov     edi,200h
    kd> p
    osloader!NtProcessStartup+0x12b:
    0040e5e4 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x12c:
    0040e5e5 8d85a4fdffff    lea     eax,[ebp-25Ch]
    kd> p
    osloader!NtProcessStartup+0x132:
    0040e5eb 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x133:
    0040e5ec ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x136:
    0040e5ef a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x13b:
    0040e5f4 ff5064          call    dword ptr [eax+64h]
    kd> p
    osloader!NtProcessStartup+0x13e:
    0040e5f7 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x140:
    0040e5f9 7563            jne     osloader!NtProcessStartup+0x1a5 (0040e65e)
    kd> p
    osloader!NtProcessStartup+0x142:
    0040e5fb 39855cffffff    cmp     dword ptr [ebp-0A4h],eax
    kd> p
    osloader!NtProcessStartup+0x148:
    0040e601 756d            jne     osloader!NtProcessStartup+0x1b7 (0040e670)
    kd> p
    osloader!NtProcessStartup+0x1b7:
    0040e670 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x1ba:
    0040e673 e89b69ffff      call    osloader!ArcCacheClose (00405013)
    kd> p
    osloader!NtProcessStartup+0x1bf:
    0040e678 eb2d            jmp     osloader!NtProcessStartup+0x1ee (0040e6a7)
    kd> p
    osloader!NtProcessStartup+0x1ee:
    0040e6a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0x1f0:
    0040e6a9 e848260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x1f5:
    0040e6ae a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x1fa:
    0040e6b3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x1fc:
    0040e6b5 7408            je      osloader!NtProcessStartup+0x206 (0040e6bf)
    kd> p
    osloader!NtProcessStartup+0x1fe:
    0040e6b7 c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x201:
    0040e6ba a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x206:
    0040e6bf 6a03            push    3
    kd> p
    osloader!NtProcessStartup+0x208:
    0040e6c1 e830260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x20d:
    0040e6c6 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x212:
    0040e6cb 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x214:
    0040e6cd 7408            je      osloader!NtProcessStartup+0x21e (0040e6d7)
    kd> p
    osloader!NtProcessStartup+0x216:
    0040e6cf c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x219:
    0040e6d2 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x21e:
    0040e6d7 e843360000      call    osloader!BlMemoryInitialize (00411d1f)
    kd> p
    osloader!NtProcessStartup+0x223:
    0040e6dc e84744ffff      call    osloader!AEInitializeStall (00402b28)
    kd> p
    osloader!NtProcessStartup+0x228:
    0040e6e1 e800d50000      call    osloader!BlInitializeHeadlessPort (0041bbe6)
    kd> p
    osloader!NtProcessStartup+0x22d:
    0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
    kd> p
    osloader!NtProcessStartup+0x232:
    0040e6eb 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd> p
    BD: 80A02000 \WINDOWS\system32\ntkrnlpa.exe
    BD: 80100000 \WINDOWS\system32\hal.dll
    BD: 80010000 \WINDOWS\system32\kdcom.dll
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd> t
    osloader!NtProcessStartup+0x23f:
    0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> t
    osloader!NtProcessStartup+0x26d:
    0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
    kd> t
    osloader!BlTerminalHandleLoaderFailure:
    0041bec1 55              push    ebp
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x1:
    0041bec2 8bec            mov     ebp,esp
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x3:
    0041bec4 51              push    ecx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x4:
    0041bec5 51              push    ecx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x5:
    0041bec6 53              push    ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x6:
    0041bec7 33db            xor     ebx,ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x8:
    0041bec9 381da1704500    cmp     byte ptr [osloader!BlTerminalConnected (004570a1)],bl
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0xe:
    0041becf 7507            jne     osloader!BlTerminalHandleLoaderFailure+0x17 (0041bed8)
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x10:
    0041bed1 b001            mov     al,1
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x12:
    0041bed3 e966020000      jmp     osloader!BlTerminalHandleLoaderFailure+0x27d (0041c13e)
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27d:
    0041c13e 5b              pop     ebx
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27e:
    0041c13f c9              leave
    kd> t
    osloader!BlTerminalHandleLoaderFailure+0x27f:
    0041c140 c3              ret
    kd> t
    osloader!NtProcessStartup+0x272:
    0040e72b 84c0            test    al,al
    kd> t
    osloader!NtProcessStartup+0x274:
    0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> t
    osloader!NtProcessStartup+0x276:
    0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
    kd> t
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> t
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd> t
    osloader!AEReboot:
    00402ad3 55              push    ebp
    kd> t
    osloader!AEReboot+0x1:
    00402ad4 8bec            mov     ebp,esp
    kd> t
    osloader!AEReboot+0x3:
    00402ad6 51              push    ecx
    kd> t
    osloader!AEReboot+0x4:
    00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
    kd> t
    osloader!TextGrTerminate:
    0040c0f1 33c0            xor     eax,eax
    kd> t
    osloader!TextGrTerminate+0x2:
    0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0x8:
    0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
    kd> t
    osloader!TextGrTerminate+0xa:
    0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0xf:
    0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
    kd> t
    osloader!TextGrTerminate+0x15:
    0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
    kd> t
    osloader!TextGrTerminate+0x17:
    0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!TextGrTerminate+0x1c:
    0040c10d 6a03            push    3
    kd> t
    osloader!TextGrTerminate+0x1e:
    0040c10f 6800000080      push    80000000h
    kd> t
    osloader!TextGrTerminate+0x23:
    0040c114 ff5018          call    dword ptr [eax+18h]
    kd> t
    00020eff 6858000000      push    58h
    kd> t
    00020f04 680a0f0000      push    0F0Ah
    kd> t
    00020f09 cb              retf
    kd> t
    0058:0f0a 6655            push    ebp
    16.kd> t
    0058:0f0c 6653            push    ebx
    16.kd> t
    0058:0f0e 6656            push    esi
    16.kd> t
    0058:0f10 6657            push    edi
    16.kd> t
    0058:0f12 6689e3          mov     ebx,esp
    16.kd> t
    0058:0f15 b86000          mov     ax,60h
    16.kd> t
    0058:0f18 8ed8            mov     ds,ax
    16.kd> t
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3

#6848 | infuscomus | ⇗ @diderius6 maybe using kdcom.dll of vista RTM might give more information?
#6849 | diderius6 | ⇗ @infuscomus kdcom.dll is not used because all debugging is done by this new ntldr. I test this, just renaming kdcom.dll Dietmar
#6850 | infuscomus | ⇗ @diderius6 do you get these same results with the other ntldr_dbg builds?

#6851

diderius6

⇗ @infuscomus
with your ntldr_dbg from XP SP1 I succeed to break after the load of ntkrnlpa.exe and before hal.dll.
But the result is the same. And to set a breakpoint in hal.dll itself also does not work, here this breakpoint is just ignored.

    osloader!BlInsertDescriptor+0x5e:
    00407d02 7523            jne     osloader!BlInsertDescriptor+0x83 (00407d27)
    kd> t
    osloader!BlInsertDescriptor+0x60:
    00407d04 8b7d08          mov     edi,dword ptr [ebp+8]
    kd> t
    osloader!BlInsertDescriptor+0x63:
    00407d07 8b5f10          mov     ebx,dword ptr [edi+10h]
    kd> t
    osloader!BlInsertDescriptor+0x66:
    00407d0a 8b7f0c          mov     edi,dword ptr [edi+0Ch]
    kd> t
    osloader!BlInsertDescriptor+0x69:
    00407d0d 03fb            add     edi,ebx
    kd> t
    osloader!BlInsertDescriptor+0x6b:
    00407d0f 3b780c          cmp     edi,dword ptr [eax+0Ch]
    kd> t
    osloader!BlInsertDescriptor+0x6e:
    00407d12 7510            jne     osloader!BlInsertDescriptor+0x80 (00407d24)
    kd> t
    osloader!BlInsertDescriptor+0x70:
    00407d14 8b5010          mov     edx,dword ptr [eax+10h]
    kd> t
    osloader!BlInsertDescriptor+0x73:
    00407d17 8b4508          mov     eax,dword ptr [ebp+8]
    kd> t
    osloader!BlInsertDescriptor+0x76:
    00407d1a 03d3            add     edx,ebx
    kd> t
    osloader!BlInsertDescriptor+0x78:
    00407d1c 8b5dfc          mov     ebx,dword ptr [ebp-4]
    kd> t
    osloader!BlInsertDescriptor+0x7b:
    00407d1f 895010          mov     dword ptr [eax+10h],edx
    kd> t
    osloader!BlInsertDescriptor+0x7e:
    00407d22 eb0f            jmp     osloader!BlInsertDescriptor+0x8f (00407d33)
    kd> t
    osloader!BlInsertDescriptor+0x8f:
    00407d33 3bf3            cmp     esi,ebx
    kd> t
    osloader!BlInsertDescriptor+0x91:
    00407d35 7432            je      osloader!BlInsertDescriptor+0xc5 (00407d69)
    kd> t
    osloader!BlInsertDescriptor+0x93:
    00407d37 8b5108          mov     edx,dword ptr [ecx+8]
    kd> t
    osloader!BlInsertDescriptor+0x96:
    00407d3a 83fa02          cmp     edx,2
    kd> t
    osloader!BlInsertDescriptor+0x99:
    00407d3d 7405            je      osloader!BlInsertDescriptor+0xa0 (00407d44)
    kd> t
    osloader!BlInsertDescriptor+0x9b:
    00407d3f 83fa18          cmp     edx,18h
    kd> t
    osloader!BlInsertDescriptor+0x9e:
    00407d42 7525            jne     osloader!BlInsertDescriptor+0xc5 (00407d69)
    kd> t
    osloader!BlInsertDescriptor+0xa0:
    00407d44 8b5010          mov     edx,dword ptr [eax+10h]
    kd> t
    osloader!BlInsertDescriptor+0xa3:
    00407d47 8b700c          mov     esi,dword ptr [eax+0Ch]
    kd> t
    osloader!BlInsertDescriptor+0xa6:
    00407d4a 03f2            add     esi,edx
    kd> t
    osloader!BlInsertDescriptor+0xa8:
    00407d4c 3b710c          cmp     esi,dword ptr [ecx+0Ch]
    kd> t
    osloader!BlInsertDescriptor+0xab:
    00407d4f 7518            jne     osloader!BlInsertDescriptor+0xc5 (00407d69)
    kd> t
    osloader!BlInsertDescriptor+0xad:
    00407d51 8b7110          mov     esi,dword ptr [ecx+10h]
    kd> t
    osloader!BlInsertDescriptor+0xb0:
    00407d54 03f2            add     esi,edx
    kd> t
    osloader!BlInsertDescriptor+0xb2:
    00407d56 897010          mov     dword ptr [eax+10h],esi
    kd> t
    osloader!BlInsertDescriptor+0xb5:
    00407d59 8b5108          mov     edx,dword ptr [ecx+8]
    kd> t
    osloader!BlInsertDescriptor+0xb8:
    00407d5c 895008          mov     dword ptr [eax+8],edx
    kd> t
    osloader!BlInsertDescriptor+0xbb:
    00407d5f 8b01            mov     eax,dword ptr [ecx]
    kd> t
    osloader!BlInsertDescriptor+0xbd:
    00407d61 8b4904          mov     ecx,dword ptr [ecx+4]
    kd> t
    osloader!BlInsertDescriptor+0xc0:
    00407d64 8901            mov     dword ptr [ecx],eax
    kd> t
    osloader!BlInsertDescriptor+0xc2:
    00407d66 894804          mov     dword ptr [eax+4],ecx
    kd> t
    osloader!BlInsertDescriptor+0xc5:
    00407d69 5f              pop     edi
    kd> t
    osloader!BlInsertDescriptor+0xc6:
    00407d6a 5e              pop     esi
    kd> t
    osloader!BlInsertDescriptor+0xc7:
    00407d6b 5b              pop     ebx
    kd> t
    osloader!BlInsertDescriptor+0xc8:
    00407d6c c9              leave
    kd> t
    osloader!BlInsertDescriptor+0xc9:
    00407d6d c20400          ret     4
    kd> t
    osloader!BlFreeDescriptor+0x62:
    00407dd2 33c0            xor     eax,eax
    kd> t
    osloader!BlFreeDescriptor+0x64:
    00407dd4 5d              pop     ebp
    kd> t
    osloader!BlFreeDescriptor+0x65:
    00407dd5 c20400          ret     4
    kd> t
    osloader!BlImageFreeCache+0x1c:
    00415a05 83661400        and     dword ptr [esi+14h],0
    kd> t
    osloader!BlImageFreeCache+0x20:
    00415a09 83661000        and     dword ptr [esi+10h],0
    kd> t
    osloader!BlImageFreeCache+0x24:
    00415a0d 5e              pop     esi
    kd> t
    osloader!BlImageFreeCache+0x25:
    00415a0e 5d              pop     ebp
    kd> t
    osloader!BlImageFreeCache+0x26:
    00415a0f c20800          ret     8
    kd> t
    osloader!BlLoadImageEx+0x45d:
    00415e6f ff75f8          push    dword ptr [ebp-8]
    kd> t
    osloader!BlLoadImageEx+0x460:
    00415e72 e846f2feff      call    osloader!BlClose (004050bd)
    kd> t
    osloader!BlClose:
    004050bd 55              push    ebp
    kd> t
    osloader!BlClose+0x1:
    004050be 8bec            mov     ebp,esp
    kd> t
    osloader!BlClose+0x3:
    004050c0 8b4508          mov     eax,dword ptr [ebp+8]
    kd> t
    osloader!BlClose+0x6:
    004050c3 6bc068          imul    eax,eax,68h
    kd> t
    osloader!BlClose+0x9:
    004050c6 f68080bd460001  test    byte ptr osloader!BlFileTable (0046bd80)[eax],1
    kd> t
    osloader!BlClose+0x10:
    004050cd 7409            je      osloader!BlClose+0x1b (004050d8)
    kd> t
    osloader!BlClose+0x12:
    004050cf 8b8094bd4600    mov     eax,dword ptr osloader!BlFileTable+0x14 (0046bd94)[eax]
    kd> t
    osloader!BlClose+0x18:
    004050d5 5d              pop     ebp
    kd> t
    osloader!BlClose+0x19:
    004050d6 ff20            jmp     dword ptr [eax]
    kd> t
    osloader!ScsiDiskClose:
    004089b0 55              push    ebp
    kd> t
    osloader!ScsiDiskClose+0x1:
    004089b1 8bec            mov     ebp,esp
    kd> t
    osloader!ScsiDiskClose+0x3:
    004089b3 8b4508          mov     eax,dword ptr [ebp+8]
    kd> t
    osloader!ScsiDiskClose+0x6:
    004089b6 6bc068          imul    eax,eax,68h
    kd> t
    osloader!ScsiDiskClose+0x9:
    004089b9 8d8080bd4600    lea     eax,osloader!BlFileTable (0046bd80)[eax]
    kd> t
    osloader!ScsiDiskClose+0xf:
    004089bf 8320fe          and     dword ptr [eax],0FFFFFFFEh
    kd> t
    osloader!ScsiDiskClose+0x12:
    004089c2 33c0            xor     eax,eax
    kd> t
    osloader!ScsiDiskClose+0x14:
    004089c4 5d              pop     ebp
    kd> t
    osloader!ScsiDiskClose+0x15:
    004089c5 c20400          ret     4
    kd> t
    osloader!BlLoadImageEx+0x465:
    00415e77 8b4508          mov     eax,dword ptr [ebp+8]
    kd> t
    osloader!BlLoadImageEx+0x468:
    00415e7a 5f              pop     edi
    kd> t
    osloader!BlLoadImageEx+0x469:
    00415e7b 5e              pop     esi
    kd> t
    osloader!BlLoadImageEx+0x46a:
    00415e7c c9              leave
    kd> t
    osloader!BlLoadImageEx+0x46b:
    00415e7d c21c00          ret     1Ch
    kd> t
    osloader!BlOsLoader+0xaba:
    004226e8 8bf0            mov     esi,eax
    kd> t
    osloader!BlOsLoader+0xabc:
    004226ea 83fe10          cmp     esi,10h
    kd> t
    osloader!BlOsLoader+0xabf:
    004226ed 74bd            je      osloader!BlOsLoader+0xa7e (004226ac)
    kd> t
    osloader!BlOsLoader+0xac1:
    004226ef 3bf7            cmp     esi,edi
    kd> t
    osloader!BlOsLoader+0xac3:
    004226f1 0f8532060000    jne     osloader!BlOsLoader+0x10fb (00422d29)
    kd> t
    osloader!BlOsLoader+0xac9:
    004226f7 e84543ffff      call    osloader!BlUpdateBootStatus (00416a41)
    kd> t
    osloader!BlUpdateBootStatus:
    00416a41 ff0528db4300    inc     dword ptr [osloader!BlNumFilesLoaded (0043db28)]
    kd> t
    osloader!BlUpdateBootStatus+0x6:
    00416a47 803d35db430000  cmp     byte ptr [osloader!BlShowProgressBar (0043db35)],0
    kd> t
    osloader!BlUpdateBootStatus+0xd:
    00416a4e 7406            je      osloader!BlUpdateBootStatus+0x15 (00416a56)
    kd> t
    osloader!BlUpdateBootStatus+0x15:
    00416a56 e9b9feffff      jmp     osloader!BlRedrawProgressBar (00416914)
    kd> t
    osloader!BlRedrawProgressBar:
    00416914 803d35db430000  cmp     byte ptr [osloader!BlShowProgressBar (0043db35)],0
    kd> t
    osloader!BlRedrawProgressBar+0x7:
    0041691b 7552            jne     osloader!BlRedrawProgressBar+0x5b (0041696f)
    kd> t
    osloader!BlRedrawProgressBar+0x9:
    0041691d a170904300      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (00439070)]
    kd> t
    osloader!BlRedrawProgressBar+0xe:
    00416922 ff5054          call    dword ptr [eax+54h]
    kd> t
    osloader!AEGetRelativeTime:
    0040691b a170d94600      mov     eax,dword ptr [osloader!ExternalServicesTable (0046d970)]
    kd> t
    osloader!AEGetRelativeTime+0x5:
    00406920 ff500c          call    dword ptr [eax+0Ch]
    kd> t
    00022e90 6858000000      push    58h
    kd> t
    00022e95 68b4070000      push    7B4h
    kd> t
    00022e9a cb              retf
    kd> t
    0058:07b4 6655            push    ebp
    16.kd> t
    0058:07b6 6653            push    ebx
    16.kd> t
    0058:07b8 6656            push    esi
    16.kd> t
    0058:07ba 6657            push    edi
    16.kd> t
    0058:07bc 668bdc          mov     ebx,esp
    16.kd> t
    0058:07bf b86000          mov     ax,60h
    16.kd> t
    0058:07c2 8ed8            mov     ds,ax
    16.kd> t
    BD: Boot Debugger Initialized
    BD: osloader.exe base address 00400000
    *** WARNING: Unable to verify timestamp for osloader.exe
    BD: \WINDOWS\system32\ntkrnlpa.exe base address 80A02000
    osloader!RtlpBreakWithStatusInstruction:
    0041cf70 cc              int     3

When I let Windbg run, I get on the debugged compi the known message about missing DLLs for Kernel.
The compi, where the program Windbg runs, breaks at
BD: \WINDOWS\system32\hal.dll base address 80100000
Break
But when I trace back with Disassembly (works as long as there is no jmp or call or retn) the last operations
are the same as in spoiler before.

#6852 | infuscomus | ⇗ @diderius6 It's getting up to osloader!BlLoadImageEx+0x460: then goes to BlClose I'm thinking my modifications to the vista hal.dll export table might be preventing this from working correctly. That or it doesn't like XP ntoskrnl.

#6853

diderius6

⇗ @infuscomus
I can make a try with SoftIce.
SoftICE is a one machine Debugger, which means, that the Host and the Target are one and the same compi.
The problem in this is, that the only compi on which Softice runs under XP SP3
is not my daily compi and I have to safe the content of everything from this compi.
Many partitions, so it will be not easy. On this compi, SoftICE runs stable under XP SP3.
I thought about to make via Winhex an identical copy to an USB harddisk of partition C:\ ,
where SoftICE just now works and to boot from this USB harddisk.
Dont know, what Softice will say to this, but it is worth a try
Dietmar

#6854 | infuscomus | ⇗ @diderius6 If you're doing anything take might break an OS install just remember to make an image of the drive before you do anything. I quite like Paragon Hard Disk Manager and its Recovery Media and always use it for my backups.

#6855

diderius6

⇗ @infuscomus
I have had one case, where the Paragon program fails.
Because I want to avoid any risk,
I will make a one by one bit copy of the harddisk with Winhex.
But this is crazy slow, needs more than a day on large harddisks,
but until now never fails
Dietmar
PS: On any other compi I would just take harddisk out and install XP new.
But because the crazy way to get SoftICE to work on this compi under XP SP3,
never change a running system ).
You for yourself can do any easy test: Copy ALL *.dlls from Vista into Windows\system32 folder of XP and look what happens.
The message about missing dlls for Kernel is gone then (I think).
Via this way you can also find out, which dlls are missed.

## Page 458

#6856

infuscomus

⇗ @diderius6
I recall that Paragon does have a RAW copy mode that should do the same thing (it'd be slow, like you said)
I'm not sure where it is in the most recent version, but it should still be there.
⇗ https://kb.paragon-software.com/article/133
^
this article mentions - HDD raw copy to copy the hard disk in the sector-by-sector mode, thus ignoring its information structure

#6857

diderius6

⇗ @infuscomus
I just read,
that SoftICE works also over serial connection or even lan
Dietmar
⇗ https://community.osr.com/discussion/726...ng-with-softice
EDIT: BOOT modus works in SoftICE on XP SP3 but not early BOOT.

#6858

Brooons

Disk C: - windows XP
Disk D: - windows XP
Both windows alike identical absolutely
ACPI.SYS alike identical absolutely
SATA alike identical absolutely
Disk C: - start well
Disk D: -- start BSOD 0x00000050
Why?

#6859

diderius6

⇗ @Brooons
This depends, on how you install XP.
When you install it with only one harddisk at a time connected,
XP will install on C:\.
This you can repeat for the other harddisk also (as single harddisk) and boot later
from each as you wish.
Sometimes it helps to delete whole key in registry
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices .
It is build new from XP during reboot. This trick works only in XP
Dietmar

#6860

Brooons

> Zitat von ⇗ diderius6 im Beitrag ¶ #6859

> @Brooons
> This depends, on how you install XP.
> Dietmar

Both windows I carry with other computer, has conducted through Paragon P2P OS.
Disk C very well, Disk D - start BSOD
though all actions alike absolutely

#6861 | diderius6 | ⇗ @Brooons When you use Paragon together with an other harddisk at the compi in the same time, the "intelligence" of the program "repairs" the bootsector Dietmar
#6862 | Brooons | Boot sector good, windows do start, boot, cursor picture and BSOD

#6863

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #6631

> I found out, that the IO address is 0xD000 and 0xD010 for both cards.

> Zitat von ⇗ diderius6 im Beitrag ¶ #6671

> @Gelip
> Here it is
> Dietmar
> ⇗ [img]https://i.ibb.co/XS2xxNf/lspci.png[/img]

> Zitat von ⇗ diderius6 im Beitrag ¶ #6669

> @Gelip
> Here it is. I enabled, disabled all. No difference, just no serial Windbg via this PCI-E slotcard
> Dietmar
> ⇗ [img]https://i.ibb.co/Mk7S2sp/20210216-193823.jpg[/img]

Your PEX2S553 Startech card have I/O and MMIO addressing:
lspci -s 03:00.0 -vv (I/O port at d010 and Memory at df403000)
Please show screenshot is your port 03:00.0 is BusMaster+
lspci -s 03:00.0 -vv
Disable integrated port COM, uninstall WinXP drivers Startech port if installed and boot PC from MS-DOS USB stick then disable MMIO access:
setpci -s 03:00.0 command=1 this set I/O+ Mem-
or
setpci -s 03:00.0 command=5 this set I/O+ Mem- BusMaster+
and
debug.exe
-e 40:0 10 D0
-q
grub.exe and boot WinXP
or use modded kdcom.dll with repalced COM1 03f8 to d010 in offset C50 and boot.ini COM1
P.S. In setpci command:
+ means option enabled
- means option disabled

#6864

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6853

> I can make a try with SoftIce.
> SoftICE is a one machine Debugger, which means, that the Host and the Target are one and the same compi.

⇗ @diderius6 ...SI can be run as a remote debugger if you use the Driver Studio version. An article on that.
⇗ http://driverentry.com.br/en/blog/?p=141

#6865 | infuscomus | ⇗ @diderius6 I sent you a PM, can you test and debug it?

#6866

diderius6

⇗ @infuscomus
Soon I will test.
I think, that you have to rename
vkrnl4xp.exe ---> ntoskrnl.exe
Also I will make the idea from ⇗ @gordo999 come true,
to set up a virtual debugger with Bochs and Ida Pro 6.
This may be just for fun,
but who knows
Dietmar

#6867

diderius6

⇗ @infuscomus
With the normal ntldr I get the same message about missing dlls for Kernel.
With the Master-ntldr now I get the bootfiles loaded,
but the crash happens in Windbg at the same place as before
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Thu Feb 25 10:31:23.904 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3
>     kd> g
>     BD: 80A02000 \WINDOWS\system32\ntoskrnl.exe
>     BD: 80100000 \WINDOWS\system32\hal.dll
>     BD: 80010000 \WINDOWS\system32\kdcom.dll
>     BD: 80001000 \WINDOWS\system32\PSHED.dll
>     BD: 8000A000 \WINDOWS\system32\BOOTVID.dll
>     BD: 80138000 \WINDOWS\system32\CLFS.SYS
>     BD: 80173000 \WINDOWS\system32\CI.dll
>     Shutdown occurred at (Thu Feb 25 10:32:11.357 2021 (UTC + 1:00))...unloading all symbol tables.
>     Waiting to reconnect...
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized

>     osloader!NtProcessStartup+0x21e:
>     0040e6d7 e843360000      call    osloader!BlMemoryInitialize (00411d1f)
>     kd>
>     osloader!NtProcessStartup+0x223:
>     0040e6dc e84744ffff      call    osloader!AEInitializeStall (00402b28)
>     kd>
>     osloader!NtProcessStartup+0x228:
>     0040e6e1 e800d50000      call    osloader!BlInitializeHeadlessPort (0041bbe6)
>     kd>
>     osloader!NtProcessStartup+0x22d:
>     0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
>     kd>
>     osloader!NtProcessStartup+0x232:
>     0040e6eb 53              push    ebx
>     kd>
>     osloader!NtProcessStartup+0x233:
>     0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
>     kd>
>     BD: 80A02000 \WINDOWS\system32\ntoskrnl.exe
>     BD: 80100000 \WINDOWS\system32\hal.dll
>     BD: 80010000 \WINDOWS\system32\kdcom.dll
>     BD: 80001000 \WINDOWS\system32\PSHED.dll
>     BD: 8000A000 \WINDOWS\system32\BOOTVID.dll
>     BD: 80138000 \WINDOWS\system32\CLFS.SYS
>     BD: 80173000 \WINDOWS\system32\CI.dll
>     osloader!NtProcessStartup+0x238:
>     0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
>     kd> t
>     osloader!NtProcessStartup+0x23f:
>     0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
>     kd> t
>     osloader!NtProcessStartup+0x26d:
>     0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure:
>     0041bec1 55              push    ebp
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x1:
>     0041bec2 8bec            mov     ebp,esp
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x3:
>     0041bec4 51              push    ecx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x4:
>     0041bec5 51              push    ecx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x5:
>     0041bec6 53              push    ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x6:
>     0041bec7 33db            xor     ebx,ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x8:
>     0041bec9 381da1704500    cmp     byte ptr [osloader!BlTerminalConnected (004570a1)],bl
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0xe:
>     0041becf 7507            jne     osloader!BlTerminalHandleLoaderFailure+0x17 (0041bed8)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x10:
>     0041bed1 b001            mov     al,1
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x12:
>     0041bed3 e966020000      jmp     osloader!BlTerminalHandleLoaderFailure+0x27d (0041c13e)
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27d:
>     0041c13e 5b              pop     ebx
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27e:
>     0041c13f c9              leave
>     kd> t
>     osloader!BlTerminalHandleLoaderFailure+0x27f:
>     0041c140 c3              ret
>     kd> t
>     osloader!NtProcessStartup+0x272:
>     0040e72b 84c0            test    al,al
>     kd> t
>     osloader!NtProcessStartup+0x274:
>     0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
>     kd> t
>     osloader!NtProcessStartup+0x276:
>     0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
>     kd> t
>     osloader!NtProcessStartup+0x265:
>     0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
>     kd> t
>     osloader!NtProcessStartup+0x26a:
>     0040e723 ff5014          call    dword ptr [eax+14h]
>     kd> t
>     osloader!AEReboot:
>     00402ad3 55              push    ebp
>     kd> t
>     osloader!AEReboot+0x1:
>     00402ad4 8bec            mov     ebp,esp
>     kd> t
>     osloader!AEReboot+0x3:
>     00402ad6 51              push    ecx
>     kd> t
>     osloader!AEReboot+0x4:
>     00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
>     kd> t
>     osloader!TextGrTerminate:
>     0040c0f1 33c0            xor     eax,eax
>     kd> t
>     osloader!TextGrTerminate+0x2:
>     0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
>     kd> t
>     osloader!TextGrTerminate+0x8:
>     0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
>     kd> t
>     osloader!TextGrTerminate+0xa:
>     0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
>     kd> t
>     osloader!TextGrTerminate+0xf:
>     0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
>     kd> t
>     osloader!TextGrTerminate+0x15:
>     0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
>     kd> t
>     osloader!TextGrTerminate+0x17:
>     0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd> t
>     osloader!TextGrTerminate+0x1c:
>     0040c10d 6a03            push    3
>     kd> t
>     osloader!TextGrTerminate+0x1e:
>     0040c10f 6800000080      push    80000000h
>     kd> t
>     osloader!TextGrTerminate+0x23:
>     0040c114 ff5018          call    dword ptr [eax+18h]
>     kd> t
>     00020eff 6858000000      push    58h
>     kd> t
>     00020f04 680a0f0000      push    0F0Ah
>     kd> t
>     00020f09 cb              retf
>     kd> t
>     0058:0f0a 6655            push    ebp
>     16.kd> t
>     0058:0f0c 6653            push    ebx
>     16.kd> t
>     0058:0f0e 6656            push    esi
>     16.kd> t
>     0058:0f10 6657            push    edi
>     16.kd> t
>     0058:0f12 6689e3          mov     ebx,esp
>     16.kd> t
>     0058:0f15 b86000          mov     ax,60h
>     16.kd> t
>     0058:0f18 8ed8            mov     ds,ax
>     16.kd> t
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3

#6868 | infuscomus | ⇗ @diderius6 can you try to do a jump over BlTerminalHandleLoaderFailure?

#6869

diderius6

⇗ @infuscomus
I find the place, from where this call happens in Master-ntldr
seg000:000108E7 loc_108E7: ; CODE XREF: seg000:000108DD j
seg000:000108E7 call sub_13F2F
seg000:000108EC call sub_4D38
seg000:000108F1 call sub_1DDF6
seg000:000108F6 call sub_71E0
seg000:000108FB push ebx
seg000:000108FC call sub_FDAA
seg000:00010901 test byte ptr ds:42FC2Ch, 1
seg000:00010908 jz short loc_10936 <----- if ZERO, jump to BlTerminalHandleLoaderFailure
seg000:0001090A push 4203A4h
seg000:0001090F call sub_EC5F
seg000:00010914 mov eax, ds:4222ECh
seg000:00010919 pop ecx
seg000:0001091A call dword ptr [eax+54h]
seg000:0001091D mov esi, eax

#6870 | infuscomus | ⇗ @diderius6 if you change to jnz, what happens?

## Page 459

#6871

diderius6

⇗ @infuscomus
I just change to NOP NOP
now I test
Dietmar
PS: Hack works. debugger still running..

    kd>
    osloader!NtProcessStartup+0x22d:
    0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
    kd>
    osloader!NtProcessStartup+0x232:
    0040e6eb 53              push    ebx
    kd>
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd>
    BD: 80A02000 \WINDOWS\system32\ntoskrnl.exe
    BD: 80100000 \WINDOWS\system32\hal.dll
    BD: 80010000 \WINDOWS\system32\kdcom.dll
    BD: 80001000 \WINDOWS\system32\PSHED.dll
    BD: 8000A000 \WINDOWS\system32\BOOTVID.dll
    BD: 80138000 \WINDOWS\system32\CLFS.SYS
    BD: 80173000 \WINDOWS\system32\CI.dll
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd> t
    osloader!NtProcessStartup+0x23f:
    0040e6f8 90              nop
    kd> t
    osloader!NtProcessStartup+0x240:
    0040e6f9 90              nop
    kd> t
    osloader!NtProcessStartup+0x241:
    0040e6fa 68a4034200      push    offset osloader!`string' (004203a4)
    kd> t
    osloader!NtProcessStartup+0x246:
    0040e6ff e84be3ffff      call    osloader!BlPrint (0040ca4f)
    kd> t
    osloader!BlPrint:
    0040ca4f 55              push    ebp
    kd> t
    osloader!BlPrint+0x1:
    0040ca50 8bec            mov     ebp,esp
    kd> t
    osloader!BlPrint+0x3:
    0040ca52 83ec10          sub     esp,10h
    kd> t
    osloader!BlPrint+0x6:
    0040ca55 a1a8244200      mov     eax,dword ptr [osloader!BlConsoleOutDeviceId (004224a8)]
    kd> t

#6872

diderius6

⇗ @infuscomus
But does not help much
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Thu Feb 25 12:01:53.325 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> bc *
    kd> bp 0040e6f1
    kd> g
    BD: 80A02000 \WINDOWS\system32\ntoskrnl.exe
    BD: 80100000 \WINDOWS\system32\hal.dll
    BD: 80010000 \WINDOWS\system32\kdcom.dll
    BD: 80001000 \WINDOWS\system32\PSHED.dll
    BD: 8000A000 \WINDOWS\system32\BOOTVID.dll
    BD: 80138000 \WINDOWS\system32\CLFS.SYS
    BD: 80173000 \WINDOWS\system32\CI.dll
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd> p
    osloader!NtProcessStartup+0x23f:
    0040e6f8 90              nop
    kd>
    osloader!NtProcessStartup+0x240:
    0040e6f9 90              nop
    kd>
    osloader!NtProcessStartup+0x241:
    0040e6fa 68a4034200      push    offset osloader!`string' (004203a4)
    kd>
    osloader!NtProcessStartup+0x246:
    0040e6ff e84be3ffff      call    osloader!BlPrint (0040ca4f)
    kd>
    osloader!NtProcessStartup+0x24b:
    0040e704 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x250:
    0040e709 59              pop     ecx
    kd>
    osloader!NtProcessStartup+0x251:
    0040e70a ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x254:
    0040e70d 8bf0            mov     esi,eax
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x256:
    0040e70f a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x25b:
    0040e714 ff5054          call    dword ptr [eax+54h]
    kd>
    osloader!NtProcessStartup+0x25e:
    0040e717 2bc6            sub     eax,esi
    kd>
    osloader!NtProcessStartup+0x260:
    0040e719 83f805          cmp     eax,5
    kd>
    osloader!NtProcessStartup+0x263:
    0040e71c 72f1            jb      osloader!NtProcessStartup+0x256 (0040e70f)
    kd>
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd>
    Shutdown occurred at (Thu Feb 25 12:04:31.529 2021 (UTC + 1:00))...unloading all symbol tables.
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Thu Feb 25 12:04:42.607 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols;C:\WINDOWS\symbols2
    Executable search path is: C:\WINDOWS\symbols
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3

#6873 | infuscomus | ⇗ @diderius6 infinite loop? also, what was the message the xpsp1 ntldr_dbg displayed?

#6874

diderius6

⇗ @infuscomus
No, it just gets comand to reboot

    BD: 80A02000 \WINDOWS\system32\ntoskrnl.exe
    BD: 80100000 \WINDOWS\system32\hal.dll
    BD: 80010000 \WINDOWS\system32\kdcom.dll
    BD: 80001000 \WINDOWS\system32\PSHED.dll
    BD: 8000A000 \WINDOWS\system32\BOOTVID.dll
    BD: 80138000 \WINDOWS\system32\CLFS.SYS
    BD: 80173000 \WINDOWS\system32\CI.dll
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd> t
    osloader!AEReboot:
    00402ad3 55              push    ebp
    kd> t
    osloader!AEReboot+0x1:
    00402ad4 8bec            mov     ebp,esp
    kd> t
    osloader!AEReboot+0x3:
    00402ad6 51              push    ecx
    kd> t
    osloader!AEReboot+0x4:
    00402ad7 e815960000      call    osloader!TextGrTerminate (0040c0f1)
    kd> t
    osloader!TextGrTerminate:
    0040c0f1 33c0            xor     eax,eax
    kd> t
    osloader!TextGrTerminate+0x2:
    0040c0f3 390594ed4200    cmp     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0x8:
    0040c0f9 7405            je      osloader!TextGrTerminate+0xf (0040c100)
    kd> t
    osloader!TextGrTerminate+0xa:
    0040c0fb a394ed4200      mov     dword ptr [osloader!DbcsLangId (0042ed94)],eax
    kd> t
    osloader!TextGrTerminate+0xf:
    0040c100 38054a304300    cmp     byte ptr [osloader!GraphicsMode (0043304a)],al
    kd> t
    osloader!TextGrTerminate+0x15:
    0040c106 7511            jne     osloader!TextGrTerminate+0x28 (0040c119)
    kd> t
    osloader!TextGrTerminate+0x17:
    0040c108 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!TextGrTerminate+0x1c:
    0040c10d 6a03            push    3
    kd> t
    osloader!TextGrTerminate+0x1e:
    0040c10f 6800000080      push    80000000h
    kd> t
    osloader!TextGrTerminate+0x23:
    0040c114 ff5018          call    dword ptr [eax+18h]
    kd> t
    00020eff 6858000000      push    58h
    kd> t
    00020f04 680a0f0000      push    0F0Ah
    kd> t
    00020f09 cb              retf
    kd> t
    0058:0f0a 6655            push    ebp
    16.kd> t
    0058:0f0c 6653            push    ebx
    16.kd> t
    0058:0f0e 6656            push    esi
    16.kd> t
    0058:0f10 6657            push    edi
    16.kd> t
    0058:0f12 6689e3          mov     ebx,esp
    16.kd> t
    0058:0f15 b86000          mov     ax,60h
    16.kd> t
    0058:0f18 8ed8            mov     ds,ax
    16.kd> t
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3

#6875

infuscomus

⇗ @diderius6
I think vistas ntoskrnl and hal might depend on winload.exe to work
I recall ⇗ @Gelip managed to get winload.exe of vista beta 5219 to work with XP (and I think that winload.exe build still supports boot.ini) over on betaarchive.
edit: It wasn't Gelip, but still someone got it working
⇗ https://www.betaarchive.com/forum/viewto...=433345#p433345

#6876

diderius6

⇗ @infuscomus
With the ntldr_dbg from XP SP1
XP boot runs much further, Hal is asked for PCI
Dietmar
PS: In the end comes message, that dlls for Kernel cant be found.
⇗ https://ufile.io/q8vpkb5y
EDIT: It seems to hang at MempSetupPaging.

#6877

infuscomus

⇗ @diderius6
I made an ntldr out of vista beta 5219 loader, maybe this might work - try it
make a backup because this is probably going to not be bootableinfuscomus has attached files to this post

- ⇗ ntldr_vista_beta_5219.zip

#6878 | diderius6 | ⇗ @infuscomus Interesting ) picture, means, this ntldr does not work with XP Dietmar ⇗
#6879 | infuscomus | ⇗ @diderius6 never seen that before anything output from the debugger? or completely dead?
#6880 | diderius6 | ⇗ @infuscomus The 3 files ntdetect.com, boot.ini and this ntldr do not work together, no Windbg output, just funny pic Dietmar

#6881

diderius6

I just notice,
that the newest Bochs version 2.6.11
does not run under XP SP3.
The version before, Bochs version 2.6.10 works under XP SP3
Dietmar
EDIT: The Bochs version 2.6.10 crashes for me with the settings from Tutorial of IDA Pro debug via Bochs
⇗ http://standa-note.blogspot.com/2014/11/...of-windows.html
So I use like in this article Bochs version 2.6.6.
First I thought, that it crashes also, but then I noticed it is only SOSO slow, installing XP SP3:))..
So, just now fun is going on. I want to debug the load of the bootsector(!).
The clock is really running faast in Bochs XP.
As faster the clock, the slower the install ), XP SP3 still installs..

#6882 | infuscomus | ⇗ @Gelip Can you show how to switch XP from using NTLDR bootloader to using bootmgr/winload loader? or otherwise have a prepatched XP VM? I would like to test to see if my patched vista ntoskrnl/hal needs the new loader to work.
#6883 | diderius6 | You can really debug with Bochs single(!) step by step the bootprocess of XP SP3. It is shown with an Pentium4 cpu at 300 MHZ, 1 Gb ram and acpi and USB, Dietmar PS: The debugger work together with Ida Pro 6 I try tomorrow. ⇗

#6884

diderius6

⇗ @infuscomus
I make small joke:
With vdk.exe I first make a copy of c.img file from Bochs, then open this copy as /rw the c.img file and delete there everything,
only boot.ini and ntdetect.com stay.
Then I copy your ntldr from Vista into this file,
type vdk stop
and start Bochs debugger.
Here is the result, not easy to understand but here you can see the crash of this ntldr
Dietmar
PS: Seems to be an endless loop at add byte ptr ds:[eax], al
Strange, this code isnt in this ntldr. Some garbage in memory, translated from stupid debugger to "Source Code" ?!
⇗

#6885

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6882

> Can you show how to switch XP from using NTLDR bootloader to using bootmgr/winload loader?

- rename ntldr to ntldr.bak
- copy bootmgr vista 5219 32-bit to C:
- copy winload.exe vista 5219 32-bit to C:\WINDOWS\system32
- add to boot.ini switch /usenewloader
- boot PC from a newer version Windows e.g. DVD Win7 setup, Shift+F10 to CMD, bootrec /fixboot

⇗ How to switch XP over to wibload bootloader?

## Page 460

#6886 | ruthan | How big victory is Bochs debugging? I mean: - you probably not fix Intel GPU or any gpu boot problems.. - you probably cant fix there that Intel 219 lan driver problems.. - if im not wrong has not also EFI mode to fix EFI boot problem.. So?

#6887

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6867

> BD: 80173000 \WINDOWS\system32\CI.dll

⇗ @diderius6 ...one thing that stands out is the file CI.dll which seems to have been the last file processed before the faults began. CI.dll is a file verification process. CI = code integrity.
⇗ https://www.cybereason.com/blog/code-int...look-into-cidll

#6888

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6884

> PS: Seems to be an endless loop at add byte ptr ds:[eax], al
> Strange, this code isnt in this ntldr. Some garbage in memory, translated from stupid debugger to "Source Code" ?!

⇗ @diderius6 ...whenever you see that code in a disassembly, it usually means the disassembler cannot disassemble the bytes correctly. If you analyze the opcodes where the code exists, it may give you a clue.
For some reason, some apps include data bytes within the executable code. The bytes mean something to the code flow in the proper context, but taken out of context, they are meaningless. That's why IDA is called an 'interactive' disassembler, it depends on the user to help it figure out byte sequences. On many occasions, I've had to mark a sequence of bytes as code or data to help it interpret the section of bytes.

#6889 | gordo999 | Anybody found XP drivers for a GT 1030 Nvidia card. Apparently the 900-series could be made to work on XP.

#6890

infuscomus

> Zitat von ⇗ gordo999 im Beitrag ¶ #6887

> > Zitat von ⇗ diderius6 im Beitrag ¶ #6867

> > BD: 80173000 \WINDOWS\system32\CI.dll

> ⇗ @diderius6 ...one thing that stands out is the file CI.dll which seems to have been the last file processed before the faults began. CI.dll is a file verification process. CI = code integrity.
> ⇗ https://www.cybereason.com/blog/code-int...look-into-cidll

⇗ @diderius6
I think ⇗ @gordo999 is right, I just switched over to vista beta 5219 bootmgr/winload.exe - thanks ⇗ @Gelip - and after I confirmed that it could boot vanilla XP I tested my modded kernel and I got an error referring to CI.dll being missing or corrupt, I confirmed the file is there and I have not modified it in any way.
⇗ @diderius6
Do you think you could hack CI.dll to skip the check? I can send you my XP VM if you want.

#6891

infuscomus

> Zitat von ⇗ gordo999 im Beitrag ¶ #6889

> Anybody found XP drivers for a GT 1030 Nvidia card. Apparently the 900-series could be made to work on XP.

⇗ @gordo999
There are none that I know of anyway,
but if my modded vista ntoskrnl/hal can be made to boot XP then it should work.

#6892

diderius6

⇗ @infuscomus
"to vista beta 5219 bootmgr/winload.exe"
on most real newer compis this does not work for XP,
as you can see here by post from ⇗ @skullteria .
And it is a hard way to overcome any check for signature or something like this.
acpi.sys from Vista does not need the file CI.dll, as I tested.
I think, ntoskrnl.exe from Vista looks for it and so the modd should happen there
Dietmar
PS: Always the question is, what you want to reach. A file, working in XP or in Vista.
For to make a 1030 Nvidia card to work with XP, I think the only way is to enable the new driver model for graphik from Vista for XP. This is, what ⇗ @skullteria is working on.

#6893

infuscomus

⇗ @diderius6

> Zitat

> PS: Always the question is, what you want to reach.

basically boot XP using ntoskrnl/hal - a very difficult goal to reach.
can you mod my ntoskrnl or ci.dll to skip the integrity check? I'm not sure how to do it myself.
P.S If we can get vista ntoskrnl/hal to boot XP then we could also switch to vista RTM bootmgr/winload too, so we wont necessarily need the vista beta boot loader.

#6894

diderius6

⇗ @infuscomus
From my tests long time ago I know,
that for a XP boot with vista ntoskrnl/hal you need a lot more dlls,
for which ntoskrnl.exe asks.
In the end, it is Vista.
For to overcome the check in PE header, you can use ResourceHacker.exe
⇗ http://www.angusj.com/resourcehacker/#download
just open the modded file and store it again
Dietmar

#6895

infuscomus

> Zitat von ⇗ diderius6 im Beitrag ¶ #6894

> For to overcome the check in PE header, you can use ResourceHacker.⇗ exehttp://www.angusj.com/resourcehacker/#downloadjust open the modded file and store it againDietmar

⇗ @diderius6
what do you mean by open the file and store it again?

#6896 | diderius6 | ⇗ @infuscomus Click on ResourceHacker.exe and open the wished file. Then save it again. Nothing more. Nice program. It works for modded *.exe files, *.dlls but not for *.com or ntldr Dietmar

#6897

infuscomus

⇗ @diderius6
how will doing this help with the integrity check problem though?
I think what is happening (from what I read in the blog linked to) CI.dll is looking for the Microsoft certificate at the end of the ntoskrnl.exe file, which I took out to add in my removed XP code, so since the certificate isn't there it complains.
I think I'm going to need to learn how to make a BCD and use the vista RTM bootloader since it allows DISABLE_INTEGRITY_CHECKS

#6898 | diderius6 | ⇗ @infuscomus Make try with ResourceHacker.exe Dietmar
#6899 | skullteria | I think winload/bootmgr from Longhorn 5048 until Vista 5308 not work on Real Computer Since First generation of Core i (3,5 and 7). On core 2 Duo or lower works
#6900 | infuscomus | ⇗ @diderius6 no change, still error about CI.dll

## Page 461

#6901 | infuscomus | ⇗ @Gelip I want to make a BCD for use with vista RTM bootmgr/winload.exe since I now want to use DISABLE_INTEGRITY_CHECKS option - I recall you saying BOOTICE was a good option to make one from scratch, it doesn't have a vista option though, only windows 7, would this still work?

#6902

Gelip

⇗ @infuscomus
Try BCD and bootmgr+winload.exe from Vista SP2, but for me have BSOD 4E on MS VPC 2007:
⇗
You need fix ApplicationDevice and OSDevice path in BCD file e.g. with BootICE and boot PC pressing F8 to select Disable Driver Signature Enforcement from menu Advanced Boot OptionsGelip has attached files to this post

- ⇗ Boot_Vista.zip

#6903

infuscomus

I got a message saying
\windows\system32\ntkrnlpa.exe
Windows could not verify the signature for this file
I enabled testsigning, nointegritychecks and DDISABLE_INTEGRITY_CHECKS in the BCD but none of them helped - there must be another check somewhere
EDIT:
I got the same error message with both original XP ntoskrnl/ntkrnlpa.exe and my modded vista ntoskrnl/ntkrnlpa.exe

#6904 | diderius6 | ⇗ @infuscomus When you enable Debug modus with bootice, this message is gone Dietmar
#6905 | infuscomus | ⇗ @diderius6 where is the debug mode option in bootice?
#6906 | diderius6 | ⇗ @infuscomus BC EDit, professional mode, right click in table "new entry" Dietmar

#6907

infuscomus

⇗ @diderius6
I tried this but the message persists
I've attached my BCDinfuscomus has attached files to this post

- ⇗ myexperimentalbcd.zip

#6908

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #6891

> There are none that I know of anyway,
> but if my modded vista ntoskrnl/hal can be made to boot XP then it should work.

⇗ @infuscomus .....I wish you luck in your project. Wish I could contribute more...I'd like to...but I'm up to my butt in alligators at the moment.

#6909

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6892

> For to make a 1030 Nvidia card to work with XP, I think the only way is to enable the new driver model for graphik from Vista for XP. This is, what @skullteria is working on.

⇗ @diderius6 ...thanks for info. I am surprised that XP works on the GT 1030 at all but it's stable in a super-VGA mode. Good enough to work with XP if I don't want 3-D graphics.

#6910

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #6897

> I think what is happening (from what I read in the blog linked to) CI.dll is looking for the Microsoft certificate at the end of the ntoskrnl.exe file, which I took out to add in my removed XP code, so since the certificate isn't there it complains.

⇗ @diderius6 ....Microsoft may have made the certificate check difficult to bypass but they may also have made it a simple yes/no check. That would come down to a test or compare followed by a conditional jump.

#6911

Gelip

⇗ @infuscomus
Try files from beta Longhorn Server 2008 6.0.6001.16497 32-bit and Disable Driver Signature Enforcement. It works for me :-)
P.S. To enable kernel debugger add these options in BootICE:
⇗ Gelip has attached files to this post

- ⇗ 2008_32-bit.zip

#6912 | diderius6 | ⇗ @gordo999 "they may also have made it a simple yes/no check. " Can you please tell the exact place, where this check happens, have a nice day Dietmar
#6913 | diderius6 | ⇗ @infuscomus How to set up this virtual machine? Until now, I have had only one *.img file for to boot in Qemu or Bochs Dietmar
#6914 | infuscomus | ⇗ @diderius6 VMWare player ⇗ https://www.vmware.com/us/products/works...evaluation.html

#6915

diderius6

⇗ @infuscomus
I just notice, that the VMware-player-16.1
needs at least Win8 for to be installed.
Because I have had no working Win8.1 install, I am just doing this.
Question will be, how to debug a VM with XP. May be, it can be done from Win8.1 OS surrounding
Dietmar
EDIT: VMware-player-16.1 also does not run on win8.1 32 bit, brrr..

## Page 462

#6916 | infuscomus | ⇗ @diderius6 I can make a .vhd of this VM using paragon, then you should be able to boot it directly - should I make a vhd?
#6917 | jonathan_hzs | ?

#6918

diderius6

⇗ @infuscomus
Yes, make a vhd from it and send to me. For to debug, this will give more correct results.
Can I just use the Paragon program, for to install this vhd direct to harddisk?
Question is, if this VM works on real compi
Dietmar
PS: Anyway I just set up a brandnew Win8.1. So I can test all.
Now I have normal Startmenu back, so that I can work with win8.1.
⇗

#6919 | infuscomus | ⇗ @diderius6 I PMed you the VHD that you can also restore with paragon.

#6920

diderius6

⇗ @infuscomus
I download your vhd file.
In the end of the installation of win8.1
it tells me: Ordinal 907 can't be found in the dynamic link library mshtml.dll
and I cant run Windows Update, even it is my original DVD with key.
What a garbage
Dietmar
EDIT: I think, this happens because I upgraded from Win8.
Ok, format harddisk new. Then I set direct up the win8.1.iso from Microsoft with my key.
Now I am ready with all drivers and updates for win8.1 32 bit.

#6921 | infuscomus | ⇗ @diderius6 This might be blasphemy here, but try windows 10, you don't lose much leaving it unactivated.

#6922

infuscomus

⇗ @diderius6
bootice might have broken the BCD in the VHD I sent you when I first tried to enable debugging - if you get a winload.exe error this should fix it.infuscomus has attached files to this post

- ⇗ bcddbg.zip

#6923

galagun

> Zitat von ⇗ infuscomus im Beitrag ¶ #6893

> P.S If we can get vista ntoskrnl/hal to boot XP then we could also switch to vista RTM bootmgr/winload too, so we wont necessarily need the vista beta boot loader.

If you read the posts in betaarchive thread about XP in UEFI, has been already stated Bootmgr/Winload from WinVista RTM actually can load XP SP3 and Win2003 SP2. But back them was deemed useless, as WinVista RTM only has *.efi loader files for 64bit uefi firmware flavors (they wanted to boot xp32 and 2003-32 in uefi, that was the goal after all). Only Beta versions of longhorn have 32bit versions of uefi loader, and then it gets removed and doesn't come back until Win8 and some longhorn server betas.
Also, Vista RTM Bootmgr/Winload PCAT versions (exe files), and the UEFI64 efi files included, are the last ones which can load XP and Win2003 with no modifications (from released product, no betas here). SP1 can't anymore. It hangs in very early Kernel init stages (before windbg kernel debugger gets up), and causes exceptions in Virtual Machines.

#6924 | infuscomus | ⇗ @galagun I was able to boot XP with vista beta 5219 files, but I have not succeeded with vista RTM files as of yet.
#6925 | galagun | ⇗ @infuscomus Right now I don't have time... But tomorrow may share my BCD database so it can be tested by you guys. But I state again... It works, I have seen it functional and working. I can't say the same from SP1 Vista files.
#6926 | infuscomus | ⇗ @galagun Can you PM this to me when you are able? I'm trying to get this to work right now without much luck.
#6927 | galagun | ⇗ @infuscomus Sure. I hope tomorrow having plenty of time... I also want to get this up to new levels.

#6928

infuscomus

> Zitat von ⇗ Gelip im Beitrag ¶ #6911

> @infuscomus
> Try files from beta Longhorn Server 2008 6.0.6001.16497 32-bit and Disable Driver Signature Enforcement. It works for me :-)
> P.S. To enable kernel debugger add these options in BootICE:
> ⇗

⇗ @Gelip
Thanks,
I got a bit further with this - but still stuck at "Starting Windows Vista" so my install might be borked - I'll reinstall and try again.

#6929

YuriyCN

Windows XP mod 2021 - system build for the modern PC (edition 27.02.2021)
The information doesn't fit into a forum post for a long time - so download the text file and read it in Notepad. Always use the latest version of the methodology, as the information is constantly changing and the methodology is supplemented.
TXT-file (84kB, ENGLISH) - ⇗ https://yadi.sk/d/kCpA2FbTmqZMLA
TXT-file (87kB, RUSSIAN) - ⇗ https://yadi.sk/d/cUNXHjS1OvL4og

#6930

infuscomus

> Zitat

> files from beta Longhorn Server 2008 6.0.6001.16497 32-bit and Disable Driver Signature Enforcement.

⇗ @Gelip
So, I tried these files you suggested on a fresh install - 7E BSOD
any tips?

## Page 463

#6931

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6928

> but still stuck at "Starting Windows Vista" so my install might be borked - I'll reinstall and try again.

Turn on debug and check in WinDbg - I bet it's a problem with your graphics card driver.

#6932

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6930

> So, I tried these files you suggested on a fresh install - 7E BSOD
> any tips?

⇗ https://www.betaarchive.com/forum/viewto...=446113#p446113

#6933 | infuscomus | ⇗ @Gelip So, if I'm reading this right, I should take vgapnp.sys from vista?

#6934

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6933

> So, if I'm reading this right, I should take vgapnp.sys from vista?

No.
I had this 7E error when I tried to install the Longhorn beta.
You only use a few Longhorn files in WinXP and you also get this 7E error.
I do not know what it depends on. This is what the WinDbg log looks like when I tried to install Longhorn x86 on ASUS P8H61-M LE R2 -> ⇗ Link

    Probably caused by : ntkrpamp.exe ( nt!TmInitSystem+4bda )

#6935 | infuscomus | ⇗ @Gelip what do I do if I get a black screen?

#6936

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6935

> what do I do if I get a black screen?

I don't know.
I had a black screen but with a white bar on the Vista 5384 loaders - ⇗ Link

#6937 | infuscomus | ⇗ @Gelip I removed bootdebug and nointegritychecks from my BCD, now black screen is gone and 7E BSOD is back this 7E BSOD is with XP ntoskrnl/hal.

#6938

diderius6

⇗ @infuscomus
I test your vhd file.
First I change the BCD like you told.
Then I get Bsod 0xC000000E
and the message, that winload is defect.
Winload is there, I looked. And Windbg does not start.
So the Bsod happens very early or the settings in Serial Debug, kernel debug, port1, baudrate=115200
are not correct in BCD.
Before with my own tries I tested, that this Vista files together with XP SP3 can be debugged with Windbg
Dietmar
PS: I edit your BCD for debugging and now Windbg

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 6001 x86 compatible target at (Sun Feb 28 00:42:28.750 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols
    *** ERROR: Module load completed but symbols could not be loaded for bootmgr
    Windows Boot Debugger Kernel Version 6001 UP Free x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x00502258
    System Uptime: not available
    MUI: \Boot\en-US\bootmgr.EXE.MUI checksum does not match primary file checksum

    An error occurred (c000000e) while attempting to load the boot application \Windows\system32\winload.exe

    *** Fatal Error 0x00000001 :
                    (0x00000002, 0x001B4A84, 0xC000000E, 0x00000000)

    Break instruction exception - code 80000003 (first chance)
    *** ERROR: Module load completed but symbols could not be loaded for bootmgr
    bootmgr+0x2ab48:
    0042ab48 cc              int     3
    kd> !analyze -v
    Connected to Windows Boot Debugger 6001 x86 compatible target at (Sun Feb 28 00:42:43.859 2021 (UTC + 1:00)), ptr64 FALSE
    *** ERROR: Module load completed but symbols could not be loaded for bootmgr
    Loading Kernel Symbols

    Loading User Symbols
    Unable to resolve nt!KiBugCheckData
    *******************************************************************************
    *                                                                             *
    *                        Exception Analysis                                   *
    *                                                                             *
    *******************************************************************************

    FAULTING_IP:
    bootmgr+2ab48
    0042ab48 cc              int     3

    EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
    ExceptionAddress: 0042ab48 (bootmgr+0x0002ab48)
       ExceptionCode: 80000003 (Break instruction exception)
      ExceptionFlags: 00000000
    NumberParameters: 1
       Parameter[0]: 00000000

    DEFAULT_BUCKET_ID:  STATUS_BREAKPOINT

    ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

    EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

    EXCEPTION_PARAMETER1:  00000000

    MOD_LIST: <ANALYSIS/>

    FAULTING_THREAD:  00000001

    PRIMARY_PROBLEM_CLASS:  STATUS_BREAKPOINT

    BUGCHECK_STR:  APPLICATION_FAULT_STATUS_BREAKPOINT

    LAST_CONTROL_TRANSFER:  from 00401f7e to 0042ab48

    STACK_TEXT:
    WARNING: Stack unwind information not available. Following frames may be wrong.
    00061ec8 00401f7e 00000002 c000000e 0016ab80 bootmgr+0x2ab48
    00061f34 00401a14 001b4a84 00000000 00061f6b bootmgr+0x1f7e
    00061f6c 004012aa 0016ab80 00000000 00000001 bootmgr+0x1a14
    00061ff0 00020a9a 00025338 448bc0c3 f1eb04c7 bootmgr+0x12aa
    00000000 f000eef3 f000e2c3 f000eef3 f000eef3 0x20a9a
    00000000 00000000 f000e2c3 f000eef3 f000eef3 0xf000eef3

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    bootmgr+2ab48
    0042ab48 cc              int     3

    SYMBOL_STACK_INDEX:  0

    SYMBOL_NAME:  bootmgr+2ab48

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: bootmgr

    IMAGE_NAME:  bootmgr

    DEBUG_FLR_IMAGE_TIMESTAMP:  460dce46

    FAILURE_BUCKET_ID:  STATUS_BREAKPOINT_80000003_bootmgr!Unknown

    BUCKET_ID:  APPLICATION_FAULT_STATUS_BREAKPOINT_bootmgr+2ab48

    Followup: MachineOwner
    ---------

EDIT: I break very early into
and this is the result

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 6001 x86 compatible target at (Sun Feb 28 00:51:11.906 2021 (UTC + 1:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\WINDOWS\symbols
    Executable search path is: C:\WINDOWS\symbols
    *** ERROR: Module load completed but symbols could not be loaded for bootmgr
    Windows Boot Debugger Kernel Version 6001 UP Free x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x00502258
    System Uptime: not available
    User requested boot debugger break!
    Break instruction exception - code 80000003 (first chance)
    *** ERROR: Module load completed but symbols could not be loaded for bootmgr
    bootmgr+0x2ab48:
    0042ab48 cc              int     3
    kd> p
    bootmgr+0x2ab49:
    0042ab49 c3              ret
    kd>
    bootmgr+0x59a3:
    004059a3 84db            test    bl,bl
    kd>
    bootmgr+0x59a5:
    004059a5 7408            je      bootmgr+0x59af (004059af)
    kd>
    bootmgr+0x59a7:
    004059a7 ff75fc          push    dword ptr [ebp-4]
    kd>
    bootmgr+0x59aa:
    004059aa e881100200      call    bootmgr+0x26a30 (00426a30)
    kd>
    bootmgr+0x59af:
    004059af 5e              pop     esi
    kd>
    bootmgr+0x59b0:
    004059b0 5b              pop     ebx
    kd>
    bootmgr+0x59b1:
    004059b1 c9              leave
    kd>
    bootmgr+0x59b2:
    004059b2 c3              ret
    kd>
    bootmgr+0x5b3f:
    00405b3f eb23            jmp     bootmgr+0x5b64 (00405b64)
    kd>
    bootmgr+0x5b64:
    00405b64 5f              pop     edi
    kd>
    bootmgr+0x5b65:
    00405b65 5e              pop     esi
    kd>
    bootmgr+0x5b66:
    00405b66 8bc3            mov     eax,ebx
    kd>
    bootmgr+0x5b68:
    00405b68 5b              pop     ebx
    kd>
    bootmgr+0x5b69:
    00405b69 c9              leave
    kd>
    bootmgr+0x5b6a:
    00405b6a c3              ret
    kd>
    bootmgr+0x1d89a:
    0041d89a e820860000      call    bootmgr+0x25ebf (00425ebf)
    kd>
    bootmgr+0x1d89f:
    0041d89f 53              push    ebx
    kd>
    bootmgr+0x1d8a0:
    0041d8a0 e8b249ffff      call    bootmgr+0x12257 (00412257)
    kd>
    bootmgr+0x1d8a5:
    0041d8a5 e8ef390000      call    bootmgr+0x21299 (00421299)
    kd>
    MUI: \Boot\en-US\bootmgr.EXE.MUI checksum does not match primary file checksum
    bootmgr+0x1d8aa:
    0041d8aa 33c0            xor     eax,eax
    kd>
    bootmgr+0x1d8ac:
    0041d8ac eb09            jmp     bootmgr+0x1d8b7 (0041d8b7)
    kd>
    bootmgr+0x1d8b7:
    0041d8b7 5f              pop     edi
    kd>
    bootmgr+0x1d8b8:
    0041d8b8 5e              pop     esi
    kd>
    bootmgr+0x1d8b9:
    0041d8b9 5b              pop     ebx
    kd>
    bootmgr+0x1d8ba:
    0041d8ba 5d              pop     ebp
    kd>
    bootmgr+0x1d8bb:
    0041d8bb c20400          ret     4
    kd>
    bootmgr+0x1143:
    00401143 85c0            test    eax,eax
    kd>
    bootmgr+0x1145:
    00401145 7d0b            jge     bootmgr+0x1152 (00401152)
    kd>
    bootmgr+0x1152:
    00401152 e8290e0000      call    bootmgr+0x1f80 (00401f80)
    kd>
    bootmgr+0x1157:
    00401157 e834020200      call    bootmgr+0x21390 (00421390)
    kd>
    bootmgr+0x115c:
    0040115c 85c0            test    eax,eax
    kd>
    bootmgr+0x115e:
    0040115e 7517            jne     bootmgr+0x1177 (00401177)
    kd>
    bootmgr+0x1177:
    00401177 50              push    eax
    kd>
    bootmgr+0x1178:
    00401178 e867c10200      call    bootmgr+0x2d2e4 (0042d2e4)
    kd>
    bootmgr+0x117d:
    0040117d 8bd8            mov     ebx,eax
    kd>
    bootmgr+0x117f:
    0040117f 85db            test    ebx,ebx
    kd>
    bootmgr+0x1181:
    00401181 7d12            jge     bootmgr+0x1195 (00401195)
    kd>
    bootmgr+0x1195:
    00401195 8b5c241c        mov     ebx,dword ptr [esp+1Ch]
    kd>
    bootmgr+0x1199:
    00401199 85db            test    ebx,ebx
    kd>
    bootmgr+0x119b:
    0040119b c644241201      mov     byte ptr [esp+12h],1
    kd>
    bootmgr+0x11a0:
    004011a0 0f8c1c020000    jl      bootmgr+0x13c2 (004013c2)
    kd>
    bootmgr+0x11a6:
    004011a6 8d442413        lea     eax,[esp+13h]
    kd>
    bootmgr+0x11aa:
    004011aa 50              push    eax
    kd>
    bootmgr+0x11ab:
    004011ab 8d442414        lea     eax,[esp+14h]
    kd>
    bootmgr+0x11af:
    004011af 50              push    eax
    kd>
    bootmgr+0x11b0:
    004011b0 b8c00f4800      mov     eax,offset bootmgr+0x80fc0 (00480fc0)
    kd>
    bootmgr+0x11b5:
    004011b5 c70534cd4700b62a4000 mov dword ptr [bootmgr+0x7cd34 (0047cd34)],offset bootmgr+0x2ab6 (00402ab6)
    kd>
    bootmgr+0x11bf:
    004011bf c70540cd470002304000 mov dword ptr [bootmgr+0x7cd40 (0047cd40)],offset bootmgr+0x3002 (00403002)
    kd>
    bootmgr+0x11c9:
    004011c9 c70544cd4700af314000 mov dword ptr [bootmgr+0x7cd44 (0047cd44)],offset bootmgr+0x31af (004031af)
    kd>
    bootmgr+0x11d3:
    004011d3 c70548cd47001d324000 mov dword ptr [bootmgr+0x7cd48 (0047cd48)],offset bootmgr+0x321d (0040321d)
    kd>
    bootmgr+0x11dd:
    004011dd e8baf90100      call    bootmgr+0x20b9c (00420b9c)
    kd>
    bootmgr+0x11e2:
    004011e2 807c241000      cmp     byte ptr [esp+10h],0
    kd>
    bootmgr+0x11e7:
    004011e7 750f            jne     bootmgr+0x11f8 (004011f8)
    kd>
    bootmgr+0x11f8:
    004011f8 8d442414        lea     eax,[esp+14h]
    kd>
    bootmgr+0x11fc:
    004011fc e82f200000      call    bootmgr+0x3230 (00403230)
    kd>
    bootmgr+0x1201:
    00401201 8bd8            mov     ebx,eax
    kd>
    bootmgr+0x1203:
    00401203 85db            test    ebx,ebx
    kd>
    bootmgr+0x1205:
    00401205 0f8cb7010000    jl      bootmgr+0x13c2 (004013c2)
    kd>
    bootmgr+0x120b:
    0040120b e89dec0100      call    bootmgr+0x1fead (0041fead)
    kd>
    bootmgr+0x1210:
    00401210 6840364500      push    offset bootmgr+0x53640 (00453640)
    kd>
    bootmgr+0x1215:
    00401215 e812c30200      call    bootmgr+0x2d52c (0042d52c)
    kd>
    bootmgr+0x121a:
    0040121a c605b024500000  mov     byte ptr [bootmgr+0x1024b0 (005024b0)],0
    kd>
    bootmgr+0x1221:
    00401221 33c0            xor     eax,eax
    kd>
    bootmgr+0x1223:
    00401223 bf02000024      mov     edi,24000002h
    kd>
    bootmgr+0x1228:
    00401228 eb04            jmp     bootmgr+0x122e (0040122e)
    kd>
    bootmgr+0x122e:
    0040122e 33f6            xor     esi,esi
    kd>
    bootmgr+0x1230:
    00401230 39742418        cmp     dword ptr [esp+18h],esi
    kd>
    bootmgr+0x1234:
    00401234 8974241c        mov     dword ptr [esp+1Ch],esi
    kd>
    bootmgr+0x1238:
    00401238 c644241000      mov     byte ptr [esp+10h],0
    kd>
    bootmgr+0x123d:
    0040123d 0f85e6000000    jne     bootmgr+0x1329 (00401329)
    kd>
    bootmgr+0x1243:
    00401243 8d442430        lea     eax,[esp+30h]
    kd>
    bootmgr+0x1247:
    00401247 50              push    eax
    kd>
    bootmgr+0x1248:
    00401248 8d44242c        lea     eax,[esp+2Ch]
    kd>
    bootmgr+0x124c:
    0040124c 50              push    eax
    kd>
    bootmgr+0x124d:
    0040124d 57              push    edi
    kd>
    bootmgr+0x124e:
    0040124e ff35d40f4800    push    dword ptr [bootmgr+0x80fd4 (00480fd4)]
    kd>
    bootmgr+0x1254:
    00401254 8974243c        mov     dword ptr [esp+3Ch],esi
    kd>
    bootmgr+0x1258:
    00401258 e84dc90100      call    bootmgr+0x1dbaa (0041dbaa)
    kd>
    bootmgr+0x125d:
    0040125d 85c0            test    eax,eax
    kd>
    bootmgr+0x125f:
    0040125f 7d6b            jge     bootmgr+0x12cc (004012cc)
    kd>
    bootmgr+0x1261:
    00401261 89742418        mov     dword ptr [esp+18h],esi
    kd>
    bootmgr+0x1265:
    00401265 8d442413        lea     eax,[esp+13h]
    kd>
    bootmgr+0x1269:
    00401269 50              push    eax
    kd>
    bootmgr+0x126a:
    0040126a 8d442420        lea     eax,[esp+20h]
    kd>
    bootmgr+0x126e:
    0040126e 50              push    eax
    kd>
    bootmgr+0x126f:
    0040126f ff74241c        push    dword ptr [esp+1Ch]
    kd>
    bootmgr+0x1273:
    00401273 e85e040000      call    bootmgr+0x16d6 (004016d6)
    kd>
    bootmgr+0x1278:
    00401278 8bd8            mov     ebx,eax
    kd>
    bootmgr+0x127a:
    0040127a 3bde            cmp     ebx,esi
    kd>
    bootmgr+0x127c:
    0040127c 0f8c1b010000    jl      bootmgr+0x139d (0040139d)
    kd>
    bootmgr+0x1282:
    00401282 807c241300      cmp     byte ptr [esp+13h],0
    kd>
    bootmgr+0x1287:
    00401287 0f8510010000    jne     bootmgr+0x139d (0040139d)
    kd>
    bootmgr+0x128d:
    0040128d 8b442414        mov     eax,dword ptr [esp+14h]
    kd>
    bootmgr+0x1291:
    00401291 3bc6            cmp     eax,esi
    kd>
    bootmgr+0x1293:
    00401293 7409            je      bootmgr+0x129e (0040129e)
    kd>
    bootmgr+0x1295:
    00401295 e8aa2d0000      call    bootmgr+0x4044 (00404044)
    kd>
    bootmgr+0x129a:
    0040129a 89742414        mov     dword ptr [esp+14h],esi
    kd>
    bootmgr+0x129e:
    0040129e 6a01            push    1
    kd>
    bootmgr+0x12a0:
    004012a0 56              push    esi
    kd>
    bootmgr+0x12a1:
    004012a1 ff742424        push    dword ptr [esp+24h]
    kd>
    bootmgr+0x12a5:
    004012a5 e8bf060000      call    bootmgr+0x1969 (00401969)
    kd>

    An error occurred (c000000e) while attempting to load the boot application \Windows\system32\winload.exe

    *** Fatal Error 0x00000001 :
                    (0x00000002, 0x001B4A84, 0xC000000E, 0x00000000)

After this I set a breakpoint at 004012a5
Then soon comes an endless loop.

#6939

diderius6

⇗ @infuscomus
I take a look at the Bsod c000000e .
This can happen, when you changed the boot partition.
Then winload.exe cant be found.
Because of those crazy problems, I work always with a real and only one harddisk at the compi, which should be debugged.
Dietmar

#6940

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6912

> Can you please tell the exact place, where this check happens,
> have a nice dayDietmar

⇗ @diderius6 ...apparently XP does not use integrity checks using CI.dll. I don't have the Vista ntoskrnl but in the W7 ntoskrl (6.1.7601.24387), CI.dll is called from address:

    00000001'403B13F3    call CIInitialize

Someone with the Vista ntoskrnl should look to see if CIInitialize is listed as an import in Vista ntoskrnl. That's how ntoskrnl calls CI.dll and apparently it is the only static linking for CI.dll.
Apparently, if the option during boot at F8 is set to disable security checks is set, it bypasses CI.dll. Or, if debug mode is set it bypasses it, also, during a remote kernel debug session. The problem seems to be that XP does not have that option because it doesn't need it. I am wondering if the option could be added in the XP boot loading system.
If you look back in the W7 ntoskrnl a few steps, you see it checking if DISABLE_INTEGRITY_CHECKS at 1'403B13AC call SepIsOptionPresent. If you trace into that call you see a 'call strstr'. It seems to be comparing the DISABLE_INTEGRITY_CHECKS string to the same string stored elsewhere. I presume that when security checks are disabled, the DISABLE_INTEGRITY_CHECKS string is stored somewhere.
If the strings compare, it moves 1 to ebx at 1'403A2E9D and returns. However, it does more before returning, it MOVs values to rsi, eax,and rbx. Then it adjusts the stack by 0x20 and pops rdi. Then it does the same with the string 'TESTSIGNING'.
Keep in mind that the last call to SepIsOptionPresent set eax = 1. It will still be set to 1. There is a cmp eax to ebx before the second call, and I have no way of knowing without tracing the code what is stored in ebx, It seems to be important because the same comparison is made following the call.
I am thinking that if you can set the code so that it is always seeing DISABLE_INTEGRITY_CHECKS that may solve your problem, even though it calls CIInitialize at 1'403B13F3. Don't know how to do that exactly without tracing the code. Note at 1'403B13C6, after the first integrity check call, that a compare is made between eax and ebx. That is followed by cmovnz edi, ebx. That is a condional MOV which depends on the state of the compare. It says move if not zero which is the same as move if not equal. So, if ebx does not equal eax, it moves ebx to edi.
There is good information here:
⇗ https://j00ru.vexillium.org/2010/06/insi...re-enforcement/
Here's an example of how a kernel rootkit bypassed it. People who do online banking should be aware that a kernel rootkit can hide itself from any user mode protection. The rootkit, in the form of a keylogger, can read keyboard keystrokes and even read the screen input. My bank had no idea such a rootkit existed.
⇗ https://www.sekoia.fr/blog/windows-drive...ass-by-derusbi/
Another very good article on CL.dll:
⇗ https://www.cybereason.com/blog/code-int...look-into-cidll

#6941

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6937

> I removed bootdebug and nointegritychecks from my BCD, now black screen is gone and 7E BSOD is back
> this 7E BSOD is with XP ntoskrnl/hal.

7E depends on the hardware, but I don't know what exactly does not fit. WinXP 32-bit works on Longhorn Server 2008 16497 32-bit files, but on old hardware - I tested Celeron-S 1.2GHz, NB Intel i815E
P.S. WinXP 64-bit works fine on UEFI 64-bit with .efi files from Longhorn Server 2008 16497 64-bit
WinXP 32-bit starts fine under UEFI 32-bit with Vista 5219 files (tested virtual machine and ⇗ UEFI DUET 32-bit on real old hardware)
Today computers mostly have UEFI 64-bit. Probably to run WinXP 32-bit under UEFI 64-bit you need UEFI OS loader compiled as EBC - EFI Byte Code:
⇗
EBC application works on UEFI 32-bit and UEFI 64-bit. Some UEFI bios may not have the EBC implemented - this can be checked using the ⇗ checkebc.efi utility. If the bios doesn't have the EBC you can load the EBC driver ⇗ EBCx64.efi:
⇗ ⇗ ⇗

#6942

infuscomus

⇗ @diderius6
This is the fix I use for winload.exe not found - check your GUID ID
1. Boot Win7 x86 ISO
2. Shift+F10 for command prompt
3. type C:
4. type cd boot
5. type bcdedit /set {whatever-GUID-it-is-using} device partition=C:
6. type bcdedit /set {whatever-GUID-it-is-using} osdevice partition=C:
7. exit
winload.exe not found should be gone now.

#6943

Gelip

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #6942

> This is the fix I use for winload.exe not found - check your GUID ID
> 1. Boot Win7 x86 ISO
> 2. Shift+F10 for command prompt
> 3. type C:
> 4. type cd boot
> 5. type bcdedit /set {whatever-GUID-it-is-using} device partition=C:
> 6. type bcdedit /set {whatever-GUID-it-is-using} osdevice partition=C:
> 7. exit
> winload.exe not found should be gone now.

In BootICE you can do it easier:
⇗

#6944 | diderius6 | ⇗ @infuscomus After I repaired BCD, now I get message, that the digital signature of ntkrnlpa.exe cannot be verified, even it runs with debug and this test disabled in BCD Dietmar
#6945 | infuscomus | ⇗ @diderius6 This is the same point I got up to, I couldn't get my modded vista kernel to boot. With unmodded XP kernel I get 7E BSOD with this boot loader.

## Page 464

#6946

diderius6

⇗ @infuscomus
I just try something, what ⇗ @gordo999 tells about ci.dll .
In a first try, I nop nop nop nop nop the call of
PAGE:0067EF7A call CiInitialize
in ntkrnlpa.exe
This hacked ntkrnlpa.exe I then open and store again with resource Hacker
Dietmar

    PAGE:0067EF78                 push    ecx
    PAGE:0067EF79                 push    ebx
    PAGE:0067EF7A                 nop
    PAGE:0067EF7B                 nop
    PAGE:0067EF7C                 nop
    PAGE:0067EF7D                 nop
    PAGE:0067EF7E                 nop
    PAGE:0067EF7F                 pop     edi
    PAGE:0067EF80                 pop     esi
    PAGE:0067EF81                 pop     ebx
    PAGE:0067EF82

    PAGE:0067EF82 locret_67EF82: ; CODE XREF: sub_67EF03+13 j
    PAGE:0067EF82                 retn

#6947

diderius6

⇗ @infuscomus
The message changed now to
0xc000000f
Windows failed to load because the kernel is missing or corrupt
ntkrnlpa.exe
Dietmar

#6948 | infuscomus | ⇗ @diderius6 I'm wondering if my usage of kernelex to automate patch of missing code into the file has corrupted it somehow. Unfortunately I'm not skilled enough to do this patching manually, I think only ⇗ @Mov AX, 0xDEAD or maybe ⇗ @daniel_k would know how to do this kind of patching manually.
#6949 | diderius6 | ⇗ @infuscomus We can hack ci.dll oh, soso much fun Dietmar

#6950

diderius6

⇗ @infuscomus
I jumped over all 0xc000000f and 0xc0000428 and nop out the call of CiInitialize
in ntkrnlpa.exe .
Strange enough, then happens the error 0xc0000428 again,
which is in ci.dll .
This means, that ci.dll is also called from other place
Dietmar
PS: I set an breakpoint CC direct before of the call of
PAGE:0067EF7A call CiInitialize
in ntkrnlpa.exe
Again I get message 0xc0000428 about missed signature check. The CC breakpoint there does not stop compi.
This is strange, because with the CC the call of CiInitialize cant happen. So, this 0xc0000428 must happen before the call.
This 0xc0000428 error is at many places in ci.dll .
EDIT: Maybe, that this behavior can be traced in Bochs debugger.
EDIT2: I just copy this into c.img file from Bochs. There it gives "ntldr not found".
This I understand, because the MBR from Bochs is still the MBR looking for XP with ntldr.
I also changed the MBR direct. But this is not enough, for this we need to build a new Vista-XP in Bochs.

#6951 | infuscomus | ⇗ @diderius6 If you removed the call to CiInitialize in ntoskrnl.exe try also removing the import too. also, in that VHD I was lazy with ntkrnlpa.exe and just made a duplicate of ntoskrnl.exe and renamed it - if we aren't using PAE will this still cause problems?

#6952

diderius6

⇗ @infuscomus
The only thing, that makes all this problems, is ci.dll , first introduced in Vista.
Here is my try to hack ntkrnlpa.exe
and I dont know how to disable the import of ci.dll there.
I look a little bit about ci.dll in Internet, but do not find somebody who succeeds with hack of ci.dll,
so as if ci.dll just not exists. The root kit works other:
The original(!) ntkrnlpa.exe and ci.dll are loaded to ram.
And then, a signed(!) driver just set (changes) the test of ci.dll in Ram to always true, cool
Dietmar
⇗ https://ufile.io/ca24f9lq

#6953 | infuscomus | ⇗ @diderius6 If you need PDB symbols for CI.dll I have them
#6954 | diderius6 | ⇗ @infuscomus Yes, send to me Dietmar

#6955

infuscomus

⇗ @diderius6
here
also, I noticed there is a CI.dll string in winload.exe, maybe nop that too?infuscomus has attached files to this post

- ⇗ cipdbsymbols.zip

#6956

iyutos

⇗ http://www.stackprinter.com/export?quest...g.stackexchange
⇗ https://web.archive.org/web/201605262234...ot-process.html
"The kernel checks the digital signatures of all of the image files from which it loads device drivers, using routines exported from ci.dll, the kernel-mode DLL that provides a set of "code integrity" library functions. (Much of the content of ci.dll is exactly the same cryptographic code that is statically linked into winload.exe, including the 8 hardwired Root Certification Authorities.)"
"WINLOAD will halt if one of a small fixed set of image files (winload.exe, ntoskrnl.exe, hal.dll, bootvid.dll, tpm.sys, ksecdd.sys, clfs.sys, ci.dll, kdcom.dll, kdusb.dll, kd1394.dll, and spldr.sys) fails the check."

#6957

galagun

Here my BCD and Bootmgr (PCAT/UEFI) files. For 32Bit XP and 2003 loading.
- UEFI files come from the last beta which I had available which can boot XP/2003 (no rtm uefi 32bit files available up to win8) (not the same as ⇗ @Gelip ones, which come from some longhorn server beta I don't have).
- PCAT files come from WinVista RTM.
⇗ https://ufile.io/u0k77j1e

#6958

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #6946

> I just try something, what @gordo999 tells about ci.dll . In a first try, I nop nop nop nop nop the call of
> PAGE:0067EF7A call CiInitialize in ntkrnlpa.exe

⇗ @diderius6 ....it's too drastic to NOP an entire function without knowning what it does or what values it returns. If I remember correctly, the call to CIInitialze sets up a table of callbacks which are likely pointers to functions that are exported by CI.dll. Those functions may serve other purposes that testing code integrity, like verifying the PE header, etc.
I was focussed more on the code preceding the call to CIinitialize. There are two parameters tested DISABLE_INTEGRITY_CHECKS and TESTSIGNING. The first is obviously set during boot at F8 where the option is presented to turn off integrity checks. The second is a parameter that can be used in BCD, and as part of boot.ini, to tell a 32-bit Vista or W7 OS that a TESTSIGNING is in progress and to ignore integrity checks.
If you follow the code for DISABLE_INTEGRITY_CHECKS, it runs through a call to strstr, which compares strings. the LEA command points to the address where that string should be found. You'll notice that the code following strstr has a conditional jump that either jumps ahead 2 code steps to 67EF4C orlets the following xor zero out ebx. No matter what, the code flow must go through the next code section.
In that section, the TESTSIGNING string is compared in strstr. AFter that function you have an option: either the conditional jump at 67EF67 is taken to 67EF6C or it falls through that jump and ebx is ORed with 8. That is a bit-wise test where each bit in ebx is ORed with 00001000 = 0x8. Don't know till I see what is in ebx what they are testing.
Anyway, I would play with that conditional jump at 67EF67. Try changing the code to EB 03, which will force a jump, or NOP it, which will force the code through the OR statement. Note that the ebx register, after being ORed with 0x8, is PUSHed to CIInitialize as a parameter, right before the call there is a PUSH ebx. The contents of ecx and esi are also passed as parameters with the function call. You may be able to manipulate CIInitialize by finding what its parameters are and seeing what they do. One of them may have a bit that turns off code checking.
Just checked and the first parameter passed (PUSH EBX) is the CiOptions parameter. If it is set right, the integrity chacks should be ignored.

#6959

Gelip

⇗ @galagun

> Zitat von ⇗ galagun im Beitrag ¶ #6957

> Here my BCD and Bootmgr (PCAT/UEFI) files. For 32Bit XP and 2003 loading.
> - UEFI files come from the last beta which I had available which can boot XP/2003 (no rtm uefi 32bit files available up to win8) (not the same as @Gelip ones, which come from some longhorn server beta I don't have).
> - PCAT files come from WinVista RTM.
> ⇗ https://ufile.io/u0k77j1e

Your .efi files are identical to mine on the Longhorn 2008 5384.4 beta:
⇗

#6960 | jonathan_hzs |

## Page 465

#6961 | Brooons | Me start XP, all work good. But, i do not install Kernel-mode Framework 1.1 Explain me, why he needs, please?

#6962

Gelip

⇗ @jonathan_hzs
Yes, 5384.4 .efi files 32 and 64-bit cause black screen with white bar or two bars on real hardware, Qemu or Oracle VirtualBox. They only work in VMware - I tested 64-bit files in WinXP SP2 64-bit on Workstation 8:
⇗ https://www.betaarchive.com/forum/viewto...=433717#p433717
⇗ https://www.betaarchive.com/forum/viewto...=434155#p434155

#6963 | infuscomus | ⇗ @Brooons KMDF 1.11 is a requirement for the backported windows 8 USB 3 driver.

#6964

infuscomus

⇗ @gordo999 ⇗ @diderius6
I found this - hope it helps
⇗ https://j00ru.vexillium.org/2010/06/insi...re-enforcement/
Checks, whether nt!g_CiEnabled is set to TRUE
If so, compares the nt!g_CiCallbacks[0] pointer to NULL
If not empty, calls the nt!g_CiCallbacks[0] function and quits,
Otherwise, returns 0xc0000428.
Otherwise:
Allocates one byte on the Paged Pools,
Puts the resulting address into memory pointed to by the first argument,
Returns STATUS_SUCCESS (or whatever zero means here).

#6965

jonathan_hzs

I use it now
Can't get rid of the dependence of boot.ini
Also, there is no EFI32 HDD or SSD device
Only EFI32 EMMC devices
just Test with virtual machines
⇗ https://ws28.cn/f/4tzepajanm4

#6966 | infuscomus | ⇗ @jonathan_hzs Try experimenting with more recent vista beta boot loaders.

#6967

infuscomus

⇗ @diderius6
I think modify SepInitializeCodeIntegrity
change
jz code_0x140806
to
jmp code_0x140806
I think this should disable code integrity check in ntoskrnl
edit:
did the mod, try itinfuscomus has attached files to this post

- ⇗ skip_ci.7z.zip

#6968

diderius6

⇗ @infuscomus
I just test.
The error message 0xc0000428 about cannot verify the digital signature from ntkrnlpa.exe is the same as before.
I understand this, because in other case the normal driver check disable via F8 and/or the connect and start of Windbg would help
Dietmar
PS: Hard job to overcome ci.dll . This file ci.dll gets from the US gouvernment the highest possible safety standard medal for OS.
It does not check one value of the bootfiles, just about 7.
EDIT: So the only chance I think is, to delete all traces, Import and Export functions from or to ci.dll from the bootfiles.

#6969 | infuscomus | ⇗ @diderius6 I think I will try to apply a patch to actual ntkrnlpa.exe instead of just duplicating ntoskrnl.exe to see if that makes a difference.
#6970 | diderius6 | ⇗ @infuscomus I think, that it makes no difference. Better would be (if possible), to eliminate all traces of ci.dll in the bootfiles Dietmar
#6971 | infuscomus | ⇗ @diderius6 are you able boot into a vista checked build to debug CI.dll to identify and remove it's checks?
#6972 | diderius6 | ⇗ @infuscomus First try in ci.dll would be, to jump over all 0xc0000428 . Yes, with the Bochs debugger it is possible, crazy hard work. Maybe it is easier, to kick this file ci.dll out of the bootfiles Dietmar

#6973

Ixeon

Hello everyone, I have installed a Windows XP SP3 on my Ryzen 5 1600 PC, but I can't get USB drivers to work. In this thread, few drivers were provided and they partially installed and still it is not enough, I tried to use etron usb drivers and only 2 devices of 4 were identified
[img]https://fastpic.ru/view/114/2021/0302/_c92a18a78b46b91ae31a2007518526f0.png[/img]
Could someone help me, how to proceed with the installation of usb drivers? Thanks

#6974 | infuscomus | ⇗ @Ixeon There is a backported Windows 8 USB 3.0 driver that is universal and much more reliable. available here - ⇗ https://forums.mydigitallife.net/threads...hardware.81607/

#6975

infuscomus

⇗ @diderius6
I've patched vista RTM ntkrnlpa.exe and I also spotted a mistake I made in ntoskrnl.exe
please replace these and test if persistent signature error is gone.infuscomus has attached files to this post

- ⇗ ntkrnlpa_mod.7z.zip

## Page 466

#6976

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #6964

> Checks, whether nt!g_CiEnabled is set to TRUE

⇗ @infuscomus ...don't think that part is relevant since the reference `nt!g_CiEnabled` checks whether WinPE mode is enabled. If you read further, it states, "CiOptions is initialized accordingly to the system boot options, and finally passed to the CiInitialize routine, together with a pointer to KeLoaderBlock...". The critical item is CiOptions.
Look at bottom of pseudo-code, it gives the full function call:
CiInitialize(CiOptions,(KeLoaderBlock+32),&g_CiCallbacks);
That would give an assembly pseudo-code of:
push &CiCallbacks .... a pointer to an array
push KeLoaderBlock+32 ....an address within KeLoaderBlock
pushCiOptions ...whether integrity checks is on/off ot whether TESTSIGNING is on/off
Call CIInitialize
A bit earlier in the pseudo-code you have:
{
if(SepIsOptionPresent((KeLoaderBlock+84),L"DISABLE_INTEGRITY_CHECKS"))
CiOptions = 0;
if(SepIsOptionPresent((KeLoaderBlock+84),L"TESTSIGNING"))
CiOptions |= 8;
}
This tells you, if DISABLE_INTEGRITY_CHECKS is present at the KeLoaderBlock at base+ 0x84 then set
CIOptions = 0
if TESTSIGNING is present at that address, set CiOptions to 0x8.
If you look in the ntoskrnl code just before the call to CiInitiialize at 67EF7A, you can see the value returned from the code testing for TESTSIGNING, testing the value in ebx with an OR 8. After the check for DISABLE_INTEGRITY_CHECKS, it XORs the value to 0 if a condition was false.
I would try changing the final PUSH just before the call to CiInitialize to PUSH 0. That should tell the CI.dll that the system is set to disable integrity checks. Easier said than done. It's not easy to change the PUSH ebx at 67EF79 to PUSH 0 since that would require two opcode bytes. The easiest way would be to make sure ebx = 0 at that point.
I have already suggested a way to try that, but maybe we can amend that.
At 67EF67 the opcode is 74 03 and the command is jz 67Ef6C. That jump would bypass the test of ebx by the following OR command that ORs ebx with 8. That's what you see in the pseudo-code referred to above"
if(SepIsOptionPresent((KeLoaderBlock+84),L"TESTSIGNING"))
CiOptions |= 8;
It's saying that if the TESTSIGNING option has been inserted in boot.ini then ebx should be 0x8. By ORing 0x8 with 0x8, the result will be 0x8, therefore ebx will be unchanged. That means ebx will be passed as the TESTSIGNING option to CIInitialize.
What we could do is NOP the 74 03 and change the opcode following it from 83 CB 08 to 83 CB 00. If I am reading that correctly the command should now read, OR ebx, 0. That should ensure that ebx is 0 when it is PUSHed to CIInitialize.
However, if you are tracing, which I can't because I'm not set up for it, when you trace to 67EF67 and ebx = 0, just leave it and change the opcode at 67EF67 to EB 03.
I'm not sure what the code does between 67EF6C and 67EF76. It may be significant. It's hard to do this without tracing it to see what's going on.

#6977 | diderius6 | ⇗ @infuscomus I just test your new ntoskrnl from Vista. The message about cannot verify the digital signature of ntkrnlpa.exe is the same as before 0xc0000428 Dietmar
#6978 | infuscomus | ⇗ @diderius6 damn, any luck jumping over 0xc0000428? ⇗ @Mov AX, 0xDEAD can you help to bypass CI.dll checks?
#6979 | Brooons | It is possible? Patch driver Win7 Integrated Graphics Processor for work on XP?
#6980 | infuscomus | ⇗ @Brooons not at the moment

#6981

diderius6

⇗ @infuscomus
According to this
⇗ https://vx-underground.org/archive/Syman...-mode-06-en.pdf
the check of the integrity of the boot files in Vista happens in
winload.exe .
"The most straight forward way to evade driver signing restrictions is to simply patch the on-disk executable files and disable the checks entirely. To load unsigned drivers at runtime, NTOSKRNL.EXE needs to be patched. However, patching NTOSKRNL.EXE will invalidate its digital signature, so that WINLOAD.EXE will refuse to load it. Therefore, WINLOAD.EXE will also need to be patched. "
Dietmar
⇗ http://lib.21h.io/library/PRCMJA2V/downl...20libgen.lc.pdf

#6982 | diderius6 | ⇗ @infuscomus Do you have the *.pdb for winload.exe Dietmar
#6983 | infuscomus | ⇗ @diderius6 which version of winload.exe?
#6984 | diderius6 | ⇗ @infuscomus The one, which you send to me with last XP with Vista ntkrnlpa.exe, which gives always the error message 0xc0000428 about cannot verify the digital signature Dietmar winload.exe 6.0.6001.16497 (longhorn_beta3.070330-1720)

#6985

infuscomus

⇗ @diderius6
Unfortunately I do not have the symbols for this exact version
I do have pdb symbols for vista RTM winload.exe - I hope these are useful
try booting with vista RTM bootmgr/winload.exeinfuscomus has attached files to this post

- ⇗ vista_rtm_bootmgr_winload.7z.zip

#6986

diderius6

⇗ @infuscomus
I still cant find the place, in which file,
the message
"cannot verify the digital signature"
is generated
Dietmar

#6987 | infuscomus | ⇗ @diderius6 there is a reference in ImgpFilterValidationFailure inside winload.exe

#6988

diderius6

⇗ @infuscomus
The message comes from other place, because the word "digital" is missed.
I make a try to jump over the message in winload.exe
but still the same message "cannot verify the digital signature"
Dietmar
EDIT: By the way I noticed, that all the hacks go to ci.dll.
For to boot with a modded ntkrnlpa.exe I think it is the wrong place,
the error is generated only in a work together via winload.exe and ntkrnlpa.exe .

    .text:00422B7A                 mov     ebp, esp
    .text:00422B7C                 cmp     ecx, 0C0000428h
    .text:00422B82                 jnz     short loc_422BA9
    .text:00422B84                 test    [ebp+arg_4], 20h
    .text:00422B88                 jz      short loc_422BA9
    .text:00422B8A                 call    _BlBdDebuggerEnabled@0 ; BlBdDebuggerEnabled()
    .text:00422B8F                 test    al, al
    .text:00422B91                                                 jz      short loc_422BA9 <--- here I jmp, does not help
    .text:00422B93                 push    [ebp+arg_0]
    .text:00422B96                 push    offset aWindowsIsUnabl ; "*** Windows is unable to verify the sig"...
    .text:00422B9B                 call    _BlStatusPrint
    .text:00422BA0                 pop     ecx
    .text:00422BA1                 pop     ecx
    .text:00422BA2                 call    _DbgBreakPoint@0 ; DbgBreakPoint()
    .text:00422BA7                 xor     ecx, ecx

#6989 | infuscomus | ⇗ @diderius6 There is an identical string in bootmgr, I don't know if jumping over both in bootmgr and winload will help.

#6990

infuscomus

⇗ @diderius6
I somehow got past the signature error after making these files - but now another message saying kernel is corrupt.
⇗ infuscomus has attached files to this post

- ⇗ ntoskrnl_mod_12.7z.zip

## Page 467

#6991

diderius6

⇗ @infuscomus
This gives error 0xc0000098 kernel is missing, or corrupt .
This hexnumber appears at 11 places in winload.exe (I think, there it happens)
and at 5 places in ntkrnlpa.exe
and not in ci.dll
Dietmar

#6992 | infuscomus | ⇗ @diderius6 did you want checked vista RTM bootmgr and winload.exe with pdb symbols for debugging?
#6993 | diderius6 | ⇗ @infuscomus Yes, send all. I try to debug, when I have time Dietmar

#6994

infuscomus

⇗ @diderius6
here are vista RTM checked bootmgr and winload with PDB symbolsinfuscomus has attached files to this post

- ⇗ vista_rtm_checked_bootmgr_winload.7z.zip

#6995 | genieautravail | ⇗ @daniel_k About WinXPPAE 3.5: Is there a difference between the parameters /M:ALL and /M:128GB ? Best regards

#6996

Gelip

⇗ @diderius6
Still have a Lenovo Flex10 laptop with UEFI 32-bit bios? If so, check if you can boot WinXP 32-bit with UefiSeven 32-bit:

- prepare WinXP 32-bit on a disk on one NTFS partition in MBR style (not GPT)
- extract archive u7_UEFI32.zip to USB FAT32 flash drive (EFI and u7 on root USB)
- copy winload.efi from Vista 5219 to WINDOWS\system32
- create boot.ini on root USB stick:
  [boot loader]
  timeout=30
  default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
  [operating systems]
  multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="WinXP UEFI boot.ini" /noexecute=optin /fastdetect /usenewloader
- boot PC from this USB flash drive - UEFI Shell should start
- go to u7 folder fs0: and cd u7
- run uefiseven

It works with UEFI DUET32 and in QEMU with OVMF-pure-efi.fd bios (fake VESA does not work, but WinXP starts)
Does force fake VESA work for you? After starting WinXP, do you have in memory at C0000 UefiSeven fake INT10?
⇗ ⇗ ⇗ <-- this screenshot is from WinXP 64-bit when UefiSeven 64-bit force fake INT10 works Gelip has attached files to this post

- ⇗ u7_UEFI32.zip
- ⇗ winload.zip

#6997

jonathan_hzs

    [boot loader]
    default=multi(0)disk(1)rdisk(0)partition(1)\WINDOWS
    timeout=30
    NOBCD
    [operating systems]
    multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="partition1(&#20998;&#21306;1) Nt5"
    /noexecute=optin /fastdetect /usenewloader
    multi(0)disk(1)rdisk(0)partition(2)\WINDOWS="partition2(&#20998;&#21306;2) Nt5"
    /noexecute=optin /fastdetect /usenewloader
    multi(0)disk(1)rdisk(0)partition(3)\WINDOWS="partition3(&#20998;&#21306;3) Nt5"
    /noexecute=optin /fastdetect /usenewloader

#6998 | jonathan_hzs | The real machine is a black screen reboot

#6999

Gelip

⇗ @jonathan_hzs

> Zitat von ⇗ jonathan_hzs im Beitrag ¶ #6998

> The real machine is a black screen reboot

This is the answer to my posts? Do you have a UEFI32 bit computer?
P.S. At the beginning, mark whoever you are writing to, starting post with @user_name

#7000 | jonathan_hzs | another mbr disk boot gpt partions xp
#7001 | jonathan_hzs | efi32 computer is z3735 pad IT is emmc disk.

#7002

Gelip

⇗ @jonathan_hzs ⇗ @diderius6

> Zitat von ⇗ jonathan_hzs im Beitrag ¶ #6998

> The real machine is a black screen reboot

Sorry, but I forgot about boot.ini on USB stick - I edited post: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (468)

#7003 | jonathan_hzs | ⇗ http://bbs.wuyou.net/forum.php?mod=viewt...extra=page%3D10 If you are interested, you can try this modified version Same mirror 24 hours fast link ⇗ https://ws28.cn/f/4v2jam6cbzc I think uefiseven cannot bring anny help
#7004 | Amir | Installing Windows XP on... UEFI.https://m.youtube.com/watch?v=kqq87j2jJZY&amp;t=207s

#7005

Gelip

⇗ @jonathan_hzs
But this winXP_SP2_2003.wim is probably only legacy and not UEFI - they write something about bootmgr and VMware but nothing about UEFI.
UefiSeven is based on VgaShim: ⇗ https://github.com/manatails/uefiseven

> Zitat

> Credits
> Original VgaShim project

VgaShim is based on OVMF VbeShim: ⇗ https://github.com/davidcie/VgaShim

> Zitat

> Credits
> This solution is based on a VBE shim prepared by the OVMF project (QemuVideoDxe/VbeShim).

⇗ https://github.com/tianocore/edk2/blob/m...eoDxe/VbeShim.c
Virtual machines do not need UefiSeven 32 or 64-bit because they have their own fake INT10 code. VMware has its own code but VBox and Qemu use OVMF UEFI 32-bit and UEFI 64-bit bios OVMF-pure-efi.fd and OVMF-with-csm.fd which has a fake INT10 VbeShim in QemuVideoDxe.efi driver:
⇗
Real UEFI 32-bit or UEFI 64-bit computers do not have fake INT10 in bios only:
UEFI + CSM + legacy ROM graphics card
or
pure UEFI class 3 + GOP ROM graphics card
GOP is only supported since Win8
Win7 64-bit UEFI or WinXP 64-bit UEFI with Vista beta .efi files not support GOP ROM but support fake INT10 which is possible with UefiSeven.
Therefore, you should only test UefiSeven on real computers with a graphics card that has a GOP ROM !!!

## Page 468

#7006 | jonathan_hzs | no interest on winxp64. i know it Win7 64-bit UEFI or WinXP 64-bit UEFI with Vista beta .efi files not support GOP ROM but support fake INT10 which is possible with UefiSeven.
#7007 | jonathan_hzs | I don't feel that uefiseven is helpful for 32xp

#7008

Gelip

> Zitat von ⇗ jonathan_hzs im Beitrag ¶ #7007

> I don't feel that uefiseven is helpful for 32xp

I asked manatails to compile a UefiSeven 32-bit and he did it but i don't have a real UEFI32 computer to test it.
To check this you have to test UefiSeven 32-bit on a real UEFI 32-bit computer without CSM or when you disable CSM in bios.
There were such computers, for example, Lenovo Flex10 UEFI32 - that's why I wrote to ⇗ @diderius6 to test UefiSeven 32-bit
In VMware UEFI32 WinXP 32-bit boot OK with Vista beta 5219 files but thanks to fake INT10 not GOP.

#7009

diderius6

⇗ @Gelip
Now I try uefiseven compiled for 32bit on the Lenovo Flex 10 notebook.
For this, first I have to flash back the Bios to the pure 32 Bit version without any CSM, because I edited the DSDT in its Bios as much as possible for to enable XP SP3 on it on a ntfs partition and Sata harddisk.
This works only with EEpromer.
Until now I have a working XP SP3 on it with all drivers,
only not graphic driver, because I tried in vain to build a Baytrail driver for XP in my last holidays.
When all went ok, the first test will be, that now my XP SP3 does not start on it (because no UEFI).
And the same for Win7 and Win8. Win8.1 should work, because there is a 32 bit Uefi version of it.
Then I do everything as you describe in your post for uefi boot of XP SP3 on this notebook without any CSM
Dietmar
EDIT: I do not succeed to flash the pure 32 UEFI Bios. I get only black screen. I doublecheck Bios flash with EEpromer.
I remember this behavior from last year, there suddently the screen comes back but just until now not.
Edit2: I succeed to tell the Lenovo Flex 10 to be 32 bit. Realy funny: Now it has the date of the Bios before, but whole Bios body is 32 bit, oh soso much fun.
Now it shows "No boot device" with the before working XP, and pure UEFI boot can only be choosen.
⇗
⇗
As you can see, Bios changed from 64 Bit ---> 32 Bit, CSM is gone.

#7010

diderius6

⇗ @Gelip
The hook to the harddisk does not work until now for uefiseven.
Status:0xc0000098. Info:The Windows Boot Configuration file does not contain a valid OS entry. (here boot.ini)
But when I copy the whole XP SP3 to the USB stick with the UEFI boot files, it starts from there.
After first boot stage it crashes, because the USB boot files are not correct from normal XP for to boot via USB.
But anyway this works, first time XP SP3 boots from pur UEFI on real compi,
nice:))
Dietmar
boot.ini on USB stick with content
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
C:\WINDOWS="XP SP3 on pur UEFI" /noexecute=optin /fastdetect /usenewloader
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usenewloader
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usenewloader
⇗

#7011 | infuscomus | ⇗ @Gelip I got XP to boot using the server 2008 beta bootmgr/winload.exe files - through testing I think WinXPPAE is not compatible with this loader - it says that the HAL is corrupt. ⇗ @daniel_k have you tested you WinXPPAE with the server 2008 beta bootmgr/winload.exe files?
#7012 | THE_FIST | Is there any new acpi.sys for z590? My z490 XP OS does not work on z590...appreciate the help
#7013 | infuscomus | ⇗ @THE_FIST post a pic of the A5 BSOD you get

#7014

daniel_k

> Zitat von ⇗ infuscomus im Beitrag ¶ #7011

> @daniel_k
> have you tested you WinXPPAE with the server 2008 beta bootmgr/winload.exe files?

Sorry, not interested on these things.

#7015

infuscomus

⇗ @Gelip
Since I confirmed that XP could be booted using this server 2008 beta bootloader I thought I'd try replacing ntoskrnl/hal and dependencies with the files from the 2008 beta - I got a BSOD 12A - MUI_NO_VALID_SYSTEM_LANGUAGE
I'll try grabbing the MUI files and see if that makes a difference
edit: didn't seem to work

#7016 | diderius6 | ⇗ @Gelip I think, that the hook to the harddisk not works, because there are just no drivers for the Sata harddisk Dietmar
#7017 | jonathan_hzs | reply #7023 usbxp Set limits for 24 hours ldownload ink ⇗ https://ws28.cn/f/4ve2ih3ykyw It can boot from a USB device,old usb2
#7018 | jonathan_hzs | The modified XP system cannot be implemented PAE 3.5+ RAM Unlock and fix128v48 You're going to have a blue screen, here

#7019

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7010

> The hook to the harddisk does not work until now for uefiseven.
> Status:0xc0000098. Info:The Windows Boot Configuration file does not contain a valid OS entry. (here boot.ini)
> But when I copy the whole XP SP3 to the USB stick with the UEFI boot files, it starts from there.

Error 98 means the loader doesn't know where the WinXP system is. WinXP 32-bit should be on the disk on the NTFS partition and boot.ini on the USB flash drive and should look like this:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="WinXP UEFI boot.ini" /noexecute=optin /fastdetect /usenewloader

If you still get error 98 then try changing rdisk(x) in boot.ini on USB

#7020

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7009

> only not graphic driver, because I tried in vain to build a Baytrail driver for XP in my last holidays.

To test WinXP 32-bit under UEFI 32-bit use the vbemp graphics driver:
⇗ https://www.betaarchive.com/forum/viewto...=434999#p434999
vbempk\VBE30\XP2003\PNP from ⇗ vbempk.zip 2015.01.01

## Page 469

#7021 | diderius6 | ⇗ @Gelip I tried this. nothing changed. Always the same error 0xc0000098 . There is no driver for the Sata disk I think for XP SP3 32 bit, because via USB harddisk XP SP3 pure UEFI works Dietmar

#7022

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7021

> @Gelip
> I tried this. nothing changed. Always the same error 0xc0000098 .
> There is no driver for the Sata disk I think for XP SP3 32 bit,
> because via USB harddisk XP SP3 pure UEFI works
> Dietmar

Yeah, you are right - error 98 is also when there is no disk driver and when the partition is in GPT mode. Vista 5219 32-bit loader not support GPT:
⇗ https://www.betaarchive.com/forum/viewto...=450810#p450810

#7023

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7021

> because via USB harddisk XP SP3 pure UEFI works

Please make screenshot when UefiSeven locks C0000 memory.

#7024

diderius6

⇗ @Gelip
I flashed back the original 64 bit Bios on the Flex10.
Then I setup there a working XP SP3 on a fat32 partition on a harddisk in an USB box,
which I test, that it can boot from USB3. I copy all the UEFI files and folders there at their place.
Then I flash back 32 bit Bios.
When I now start direct from this USB harddisk,
first step of XP boot works, but then hangs again,
meaning the reason for hanging is not only the Sata drivers because now is on USB3
Dietmar
⇗

#7025 | jonathan_hzs | efi64 boot xp32 from usb3? efi32 didn't boot xp32 from usb?

#7026

diderius6

⇗ @infuscomus
First I get Bsod 0x7b.
So I integrate by hand the iastor 1006 driver from fernando.
Then the legacy XP boots.
The XP (with EMS enabled?) hangs very late in the boot process.
I run a Windbg session but no Bsod can be seen there, just running.
I can break and restart with "g".
The same is in Safe Mode and with VGA
Dietmar
PS: May be for tests it is better to make a minimal XP SP3, with only the absolut necessary drivers.
EDIT: After some minutes I get an endless printout from Windbg with always the same lines
I just find, that this is a bug in .net 4.0
*** HR originated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\copyout.cpp, line 1391
*** HR propagated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\identityauthority.cpp, line 278
*** HR originated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\copyout.cpp, line 1391
*** HR propagated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\identityauthority.cpp, line 278
and now
*** HR propagated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\enumidentityattribute.cpp, line 144

#7027

diderius6

⇗ @jonathan_hzs
On 64 bit Bios I use normal CSM legacy boot on the Lenovo Flex10 for the XP SP3, which boots from USB3, sitting on a Fat32 partition.
When I flash Bios back to 32 Bit pure UEFI (wothout any CSM) XP SP3 starts, but after mup.sys in next boot stage it hangs
Dietmar

#7028 | infuscomus | ⇗ @diderius6 what were you debugging here? my modded kernel?

#7029

diderius6

⇗ @infuscomus
The whole *.vhd XP, that you send to me.
I put it on an normal harddisk and boot from it.
Legacy XP SP3 starts but this one with EMS enabled hangs.
Most drivers are loaded, I can see in Windbg. So, may be it hangs because of a driver
Dietmar

#7030 | infuscomus | ⇗ @diderius6 VMWare additions maybe? I installed them in this image so maybe that is why? Maybe it will only work from a new install - I'm going to send you a beta ISO of ⇗ @George King 's XP2ESD program as that is how I made this image

#7031

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7030

> @diderius6
> VMWare additions maybe? I installed them in this image so maybe that is why?
> Maybe it will only work from a new install - I'm going to send you a beta ISO of @George King 's XP2ESD program as that is how I made this image

You both got same testing ISO created using unreleased XP2ESD v1.5 beta3. I will add some fixes and build beta4 with included winload.exe v6.0.6001.16497 (longhorn_beta3.070330-1720). Good is system can be booted without NTLDR and boot.ini. Will see if it can detect HAL too. [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7032

Gelip

⇗ @diderius6
The photo you placed shows that UefiSeven cannot lock the C0000 memory. Earlier you wrote that you boot WinXP from USB (after copy Windows to USB) without CSM with UefiSeven? Could you repeat that and then take a screenshot if UefiSeven is blocking C0000 or not?
EDIT: How UefiSeven works when you delete a file UefiSeven.force_fakevesa ?
⇗ @diderius6
EDIT2: Please delete or rename boot.ini on USB, run UefiSeven and after back to UEFI Shell type:
mem c0000 100
Then what is under C0000 - the video card ROM, empty 00 00 00 or UefiSeven fake INT10?
⇗

#7033

diderius6

⇗ @Gelip
Here is my screenshot from the Lenovo Flex10.
It seems, that the fake vesa for INT10 is at the right place loaded to memory.
So, the reason why XP SP3 hangs after first boot stage (ending with mup.sys),
is at another place
Dietmar
⇗

#7034

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7033

> So, the reason why XP SP3 hangs after first boot stage (ending with mup.sys),

I understand you are using winload.efi 5219?

#7035 | diderius6 | ⇗ @Gelip Yes, from your files here Dietmar

## Page 470

#7036

Gelip

⇗ @diderius6
Have you installed the vbemp graphics driver? WinXP is best to deploy or restore to disk from image (e.g. installed on VMware): ⇗ How to deploy WinXP 64-bit on a UEFI (without CSM) in AHCI << this is for WinXP 64-bit but same can be done for WinXP 32-bit
⇗ @diderius6
or Remote Desktop and disable services vga & vgasave: ⇗ https://www.betaarchive.com/forum/viewto...=434653#p434653

#7037 | Gelip | ⇗ @diderius6 You use WinXP HAL ACPI or not ACPI?

#7038

diderius6

⇗ @Gelip
XP SP3 with acpi.sys from outerspace ),
works also for USB3 boot under 64bit Bios with CSM on the Lenovo Flex10
Dietmar
PS: Remote Desktop I tested for UEFI boot for XP 64 (SP1and SP2) without CSM on the Asrock board with 64 bit Bios, works.
But without working Video on the Asrock board, this has not so much sense.

#7039

diderius6

⇗ @George King ⇗ @infuscomus
I test the winload.exe,
which comes with the last Beta3 version.
Normal XP SP3 boot works,
but with the winload.exe it hangs in ntkrnlpa.exe
Dietmar
Edit: I found this place in ntkrnlpa.exe from original XP SP3 5512 version
It is an endless loop
IDA Pro

    .text:0046ED54 loc_46ED54: ; CODE XREF: KiIdleLoop()+19 j
    .text:0046ED54                 cmp     dword ptr [ebx+128h], 0  ----------------------------> endless loop
    .text:0046ED5B                 jz      short loc_46ED34  ---------------------------------------------->    endless loop
    .text:0046ED5D                 mov     ecx, 1Ch
    .text:0046ED62                 call    ds:__imp_@KfRaiseIrql@4 ; KfRaiseIrql(x)

Windbg

    nt!KiDispatchInterrupt+0x38a:
    8106ed3a ff11            call    dword ptr [ecx]
    6: kd>
    nt!KiDispatchInterrupt+0x38c:
    8106ed3c f390            pause
    6: kd>
    nt!KiDispatchInterrupt+0x38e:
    8106ed3e fb              sti
    6: kd>
    nt!KiDispatchInterrupt+0x38f:
    8106ed3f 90              nop
    6: kd>
    nt!KiDispatchInterrupt+0x390:
    8106ed40 90              nop
    6: kd>
    nt!KiDispatchInterrupt+0x391:
    8106ed41 fa              cli
    6: kd>
    nt!KiDispatchInterrupt+0x392:
    8106ed42 3b6d00          cmp     ebp,dword ptr [ebp]
    6: kd>
    nt!KiDispatchInterrupt+0x395:
    8106ed45 740d            je      nt!KiDispatchInterrupt+0x3a4 (8106ed54)
    6: kd>
    nt!KiDispatchInterrupt+0x3a4:
    8106ed54 83bb2801000000  cmp     dword ptr [ebx+128h],0
    6: kd>
    nt!KiDispatchInterrupt+0x3ab:
    8106ed5b 74d7            je      nt!KiDispatchInterrupt+0x384 (8106ed34)
    6: kd>
    nt!KiDispatchInterrupt+0x384:
    8106ed34 8d8b500c0000    lea     ecx,[ebx+0C50h]
    6: kd>
    nt!KiDispatchInterrupt+0x38a:
    8106ed3a ff11            call    dword ptr [ecx]
    6: kd>
    nt!KiDispatchInterrupt+0x38c:
    8106ed3c f390            pause
    6: kd>
    nt!KiDispatchInterrupt+0x38e:
    8106ed3e fb              sti
    6: kd>
    nt!KiDispatchInterrupt+0x38f:
    8106ed3f 90              nop
    6: kd>
    nt!KiDispatchInterrupt+0x390:
    8106ed40 90              nop
    6: kd>
    nt!KiDispatchInterrupt+0x391:
    8106ed41 fa              cli
    6: kd>
    nt!KiDispatchInterrupt+0x392:
    8106ed42 3b6d00          cmp     ebp,dword ptr [ebp]
    6: kd>
    nt!KiDispatchInterrupt+0x395:
    8106ed45 740d            je      nt!KiDispatchInterrupt+0x3a4 (8106ed54)
    6: kd>
    nt!KiDispatchInterrupt+0x3a4:
    8106ed54 83bb2801000000  cmp     dword ptr [ebx+128h],0

#7040 | infuscomus | ⇗ @diderius6 Try pressing F8 and then entering Safe Mode
#7041 | diderius6 | ⇗ @infuscomus I tried F8 also, result is the same Dietmar
#7042 | infuscomus | ⇗ @diderius6 does it give a BSOD?
#7043 | diderius6 | ⇗ @infuscomus No Bsod, it hangs in this endless loop as I show above. I has something to do, how the memory is paged and used an newer Intel CPU Dietmar

#7044

George King

In Generic AHCI driver storahci.inf was discovered bug. See more here.

    https://forums.mydigitallife.net/threads/drivers-and-tools-to-run-windows-xp-on-newer-hardware.81607/page-9#post-1648546

For upcoming XP2ESD v1.5 I fixed it.
⇗ @diderius6 ⇗ @infuscomus This fix will be included in beta4 for testing

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7045

diderius6

I wrote here,
that sometimes after Bios flash with EEpromer I get a black screen on the Flex10,
even I doublecheck always the content of the Bios Chips with its original file.
Now I understand, why this happens.
I can reproduce this behavior, just for fun for about 10 times.
It seems, that some parts of this notebook motherboard desolder from themselfs,
for example the Bios chip.
So it is not the Bios flash, just the manual handling with this motherboard.
I have this crazy phaenomen on 2(!) different Flex10 boards,
what a crazy bad solder quality by Lenovo on the Flex10 motherboard
Dietmar
PS: One of those Flex10 notebooks is brandnew.
It even could be, that some components are only glued in, not soldered at all.
For to test this, I make the ultimative test for the Bios chip.
I can remove by hand the whole "soldered" Bios chip from the brandnew Flex10,
so the original Bios chip is only glued in. The "solder" points under the Bios chip do not show the smallest damage,
just the Bios chip is outside.

#7046

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7045

> I can remove by hand the whole "soldered" Bios chip from the brandnew Flex10

Not soldered it sucks.

#7047 | diderius6 | ⇗ @Gelip I solder the Bios chip back into the brandnew Flex10 by hand. Now, the black screen often seen after Bios update is gone ) Dietmar ⇗

#7048

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7047

> I solder the Bios chip back into the brandnew Flex10 by hand.

You tried to program the chip with the SOIC 8 clip without desoldering? Apparently Lenovo X220 can be done, so maybe Flex10 too:
⇗ https://tylercipriani.com/blog/2016/11/1...a-raspberry-pi/

#7049 | infuscomus | ⇗ @Gelip If I understood ⇗ @diderius6 correctly, the chip was never actually soldered in the first place.

#7050

diderius6

⇗ @infuscomus ⇗ @Gelip
Yes, I put the Bios chip out only with hand, brrr..
But now it is soldered by hand for the first time solid rock on the Flex10 motherboard
Dietmar
⇗ @infuscomus
I debug your last 12A setup.
The legacy XP does not start, just hangs from beginning.
And the XP (with EMS) gives Bsod 0x12A, because no information about the language pack is stored in registry.
I found via Ida Pro the place in ntkrnlpa.exe where this Bsod happens

    PAGE:0069332D                 mov     _MUIRegistryInfo, eax
    PAGE:00693332                 mov     eax, [ebp+var_74]
    PAGE:00693335                 mov     _MUIRegistryInfoSize, eax
    PAGE:0069333A                 cmp     [ebp+var_70], ebx
    PAGE:0069333D                 jnz     short loc_69334A
    PAGE:0069333F                 push    8002h           ; BugCheckParameter2
    PAGE:00693344

    PAGE:00693344 loc_693344: ; CODE XREF: NtGetMUIRegistryInfo(x,x,x)+1DD j
    PAGE:00693344                 call    _MUIBugCheck@4  ; MUIBugCheck(x)
    PAGE:00693344 ; ---------------------------------------------------------------------------
    PAGE:00693349                 align 2
    PAGE:0069334A

    PAGE:0069334A loc_69334A: ; CODE XREF: NtGetMUIRegistryInfo(x,x,x)+1BE j
    PAGE:0069334A                 cmp     [ebp+var_68], ebx
    PAGE:0069334D                 jnz     short loc_693363
    PAGE:0069334F                 cmp     ds:_PsUILanguageComitted, ebx
    PAGE:00693355                 jz      short loc_69335E  -------> gives BSOD 0x12A, when not ZERO
    PAGE:00693357                 push    8001h
    PAGE:0069335C                 jmp     short loc_693344
    PAGE:0069335E ; ---------------------------------------------------------------------------
    PAGE:0069335E

    PAGE:0069335E loc_69335E: ; CODE XREF: NtGetMUIRegistryInfo(x,x,x)+1D6 j
    PAGE:0069335E                 call    _MigrateOOBELanguageToInstallationLanguage@0 ; MigrateOOBELanguageToInstallationLanguage()
    PAGE:00693363

And the XP (with EMS) shows via Windbg

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows Vista 6000 x86 compatible target at (Tue Mar  9 12:56:17.380 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\WINDOWS\symbols
>     Executable search path is: C:\WINDOWS\symbols
>     Windows Vista Kernel Version 6000 (Service Pack 3) MP (1 procs) Free x86 compatible
>     Built by: 6000.16386.x86fre.vista_rtm.061101-2205
>     Machine Name:
>     Kernel base = 0x81400000 PsLoadedModuleList = 0x81511db0
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows Vista 6000 x86 compatible target at (Tue Mar  9 12:56:19.458 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ..........................................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 12A, {1, 46, 0, 0}

>     Probably caused by : ntkrpamp.exe ( nt!CmGetSystemControlValues+57 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     81481760 cc              int     3
>     kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     MUI_NO_VALID_SYSTEM_LANGUAGE (12a)
>     Windows did not find any installed, licensed language packs for the system default UI language.
>     Arguments:
>     Arg1: 00000001, Windows did not find any installed language packs during
>     	phase I initialization.
>     Arg2: 00000046, NT status code that describes the reason of failure.
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

>     BUGCHECK_STR:  0x12A

>     CURRENT_IRQL:  1

>     LAST_CONTROL_TRANSFER:  from 814d873f to 81481760

>     STACK_TEXT:
>     814f16e4 814d873f 00000003 814fac74 00000000 nt!RtlpBreakWithStatusInstruction
>     814f1734 814d91ac 00000003 00000001 00000046 nt!KiBugCheckDebugBreak+0x1c
>     814f1ae0 814d85c9 0000012a 00000001 00000046 nt!KeBugCheck2+0x5f4
>     814f1b04 8173fc58 0000012a 00000001 00000046 nt!KeBugCheckEx+0x1e
>     814f1b48 8173a596 00000000 814f8300 814f4820 nt!CmGetSystemControlValues+0x57
>     814f1cdc 816b901e 808076b0 814f1d3c 816babf9 nt!InitBootProcessor+0x257
>     814f1ce8 816babf9 00000000 808076b0 814fa67c nt!ExpInitializeExecutive+0x13
>     814f1d3c 814e6319 814f8740 814f8300 814f2000 nt!KiInitializeKernel+0x656
>     00000000 f000eef3 f000e2c3 f000eef3 f000eef3 nt!KiSystemStartup+0x319
>     WARNING: Frame IP not in any known module. Following frames may be wrong.
>     00000000 00000000 f000e2c3 f000eef3 f000eef3 0xf000eef3

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!CmGetSystemControlValues+57
>     8173fc58 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!CmGetSystemControlValues+57

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4549ae00

>     FAILURE_BUCKET_ID:  0x12A_nt!CmGetSystemControlValues+57

>     BUCKET_ID:  0x12A_nt!CmGetSystemControlValues+57

>     Followup: MachineOwner
>     ---------

>     kd> lm
>     start    end        module name
>     81252000 81253100   WMILIB     (deferred)
>     81274000 8127c000   kdcom      (deferred)
>     8127c000 81285000   PSHED      (deferred)
>     81285000 8128d000   BOOTVID    (deferred)
>     8128d000 812c8000   CLFS       (deferred)
>     812c8000 812f7d80   ACPI       (deferred)
>     812f8000 81308a80   pci        (deferred)
>     81309000 81312180   isapnp     (deferred)
>     81313000 81315800   compbatt   (deferred)
>     81316000 81319780   BATTC      (deferred)
>     8131a000 8131b580   intelide   (deferred)
>     8131c000 81322180   PCIIDEX    (deferred)
>     81323000 8132d700   MountMgr   (deferred)
>     8132e000 8132f700   dmload     (deferred)
>     81330000 81334d00   PartMgr    (deferred)
>     81335000 81339700   storpor8   (deferred)
>     81400000 817a1000   nt         (pdb symbols)          c:\windows\symbols\ntkrpamp.pdb
>     817a1000 817d5000   hal        (deferred)
>     81c00000 81ce1000   CI         (deferred)
>     81ce1000 81db4000   sptd       (deferred)
>     81db4000 81dd2880   ftdisk     (deferred)
>     81dd3000 81df8700   dmio       (deferred)
>     81df9000 81e08c80   vmci       (deferred)
>     81e09000 81e15c80   VolSnap    (deferred)
>     81e16000 81e23d00   vsock      (deferred)
>     81e24000 81e3b900   atapi      (deferred)
>     81e3c000 81e56b00   symmpi     (deferred)
>     81e57000 81e6e880   SCSIPORT   (deferred)
>     81e6f000 81e82000   storahci   (deferred)
>     81e82000 81ecb000   storport   (deferred)
>     81ecb000 81eed680   ntoskrn8   (deferred)
>     81eee000 81f0b000   lsi_sas2   (deferred)
>     81f0b000 81f13e00   disk       (deferred)
>     81f14000 81f20180   CLASSPNP   (deferred)
>     81f21000 81f40b00   fltMgr     (deferred)
>     81f41000 81f52f00   sr         (deferred)
>     81f53000 81f69b80   KSecDD     (deferred)
>     81f6a000 81ff6d00   Ntfs       (deferred)
>     81ff7000 82023a80   NDIS       (deferred)
>     82024000 820a6000   wdf01000   (deferred)
>     820a6000 820b4000   WDFLDR     (deferred)
>     820b4000 820cde80   Mup        (deferred)
>     820ce000 820d8580   agp440     (deferred)

## Page 471

#7051 | infuscomus | ⇗ @diderius6 I wonder how Vista is designed to detect which system language is installed? It is obviously different from how XP detects language since this was a working XP install and I just swapped ntoskrnl/hal.
#7052 | infuscomus | ⇗ @diderius6 do you think copying every registry key with MUI in it from an existing vista install would be enough to get past this BSOD?

#7053

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7052

> @diderius6
> do you think copying every registry key with MUI in it from an existing vista install would be enough to get past this BSOD?

I don't think it will be related to MUI registry key. I will scan LP installing process in Windows 7 RTM, where are no LPs. These locations should be same. But it can be also caused by file scan, as language pack package should be placed in correct place in packages directory.
Also it can be related to this registry as I cannot uninstall LP until it was modded

    https://forums.mydigitallife.net/threads/how-remove-default-thin-pc-language-pack.81205/

I will try to do this LP scan in few days

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7054 | infuscomus | ⇗ @George King Do you think it is possible to integrate a Vista language pack into an XP install?

#7055

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7045

> I can remove by hand the whole "soldered" Bios chip from the brandnew Flex10,
> so the original Bios chip is only glued in. The "solder" points under the Bios chip do not show the smallest damage, just the Bios chip is outside.

diderius6 ...normally, that kind of chip with the pads underneath is connected by a hot air flow. They may have developed some kind of conductive glue but I am guessing the batch from which your motherboard came did not have the airflow at the proper temperature to melt the solder.
Can you post a photo of the BIOS chip on the mobo and maybe photos of the mobo and chip when they are off? It's hard to visualize solder pads with no visible sign of solder.
When removing and replacing chips on a mobo or any board, it's better to have a good solder flux. I have a Zhaoxin 858D rework station which is a hot air device with different sized funnels to direct the hot air.
Sorry...saw your photo later. Pretty weird that you could remove the chip without de-soldering. Poor quality control. It appears from your photo that you may not have used soldering flux. The solder did not flow very well, especially on the lower pins on the left pin.
It's very tough to do, I am not being critical. You need the right temperature, a very fine point on the soldering iron, the right solder and flux. I have an adjustable heat soldering station with different tips which is a lot better than using my trusty old 25 watt iron. There is not very much space on modern mobos and I sometimes use an overhead microscope and amplify the board 100x.
The hot air station is very good as well once you get used to it. It's pretty well essential for surface mount technology.

#7056 | George King | No It's impossible, but I hope I can reproduce same error on Windows 7, then find certain reg key or package file location. Can you send me your files, so I can reproduce it on XP too?[TOOL] XP2ESD - Create modern Windows XP installer ⇗ https://forums.mydigitallife.net/threads...nstaller.82935/
#7057 | infuscomus | ⇗ @George King I sent you a PM with my files.

#7058

diderius6

⇗ @gordo999
You are right, this time I do not use any solder flux.
The reason for this is:
On the solder pads on the motherboard itself was a lot of solder,
like small, high round hill on each pad.
No solder at all at the legs of the Bios chip.
So, any more solder or even flux can make those "hills" melt and connect pins to each other.
I use my 30 Watt iron, press the Bios chip as heavy as I could with fingers on the pad,
and the iron on them. So, the "hills" got melted and the Bios chip legs just sink into it
Dietmar
PS: On my older Flex 10 I removed the Bios chip with a HOT airgun from China.
Problem in this airgun is, that the temperature is about 500 degrees and it has too much power.
At once the Bios chip flies away ). On this older Flex 10 board after airgun I cleaned pins on motherboard and on the Bios chip from all solder, then use flux and the Bios chip sits perfect on the pads. To solder this was easy, because I can use much less solder than it is original on the new flex 10 board.
Yes, a good microscop lense would be very helpful, I just use glasses.

#7059

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7058

> On the solder pads on the motherboard itself was a lot of solder, like small, high round hill on each pad. No solder at all at the legs of the Bios chip.

diderius6 ...Dietmar, the reason I use flux on old solder is that the old stuff gets hard to melt. A bit of flux makes it flow better. If there is too much and it flows across the pins you can 'wick' if off using braided copper which is designed for that. Or, use a suction device when the solder is melted.
The biggest problem, as you know is too much heat. That can destroy the chips, or cause the 'lands' to which the chip is attached to lift off the board. I use a very light (small diameter) solder (60/40) which melts fast and I add a small amount to the iron tip as I touch it on the chip lead to get it flowing. I try not to leave the tip on more than a second or two.
In the old days we'd use a heat sink of some sort on transistor leads to draw the heat away (small alligator clip). You could wedge the end of a long piece of 22 gauge copper wire between the chip leads, above where you are working, to suck some of the heat away.
With the hot air guns, I use tweezers to hold the chip in place, after tinning both the pad and the chip lead. With the iron, I hold the chip with the tweezers while I attach one lead (after tinning the pad and lead). Then I go to another lead on the other side of the chip so I don't get too much heat in one area. Once a couple of leads are soldered it's easier to do the rest.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7058

> Problem in this airgun is, that the temperature is about 500 degrees and it has too much power.

Know what you mean. For me, it's trying to find the right distance and using a funnel attachment that is about 3/16" diameter, to focus the heat.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7058

> Yes, a good microscop lense would be very helpful, I just just glasses.

I was doing extensive work on a mobo, changing mosfets, and needed to trace the circuit. Could hardly see the traces. Bought a stereoscope microscope like the one at the link. It gives you 9" clearance between the lower lens and the work piece.
⇗ https://www.amscope.com/stereo-microscop...neck-light.html

#7060

diderius6

⇗ @gordo999
Thanks for the link. I like a lot the microscops there!
For a good stereoscope microscope 3 things must be fulfilled:
1.) Big distance between lense and object, at which you look
2.) Also possible low magnification
3.) Good light, this may be the most important
Dietmar

#7061

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7060

> 3.) Good light, this may be the most important...

diderius6 ...the unit at the link comes with an LED lamp on a goose neck holder for placing the light. You can see it on the example, it's the long, black attachment and you can bend the holder to shine directly onto the work. The base of the unit is quite heavy, for stability.

#7062 | infuscomus | ⇗ @George King any updates on XP2ESD?

#7063

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7062

> @George King
> any updates on XP2ESD?

Yes, I was working on method how to create fully localized shortcut with strings from EXE/MUI. So I finished it now. My goal is to add Snipping Tool app as it's really usefull component. Using Alky for application is possible patch Vista beta 2 with MUI from RTM. I tried to prepatch files to make it easy, but I realized it doesn't work at the end. It's needed to patch it in installed Windows at the end.
But I'm lost in automated patching way. Do you have idea how to reproduce it? If you install Alky for applications (best is to grab installer from Windows Sidebar addon by Ricktendo64), you get new right click context menu options. I found these options in registry, but there is no command only UUID. Do you have idea how to reproduce this patching from cmd?
EDIT: I also managed to use Windows 8.0 setup engine instead of Windows 10, so both can be now used without problem. My goal with Windows 8.0 setup engine is to be able use "upgrade" install. Will see today if I can really manage it. Windows 8.0 is latest possible engine (setup.exe) that can run under XP/Vista. My plan is deploy script, that can create perfect multiboot setup with multiple boot options, to boot into XP (XP2ESD modded boot.wim) / 7 / 10 setup engine with ability to use Recovery option and with only one install.esd. I hope this upgrade can be done, if yes setup transformation for XP will be perfect :) [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7064

infuscomus

> Zitat von ⇗ George King im Beitrag ¶ #7063

> Yes, I was working on method how to create fully localized shortcut with strings from EXE/MUI. So I finished it now. My goal is to add Snipping Tool app as it's really usefull component. Using Alky for application is possible patch Vista beta 2 with MUI from RTM. I tried to prepatch files to make it easy, but I realized it doesn't work at the end. It's needed to patch it in installed Windows at the end.
> But I'm lost in automated patching way. Do you have idea how to reproduce it? If you install Alky for applications (best is to grab installer from Windows Sidebar addon by Ricktendo64), you get new right click context menu options. I found these options in registry, but there is no command only UUID. Do you have idea how to reproduce this patching from cmd?

⇗ @George King
Resource editor maybe? I'm not sure.

#7065

xiaox

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #4

> # Windows XP/2003 32-Bit on Modern Intel Hardware

> ...

@Mov AX, 0xDEAD hello sir, can i ask where i can download the "3) StorAHCI by skulltera/OneCore (storahci.sys), compiled from Microsoft Windows 8.x DDK Samples, (require storport.sys from Windows 2003)"?
and you says "Add PCI\VEN_8086&CC_0106 to *.inf as universal DEV_ID for any Intel AHCI Sata Controller", it's this right?(ie i add it in "7) StorAhci for Windows 2003, based on Microsoft Windows 8.x DDK Samples source code, ⇗ https://sourceforge.net/projects/storahc...dows-2003/";)
[Models]
%ADAPTERNAME% = storahci, "PCI\CC_010601" ; Standard SATA AHCI Controller
%ADAPTERNAME% = storahci," PCI\VEN_8086&CC_0106" ; Standard SATA AHCI Controller
[Models.NTx86]
%ADAPTERNAME% = storahci, "PCI\CC_010601" ; Standard SATA AHCI Controller
%ADAPTERNAME% = storahci, "PCI\VEN_8086&CC_0106" ; Standard SATA AHCI Controller
[Models.NTamd64]
%ADAPTERNAME% = storahci, "PCI\CC_010601" ; Standard SATA AHCI Controller
%ADAPTERNAME% = storahci, "PCI\VEN_8086&CC_0106" ; Standard SATA AHCI Controller
if it's right, how to add "amd's AHCI Sata Controllers" to those "Standard SATA AHCI drivers"?

## Page 472

#7066

klovaaxel1000

Hello, I am new to this forum so hope it's ok to ask in this thread.
I need to move a windows XP machine to a newer PC I did manage to move it from the original one which was in sata IDE Mode to my main Z97 PC in ACHI mode by updating the IDE/ATA controllers driver to the DEV_8C83.
However the new PC (lenovoThincentre m710e) says its a 200 series z370 with a i3 7100 but none of the drivers labeled 100, 200/300 or 300 series work for me. just end up the the 0x000000A5 stop code.
Does anyone have any tips on how to get the drivers working for me?

#7067

Fernando

⇗ @klovaaxel1000
Welcome to the Win-RAID Forum!
Since the modern Intel RST drivers do not support Windows XP, I have moved your request into this thread where you may get help from usern, who know much more than me about how to get XP working on a PC with modern hardware.
By the way: The 0x000000A5 stop code has been caused by the not compatible XP in-box MS driver named acpi.sys and has nothing to do with the Intel SATA AHCI driver.
Good luck!
Dieter (alias Fernando)

#7068 | infuscomus | ⇗ @klovaaxel1000 To get past A5 BSOD you need to replace acpi.sys in system32\drivers with a patched acpi.sys
#7069 | infuscomus | ⇗ @George King If you find out which registry key(s) that cause a 12A BSOD on windows7 let me know.
#7070 | klovaaxel1000 | ⇗ @infuscomus Thanks for your response I have however solved the issue by booting the xp OS on my old pc and Replaced the acpi drivers with standard pc in control panel, it booted fine however all the USB controllers where Intel usb3 so I decided to run this machine in a vm and pass through the USB an network

#7071

Brooons

Hiren's BootCD, MiniXP.
USB drivers to load by Txtsetup.sif
All work fine, but name USB device don't show from menagement device.
Why?
"USB 3.1 Root Hub", "USB Hub"- the inscription is not present....
From *.inf set driver - ok title
Through Txtsetup.sif - incorrect title

#7072

diderius6

⇗ @Gelip
I make a try,
if I can install original Win8.1 32 bit in pure UEFI mode (without any CSM) on the Flex10 with 32 bit bios.
Installation starts, but then the harddisk is not recogniced.
So, there may be a difference in original 32 bit Flex10 compis compared with 64 bit Flex 10 notebooks (as mine).
Because XP SP3 starts until mup.sys under pur UEFI on this compi using USB3,
I think, that the 32 bit Uefiseven works.
We just dont have a compi with real 32 Bit pur UEFI Bios
Dietmar
PS: Maybe, that pure UEFI boot is not supported for 32 bit Win8.1.
Pure UEFI boot also not works from original DVD with win8.0 in 32 bit on the Flex10.

#7073

Gelip

⇗ @diderius6
In my opinion, there were only few computers with UEFI 32-bit. Mostly they are UEFI 64-bit and have CSM. If there is CSM then you can use WinXP32/64 - there is only problem with ACPI, SATA and USB. To get around these problems the best way to use WinXP on a modern computer is a QEMU/KVM (virt-manager) virtual machine on Linux with PCI passthrough (CPU and bios must support).
I tested it and it works very well: ⇗ PCI passthrough karty graficznej na Debian 9 64-bit

- virtual legacy bios - >no ACPI and storage (SATA & USB) problems<
- native GPU and any PCIe or USB device

⇗
WinXP works like a dream
Of course we use PCIe devices with official WinXP drivers

#7074

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7071

> Hiren's BootCD, MiniXP. USB drivers to load by Txtsetup.sif All work fine, but name USB device don't show from menagement device. Why? e

⇗ @Brooons ...I am interested in getting Hirens to run with mini XP on a newer Asus B360M mobo. Can you supply more information about what you are doing?

#7075

Brooons

⇗ @gordo999 Integration Sata by means of Txtsetup.sif
Replace Acpi.sys
For set USB to need edit Txtsetup.sif like this:

    [HardwareIdsDatabase]
    AMDUSB30\ROOT_HUB30="amdhub30"
    AMDHUB30="amdhub30"
    AMDUSB30\CLASS_09&SUBCLASS_00&PROT_03="amdhub30"
    PCI\VEN_8086&DEV_A2AF&CC_0C03="amdxhc"

    [InputDevicesSupport]
    amdxhc="USB bla bla HUB",files.amdxhc,amdxhc

    [HwIdsDatabase]
    AMDUSB30\ROOT_HUB30="amdhub30"
    AMDHUB30="amdhub30"
    AMDUSB30\CLASS_09&SUBCLASS_00&PROT_03="amdhub30"
    PCI\VEN_8086&DEV_A2AF&CC_0C03="amdxhc"

    [InputDevicesSupport.Load]
    amdhub30=amdhub30.sys
    amdxhc=amdxhc.sys

    [files.amdhub30]
    amdhub30.sys,4

    [files.amdxhc]
    amdxhc.sys,4

in detail for edit Txtsetup.sif: ⇗ http://www.oszone.net/user_img/050224181558/sata_guide.zip
⇗ http://www.oszone.net/2782
This worked, but, correct name Usb Hub is not displayed in the device menager
",,Bla bla,,," replaced another words

#7076 | infuscomus | ⇗ @Brooons use the backported windows 8.0 driver instead.

#7077

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7075

> Integration Sata by means of Txtsetup.sif
> Replace Acpi.sys
> For set USB to need edit Txtsetup.sif like this:

⇗ @Brooons ...thanks for advice. On the Hirens 15.2 disk I found an XP.wim file in HBCD\XP folder. There is a txtsetup.sif file in the i386 folder of the wim file Is that the file you mean?
I am going to replace acpi.sys with acpi.sys from outer space and I have the installation file for SATA from Fernando. I am comparing my XP installation registry entries, that work well, with the entries in the Hirens sif file. I need some time to figure it out.
Meanwhile, thanks for the link. I will read the file. I have done slipstreaming using nlite, also adding drivers, but I don't see how that would work with Hirens. Looks like I need to edit the sif file directly and add the acpi.sys driver as well as Fernando's SATA drivers. I am still using ⇗ @daniel_k AMD drivers for USB 3 and I'll add those as well. I have PS/2 ports so may just use them at first.

#7078

gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #7077

> [quote=Brooons|p7075]
> Integration Sata by means of Txtsetup.sif
> Replace Acpi.sys
> For set USB to need edit Txtsetup.sif like this:

⇗ @Brooons ...thanks for advice. On the Hirens 15.2 disk I found an XP.wim file in HBCD\XP folder. There is a txtsetup.sif file in the i386 folder of the wim file Is that the file you mean?
I am going to replace acpi.sys with acpi.sys from outer space and I have the installation file for SATA from Fernando. I am comparing my XP installation registry entries, that work well, with the entries in the Hirens sif file. I need some time to figure it out.
If you need USB info from a working XP installation registry, let me know.
Meanwhile, thanks for the link. I will read the file. I have done slipstreaming using nlite, also adding drivers, but I don't see how that would work with Hirens. Looks like I need to edit the sif file directly and add the acpi.sys driver as well as Fernando's SATA drivers. I am still using ⇗ @daniel_k AMD drivers for USB 3 and I'll add those as well. I have PS/2 ports so may just use them at first.
ps. according to the file at your link I should make entries in the txtsetup.sif file for adding drivers under the heading [SourceDiskFiles] with a 1,,,,,,3_,4,1. It also says to create a folder in the install disk for the drivers but the only folder I see on Hirens is in the XP.wim file in the i386 folder under system32\drivers. Sound right??? Or should I create a $OEM$\$1\drivers directory somewhere and put each driver in its own folder? Hirens does not have the $OEM$ folder.

#7079

Brooons

> Zitat von ⇗ gordo999 im Beitrag ¶ #7077

> On the Hirens 15.2 disk I found an XP.wim file in HBCD\XP folder. There is a txtsetup.sif file in the i386 folder of the wim file Is that the file you mean?

Yes
See on worker Txtsetup.sif ⇗ https://transfiles.ru/foo19

> Zitat

> $OEM$\$1\drivers directory somewhere and put each driver in its own folder? Hirens does not have the $OEM$ folder.

No need
system32\driver folder only

#7080 | Brooons | ⇗ @gordo999 ⇗ https://transfiles.ru/yushu Ready XP.wim, for test it (Intel B250 Prime work fine)

## Page 473

#7081

diderius6

⇗ @Gelip
I just find an full 8Mbyte original UEFI 32bit Bios (via EEpromer readout) for the Lenovo Flex 10.
So, soon we will know, if it is possible to boot XP SP3 via pure UEFI
Dietmar
PS: Oh, soso much fun..)
Just flashed and double checked with this 32 bit Bios
⇗
⇗ https://ufile.io/tuixb2mu
EDIT: My 64 bit Lenovo Flex 10 does not start with this 32 bit Bios.

#7082

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7079

> No need....system32\driver folder only

⇗ @Brooons ...thanks for help, advice, and link to sif file.

#7083

galagun

> Zitat von ⇗ diderius6 im Beitrag ¶ #7081

> EDIT: My 64 bit Lenovo Flex 10 does not start with this 32 bit Bios.

Maybe it is hitting SEC phase due mismatch between security eeprom keys and UEFI32 routines, or mismatch between MEI chipset core and the routines found in the capsule. Nowadays the diverse components which compose machine's firmware boot are spread across motherboard eeprom's and chips built-in flash space. Isn't as easy as just replace main firmware volume as it was with older x86 desktop boards (actually, never has been easy in laptops, specially brand ones like HPs, Dells, Lenovo's, Apples, Toshibas, etc... but now with security signatures and checks, has become harder than ever).
This may need debugging via JTAG to see where it actually fails.
EDIT:
⇗ https://forums.mydigitallife.net/threads...te-issue.56669/
Basically, and according this, you need an older board with older processor to run UEFI32. Newer boards with UEFI64 and newer SoC can't be switched to 32bit older firmware, and older ones can't be switched to UEFI64. Mismatch between Capsule core and the EC firmware stored in the ITE chip prevent that.

#7084

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7081

> I just find an full 8Mbyte original UEFI 32bit Bios (via EEpromer readout) for the Lenovo Flex 10.

I do not understand you
Earlier you wrote:

> Zitat von ⇗ diderius6 im Beitrag ¶ #7024

> When I now start direct from this USB harddisk,
> first step of XP boot works

that you checked that UefiSeven 32 works
Do you have two Flex10 laptops?

#7085

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7081

> https://ufile.io/tuixb2mu

This bios is not pure UEFI because it has no GOP. UEFITool shows many errors:
⇗ ⇗ ⇗ <- H2OEZE-W
The original 32-bit Flex10 bios has GOP: ⇗ 93cn19ww(v5.2&v3.7).exe
⇗ ⇗ ⇗ <- H2OEZE-W
Original 32-bit bios: ⇗ 93cn19ww
Original 64-bit bios: ⇗ 93cn52ww Gelip has attached files to this post

- ⇗ flex_extracted.zip
- ⇗ 64_flex_extracted.zip

#7086

diderius6

⇗ @Gelip
I have 5 Flex 10 ), 4 of them absolut identic for 64 bit.
Thanks a lot for the new Bios.
I only noticed, that the Bios for 32 Bit, that I found in Internet,
does not work.
Today in the afternoon I will flash yours and test,
have a nice day
Dietmar

#7087 | Gelip | ⇗ @diderius6 32-bit bios have only UEFI+GOP 32-bit firmware 64-bit bios have UEFI+GOP 64-bit & CSM+Oprom 16-bit ⇗ ⇗
#7088 | diderius6 | ⇗ @Gelip Also with your 32 bit Bios, the 64 bit Flex 10 does not start. I check everything 3 times, so ⇗ @galagun is right Dietmar

#7089

Brooons

> Zitat von ⇗ infuscomus im Beitrag ¶ #7076

> @Brooons
> use the backported windows 8.0 driver instead.

⇗ success, press here

#7090 | infuscomus | ⇗ @Brooons nice!

#7091

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7088

> Also with your 32 bit Bios, the 64 bit Flex 10 does not start.I check everything 3 times, so @galagun is rightDietmar

Yes, you probably need to do ME cleanup. 32-bit bios have ME 1.0.2.1060 but 64-bit bios have ME 1.1.0.1089

#7092 | thetester | I have a Gigabyte H310M S2P motherboard.. I want to use the COM and LPT ports too. But when i try to install the Windows XP, i get a Blue Screen. ACPI error and SATA AHCI driver errors. Wha i need to INTEGRATE with nLite to install?! Thank you! TT

#7093

Gelip

⇗ @diderius6
Try reprogram also EC.
EC is in file .fd after string "$_IFLASH_EC_IMG_"+8 bytes and have 64Kb (10000h) size. It starts with HEX 02 00
Original 32-bit bios: 93cn19ww -> offset 82C218
Original 64-bit bios: 93cn52ww -> offset 830D30
⇗ Gelip has attached files to this post

- ⇗ 64bitec.zip
- ⇗ 32bitec.zip

#7094

diderius6

⇗ @Gelip
I flash your 32 bit Bios on another 64 Bit Flex 10 notebook. From hardware it is identic to first one.
This time, the screen stays not black(?!). Strange, because flash methode and check of Bios chip content is fulfilled on both.
First try without modded EC. Now the result is exact the same as for my own build 32 bit Bios
(see post before)
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (469)
The Bios version and the EC in Bios is shown from the 64 bit version before, but now as 32 bit.
The harddisk is not recogniced and error is shown for the serial number Lenovo SN
Dietmar
PS: May be, that the Bios cant detect a harddisk with MBR. But for a GPT harddisk I think the UEFI files from Vista Longhorn do not work.
⇗

#7095

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7094

> PS: May be, that the Bios cant detect a harddisk with MBR. But for a GPT harddisk I think the UEFI files from Vista Longhorn do not work.

I don't know, make a GPT partition and check but UEFI should support both MBR and GPT - at least for me WinXP 64-bit boots from MBR disk on pure UEFI (same WinXP 32-bit under DUET32 from MBR disk).
P.S. When you update the bios with the .exe file under Windows, the BIOS and EC are programmed:

> Zitat

> ⇗ Install the package in Windows
> Before Flash, plugin AC and battery capacity need over 30%.
> Locate the file 93cn59ww(v9.9&v3.8).exe that has been downloaded.
> Double click the 93cn59ww(v9.9&v3.8).exe icon.
> Click OK, the computer will automatically reboot to start flashing BIOS and EC. During the process, please do not turn off the computer.
> After the update finished, the computer will automatically reboot for the changes to take effect.

⇗ @diderius6
UPDATE!!!
Yes. EFI Longhorn 5219 32-bit files not support GPT ----> ⇗ https://www.betaarchive.com/forum/viewto...=450771#p450771
but it has nothing to do with the bios.
I think that the EC must be programmed compatible.

## Page 474

#7096

diderius6

⇗ @Gelip
You cant use the flashprogram for to change between 64 and 32 bit, only EEpromer.
I think for to flash a 32 bit Bios with the flashprogram, a partition on the UEFI harddisk is build,
from which after reboot the Bios chip is written. So this does not work without an UEFI partition on harddisk
Dietmar
PS: Do you know, how to program the EC and the ME? Because I use your full 8Mbyte bios with its own EC and ME via EEpromer.
So this is stored at another place, not in Bios chip. But EC and ME can be updated so in princip it should be possible to change them by hand, but where and how?
PPS: Your 32 bit Bios has ME 1.0.2.1060 version and it is complete flashed to the Bios chip also.
How can I check on the Flex 10, which version of ME is now working there? And why is the Bios version and the EC the same as before (from 64 bit Bios)?
I can operate only from USB device on the Flex 10, because no harddisk is recogniced.

#7097

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7096

> You cant use the flashprogram for to change between 64 and 32 bit, only EEpromer.

Yes, I know - but new (other) bios is programmed with EC.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7096

> PS: Do you know, how to program the EC and the ME? Because I use your full 8Mbyte bios with its own EC and ME via EEpromer.

8MB file contains only bios and ME regions. EC region is in .fd file - did you read it -> ¶ t4035f45-Windows-XP-Bit-and-Server-Bit-on-Modern-Hardware-473.html#7093 ???
Maybe it is enough to replace the EC region in the 32-bit or 64-bit .fd file and program it with force EC only - see platform.ini settings:

    [UpdateEC]
    Flag=1
    EC_Dialog=0
    BIOS_Only=0
    EC_Only=0
    EC_Path=
    EC_Compare=0
    EC_Verify=0
    EC_VerifyErrorRetry=3
    ;Flag                               (w)
    ;                  default : 0.
    ;                        0 : Don't flash EC by BIOS.
    ;                        1 : Flash EC by BIOS.
    ;EC_Dialog                          (w)
    ;                  default : 0.
    ;                        0 : Don't display confirm dialog when begin to update EC.
    ;                        1 : Show confirm dialog.
    ;BIOS_Only                          (w)
    ;                  default : 0.
    ;                        0 : Flash EC and BIOS file.
    ;                        1 : Only flash BIOS part of the merge file.
    ;EC_Only                            (w)
    ;                  default : 0.
    ;                        0 : Flash EC and BIOS file.
    ;                        1 : Flash only EC binary file.
    ;EC_Path                            (w)
    ;                  default : empty.
    ;                   String : EC file name.
    ;EC_Compare                         (w)
    ;                  default : 0.
    ;                        0 : Don't do compare before writing. Just do write action directly.
    ;                        1 : Read EC and compare difference before writing.
    ;                            If the read data is the same as the data we want to write,
    ;                              it will not do the write action.
    ;EC_Verify                          (w)
    ;                  default : 0.
    ;                        0 : Don't verify EC.
    ;                        1 : Verify EC after writing.
    ;EC_VerifyErrorRetry                (w)
    ;                  default : 3.
    ;                  Integer : Retry times.
    ;                            If the value is not zero means enable verify retry, and will retry setted times.
    ;                            0 for disable verify retry.

    ; Supports on WIN flash.

#7098

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7096

> How can I check on the Flex 10, which version of ME is now working there?

To check ME version use MeInfo for yor platform e.g. under UEFI Shell 32-bit from pendrive TXEInfo.efi from Intel TXE System Tools v1 r4 -> ⇗ Intel Trusted Execution Engine: Drivers, Firmware & System Tools

#7099

diderius6

⇗ @Gelip
I format the intern harddisk from the Lenovo Flex 10 with GPT and FAT32,
but harddisk is still not recogniced from Bios.
Now I download Intel TXE System Tools v1 r4,
but I have no idea how to make a bootable USB stick from this, so that I can use all tools.
There are a lot of other tools also, with which I think you can change nearly everything.
May be others can help here also, to change the Lenovo Flex 10 Bit 64 ---> Bit 32 machine
Dietmar

#7100

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7099

> Now I download Intel TXE System Tools v1 r4,
> but I have no idea how to make a bootable USB stick from this, so that I can use all tools.

For UEFI 32-bit bios:

- format USB as FAT32
- make folder EFI\Boot\
- copy TXEInfo.efi from EFI32 System Tools archive to USB anywhere e.g. root
- copy bootia32.efi (UEFI Shell) to \EFI\Boot
- boot PC from this USB in UEFI mode
- go to your USB - probably fs0: (check run map -r)
- dir
- txeinfo -page

Gelip has attached files to this post

- ⇗ UEFI_Shell32.zip

#7101 | diderius6 | ⇗ @Gelip I get this for the Lenovo Flex 10 with 32 Bit Bios after typing TXEInfo.efi Dietmar ⇗
#7102 | Gelip | ⇗ @diderius6 You have ME 1.0.2.1060
#7103 | galagun | UEFI32 lenovo firmware for the Flex10 was meant to work with the N2805 and N3510 SoC family, while the UEFI64 image is meant to work with the posterior N2806 and N3520 ones. Maybe there is a difference between the SATA controllers built with these old and new SoCs which makes the built in EFI SATA AHCI driver to fail working with them (yes, UEFI uses drivers to expose these)?

#7104

galagun

> Zitat von ⇗ diderius6 im Beitrag ¶ #7101

> @Gelip
> I get this for the Lenovo Flex 10 with 32 Bit Bios after typing TXEInfo.efi
> Dietmar
> ⇗

I can see this firmware can't decrypt the security info on your security eeprom, so the UUID and the OEM tags aren't available. Some firmware setups enter in manufacturing mode if them can't do that (can't read the "sealed" tag) and disable functions in the motherboard... Although never have seen firmware disabling sata controllers in manufacturing mode...

#7105

Gelip

⇗ @diderius6
Boot Flex10 from USB under UEFI32 Shell and check what about the hard drive:
devtree -b
Check SATA (AHCI) Ctrl number (in example is 91), then dh 91 -d
the pictures show examples from QEMU UEFI:
⇗ ⇗
What does map -r show? Example from QEMU:
⇗ ⇗

#7106

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5440

> 0xDEADBEEF is error of ntoskrnl_extender, it means it found some error when someone called it (ported usb3 driver), second code can tell more, i numerated it as 0,1,2,3 to define what procedure inside sources generated it

Hi ⇗ @Mov AX, 0xDEAD, I encountered this BSOD with Server 2003 SP2. All ported drivers are included in this system.
With Windows XP is works as expected.
Any idea whats going wrong?
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7107

infuscomus

⇗ @George King
This happens because of this code in wrk2003.c

> Zitat

>     //////////////////////////////////////////////////////
>     //  KeAlertThread
>     gTramp_KeAlertThread = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic1,
>     sizeof(KeAlertThread_magic1), KeAlertThread_magic1mask);
>     if (!gTramp_KeAlertThread)
>     gTramp_KeAlertThread = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic2,
>     sizeof(KeAlertThread_magic2), KeAlertThread_magic2mask);
>         if (!gTramp_KeAlertThread)
>     gTramp_KeAlertThread = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic1chk,
>     sizeof(KeAlertThread_magic1chk), KeAlertThread_magic1chkmask);
>             if (!gTramp_KeAlertThread)
>                 KeBugCheckEx(0xDEADBEEFL, 5, 0, 0, 3);
>     //////////////////////////////////////////////////////

I don't know why the hex check is necessary, ⇗ @Mov AX, 0xDEAD has a better understanding of why its there.

#7108 | infuscomus | ⇗ @George King have you had any luck in finding the registry key that causes a 12A BSOD in windows7?

#7109

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7108

> @George King
> have you had any luck in finding the registry key that causes a 12A BSOD in windows7?

I still don't touch it, I hope to have a look on it at weekend [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7110 | thetester | is there any way to use Windows XP on this motherboard?! Thank you!

## Page 475

#7111

diderius6

⇗ @Gelip
As you can see, no SATA driver at all, only USB.
Is there an generic Sata 32 bit UEFI driver for Bios,
which can be integrated with UEFI tool into the 32 bit Bios of the Flex 10
or can the SATA driver from the Flex 64 bit Bios been used also for 32 bit Bios
Dietmar
⇗

#7112 | Gelip | ⇗ @diderius6 Show command result: pci -b drivers -b
#7113 | diderius6 | ⇗ @Gelip Here it is Dietmar ⇗ ⇗

#7114

infuscomus

> Zitat von ⇗ thetester im Beitrag ¶ #7092

> I have a Gigabyte H310M S2P motherboard.. I want to use the COM and LPT ports too. But when i try to install the Windows XP, i get a Blue Screen. ACPI error and SATA AHCI driver errors.
> Wha i need to INTEGRATE with nLite to install?! Thank you! TT

⇗ @thetester
For a motherboard that recent it's easiest just to use the XP integral Edition with the optional patch integrator.
⇗ https://www.zone94.com/downloads/softwar...ntegral-edition
use options 1,4,6 and 7 for everything to work.

#7115

Gelip

⇗ @diderius6
SATA controller device is PCI 00 13 00
SATA driver is present in bios but not connected to SATA controller device - see #C column is -
Try connect driver SATA (EC) to device SATA controller (127):
connect 127 ec
map -r

#7116

diderius6

⇗ @Gelip
After typing
connect 127 ec
map -r
still only the USB device is shown
Dietmar
PS: Setup from original Win10 Usb installationsstick also tells: No harddisk found.

#7117

Gelip

⇗ @diderius6
I think you need to match UEFI32 EC and ME bios.
I have an idea but I don't know if it will work.
- now you have 32-bit bios writed by external programmer
- try update bios in with 32-bit from extracted (7-zip) file 93cn19ww.exe with insydeflash.exe
It should update the bios, ME and EC. If not, try again changing options in platform.ini

#7118

diderius6

⇗ @Gelip
Question is, how to run 93cn19ww.exe .
Frome the UEFI-shell it is not possible.
There has been Bios files from Lenovo in *.iso ,
but this I do not find.
May be, that there is an bootable Win8 32 bit USB stick image,
so that this can be used
Dietmar

#7119

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7118

> May be, that there is an bootable Win8 32 bit USB stick image,
> so that this can be used

Yes, try WinPE 8 or 10 32-bit from USB

#7120

diderius6

⇗ @Gelip
Do you have a bootable winpe.img, I think best would be win8.0 32 bit
that starts under pur 32 Bit Uefi?
The winpe.img that you send to me,
does not boot on the Flex 10 with Uefi 32bit Bios
Dietmar

#7121

Gelip

⇗ @diderius6
Try update from UEFI32 USB Shell - copy two files to USB:
- FwUpdLcl.efi from FWUpdate\EFI32 folder from Intel TXE System Tools v1 r4
- Win01BTIL52_37_19.fd from extracted 93cn19ww.exe (rename to bios.fd)
- boot from USB in UEFI and:
⇗ @diderius6
EDITED
fwupdlcl bios.fd
or
fwupdlcl -f bios.fd
FwUpdLcl utility is only for ME region update

#7122

diderius6

⇗ @Gelip
using
fwupdlcl -f bios.fd
I got message
Error 8771: Invalid File
Dietmar

#7123 | infuscomus | ⇗ @diderius6 windows 8.0 32bit here - ⇗ https://the-eye.eu/public/MSDN/Windows%2..._dvd_915479.iso

#7124

diderius6

⇗ @Gelip ⇗ @infuscomus
I boot the Flex 10 with the win8.0 *.iso written to DVD, booting for Setup of Win8 from USB DVD device.
Together I connect an USB stick with the full 32 bit Bios 93cn19ww.exe on it.
Then on boot from Win8 setup I chose computer repair, commandline.
There I change drive letter to C: (USB stick) and type 93cn19ww.exe there.
Waaoh, Bios is updated(!).
Then on next reboot after about loong 5 min,
I can "see", how the Bios chip is flashed.
Now in Bios can be seen the real name and EC of 93cn19ww,
but still no harddisk.
So, the UEFI 32 bit driver from this Bios just does not work together with the real SATA connector in the 64 bit Flex 10
Dietmar
⇗

#7125 | Gelip | ⇗ @diderius6 I make WinPE 5 (Win 8.1) 32-bit. Use Rufus to prepare USB - FAT32 ⇗ winpe81x86.iso

## Page 476

#7126

Pill Monster

> Zitat von ⇗ George King im Beitrag ¶ #7106

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5440

> > 0xDEADBEEF is error of ntoskrnl_extender, it means it found some error when someone called it (ported usb3 driver), second code can tell more, i numerated it as 0,1,2,3 to define what procedure inside sources generated it

> Hi @Mov AX, 0xDEAD, I encountered this BSOD with Server 2003 SP2. All ported drivers are included in this system.
> With Windows XP is works as expected.
> Any idea whats going wrong?

DEAD BEEF - hilarious! :D

#7127 | Gelip | ⇗ @diderius6 Run now txeinfo.efi -page

#7128

Gelip

⇗ @diderius6
Try Debian_32UEFI from USB. Write image ISO to USB with Win32diskimager, boot from it, press e to edit boot option, replace *586 to 4.9.0-8-686 and boot Debian pressing F10
⇗
⇗ live-image-i386.hybrid.iso
Show what gives the commands:
fdisk -l
cat /proc/devices
cat /proc/partitions
lspci -s 00:13.0 -v

#7129 | thetester | is there any way to use Windows XP on this motherboard?! Thank you! Thank you, i'll try it!
#7130 | diderius6 | ⇗ @Gelip After your steps on reboot Debian hangs, looking in vain for the Sata device Dietmar ⇗
#7131 | diderius6 | I just compare the SataController DXE driver in 32 and in 64 bit UEFI Bios. They are different, at least is one for x86 and the other is for x64 Section_PE32_image_SataController_SataController_body.efi Dietmar
#7132 | galagun | ⇗ @diderius6 Check if you can see a clue as ven&dev pciids or cc_xxxx pnp ids.
#7133 | diderius6 | ⇗ @galagun I look, but I found only word Sata, 686 via Winhex txt extract and nothing about ven&dev. Also I am not sure, that this driver is the only thing, which belongs to Sata, because it is only about 3kB small body file Dietmar

#7134

Mov AX, 0xDEAD

Hi ⇗ @Pill Monster

> Zitat von ⇗ Pill Monster im Beitrag ¶ #7106

> [quote=George King|p7106]
> Hi @Mov AX, 0xDEAD, I encountered this BSOD with Server 2003 SP2. All ported drivers are included in this system.
> With Windows XP is works as expected.

    //  KeAlertThread
    gTramp_KeAlertThread = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic1,
    sizeof(KeAlertThread_magic1), KeAlertThread_magic1mask);
    ...
                KeBugCheckEx(0xDEADBEEFL, 5, 0, 0, 3);

this mean KeAlertThread() not found inside w2003 sp2 ntoskrnl.exe as hex pattern

    // 2003 SP2 MP:
    // 55 8B EC 83 EC 0C 53 56 8B 75 08 57 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 64 8B 0D 20 00 00 00 BF 18 04 00 00
    // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

    // 2003 SP2 UP:
    // 55 8B EC 83 EC 0C 53 56 8B 75 08 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 8A 4D 0C 0F BE C1 8D 44 30 5E
    // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

#7135

thetester

Dear infuscomus
I tried to create with Rufus (latest), but unsuccessfull.
I tried YUMI (latest), but stlii unsuccessfull (load, but halt after count memory..)
I tried WinSetupFromUSB 0-2-3, started the install, but the second stage is unsuccessfull..
Can you help me, which program, and which settings to write the CREATED Windows XP SP3 1,4,6,7 ISO to FLASH Drive (8 Gb)
Thank you!
The Tester'

#7136

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7134

>     //  KeAlertThread
>     gTramp_KeAlertThread = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic1,
>     sizeof(KeAlertThread_magic1), KeAlertThread_magic1mask);
>     ...
>                 KeBugCheckEx(0xDEADBEEFL, 5, 0, 0, 3);

> this mean KeAlertThread() not found inside w2003 sp2 ntoskrnl.exe as hex pattern

>     // 2003 SP2 MP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 57 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 64 8B 0D 20 00 00 00 BF 18 04 00 00
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

>     // 2003 SP2 UP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 8A 4D 0C 0F BE C1 8D 44 30 5E
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

Yes, it doesn't exist in latest kernels. Here are kernels v5.2.3790.5583. I'm using fully updated setup with OnePiece Post SP2 UpdatePack for Server 2003.

    https://www.mediafire.com/file/j3uhwhf85y6uu4b/2k3_kernels_5.2.3790.5583.7z/file

Is here a solution or this mean Extender needs to be adapted?

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7137

infuscomus

⇗ @thetester
The easiest solution for this would be to burn it to a CD.
If that is not an option then I suggest using Easy2boot to make the USB drive - it even has a specific option for phase2 of XP setup.
Note: For your hardware choose the one without DPMS - The backported windows8 AHCI driver is the better solution anyway.
⇗ https://www.easy2boot.com/download/

#7138

Pill Monster

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7134

> Hi @Pill Monster

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #7106

> > [quote=George King|p7106]
> > Hi @Mov AX, 0xDEAD, I encountered this BSOD with Server 2003 SP2. All ported drivers are included in this system.
> > With Windows XP is works as expected.

>     //  KeAlertThread
>     gTramp_KeAlertThread
>      = (PFN_BOOLEAN_PKTHREAD_KPROCESSOR_MODE) ModuleHexSearch(MODULE_NTOSKRNL, KeAlertThread_magic1,
>     sizeof(KeAlertThread_magic1), KeAlertThread_magic1mask);
>     ...
>                 KeBugCheckEx(0xDEADBEEFL, 5, 0, 0, 3);

> this mean KeAlertThread() not found inside w2003 sp2 ntoskrnl.exe as hex pattern

>     // 2003 SP2 MP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 57 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 64 8B 0D 20 00 00 00 BF 18 04 00 00
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

>     // 2003 SP2 UP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 8A 4D 0C 0F BE C1 8D 44 30 5E
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

Thanks, I hadn't seen that one before. :)

#7139

Mov AX, 0xDEAD

> Zitat von ⇗ George King im Beitrag ¶ #7138

> this mean KeAlertThread() not found inside w2003 sp2 ntoskrnl.exe as hex pattern

>     // 2003 SP2 MP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 57 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 64 8B 0D 20 00 00 00 BF 18 04 00 00
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

>     // 2003 SP2 UP:
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 8D 4E 44 8D 55 F4 FF 15 xx xx xx xx 8A 4D 0C 0F BE C1 8D 44 30 5E
>     // 55 8B EC 83 EC 0C 53 56 8B 75 08 80 3E 06 57 74 16 6A 00 chk builds

> Yes, it doesn't exist in latest kernels. Here are kernels v5.2.3790.5583. I'm using fully updated setup with OnePiece Post SP2 UpdatePack for Server 2003.
> Is here a solution or this mean Extender needs to be adapted?

⇗ @George King:
all 4 kernels from v5.2.3790.5583 still contain same patterns, i was able to start w2003 sp2 (Virtualbox VM) with these kernels(all 4 variants) without bsod, so
1) check ntoskrn8.sys version, last 5.1.2600.10
2) recheck actual kernel in installed w2003 versus 5.2.3790.5583 archive (ntkrnlmp.exe,size=2503168, ...)

#7140

diderius6

⇗ @Gelip
I extract the whole SataController
File_DXE_driver_SataController_SataController.ffs
from the 32 Bit Bios of the Packard Bell EasyNote ME69BMP
which runs on a N2806 with integrated chipset,
the same as on the Flex 10.
Then I change with UEFITOOL this Satacontroller in the Flex 10 Bios and flash.
Now the Satacontroller is listed on the Flex 10 with full correct name VEN_8086&DEV_0F23
, but still no harddisk
Dietmar
PS: There must be another Bios driver, which does not work, may be AHCIbus.
I dont find information comparing the chipset of the N2806 with the N2805.
With the 32bit Bios from the Packard Bell we should be able to integrate in the 32 bit Bios of the Flex 10 everything what is missed, step by step.

## Page 477

#7141 | diderius6 | Should all the drivers with a questionmark "?" been replaced in Bios? Any help is welcome Dietmar ⇗

#7142

thetester

Where can I find, or how can i modify the drivers to work on Windows XP?!
No drirvers:
Unknown ACPI\INT3450\3&11583659&0
PCI Data Acq VEN_8086&DEV_A379&SUBSYS_88881458&REV_10\3&11583659&0&90
PCI Device VEN_8086&DEV_A324&SUBSYS_72708086&REV_10\3&11583659&0&FD
PCI simple VEN_8086&DEV_A360&SUBSYS_1C3A1458&REV_10\3&11583659&0&B0
SM BUS VEN_8086&DEV_A323&SUBSYS_50011458&REV_10\3&11583659&0&FC
VGA VEN_8086&DEV_3E92&SUBSYS_D0001458&REV_00\3&11583659&0&10
Audio Device FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&2E415D45&0&0201
Thank you,
TT'

#7143 | infuscomus | ⇗ @thetester VGA VEN_8086&DEV_3E92&SUBSYS_D0001458&REV_00\3&11583659&0&10 no 3D driver for this device there is a 2D driver though - ⇗ https://bearwindows.zcm.com.au/vbemp.htm

#7144

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7141

> Should all the drivers with a questionmark "?" been replaced in Bios?

No, you don't !
The question mark is not the problem. UEFI Shell does not know what type of BUS (B) or DEVICE (D) driver is. I checked two UEFI computers and a UEFI virtual machine and there are question marks everywhere:
⇗

#7145 | diderius6 | ⇗ @Gelip Hm, I see, that at the driver for AHCI Bus is not a questionmark at you. So, may be it is a hint for a not correct working, important driver in Uefi BIos Dietmar

#7146

Pill Monster

> Zitat von ⇗ thetester im Beitrag ¶ #7135

> Dear infuscomus
> Can you help me, which program, and which settings to write the CREATED Windows XP SP3 1,4,6,7 ISO to FLASH Drive (8 Gb)

I use ⇗ Rufus
Edit - I see you already tried Rufus but didn't work? Strange.. Another one I've used without issue is ⇗ WinToFlash

#7147

thetester

Thank you, it slill work! ;)
Now XP on my Machine!!!!! :)
But need theese drivers:
Unknown ACPI\INT3450\3&11583659&0
PCI Data Acq VEN_8086&DEV_A379&SUBSYS_88881458&REV_10\3&11583659&0&90
PCI Device VEN_8086&DEV_A324&SUBSYS_72708086&REV_10\3&11583659&0&FD
PCI simple VEN_8086&DEV_A360&SUBSYS_1C3A1458&REV_10\3&11583659&0&B0
SM BUS VEN_8086&DEV_A323&SUBSYS_50011458&REV_10\3&11583659&0&FC
VGA VEN_8086&DEV_3E92&SUBSYS_D0001458&REV_00\3&11583659&0&10
Audio Device FUNC_01&VEN_8086&DEV_280B&SUBSYS_80860101&REV_1000\4&2E415D45&0&0201
Now i try the VGA what infuscomus what sayed..
Thank you
TT

#7148 | infuscomus | ⇗ @George King any ETA on the next XP2ESD release? also, any luck on finding the source of a 12A BSOD?

#7149

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7148

> @George King
> any ETA on the next XP2ESD release?
> also, any luck on finding the source of a 12A BSOD?

XP2ESD is close to release. Next beta ISO can be in few days. Including all XP and Server 2003 editions. Server still need figure whats wrong in event log, but now all 5.1 and 5.2 32bit setup can be automatically converted into modern installer method with UpdatePacks. Some small polishing in few days and I hope it can be ready
EDIT: I'm thinking about ACPI.sys replacing on the fly during setup, same as PAE patching. As this can be very usefull on USB installs. Also base image will be untouched. Only standard and ported drivers are integrated.
EDIT2: I also would like to see XP2ESD 1.5 to run without problems on 5.1 or newer too, Now is needed to perform build from Windows 8+ [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7150 | infuscomus | ⇗ @George King have you had the time to find the cause of a 12A BSOD?

#7151

YuriyCN

Windows XP mod 2021 - system build for the modern PC (edition 27.03.2021)
The information doesn't fit into a forum post for a long time - so download the text file and read it in Notepad. Always use the latest version of the methodology, as the information is constantly changing and the methodology is supplemented.
TXT file (84kB, ENGLISH) - ⇗ https://yadi.sk/d/w7ps2MxYETTrNw
TXT file (94kB, RUSSIAN) - ⇗ https://yadi.sk/d/DW6NIfqVymZNDg

#7152

gordo999

⇗ @YuriyCN ...thanks for good work on info files. Might be an error in the English version in section under 'Recommended drivers individually':
With reference to:
storroprop.dll = 100,,,,,,,,3,3
in this section:
"2) Edit file DOSNET.INF, look for line d1,scsiport.sys and put d1,storport.sys
below this line. There will be 2 such places, so let's do it 2 times, it will
be like this:

    d1,scsiport.sys
    d1,storport.sys

3) Edit file TXTSETUP.SIF, look for line storprop.dll and after not
storport.sys = 1,,,,,,3_,4,0,0,,1,4 it should look like this:

    storroprop.dll = 100,,,,,,,,3,3
    storport.sys = 1,,,,,,3_,4,0,0,,1,4"

Is that a typo for storroprop.dll? Should it be storprop.dll?

#7153 | YuriyCN | Fixed and updated Windows XP mod 2021 - system build for the modern PC (edition 28.03.2021) TXT file (85kB, ENGLISH) - ⇗ https://www.upload.ee/files/13002216/Win..._3_ENU.txt.html TXT file (95kB, RUSSIAN) - ⇗ https://www.upload.ee/files/13002217/Win..._3_RUS.txt.html

#7154

George King

> Zitat von ⇗ gordo999 im Beitrag ¶ #7152

> @YuriyCN ...thanks for good work on info files. Might be an error in the English version in section under 'Recommended drivers individually':
> With reference to:
> storroprop.dll = 100,,,,,,,,3,3
> in this section:
> "2) Edit file DOSNET.INF, look for line d1,scsiport.sys and put d1,storport.sys
> below this line. There will be 2 such places, so let's do it 2 times, it will
> be like this:

>     d1,scsiport.sys
>     d1,storport.sys

> 3) Edit file TXTSETUP.SIF, look for line storprop.dll and after not
> storport.sys = 1,,,,,,3_,4,0,0,,1,4 it should look like this:

>     storroprop.dll = 100,,,,,,,,3,3
>     storport.sys = 1,,,,,,3_,4,0,0,,1,4"

> Is that a typo for storroprop.dll? Should it be storprop.dll?

You can always use nLite addon to add needed new files for ported drivers, I posted it on MDL. If you add this addon you can safely integrate ported drivers too with them.
⇗ https://forums.mydigitallife.net/threads...-9#post-1649999 [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7155

gordo999

> Zitat von ⇗ George King im Beitrag ¶ #7154

> You can always use nLite addon to add needed new files for ported drivers, I posted it on MDL. If you add this addon you can safely integrate ported drivers too with them.

⇗ @George King ...George...I have used nlite on Win XP but I tried recently to mod the xp.wim file in Hiren's mini XP version with nlite and it doesn't seem to like wim files that are not from a windows installation. Neither does DISM, although I can mount the Hiren's 15.2 xp.wim with DISM (W10) and mod it from there.
⇗ @Brooons ...I got Hiren's 15.2 running to the boot phase without ACPI or SATA driver problems, but if I select Mini XP, the horizontal bar runs across the bottom and I get a blank screen after it completes. Seem to have a video problem. I recently upgraded my video card to Nvidia GT 1030 but my XP installation on disk will run on it in super VGA mode. Not sure which driver I should install on Hiren's.
Thanks for your help and your sample wim file. Helped a lot. So did ⇗ @YuriyCN 's text file for installing XP.

## Page 478

#7156

George King

> Zitat von ⇗ gordo999 im Beitrag ¶ #7155

> > Zitat von ⇗ George King im Beitrag ¶ #7154

> > You can always use nLite addon to add needed new files for ported drivers, I posted it on MDL. If you add this addon you can safely integrate ported drivers too with them.

> @George King ...George...I have used nlite on Win XP but I tried recently to mod the xp.wim file in Hiren's mini XP version with nlite and it doesn't seem to like wim files that are not from a windows installation. Neither does DISM, although I can mount the Hiren's 15.2 xp.wim with DISM (W10) and mod it from there.

Yes, there is no tool for XP editing inside WIM. I didn't see you are working with live edition. Interesting idea. Will investigate Bart PE later in future to see if it can be included in XP2ESD image [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7157

gordo999

> Zitat von ⇗ George King im Beitrag ¶ #7156

> Yes, there is no tool for XP editing inside WIM. I didn't see you are working with live edition. Interesting idea. Will investigate Bart PE later in future to see if it can be included in XP2ESD image

⇗ @George King ...would be interesting to see something incorporated so your device booted like Hiren's or BartPE and the drivers could be inserted offline....maybe using nlite as part of the process.
I found a while back that the registry of another Windows OS can be edited offline by using a live regedit then loading the required hive from the offline hive. Of course, you don't want to go too crazy or you could be spending the rest of your life doing this. That's why I want to get Hiren's 15.2 running on my 300 series chipset (Intel B360M). It has a lot of goodies that can help troubleshoot problems on the offline OS.
Any ideas on a basic SVGA driver to use for Hiren's? In the txtsetup.sif file, under 'Display', it only lists vga=vga,sys. That driver is apparently too primitive for the newer nvidia GT 1030 card. However, I have noticed that a full XP OS will run in SVGA mode using some kind of driver with the same card.
I'm guessing it is running off an older nvidia nv4_disp driver in a very basic mode. I think that driver may have been loaded for the GT 730 driver which ran fine with XP on games like Myst.
Don't know if you are including the modded intelppm/hal mod for XP. It fixed up problems I had with games and the Firefox browser. Before inserting the modded files, games would not start, nor would the browser run efficiently.

#7158

diderius6

Hi,
on my EVGA z390 Dark board (XP friendly),
there is an onboard soundcard similar to Sound Blaster Recon3Di VEN_1102&DEV_0011,
chip CA0132-4AN
But I found only a driver for Vista 32 bit for this Soundcard.
A look with Dependency Walker shows unfulfilled dependencies from this Vista 32 bit driver to ntoskrnl.exe to XP SP3
KeEnterGuardedRegion
KeLeaveGuardedRegion
What do you think:
Make a try for to enable this soundcard with Extender for Ntoskrnl.exe under XP SP3
or just use another soundcard, working under XP
Dietmar
EDIT: There is hope, because I think, that this 2 files from Vista are not needed
ieshims.dll
wer.dll
⇗

#7159

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7158

> What do you think:

⇗ @diderius6 ...⇗ @daniel_k is the resident expert on Creative sound cards. He might already have a driver.

#7160

Gelip

> Zitat von ⇗ George King im Beitrag ¶ #7156

> Yes, there is no tool for XP editing inside WIM.

I use imagex.exe + GUI (gimagex) for editing WIM. On WinXP 32-bit I used 32-bit imagex.exe 3.1.0.0 + GUI
Now on WinXP 64-bit I use 64-bit imagex.exe 6.1.7600.16385 + GUI:
⇗

#7161

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #7160

> I use imagex.exe + GUI (gimagex) for editing WIM.

⇗ @Gelip ....George and I were talking about the xp.wim file on Hiren's 15.2 boot disk. I have used dism to mount the Hiren's xp.wim file then I could edit it in a file manager. For some reason W10 would not let me delete any files in the mounted wim file unless I used shift-delete, which is normally used for permanent deletion.
Hiren's 15.2 would not run on the newer mobo's. I managed to edit the wim file which has a txtsetup.sif file and a system32/drivers folder. I edited the sif file and added modded XP drivers. Now it boots but I seem to be lacking a video driver that will work with the nvidia GT 1030 card. Oddly, my XP installation will run with the card in SVGA mode. It was running fine with a GT 730 so I am trying to figure out which drivers allow XP to run on the GT 1030 in SVGA mode. That's all I should need for Hirens.

#7162 | infuscomus | ⇗ @gordo999 There is no driver for the GT 1030 for XP, so it would be defaulting the the basic SVGA driver XP ships with. There is a driver for the GT 730 for XP though so I assume that hirens XP.wim uses that.

#7163

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7162

> There is no driver for the GT 1030 for XP, so it would be defaulting the the basic SVGA driver XP ships with. There is a driver for the GT 730 for XP though so I assume that hirens XP.wim uses that.

⇗ @infuscomus ...thanks for reply. I am trying to figure out which stock XP driver is being used on my XP drive to make the GT 1030 work in SVGA mode. In the XP drivers folder, on both my hard drive and Hiren's boot CD, all I can see is vga.sys. It's obviously not working, either that or something else is wrong. I am wondering if there is a more advanced VGA driver that will do SVGA, or maybe vga.sys can do SVGA.
On my XP hard drive I have nvidia drivers left over from GT 730 and maybe it is running in SVGA from one of those drivers. I might try figuring out which drivers the GT 730 ran on, like the nv4_disp driver and see if I can load that in Hiren's.
I also have a lot of driver packs from the unofficial SP4 update. There may be a driver in there that will work. When I loaded the SP4 update, it made a few things work that were not working before. I could try the mobo video drivers but I don't want to keep switching if possible.

#7164

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7158

> What do you think:
> Make a try for to enable this soundcard with Extender for Ntoskrnl.exe under XP SP3
> or just use another soundcard, working under XP

I've tried with SBZ (has nearly the same drivers), but it didn't work.
The driver does load, but no mixer inputs/outputs are exposed, so it's useless.
Also had to use (or port) portcls.sys from Vista.
One needs to learn about the changes in Vista+ in order to fix this.

#7165

George King

> Zitat von ⇗ Gelip im Beitrag ¶ #7160

> > Zitat von ⇗ George King im Beitrag ¶ #7156

> > Yes, there is no tool for XP editing inside WIM.

> I use imagex.exe + GUI (gimagex) for editing WIM. On WinXP 32-bit I used 32-bit imagex.exe 3.1.0.0 + GUI
> Now on WinXP 64-bit I use 64-bit imagex.exe 6.1.7600.16385 + GUI:
> ⇗

This was mean for NTLite equivalent app, which works with already deployed images. You can also use Windows 8.0 DISM on XP. I still not released XP2ESD v1.5 where is integrated completely, in public v1.4 is used Windows 7 DISM. [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7166

gordo999

> Zitat von ⇗ George King im Beitrag ¶ #7165

> You can also use Windows 8.0 DISM on XP... in public v1.4 is used Windows 7 DISM.

⇗ @George King ...I found that W7 dism lacks some of the features of W10 dism. I have not tried W7 dism recently. I had no problem mounting an XP wim file, as you point out, for Hirens, using W10 dism and editing it in file manager.

#7167 | YuriyCN | with 1 apr ))

#7168

diderius6

Hi,
after crazy fight with Microsoft download servers I succeed to start Updates for XP SP3 and Posready 2009 again.
I use the posready reg hack, and before I updated with external Service Pack until April 2014.
I do not install any updates for XP,
because problem with the XP validating tool can happen
Dietmar
⇗

#7169

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #7168

> Hi,
> after crazy fight with Microsoft download servers I succeed to start Updates for XP SP3 and Posready 2009 again.
> I use the posready reg hack, and before I updated with external Service Pack until April 2014.
> I do not install any updates for XP,
> because problem with the XP validating tool can happen
> Dietmar
> ⇗

Why not use integrated setup with all updates? [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7170 | ruthan | ⇗ @YuriyCN: You forgot alternative operating systems.

## Page 479

#7171

diderius6

⇗ @George King
It is from my german XP SP1 CD.
I build with your nice files a complete XP SP3 setup DVD, 788 Mbyte, with all updates for XP SP3 and also for all posready 2009 updates.
Then, also a brandnew XP validate tool starts.
The problem in this is, that the Windows Validate tool gives problem. And via my methode I can chose, which files I want and which not
Dietmar

#7172

George King

My tool XP2ESD is updated to v1.5!
This is most important update!
Setup from USB3.x with NVMe is no longer problem!
Deyploed system have correct HALs and kernels.
Automated HALs and kernel patching when 4GB+ RAM detected during setup on end machine.
Dynamic input ISOs processing, no more defining Windows XP file names ISOs.
Windows 8 DISM due VHD mounting and image capturing
Windows Server 2003 support
..and many more changes.
Please see changelog for all details.

    03.04.2021 - v1.5 - Fixed generating tag file and image flag in Professional N Volume edition
                      - Fixed typos in Professional images naming
                      - Fixed MassStorage drivers integration before capturing
                      - Fixed registry bug in storahci.inf
                      - Removed bad driver iaNvStor.INF as iaNvStor.sys was broken somehow
                      - Updated AutoSysprep.cmd to dynamicaly process Repository folder
                      - Changed VHD mounting from DiskPart to DISM
                      - Changed "drivers" folder to "driverpacks" for future merging with Windows 7 / 10 setup to get perfect AIO
                      - Changed WinPE ScratchSpace from 32MB to 64MB (needed for sp3.cab repacking after PAE patching)
                      - Improved "System reserved" partition removal. New
    method remove partition on target disk, which have size listed in MBs,
    so 50/100/350/500 partition is automatically removed.
                      - Updated "Auto-Sysprep" scripts and deleted some unneeded files
                      - Updated DISM to latest version 6.2.9200.16384 that runs under XP - this adds also VHD mounting feature!
                      - Updated bcdedit.exe to latest version 6.2.9200.16384 that runs under XP
                      - Updated Longhorn NTLDR to look for standard ntoskrnl.exe
                      - Updated Snappy driver Installer to latest version v1.21.2.2102
                      - Updated MSSTMake to latest version 21.3.13.1
                      - Added Windows Server 2003 processing support, now
    can be all XP and Server 2003 ISO processed to build one perfect
    install.esd with all editions
                      - Added default system tweaks - Disable missing antivirus warning, Set
    Windows update as enabled to avoid unneeded settings prompt as WU is
    down, Show My documents and Computer on desktop
                      - Added setup.exe patching for Windows 8.0 source, now can be used Windows 8.0 and Windows 10 setup engine
                      - Added temporary and log files removal before capturing image
                      - Added Serpent, Palemoon, Firefox browser SFX
    installers, see more information about when you open them in WinRAR
                     - Added NTOSKRNL_Emu files into "Auto-Sysprep" as it's
    needed for included ported drivers (Generic AHCI, Generic NVMe, Generic
    USB3.x, Samsung NVMe, Intel IRST, AMD AHCI)
                      - Added bootsect.exe + bcdboot.exe v6.2.9200.16384
                      - Added winload.exe v6.0.6001.16497 - This one can
    successfully boot XP/2003. If you want use this boot option, just
    remember one important thing - This option can be used to boot after you
     finish OOBE otherwise you broke system
                      - Added makecab.exe extracted from Windows 7 image into WinPE setup image, need to repacking CABs
                      - Added sigcheck.exe into WinPE setup image, needed for detectinf file versions
                      - Added unneeded HALs and kernels removal before second reboot
                      - Added Windows XP bootlogo WinPE to get perfect XP look
                      - Added automated    HALs and kernel patching using WinXPPAE when more then 4000MB RAM detected during setup

                      - Added WinPE MassStorage integration steps -
    including NVMe and USB3.x generic drivers. You can perform setup from
    USB3 drive without problem!

    https://www.mediafire.com/file/1r8b5pfxuesh9n5/XP2ESD_v1.5.7z/file

I also added into first post (Maybe need more update, but it's enough for now) Silent Software Pack example package. I hope you will find it useful for your own build. Expand it into setup folder and all of them will be applied at the end of setup before OOBE.
Included are latest XP browsers repacks, thanks for idea @Shortyportuguese, WinRAR, 7z, CCleaner, VirtualBox etc..

    https://www.mediafire.com/file/0sbhqsgcc9r7f6c/SilentSetupSoftwarePack_Example_2021-04-03.7z/file

[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7173 | George King | ⇗ @infuscomus ⇗ @diderius6 If you want to build ISO with winload.exe, set USEWINLOAD=Yes in config.ini[TOOL] XP2ESD - Create modern Windows XP installer ⇗ https://forums.mydigitallife.net/threads...nstaller.82935/
#7174 | infuscomus | ⇗ @George King - nice work! If you have the time now, can you try to find the cause of a 12A BSOD in windows 7?

#7175

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7174

> @George King - nice work!
> If you have the time now, can you try to find the cause of a 12A BSOD in windows 7?

Yes, it's on my radar now! I'm going to use Windows 7 Ultimate E RTM, uninstall English language pack and commit changes, then install Czech language packs and compare both images, will send you all registry changes. I hope we can find needed placeholder soon :) [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7176

diderius6

Hi, today I make some speed tests with the dark z390 board under XP SP3 with all updates and also all posready.
CPU 9900k, 32Gbyte memory.
In Mathematica 5
25 sec for 2700000! with Western Digital black harddisk 2 TB and 4 Gbyte Memory
43 sec for 2700000! with nvme Optane 905P 960 GB and the 32 Gbyte patch
Cpu load only 6% in both cases(?!).
On Youtube and the Nvidia GT730 graphiccard
4k Video Peru without any stoppers with Western Digital black harddisk 2 TB and 4 Gbyte Memory
4k Video Peru with small stoppers with nvme Optane 905P 960 GB and the 32 Gbyte patch and 32 Gbyte Memory
Boottime to full desktop 13 sec with Western Digital black harddisk 2 TB and 4 Gbyte Memory
Boottime to full desktop 20 sec with nvme Optane 905P 960 GB and the 32 Gbyte patch
Dietmar

#7177 | ruthan | Well 100 / 16 (8 core + 8 virtual ones(HT)) threads is ~6%, maybe its running on single core..
#7178 | Cixert | As much as I search, I cannot find where to download WinXPPAE 2.0 by ⇗ @daniel_k I do not understand...

#7179

George King

> Zitat von ⇗ Cixert im Beitrag ¶ #7178

> As much as I search, I cannot find where to download WinXPPAE 2.0 by @daniel_k
> I do not understand...

There is latest 3.5 version [TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7180

Mov AX, 0xDEAD

Hi !
Let's make another dirty hack :)
This time is AVX/AVX2 Enabler for Windows XP (x32 only)
Again as Proof-of-Concept, only ntkrpamp.exe (MultiCPU+PAE) is done (still BETA v1), v5.1.2600.7581 (KB4463103 update, 2029056 bytes)
Do it yourself (you need change kernel file on disk, remember about Microsoft's EULA):
1) xdelta3.exe -v -f -d -s ntkrpamp.exe ntkrpamp.delta ntkrpamp_avx.exe
2) put ntkrpamp_avx.exe as new ntkrnlpa.exe in /system32 folder, ntkrnlpa.exe will be selected by bootloader only if windows was installed as MultiCPU+PAE. Also you can force exact filename in boot.ini: add /kernel=ntkrnlpa.exe
Links:
ntkrpamp.delta v1 - ⇗ http://www.unibytes.com/facSy3u_83gLqw-Us4P3UgBB / ⇗ https://www.mediafire.com/file/a692j6ymc..._delta.zip/file
ASM sources (FASM format) v1 - ⇗ https://pastebin.com/CbBFd5tM
xdelta3.exe - ⇗ https://github.com/MovAX0xDEAD/KDNET/raw/master/xdelta3.exe
P.S. Some test/diag utils fail with AVX detection due wrong coding, but proper projects like Prime95 do it right
P.S. WinXP x64 kernel has different FPU context format, but i think it is possible to do same trick, but i'm not interested
P.S.S Don't ask for AVX512, there is no free space in FPU context to store additional 16*AVX512_H(256bit) regs. WinXP x32 kernel allocates only 520 bytes(see _FXSAVE_FORMAT struct) for store all (2*ControlWords(128bit) + 8*FPU/MMX(128bit) + 8*SSE(128bit) + 8*AVX_H(128bit)) regs, this "520" harcoded to structs and code :(

#7181

diderius6

⇗ @Mov AX, 0xDEAD
I take a look, which CPU is first in offering AVX (Registers with 256 Bit) : Sandy Bridge
AVX2: Haswell
Via Microsoft, only from Win7 SP1 AVX is used.
I just build ntkrpamp_avx.exe
⇗ https://ufile.io/in92dj79
Dietmar
"By default, newer Prime95 >= v.27 automatically selects the newest instruction set extension, such as AVX, AVX2, or even AVX-512." yepp, confirmed.
Hihi, this will be a real burning hardware test for any compi now, using Prime95 with AVX enabled under XP SP3 with last Posready ntkrpamp.exe.
Einstein@Home, looking for Gravitional Waves, also uses AVX.
EDIT: I just check Prime95 with and without AVX. AVX works.
Prime95 is about 4 times(!) as fast as without AVX.
CPU 9900k on the EVGA Dark board z390 reaches 100 degrees on all cores,
225 Watt without any overclocking.
The EVGA dark z390 board is stable under this extreme conditions but I think,
that this test will crash a lot of compis.

#7182

iyutos

⇗ @Mov AX, 0xDEAD
To add a new CPU instruction into XP kernel - it's hard to imagine, I admire your skills.
What about patching Explorer.exe so that when deleting NTFS Junction through Shift+Delete, it will not delete target files.
Also to add an ability to understand NTFS symlinks natively (though there is a symlink driver for Windows XP by Masatoshi Kimura).
To remove 255 characters limit in Explorer.exe for files and folders...

#7183

diderius6

Would be very interesting,
to compile some programs new, allowing the compiler to make use of AVX2 instructions.
Nothing needs to be changed in original code. The compiler do it for you.
Not only the registers are now 256 bit, also the integer operations.
Mathematica or Chess-programs do not use it until now
Dietmar

#7184 | Outbreaker | ⇗ @Mov AX, 0xDEAD Will the AVX/AVX2 Enabler also work with the PAE RAM Patcher together?

#7185

diderius6

⇗ @Outbreaker
I put the AVX patch from ⇗ @Mov AX, 0xDEAD together with the Mem patch from ⇗ @daniel_k
Needs intensive testing,
for me it works
Dietmar
⇗ https://ufile.io/9cqs6h78
EDIT: With AVX and mempatch, now Prime95 is about 430% faster as without.
CPU-Z tells, that now the CPU is 1200% faster..

## Page 480

#7186 | Outbreaker | ⇗ @diderius6 I see. I had to apply the AVX Patch first before applying the RAM Patch.

#7187

ruthan

I was searching to my stuff, so found memory bios areas explanation from one super micro manual.. It probably help to understand, why PAE patch is needed for to gain reasonable ammount of rams on some MBs..
It seams at least for some MBs, this design is sucks and its done by wrong way..
⇗
Source Super micro MBD-C7X99-OCE-F manual
⇗ https://www.supermicro.com/en/products/m...ard/C7X99-OCE-F // here is download link

#7188 | jonathan_hzs | halplusntosAVXplusMempatch.7z shutdown and reboot error usb become unknow

#7189

diderius6

⇗ @jonathan_hzs
Do you use usbport.sys from win2003
Dietmar
⇗ https://ufile.io/r75opqts
EDIT: May be, that the other files from the USB stack should also be used from win2003, because they work under large memory,
usbd.sys and usbstor.sys .

#7190

diderius6

⇗ @jonathan_hzs
With halplusntosAVXplusMempatch.7z
and only usbport.sys from Win2003
I noticed some random crashes,
when connecting a new USB device (USB driver is the win8 ported).
I dont know, which is the last usbd.sys and usbstor.sys from win2003.
But USB3 boot for example works, EWF works (gives 83524 Mbyte/sec ^^),
all on the Evga Dark z390 board.
Until now, all other seems to be stable. Prime95 runs stable for 90min, cooking compi )
Dietmar

#7191

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7190

> With halplusntosAVXplusMempatch.7z
> and only usbport.sys from Win2003
> I noticed some random crashes,
> when connecting a new USB device (USB driver is the win8 ported).
> I dont know, which is the last usbd.sys and usbstor.sys from win2003.

Hi Dietmar,
usbport.sys is only used by USB 1.1 / 2.0 host drivers, so the crashes have nothing to do with it.

#7192

diderius6

⇗ @daniel_k
I changed
usbport.sys
usbstor.sys
usbd.sys
against their version from win2003
Now, the random crashes are gone for
halplusntosAVXplusMempatch.7z
Dietmar
⇗ https://ufile.io/apynpcsd

#7193

Outbreaker

> Zitat von ⇗ YuriyCN im Beitrag ¶ #5876

> > Zitat von ⇗ schreiberstein im Beitrag ¶ #5856

> > New report:
> > After testing out the Sapphire AMD Radeon 7970 graphics card for a while now, I fount its performance to be lackluster on my Z490 platform:
> > Neg:
> > - Performance feels dated when playing games at 1440p
> > - Windows XP 2D performance is very slow (~1900 pts in Tom 2D Benchmark)
> > ---> Regardless of the blazing fast 10 core CPU, the UI feels very sluggish like an old Intel Centrino notebook from 2005.
> > ---> Performance degraded even further when using the PAE memory patch to enable more than ~900 MB of RAM (~1900 pts to ~400 pts on Tom 2D Benchmark) = UNUSABLE PERFORMANCE!
> > ---> Scrolling in web browser felt slow
> > - Catalyst Control Center buggy on Windows XP

> 1. To increase 2D performance on RADEON video cards in 2-3 times, you need to replace the videoprt.sys file with a file with WinXP SP2.
> ⇗ https://www.upload.ee/files/12489589/videoprt_files.zip.html
> 2. Good Catalyst Control Center for Windows XP
> ⇗ https://www.upload.ee/files/12377846/AMD...-Pack3.zip.html
> 3. Scrolling in web browser felt slow - it is observed with PAE only. Without PAE - scrolling in web browser works fast.
> Replace the file c:\WINDOWS\system32\drivers\videoprt.sys - and the scroll will work fine!

@ALL
Is this problem still the case?
And is the file videoprt.sys also from WinXP SP2?

#7194

YuriyCN

Situation with videoprt.sys + PAE RAM patch
It was noticed that using videoprt.sys taken from "WinXP SP2" AMD Radeon drivers have much better 2D performance (up to 200-250%) than the file with SP3. NVidia users answered that they do not see any difference between SP2 and SP3 - that is why the ready builds #2 and #3 include the file with SP2 as a more productive one. Checked file should be copied to c:WINDOWS\system32\drivers\videoprt.sys replacing the original one and reboot your PC. After the restart make sure that the file protection system does not give back the old version.
Measure the 2D performance with Tom2D_Ru (2D GDI Benchmark) and videoprt.sys (versions from SP1, SP2, SP3) - ⇗ https://www.upload.ee/files/13039545/Vid...D_Test.zip.html

#7195 | Outbreaker | Well that's interesting and strange. If there is no side-effect for the Intel/NVidia users then it thing it would be the best to simply use the WinXP-SP2 videoprt.sys file as the default one for Windows XP. EDIT: Is the web browser Scrolling slower with the SP2 videoprt.sys file or without the SP3 videoprt.sys file?
#7196 | diderius6 | Hi, there is a z590 motherboard, that supports XP Dietmar ⇗ https://www.overclock.net/threads/asrock...thread.1778037/

#7197

daniel_k

⇗ @YuriyCN
I don't have time to test right now.
Can you please test these SP2 hotfixes to see the performance?
5.1.2600.3512 (latest version)
⇗ http://thehotfixshare.net/board/index.ph...921-x86-enuexe/
5.1.2600.2911
⇗ http://thehotfixshare.net/board/index.ph...332-x86-enuexe/

#7198

YuriyCN

The effect is manifested with "Radeon video cards + PAE patch" only.
videoprt.sys (with SP2) - normal scrolling and good 2D performance
videoprt.sys (with SP3) - slower scrolling and low 2D performance

> Zitat

> I don't have time to test right now.
> Can you please test these SP2 hotfixes to see the performance?
> 5.1.2600.3512 (latest version)
> ⇗ http://thehotfixshare.net/board/index.ph...921-x86-enuexe/
> 5.1.2600.2911
> ⇗ http://thehotfixshare.net/board/index.ph...332-x86-enuexe/

Okay. The result will be later.

#7199

PPeti66x

Test on my machine: ASRock Z77 Fatal1ty Professional, CPU Intel I7 3770 (non-K variant, overclocked to 4.00 GHz); VGA: AMD Radeon R9 280x, Driver Date 29.08.2013, Driver Version: 9.0.100.0
Sorry, but I missed the "copy to clipboard" - because cyrillic text codepage was not converted to my system codepage - so only screenshots are available in RAR archive.PPeti66x has attached files to this post

- ⇗ Videoprt_2D_Test.rar

#7200 | Outbreaker | Strange that the ⇗ KB96092 HotFix that supposedly only fixes an LCD bug is causing this Radeon slow down Vs the ⇗ KB917332 HotFix.

## Page 481

#7201 | daniel_k | ⇗ @PPeti66x Thanks for your results, just realized that I couldn't test anyway, as I don't have any Radeon cards here.

#7202

YuriyCN

Videocard - Radeon R7 360 2GB
OS - Windows XP Pro SP3 RUS
2D performance with videoprt.sys (SP2):
2D performance with videoprt.sys (SP3):
These updates are not installed on my PC.
Please upload ready-made, unpacked files videoprt.sys.

#7203 | Outbreaker | ⇗ @YuriyCN Here you go. ⇗ https://www.mediafire.com/file/77u09ddvh...ookies.zip/file You can also extract the WinXP HotFix files with command '/x' like "KBXXXXXX.exe /x"
#7204 | YuriyCN | Videocard - Radeon R7 360 2GB WindowsXP-KB917332-x86-ENU\SP2QFE\videoprt.sys WindowsXP-KB960921-x86-ENU\SP2QFE\videoprt.sys WindowsXP-KB960921-x86-ENU\SP3QFE\videoprt.sys
#7205 | ruthan | Could you share Tom2D benchmark tool pleas? It seems that old download links are dead.
#7206 | PPeti66x | v1.04 english: ⇗ https://www.overclockers.com/forums/atta...27&d=1323748287 v1.05 russian: ⇗ http://www.thg.ru/graphic/2d_acceleratio...es/Tom2D_Ru.rar

#7207

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7190

> With halplusntosAVXplusMempatch.7z
> and only usbport.sys from Win2003
> I noticed some random crashes,
> when connecting a new USB device (USB driver is the win8 ported).

Those random crashes happened only when booting from USB?

#7208 | Lenovo_brokey | :/

#7209

diderius6

⇗ @daniel_k
Before, the crashes with 32 Gbyte sometimes happen, when I connect an USB stick
or sometimes, when I shut down the compi.
But now, with the Win2003 usb files,
I have not seen any crash.
For me it is rockstable. All programs work. Other question is, if XP uses any of the memory >4Gb, until now I see no difference to 4 Gb.
I succeed with USB boot from USB stick (with EWF filter and cfa.sys for to show any USB stick as harddisk, it is most fast XP in world ), also harddisk in USB box.
By the way I noticed, that your USB driver AMDXHCI_XP_FINAL_V3 is best for USB boot, only not for Asmedia ports
Dietmar

#7210

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #7209

> I succeed with USB boot from USB stick (with EWF filter and cfa.sys for to show any USB stick as harddisk, it is most fast XP in world ), also harddisk in USB box

Could you please write a short guide about it?

#7211 | YuriyCN | Tom2D_Ru 1.05 + videoprt.sys (versions from SP1, SP2, SP3) ⇗ https://www.upload.ee/files/13039545/Vid...D_Test.zip.html

#7212

diderius6

⇗ @Andalu
Ok, I write Tutorial. Because it means a lot of work for me,
I continue this Tutorial day by day, when I have mood ) and time for.
All needed files I offer for download. During writing this Tutorial I do all the steps by hand,
so that I do not miss something.
You do everything for yourself.
I am not responsible for any damage.
Tutorial How to build a write protected USB stick for any motherboard and boot XP from it
14 April 2021 dietmar.stoelting@t-online.de
1.) Format a harddisk with Fat32.
NTFS can be used also, but it is not possible to boot a mechanical write protected XP via NTFS.
Put this harddisk in an USB box and format this harddisk with RMPrepUSB v.2.1.739.
In RMPrepUSB choose on top "Settings" List large devices > 128 GiB.
Set mark in XP/BartPE bootable [NTLDR], FAT32, Force use of LBA calls . No other mark.
Click on the drive, so that it becomes blue.
Click left down on "6 Laufwerk bereitstellen". Click "ok", "ok", "ok", wait few seconds and then hit right down "Beenden".
RMPrepUSB v.2.1.739
⇗ https://ufile.io/aq0gleox
2.) Take this harddisk with Fat32 out of the USB box and install XP on it. Best is to install XP via original CD.
When during setup XP asks you about this harddisk, use "let partition unchanged".
You can install every driver and program, that you want. I would install only the most needed drivers and programs,
because later to copy it to an USB stick becomes very slow, when a lot needs to be copied.
3.) Before you install any USB device, go to Windows\inf folder usbstor.inf
Change there in
[USBSTOR.AddService]
StartType = 3 ---> StartType = 0
and add the line below ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = System Reserved
close usbstor.inf and store.
When you have already an USB driver or device installed, you have to do this step also,
but also change this value in registry [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor]
Start = 3 ---> Start = 0
and add extra key with content
Group System Reserved
4.) Download the USB driver from ⇗ @daniel_k . Other USB driver can work also, but this is the most easy way.
I edit this USB driver so that nothing needs to be changed.
Copy this USB driver to your harddisk.
Install this USB driver via device manager.
First click on amdxhc.inf and later, when XP asks, amdhub30.inf.
DanielUSBV3mod
⇗ https://ufile.io/6r80m7ix
5.) Connect your USB device, from where you want to boot XP. It can be any device, even flashcard.
Here I tell the procedure for the Kanguru SS3 USB-Stick. This is an USB3 stick with size 16, 64, or 128 Gbyte.
Expensive and slow, but it is one of the very few USB sticks on the market, which have a mechanical write protection.
This mechanical write protection is a true protection. I compare the content bit by bit before and after boot, no change.
Later with the EWF filter it builds the fastest XP on earth with this stick.
Before connecting your wished USB device, format it with FAT32 RMPrepUSB as written before.
This is an important step. Even later for to copy you may delete this partition on the USB device,
it has to be formatted before as I wrote.
The USB3 port has to be not from Asmedia.
USB boot via the Asmedia port is possible, but you have to use the original Asmedia USB3 files v.54 for this and modd its *.inf.
USB boot is also possible with the nice ported Win8 driver from ⇗ @Mov AX, 0xDEAD .
But also does not work for Asmedia USB ports and also not for to boot from an USB stick, but USB boot from harddisk in an USB box works.
6.) Disable the pagefile via "System" and boot XP new.
7.) Install the Cfa.sys filter driver to the USB stick. This step is only necessary, when your USB device is shown as "removable".
If you have success you will see, when the USB stick suddently appears as harddisk.
For this copy the CFA folder to the harddisk. Go to Device Manager, look for your USB device.
There you can see the driver disk.sys and partmgr.sys.
Choose driver update and click on cfadisk.inf. Install this driver even message appears,
that this driver is not for this device.
CFA filter driver
⇗ https://ufile.io/a6lgu2bv
7.2) Type regedit in "run" and delete whole key Mounted Devices.
[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
After deleting this key, shut XP down and go to 8.) Do not start this XP again,
before you copy it to the USB stick, because with each reboot, this key Mounted Devices is build new from XP.
8.) Now you have to make a copy of your XP on the harddisk to the USB stick.
I prefer to copy the files one by one from an outstanding XP via copy and paste.
This copy and paste let all files continous and allows the maximal possible short boottime for XP.
Begin with NTLDR, then ntdetect.com, then boot.ini then whole "Windows" folder, then "Documents and settings",
then "programs" then the rest. Always NTLDR has to be copied first and alone!
"Recycled" and "System Volume Information" copy not.
Now you may have a bootable USB stick. Depending on the device, there are possibilities to make any USB device bootable.
Most common is Bsod 0x7B or 0x21. Against 0x21 helps to start one time in Safe mode or to start with the connected original harddisk. And you may get a windows, which starts, but you see not the Desktop.
In this case you have to delete the whole key "Mounted Devices" on the USB stick from an outstanding XP.
On reboot, XP builds this key new.
[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
Exact this happens to me, when I follow step by step this my own Tutorial. Because of this, I put 7.2) here, there it is easy to delete the key
"Mounted Devices".
After deleting key MountedDevices on my USB stick, XP boots to Desktop via this USB stick, nothing other connected.
Now I describe, how to install the EWF filter, so that you have an XP from USB stick, which can boot write protected and is ultrafast.
9.) Download and extract the folder EWF to your bootable USB device
EWF
⇗ https://ufile.io/edismzsa
Copy from the folder EWF the file ewfmgr.exe to Windows\System32
and the file ewf.sys to Windows\System32\drivers
Type regedit in "run"
Go in registry to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet]
Click right on this key and choose "Permissions".
On the second (or last) entry (something like user) set all marks in "Allow".
When you do not find "user", click on each other and select always "allow".
Then click on "Advanced".
Then set mark in "Replace Permissions.."
click "Apply" "Yes" "ok" "ok".
Then doubleclick in the folder EWF on ewf.reg.
When you set the permissions correct in registry, a message appears,
that the changes have been put to registry.
10) Type again regedit in "run".
Go to
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
and change there on the right side "enabled" from 0 ---> 1
This Bit changes the whole USB device partition(!) to write protect.
Close registry and shut compi down.
After(!) next boot XP starts write protected. My boottime is 4 sec.
When you have an USB stick, which can be set manually write protect you will see,
that XP still boots. Only on a FAT32 partition XP does not write again and again to the USB device.
This prolonges the life of your USB stick from 1 day to years.
A test, if everything is ok you can do also:
Type in commandline ewfmgr c:
And when all is ok, you see message RAM <REG> enabled
and at bottom, how many bytes are used now for the Ram overlay. It can be under XP 650 Mbyte.
Nice hack would be, to enlarge this to 2 Gbyte as on win7.
When you want to stop write protect (first switch mechanical switch to write enable), write in commandline
ewfmgr c: -commitanddisable -live
and all your changes are written to your USB device. This is very comfortable and fast for new programs.
In registry you can see, that in
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0
"enabled" from 1 ---> 0
Set this bit back to 1 and after(!) next reboot your USB device is write protected again.
Good luck, tell me if you have success
Dietmar
PS: I add hal.dll and intelppm.sys from post
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197)
for to overcome the timer problem on newer Intel boards.
⇗ diderius6 has attached files to this post

- ⇗ How to build a write protected USB stick and boot XP from it.pdf

#7213 | Andalu | ⇗ @diderius6 It worked on the first try ......really awesome!!! Thank you soooooo much for the very detailed and meticulous guide, a true gem! Edit: added the following image: ⇗

#7214

gordo999

⇗ @diderius6 ...yeah...thanks Dietmar. Don't have time at the moment but I wonder if this might work with my Hirens 15.2 which uses mini XP. I managed to load it on a USB thumb drive with a grub/DOS bootloader and it loads fine until XP's GUI starts. Then I get a blank screen. Confirmed that it's not the video driver. The text portion is fine and I get the menu for selecting mini XP.
There are ideas in your tutorial that might work. My mobo uses an Intel-based B360C/CSM chipset.

#7215 | juk777 | Это на Radeon R7 360 2GB такие жиденькие результаты?Вот, ради интереса, прогнал на своей "затычке" GT 710:

## Page 482

#7216 | ruthan | What about gaming is Steam still working on XP somehow?
#7217 | infuscomus | ⇗ @ruthan there is an old steam version on archive.org that still works for XP.

#7218

YuriyCN

Download archive and unpack it to the root of your drive
File SteamDreamXP.7z (57 MB) - ⇗ https://www.upload.ee/files/13002672/SteamDreamXP.7z.html
Windows XP STEAM reconnect fix ⇗ https://yadi.sk/d/CX7-7GeClqeNfA
This version of STEAM perfectly works on XP and store and library, in short full functionality.
========================
Windows XP 2021 - system build for the modern PC (edition 17-APR-2021)
TXT (86kB, ENGLISH) - ⇗ https://yadi.sk/d/RYoBsl5rqcXXAQ
TXT (96kB, RUSSIAN) - ⇗ https://yadi.sk/d/Yl5ZxgRRa1CwRg

#7219

gordo999

> Zitat von ⇗ ruthan im Beitrag ¶ #7216

> What about gaming is Steam still working on XP somehow?

⇗ @ruthan ...most Steam games I have seen are hacked. Steam not required. To get games running on XP I found the intelppm and Hal mods are required. Otherwise, games won't start, or run erratically. I have been able to run much of the Myst series with Riven on XP. The intelppm/Hal mods also help Firefox run up to a certain version.

#7220 | genieautravail | A question to everyone! Is there an XP driver for Intel Iris Pro 5200 graphics solutions? I find on the internet a lot of links for a driver for XP but concretely does anyone use a PC with XP and this graphic solution? Thank you in advance

#7221

xingyou12

> Zitat von ⇗ diderius6 im Beitrag ¶ #1145

> May be we need WDFLDR.SYS (from Vista-Longhorn5048, Vista, Win7) all 32 bit
> for XP for Intel USB
> Dietmar
> PS:Intel USB 3 drivers need WDFLDR.SYS (Kernel Mode Driver Framework LOADER) which doesn't exist on XP.
> XP drivers require coinstaller WdfCoInstaller01009.dll (included with driver, it installs wdfldr.sys and wdf01000.sys) and separate usbd.sys.
> I install the Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe' extracted from WdfCoinstaller01009.dll which is the co-installer for KMDF 1.9.
> This drivers here have all only dependecies for XP!
> EDIT: This brings me to the idea, to install the very first USB driver from NEC on Longhorn 5048 for Intel chipset USB3.0.

Excuse me, do you have the 64bit Version of Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe'(KB970158) ? I need it for my PC to run XP/Server 2003 x64, I spend a lont time for searching it but can't find it in the Internet. And another hotfix I need is the x64 version of KB971286(WinUSB version 1.9 update) if you have. Thank you very much.

#7222

Mov AX, 0xDEAD

> Zitat von ⇗ xingyou12 im Beitrag ¶ #7221

> Excuse me, do you have the 64bit Version of Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe'(KB970158) ?

try:

    rundll.exe WdfCoInstaller01009.dll,WdfCoInstaller

WdfCoInstaller01009.dll can be found on many drivers like VIA USB3.0 Driver Package, x64 subfolder

#7223

xingyou12

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7222

> > Zitat von ⇗ xingyou12 im Beitrag ¶ #7221

> > Excuse me, do you have the 64bit Version of Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe'(KB970158) ?

> try:

>     rundll.exe WdfCoInstaller01009.dll,WdfCoInstaller

> WdfCoInstaller01009.dll can be found on many drivers like VIA USB3.0 Driver Package, x64 subfolder

Thanks, I have gotten the file 64bit version of Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe from extracting WdfCoinstaller01009.dll, and than installed it successfully! xingyou12 has attached files to this post

- ⇗ Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3-amd64.zip

#7224

Brooons

XP SP3, PRIME B250-PLUS, graphic card NVidia GV-NX66256DP , 5 browsers.
4 browsers not work, freeze.
Opera work fine.
DirectX9 run dxdiag all test fine, but browsers freeze
Rebooting this machine on Win_7, fine work browser for Win_7
Rebooting on XP, then not work browsers for XP, again, but except Opera, which work fine.
Why browsers freeze?

#7225 | diderius6 | ⇗ @Brooons Do you use the halplusintelppm patch from post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (197) The symptoms can be related to a not correct working timer Dietmar
#7226 | Brooons | ⇗ @diderius6 Wow !!!! It's work! Thank you!

#7227

Outbreaker

> Zitat von ⇗ diderius6 im Beitrag ¶ #6435

> I succeed to enable the very last ewf.sys from win 7.1 bit32 Version 1.0.1533.0 (win7sp1_ldr.160325-0600)
> with XP SP3.
> No matter, if you use Vista boot with winload.exe or classic ntldr,
> the limit of ram overlay is always about 719 MByte.
> But this new ewf.sys seems to be more stable than the ewf.sys from XP embedded.
> And this ewf.sys from win7 Bit32 still works together with ewfmgr.exe from XP Embedded.
> For to make it work under XP SP3, you have to build a new ewf.reg
> and you need to put in your correct "DiskSignature" and "PartitionOffset".
> The old ewf.reg from XP Embedded does not work any longer. Because now the disksignature and the partitionsoffset
> have to be given. I have no idea how this can work any longer with floppy or other changeable media without those values.
> The old ewf.sys from XP Embedded can(!) work with changeable medium.
> For to start, you have to change "Enabled"=dword:00000000 ---> "Enabled"=dword:00000001
> Dietmar
> ⇗ https://ufile.io/jx84ajtd

>     Windows Registry Editor Version 5.00

>     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
>     "UpperFilters"="Ewf"
>     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf]
>     "ErrorControl"=dword:00000001
>     "Group"="System Bus Extender"
>     "Start"=dword:00000000
>     "Type"=dword:00000001

>     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters]

>     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected]

>     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
>     "Type"=dword:00000001
>     "ArcName"="multi(0)disk(0)rdisk(0)partition(1)"
>     "Enabled"=dword:00000000
>     "CompareBeforeAlloc"=dword:00000000
>     "DiskSignature"=dword:db4c1922
>     "PartitionOffset"=dword:00100000

What about the FBWF (File Based Write Filter) would that not be a better option to add?

#7228 | diderius6 | ⇗ @Outbreaker The only way to build a complete write protected XP is to use EWF, have a nice day Dietmar

#7229

Outbreaker

> Zitat von ⇗ diderius6 im Beitrag ¶ #7228

> @Outbreaker
> The only way to build a complete write protected XP is to use EWF,
> have a nice day
> Dietmar

They say that EWF protects the whole volume and that the FBWF can protect the whole volume or you can setup write-throughs for files and folders.
⇗ https://www.itprotoday.com/server-virtua...ile-based-write

#7230

diderius6

⇗ @Outbreaker
FBWF operates at the file level while EWF operates at the sector level.
So, any virus has no chance. And a mechanical write protection then protects also MBR, just all on the boot device.
This can be done only with FAT32, because NTFS wants to make real writes to the boot device during boottime and check them.
When you work on the file level, it is possible for a virus, to put itself anywhere, outside of the files, because no real write protection.
With working on the sector level real write protection is possible, because all operations on the whole partition work in ram.
And with FBWF you cannot commit changes to the disk for all files at one time, only for selected file.
This is clear, because XP does not understand, what is written in a sector.
When all of all sectors of a partition are write protected (only in EWF), a virus has zero chance,
how good it ever may be written and you also protect it mechanical, so that no changes in the MBR or elsewhere outside of the partition can happen. Not a single bit changes, as you can test from an outstanding XP with Winhex.
By the way you can see, that also only reading from an USB stick lets the USB stick age, so reading alone limits the life time of any USB stick and there are BIG quality differences how quick this USB stick produces errors even nothing is written to, only readings.
With time, such an USB stick gets slower during read
Dietmar
"Bei dem FBWF kann es unter Umständen zu Seiteneffekten kommen, die den Schutz des jeweiligen Mediums nicht mehr gewährleisten."
"In case of a power failure FBWF can make your system unbootable."

## Page 483

#7231 | infuscomus | ⇗ @diderius6 you could have a mostly write protected XP install by making a bootable ESD image, sure with the right tools it can be modified but I think for most cases it should suffice.

#7232

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7228

> @Outbreaker
> The only way to build a complete write protected XP is to use EWF

There are other ways e.g.:

- sanboot (iSCSI or AoE in Read Only mode) - the size of the partition is practically irrelevant, works best over Ethernet 1000
- mapping RAW disk image to RAM with GRUB4DOS (map --mem). Of course, provided that the WinXP disk (partition) image will fit in RAM, but with today's RAM sizes of 8 GB and more, it is probably not a problem, e.g. 5GB disk image

#7233

diderius6

⇗ @Gelip
Is it possible,
to boot a mechanical write protected USB stick with an partitionsize of 5Gbyte with working XP on it to ram?
Interesting if yes and very much I would like a Tutorial for it,
because the main problem of EWF is its ram overlay size of about 650Mbyte maximal.
But the partition, from where XP via EWF starts, has NO size limit at all.
EWF has a lot of advantages: You can write all ram back to the disk,
you load to ram only the needed files which makes it fast as much as possible.
Because EWF is sectorbased, you can compress or whatever you can do with a partition
Dietmar

#7234

Gelip

> Zitat von ⇗ diderius6 im Beitrag ¶ #7233

> Is it possible,
> to boot a mechanical write protected USB stick with an partitionsize of 5Gbyte with working XP on it to ram?

I don't know but WinXP can, for example, be run from a server on Linux - NetzoneSoft NxD - after restart WinXP, the changes are not saved. I tested it almost 9 years ago with WinXP SP2: ⇗ https://www.elektroda.pl/rtvforum/topic2324204.html

#7235 | Gelip | ⇗ @diderius6 Also try iSCSI Cake server (runs on WinXP)

#7236

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7232

> mapping RAW disk image to RAM with GRUB4DOS (map --mem). Of course, provided that the WinXP disk (partition) image will fit in RAM, but with today's RAM sizes of 8 GB and more, it is probably not a problem, e.g. 5GB disk image

Very interesting!
Could you please give me a link to some guide about it?

#7237

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7246

> Is it possible,
> to boot a mechanical write protected USB stick with an partitionsize of 5Gbyte with working XP on it to ram?
> Interesting if yes and very much I would like a Tutorial for it,
> because the main problem of EWF is its ram overlay size of about 650Mbyte maximal.

⇗ http://reboot.pro/index.php?showtopic=9830
Here you are. Enjoy!

#7238

NT5 forever

I have been using XP in RAM disk mode since 2009 and can't even imagine running XP the regular way because it is way too scary with all the malware floating around the net.
RAM disks are a pain to set up, but once you get everything running it is stable as a rock.
I use Grub4DOS bootloader/menu, and it has the option to run XP both in file disk mode and in RAM disk mode.
When I want to install new software or hardware I use filedisk and set everything up the way I like it.
Changes are persistent after reboot, just like a regular XP installation on hard disk.
Once everything is configured correctly I reboot my machine and use RAM disk mode.
Changes made to the C drive will be flushed during a reboot.
I'm not using any realtime antivirus software and do everything, including browsing the web using the Administrator account.
Internet facing programs are sandboxed using Sandboxie freeware, and I use an anti executable: bouncer.
EWF is used to protect my data partitions.
I have never had any malware problem since I use this setup.
RAM disks are very easy to set up with the IMG-XP software package.
You can also use Microsoft's ramdisk.sys driver, but your RAM disk size will be limited to 500 MB.
It's not a big issue because most of my XP installations are smaller than that.
The advantage of the Microsoft driver is its compatibility with TrueCrypt pre-boot authentication.
This allows you to create a RAM disk image file nested inside an encrypted partition.
Before you will be allowed to boot the image into RAM TrueCrypt will ask for a password at the boot screen.
Once you get to the desktop and look in explorer you will see your C drive, but it won't appear in disk management!
The encrypted partition containing the RAM disk image is inaccessible, so malware will not be able to infect it.
The downside of this method is the longer boot time, because of the decryption process.

#7239 | diderius6 | Hi, is there somebody, who uses SVBus_V1.2_20200428 from Kai Schtrom for Ram Boot of XP Dietmar

#7240

gordo999

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7238

> I have been using XP in RAM disk mode since 2009...

⇗ @NT5 forever ...just pointing out that this thread is aimed more at XP on newer motherboards (Modern Hardware). How does your installation work on say a B360C/CSM Intel chipset which is a 300 series chipset?
I'm asking because I am trying to convert the Hiren's 15.2 utility disk, which boots in mini XP, to run on this modern chipset. I have tried on a CDROM and a USB stick. You would need to d/l Hiren's 15.2 to see what I mean but it uses the Grub4DOS bootloader and that works fine through the text mode part of the boot. I can get to the opening menu, select the mini-XP mode and it starts to load fine, with a horizontal bar indicating its loading progress.
After the horizontal bar completes, it should indicate that XP is starting but it never reaches that stage. All I get is a blank screen. Normally, trying to boot normal XP without the modded SATA driver, would produce a BSOD at this stage. But there is no BSOD, just a blank screen. I have verified it is not a video driver problem.
Any ideas from your experience since 2009? Is Mini-XP very different from standard XP?

#7241

Brooons

> Zitat von ⇗ gordo999 im Beitrag ¶ #7240

> Is Mini-XP very different from standard XP?

XP boot from HDD, but MiniXP boot from memory, after download ISO in memory.
My MiniXP work fine on PRIME B250-PLUS, but necessarily download ISO in memory, through Grub map memory.

#7242

diderius6

I succeed with ramboot of a 7Gbyte xp.img file
using svbus vers. 1.2 from Kai Schtrom,
RMPrebUSB vers. 2.1.739,
grub4dos-0.4.5c-2016-01-18
xp.img is the pur copy of the first 14844060 sectors via Winhex of my Western Digital NTFS 2 TB harddisk,
it is first partition with MBR and 2048 sectors before partition.
I install the svbus via its setup file to this WD 2TB and defrag this HD, before I make from it xp.img .
I install grub4dos to an USB stick via RMPrebUSB, and copy after the whole content of grub4dos-0.4.5c-2016-01-18
on root of this stick.
And I add a menu.lst with content
title Windows XP - RAMDISK
find --set-root --ignore-floppies /xp.img
map --mem /xp.img (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
Then I copy xp.img (7Gbyte) to the root of this stick,
voila )
Dietmar
PS: After, you can disconnect your USB stick, this is even better than any mechanical write protection.
It is stable. The chainloading via grub4dos allows you, to set the USB stick mechanical write protected, even NTFS.
⇗

#7243

Brooons

I installed a new copy of XP, ntfs.
Everything is set up, everything works fine.
Then I copied the XP folders, copy-paste, to another hard drive and attached that hard drive on that machine.
I get a loop of the desktop startup sound, but I can't see the desktop.
I've never seen this before
A constant loop of the Windows startup sound, endlessly.
Why?

#7244 | diderius6 | ⇗ @Brooons Not easy to get a working XP via copy and paste. Better is to use the tool AOMEI Partition Assistant Standard Edition 7.0 Dietmar
#7245 | Brooons | ⇗ @diderius6 AOMEI will delete partition, this is not possible, there are the necessary files XP copy-paste never had any problems before for me. It's amazing to see this for the first time... Loop sound, very strange.

## Page 484

#7246

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7241

> XP boot from HDD, but MiniXP boot from memory, after download ISO in memory.

⇗ @Brooons ...thanks. Seems I am having problems after mini-XP is loaded into the RAM disk. I'll check that out. It seems to load OK since the horizontal bar finishes before the blank screen appears. However, it may not be loading correctly.

#7247

Brooons

> Zitat von ⇗ gordo999 im Beitrag ¶ #7246

> [quote=Brooons|
> Seems I am having problems after mini-XP is loaded into the RAM disk.

Folder XP on ISO, file X, read him with notepad:

    BootDevice="ramdisk(0)"
    BootPath="\i386\System32"
    OsLoadOptions="/fastdetect
     /minint /rdimageoffset=8192 /rdimagelength=3161088
    /rdpath=\HBCD\XP\XP.wim /iso=\ISO\Hiren'sBootCD.iso"

Do you have such a path "\ISO\Hiren'sBootCD.iso"?
ISO virtual or real ?

del-18

YuriyCN

Баг RTC таймера - уход времени "вперёд" на мультипроцессорном ядре Windows XP
Описание:
При использовании Windows XP на современных ПК обнаружился глюк - системное время (RTC часы) уходит вперёд, причем степень ухода зависит от активности работы ПК и может составлять до 5 минут в день. Проблема проявляется только в Windows XP. На выключенном ПК, под UEFI/BIOS или в Windows 7 - время идет правильно. Часовая микросхема RTC должна быть независимой частью, но на современных материнских платах это не так. Исследование показало, что уход часов "вперед" происходит при постоянном переключении периода системного таймера 16 мс (15.625 мс) в 1 мс (0.977 мс) и обратно. В Windows XP (по умолчанию) этот таймер работает с периодом 16 мс и если на ПК не проявлять активности - то он продолжит работать с периодом 16 мс. Но при запуске Хрома или мультимедиа приложений, таймер переключается в режим работы с периодом 1 мс и может возвращаться на 16 мс. При жестко установленном периоде 16 мс (или 1 мс) время идет точно, но при постоянном переключении таймера 16 мс - 1 мс - 16 мс - 1 мс происходит сбой в работе часов реального времени RTC.
Решение проблемы:
Решение проблемы - утилита Timer_Fix.exe (с исходным кодом, написанная на Visual Studio 6.0). Программа не имеет интерфейса, после запуска она переведет системный таймер на период 1 мс и оставит его неизменным. Программа постоянно висит в процессах до перезагрузки ОС. Для завершения работы (в случае необходимости) нужно просто прибить процесс Timer_Fix.exe через "Диспетчер задач". Для удобства лучше положить Timer_Fix.exe в "Автозагрузку" и забыть о проблеме с уходом времени. В целом, данный фикс можно считать "костыльным", но ничего лучшего на данный момент нет.
Программа для демонстрации проблемы (программа для накрутки времени):
RTC_bug_demonstrations\Timer_v10\Timer_src_BCB6.0 - исходные коды программы
RTC_bug_demonstrations\Timer_v10\timeBeginPeriod.exe
RTC_bug_demonstrations\Timer_v10\timer.exe
Разработчик программы - женщина-программист Xenia. Огромное ей спасибо!
Данная программа служит для наглядной демонстрации проблемы с RTC таймером. Она устанавливает период системного таймера 1 мс (0.977 мс) выдерживает 0.2 секунды, устанавливает 16 мс (15.625 мс) выдерживает 0.2 секунды и далее продолжает переключать системный таймер с заданными длительностями. Программа состоит из 2-х частей:
1. timeBeginPeriod.exe - консольная программа для установки режима таймера. Заданный режим (период и длительность) передаётся в параметрах командной строки. Программа представлена с исходным кодом на Borland C++ Builder 6.0.
2. timer.exe - это GUI интерфейс для timeBeginPeriod.exe. В графическом режиме можно задать период 1, длительность 1 и период 2, длительность 2 работы системного таймера. Программа представлена с исходным кодом на Borland C++ Builder 6.0.
Для корректной работы timeBeginPeriod.exe и timer.exe должны находиться рядом, в одной директории.
Проверка RTC-bug:
1. Проверку производим на свежезагруженной системе, без выполняющихся фоновых задач. Все фоновые процессы должны быть закрыты, поскольку они могут удерживать таймер на 1 мс, что помешает работе демонстрационной программы.
2. Запускаем Clockres - программу для контроля периода системного таймера. Измеренный период должен = 15.625 мс
3. Запускаем CPU-Z, переходим на закладку About, нажимаем кнопку Timers и кнопку Start, чтобы контроллировать частоты системных таймеров
4. Запускаем timer.exe. Устанавливаем режимы Период 1 = 1 мс, Длительность 1 = 0,2 секунды, Период 2 = 16 мс, Длительность 2 = 0,2 секунды и нажимаем кнопку Start. Эти режимы заданы режимами по-умолчанию.
5. В установленном режиме (по-умолчанию) будет происходить "накрутка" времени RTC таймера приблизительно +2 секунды за 1 минуту работы программы. При Длительности = 0.1 секунда, накрутка времени будет составлять +4 секунды за 1 минуту.
Выводы:
1. Не смотря на то, что существует решение - программа Timer_Fix.exe, я предлагаю специалистам подробно изучить данную проблему с использованием нового инструмента - программы для накрутки времени Timer_v10
2. Может патчем файлов зафиксировать работу таймера на периоде 1 мс (0.977 мс), как это сделано в Windows 7
Состав архива:
Clockres - программа для контроля периода системного таймера
CPU-Z - в закладке About, кнопка Timers можно контроллировать частоты системных таймеров
Neutron 1.07 - программа для контроля и синхронизации времени через интернет
Timer_Fix (с исходным кодом) - фикс проблемы с уходом времени вперед (устанавливает таймер на 1мс)
Timer_v10 (с исходным кодом) - программа накрутки времени, для демонстрации проблемы
Скачать (2 МБ) - ⇗ https://www.upload.ee/files/13095203/RTC...ations.zip.html

#7248

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7247

> Do you have such a path "\ISO\Hiren'sBootCD.iso"?
> ISO virtual or real ?

⇗ @Brooons ...thanks for pointing out that 'X' file. I do have such a file and it has the same data you posted. I do not have a folder called \ISO with a Hiren's ISO in it. I created a folder on my C:\ drive and named it ISO and I made an ISO from my USB flash drive, naming it Hiren'sBootCD.iso but it made no difference.
It's not clear what /rdpath=\HBCD\XP\XP.wim /iso=\ISO\Hiren'sBootCD.iso means. I understand that rdpath is pointing to a path to the Hiren's files found in the XP.wim file but /iso=\ISO\Hiren'sBootCD.iso makes no sense. I think there may be a confusion here been the Unix language and the Windows language.
Clearly that path applies to the original CD so why would they need a reference to an ISO, unless they have created an ISO in the ramdisk, in folder /iso? It seems that line is aimed at the ramdisk since the reference is 'rdpath', where rd means ramdisk.
I am going to try changing the path to /iso=c:\ISO\Hiren'sBootCD.iso. Unfortunately, when ramdisks are created, they don't always use the same drive letters. I may have to guess which drive letter to use.

#7249

NT5 forever

@Gordo999
The advantage of using RAM disks is that it's very unlikely that you will get a blue screen because of missing/incompatible storage drivers.
You will just end up with only a C: drive in My Computer.
If the C: drive contains driverpacks, it will often be possible to install the correct driver manually from within the running OS.
After that, you can create a bootable disk image of the running system using the IMG_XP utilities package.
This new image will now contain the correct storage drivers and all the required registry settings in order to boot correctly in file disk mode.
Is there any particular reason you want to use Hiren's bootdisk?
Most of the programs on the disk are very outdated and this disk is just another flavour of BartPE AFAIK.
Running a PE has many limitations compared to regular XP.
Most programs on Hiren's disk are available for download on the net if you really must use them.
It would be much better to make your own mini XP using the free IMG_XP package.
The mini XP option reduces the size of your regular XP (not PE) to about 100 MB, and the image file it creates will be bootable in RAM disk and file disk mode.
In file disk mode you can install all the programs you need, and as long as you install all the right drivers you should be able to have access to your SATA drives.
I haven't tried to do this on modern hardware yet.
My latest XP compatible motherboard is from 2014.
Being stuck on the blank screen after booting might be a PE specific problem.
Maybe regular XP will boot just fine in RAM disk mode.
Dietmar made a tiny, tiny 10 MB XP a few years back.
Maybe you should test if it boots on your machine.

#7250

gordo999

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7249

> The advantage of using RAM disks is that it's very unlikely that you will get a blue screen because of missing/incompatible storage drivers.

⇗ @NT5 forever ...thanks for pointing that out. I am using the same storage driver, signed by Fernando, that I am using on my XP installation and it boots fine. However, that is the loading section where the driver is likely to be a problem.
On the Hiren's 15.2 disk there is a file called XP.bin. I am decompiling it in IDA and I have to use 16-bit decompilation. Even at that, IDA won't decompile it completely so I am doing the interactive part of IDA and marking code sections and text. As I decipher the text I have noticed the file's real name is setupldr.exe, version 5.2.3790.1830. It seems that is the XP loader file.
There are a few references to entries in the txtsetup.sif file, especially to acpi. I did not pay too much attention to that while modding the txtsetup file so maybe there are issues with my BIOS being too new for this older setup. Also, I may have made some errors while modding parts related to storage, ACPI, and USB. I'll take a closer look to see if I need to give the sif file more info. Also, the processors may be a problem. Mine has 6 cores.
The reason I want to use the older Hiren's is that it has many apps that are not on the newer version. I won't go into the reasons. I get what you mean about the other apps being available on the Net but I did not want to get too deeply into creating my own mini-XP disk. It's just handy to have all those apps on a boot disk, especially with W10 and its paranoid security system. I have used the newer Hirens for that, the 64-bit version.

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7249

> You will just end up with only a C: drive in My Computer. If the C: drive contains driverpacks, it will often be possible to install the correct driver manually from within the running OS.
> After that, you can create a bootable disk image of the running system using the IMG_XP utilities package.
> This new image will now contain the correct storage drivers and all the required registry settings in order to boot correctly in file disk mode.

Thanks for that info and the info about IMG_XP. Very helpful.

#7251 | diderius6 | I just build an XP in ram, which loads a 15000 Mbyte XP to ram in 6 sec Dietmar

#7252

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7251

> I just build an XP in ram,
> which loads a 15000 Mbyte XP to ram in 6 sec
> Dietmar

Wow! That's huge.
I always try to keep my images a lot smaller, ideally under 500 MB.
This way it will only take a few seconds to load the image.
I don't see the need for a big C: drive.
I only use my C: drive to store a stripped down version of XP.
My programs and data reside on seperate partitions, protected by EWF of course.
How did you manage to load a 15 gig image in only 6 seconds?

#7253

NT5 forever

> Zitat von ⇗ gordo999 im Beitrag ¶ #7250

> I get what you mean about the other apps being available on the Net but I did not want to get too deeply into creating my own mini-XP disk.

Sometimes it's easier to slightly modify an existing product in order to make it boot on your specific hardware than to build your own solution.
I'm too much of a stubborn perfectionist to do that.
When I see something nice, I always want to improve and customise it.
The biggest drawbacks of a PE disk are speed and the difficulty to add new apps to it.
All the PE disks I played with felt sluggish. I used to make my own custom BartPE ISO's for a while, but it was just too annoying to have to rebuild the ISO file every time you add a program or customise some settings.
In 2009 I discovered RAM booting with regular XP.
After that I never touched PE again.
You might be lucky and get Hiren's disk working spending only a few hours finding and fixing the problem.
It's also possible that you will spend days or weeks trying, without ever solving the issue.
Making a rescue image based on regular XP might be much faster and easier.
However, I applaud you for your efforts and determination to get Hiren's disk to boot on your machine.

#7254 | Brooons | ⇗ @gordo999 Any attempt to help for you is crashed by the inability hear from you out which way(method) you are launching XP.wim

#7255

diderius6

⇗ @NT5 forever
I make some tests and now I really have the ultimative boot design for XP in ram.
First I install a 4 Gbyte XP SP3 with wished drivers and programs on a black Western Digital 2TB with NTFS.
The partitionssize of this 4Gbyte XP is 15 Gbyte. I think, it can be 255 Gbyte, depending on your ram size.
I disable the pagefile.
Then I install the svbus driver from Kai Schtrom on this 4Gbyte XP
⇗ https://sourceforge.net/projects/svbus/f...28.rar/download
Then I download the nvme driver Samsung from ⇗ @daniel_k
⇗ http://www.mediafire.com/file/7b74v4i1s5..._XP_x86.7z/file
copy its storport.sys to windows\system32\drivers
Then compi shut down and connect my nvme device, no matter which one, because the nice Samsung nvme driver
recognices everything.
I install the Samsung nvme driver on my 4Gbyte XP, so that the nvme device appears.
With Aomei PAssist_Std vers 7.0 I format the whole nvme device with NTFS.
Then I delete(!) the partition on this nvme device.
Then I copy the 4Gbyte XP to this nvme device with Aomei. Compi needs restart for to copy.
Not so easy, to succed with boot via nvme on next time after copying.
You have to let your harddisk connected but boot from the nvme device via bootmenu.
Then, in registry you delete the key Mounted Devices.
If all is ok, after disconnecting the harddisk, you boot XP from the nvme device alone.
(A short remark, that gives me hope that in future you can boot any XP via nvme to ram without any Bios support.
Today I use the Samsung 950 with own Bios for this, but mostly all newer compis can boot legacy from nvme.)
Now I downloaded the special nvme grub4dos from Kai Schtrom
⇗ https://sourceforge.net/projects/grub4do...27.rar/download
and copy only its grldr to the root of the nvme device,
rename ntldr on the nvme device to ntldrORI
and rename grldr to ntldr.
Then I put an menu.lst on the root of the nvme device with content
title Windows XP - RAMDISK
nvme --set-drive=0x80 --set-controller=0 --showselected
find --set-root --ignore-floppies /xp.img
map --mem /xp.img (hd0)
map --hook
nvme --uninit
root (hd0,0)
chainloader /ntldr
After this, I make an xp.img from the 4Gbyte XP and copy it to the nvme device.
Thats all. The XP loads to ram (with a speed about 4gbyte/sec, depending on your compi and the nvme device).
The procedure is a little bit difficult,
but I hope, that some test it and have success also
Dietmar
PS: Some steps here can be done more easy but not easy to write a Tutorial, that works on any compi.
read/write speed on this XP in ram is about 20Gbyte/sec (!).
Oh soso much fun ))).. The xp.img itself does not need an nvme driver, no USB, no Sata.
xp.img can be make really universal, so that it boots on any compi.

#7256

diderius6

During my tests with Windbg in winter I noticed,
that even long time after compi shuts down,
complete parts in ram stay(!) as before (even it is ddr4).
Later I use this methode for to load tables for acpi.sys to ram, survives reboot.
I do not find a tool, with which I can reset all ram.
So I come to the idea, to use memtest86-usb .
⇗ https://www.memtest86.com/
This version does not work for XP, but there is an memtest86-usb.img in it,
which I put under XP ) via Winhex to an USB stick.
And voila, connect this USB stick to your compi and ram is freshed up
Dietmar

#7257 | Andalu | ⇗ @diderius6 thanks for your helpful guides ;) but I have still a question: could you please tell me what is the best way to get XP.img?

#7258

diderius6

⇗ @Andalu
For me, the best way for to get xp.img is,
to make a copy of the first partition of a harddisk with Winhex with MBR and the 2048 sectors before partition.
I copy all the sectors to a file and name it xp.img .
There are other ways like vhd files.
With my way to build xp.img, this xp.img works with any tool, because for XP it is real harddisk,
you can even find and edit everything in ram
Dietmar

#7259 | Andalu | ⇗ @diderius6 thanks, I'll give it a try tomorrow . This way is also easier because I was not able to find a valid link for downloading the IMG-XP utility package.
#7260 | NT5 forever | IMG_XP download link: ⇗ https://drive.google.com/file/d/1sXSypHt...ew?usp=drivesdk

## Page 485

#7261

Gelip

⇗ @Andalu ⇗ @diderius6

> Zitat von ⇗ Andalu im Beitrag ¶ #7236

> Very interesting!
> Could you please give me a link to some guide about it?

> Zitat von ⇗ diderius6 im Beitrag ¶ #7239

> Hi,
> is there somebody, who uses SVBus_V1.2_20200428
> from Kai Schtrom for Ram Boot of XP
> Dietmar

Instead of the Kai driver, you can use WinVBlock RAM driver. Here you have the x86 and x64 versions for WinXP that I have fixed: ⇗ http://reboot.pro/index.php?showtopic=81...23&#entry193676
There are drivers in the archives on the floppy images that can be used to install WinXP from RAM-ISO. There are also menu.lst files for GRUB4DOS.
⇗ Install WinXP from ISO image using WinVBlock
⇗ Install WinXP from ISO image to dummy.img diskimage
Have a nice day
Gelip (aka reboot12)

#7262

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7254

> Any attempt to help for you is crashed by the inability hear from you out which way(method) you are launching XP.wim

⇗ @Brooons ...sorry...have not ignored you, I am have been very busy with other matters. I have only a few minutes to post about Hiren's.
I am launching xp.wim from the standard CDROM after replacing with modded drivers. Also, I am using a USB flash drive which I created based on the Hirens site recommendation.
Hiren's loads OK through the text mode. That is, I get the menu and I can select mini-XP mode. Then the horizontal bar moves across the screen but only goes about 7/8ths of the way before a blank screen appears.

#7263

Gelip

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #7258

> For me, the best way for to get xp.img is,
> to make a copy of the first partition of a harddisk with Winhex with MBR and the 2048 sectors before partition.

WinXP image is best done under Linux Live using the fdisk and dd command e.g. in Debian 6. You need make disk image from the beginning of the disk to the end of the partition cylinder:
⇗
The image file can be copied to a USB flash drive, and even better, the image can be made directly via LAN to the mapped Windows drive e.g. D$ (in the example: Windows User=Adam, password=1234)
mount.cifs //192.168.0.3/D$ /mnt/images -o user=Adam 1234
dd if=/dev/sda of=/mnt/images/xp.img bs=4128768 count=390
⇗ @diderius6
P.S. Use my Debian 6 live that I sent you recently

#7264 | Brooons | ⇗ @gordo999 Test it my iso ⇗ Hirens_miniXP_Sata.iso Don't change anything in it Work fine on my PRIME B250-PLUS CRC32: D65F2EEC
#7265 | daniel_k | ⇗ @Mov AX, 0xDEAD Regarding ⇗ @YuriyCN's post: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (485) What if we patch kernel to set 1ms as default timer resolution and make it ignore when "someone" tries to change it? I'm not too familiar with timers, but are there any apps/games that expect higher timer resolutions (16ms)?

#7266

iyutos

If to hardcode the timer resolution to 1ms, PC will consume more electicity unreasonably.
⇗ https://randomascii.wordpress.com/2013/0...gawatts-wasted/
it will consume as MS-DOS in idle, without resident programs like: idle.com, dpakbd.com, dosidle.exe, tamedos.com, vdos.exe
Better let's try to understand what happens with YuriyCN's PC.

#7267

YuriyCN

> Zitat von ⇗ daniel_k im Beitrag ¶ #7265

> @Mov AX, 0xDEAD
> Regarding @YuriyCN's post:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (485)
> What if we patch kernel to set 1ms as default timer resolution and make it ignore when "someone" tries to change it?
> I'm not too familiar with timers, but are there any apps/games that expect higher timer resolutions (16ms)?

[RUS]
Я не знаю приложения, которые требовали исключительно 16 мс и не работали бы при периоде 1 мс. При использовании Timer_Fix.exe с принудительным переводом на 1 мс, в используемых мной программах проблем не наблюдалось. Насколько известно, в Виндовс 7 этот таймер постоянно установлен в режиме 1 мс.
[ENG]
I do not know the applications that demanded 16 ms only and would not work with a period of 1 ms. When using a Timer_Fix.exe with a forced period 1 ms, in the applications used by me, problems were not observed. As far as is known, in Windows 7, this timer is constantly set in 1 ms.

#7268 | daniel_k | ⇗ @iyutos Nice article, thanks for sharing it. I have an APC UPS with monitoring, will do some tests when I have more time.

#7269

iyutos

I contrary, resisted to 1 ms acceleration by greedy programs with Nobuzz: ⇗ https://github.com/rustyx/nobuzz.
This program (works only on Win7) shows which program increases the timer: ⇗ https://kbench.com/software/?q=node/51328
I have a patched version, which somehow works on XP, but most counters are not displayed, (because the program was written for Vista and above).
⇗ https://www.upload.ee/files/13102725/BlaUnpack.rar.html

#7270

Andalu

⇗ @diderius6
as I feared the most difficult part for me is to create the XP.img file. I have tried both WinHex (free version) and HxD without success. Could you please tell me how to proceed?
One step of your guide that didn't work in my case was copying the partition from the HD to the NVMe drive with Aomei Partition Assistant Standard Edition 7.0 which, strangely enough, didn't allow the above operation, even clicking on the "Next" button nothing happened.
I tried another tool (QILING Disk Master bootable stick) and it worked: XP started correctly with only the samsung 950pro connected to the board.
Edit: another little note: I didn't need to delete the 'Mounted Devices' key.
⇗ @NT5 forever ⇗ @Gelip
thanks a lot for the links, as soon as I can better understand how to proceed I'll try the alternatives that you have kindly indicated ;)

#7271

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7270

> as I feared the most difficult part for me is to create the XP.img file. I have tried both WinHex (free version) and HxD without success.

You read it? ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (486)

#7272

diderius6

⇗ @Andalu
Run Winhex.
Open tools
open disk
Physical media
harddisk 0
click right above "Access"
Partition
Partiontable (template)
Write down the number of "Sectors in partion 1"
add to this value the number of "Sectors preceeding partition"
Close window
go to "Position"
got to sector
and type there the added number.
At the place direct before the cursor went, you see HEX 55 AA
click right on this Hex value AA "end of block"
EDIT
copy block
Into New File
Save as xp.img
Good luck
Dietmar

#7273

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7264

> Test it my iso ⇗ Hirens_miniXP_Sata.iso

@Broons ...thanks for trying to download ISO. The transfiles.ru site is down for technical problems. (... спасибо за попытку скачать ISO. Сайт transfiles.ru не работает из-за технических проблем. )
Error message...Уважаемы посетители! В данный момент на рынке сайте идут техни ческие работы. Приносим извинения за неудобст
My translation... Dear visitors! The site is currently undergoing technical work on the market. We are sorry for the inconvenience.

#7274

gordo999

> Zitat von ⇗ Andalu im Beitrag ¶ #7270

> ...One step of your guide that didn't work in my case was copying the partition from the HD to the NVMe drive with Aomei Partition Assistant Standard Edition

⇗ @Andalu ...try this editor....Active@ Disk Editor...it's designed to give you a visual image of partitions, MBRs, etc. I used it once to edit the MFT table in Windows.
⇗ https://www.disk-editor.org/index.html

#7275

gordo999

> Zitat von ⇗ iyutos im Beitrag ¶ #7266

> If to hardcode the timer resolution to 1ms, PC will consume more electicity unreasonably.

⇗ @iyutos ...a quote from the article. "One is that if your software is on average running on 33 million machines (a conservative bet for something like Chrome) then increasing the timer frequency could be wasting about ten MW of power".
This presumes all 33 million computers are running at the same time and off the same power grid. If the power grid is fed from hydro power, the power is instantly renewable. If it's fed from coal-fired power sources, the 33 million would have to be running off the same generator. Highly unlikely.
I think this article is nit-picking. They don't seem to understand that the real time clock is a quartz crystal running at a constant frequency and powered by a battery when the power is turned off. Those batteries last for years, indicating the low power draw of an RTC. The ms divisions they are talking about are digital divisions of the RTC crystal timebase. This is a highly technical problem related to digital electronics and although Microsoft pays lip service to environmental issues, they know there is nothing that can be done about it.
The power meter they reference in the article is not measuring the power draw of the RTC, it is measuring the power draw elsewhere. If the RTC drew 0.3 watts, the battery, typically a 2032, would drain overnight. The 0.3 watt measurement is a measure of the power draw of circuits driven by the different RTC frequency divisions.
You cannot change the basic timer frequency if it is a crystal oscillator, all you can do is sub-divided the frequency it is generating. They use crystals due to their stability; using a multivibrator created from semiconductor components, even if it is locked to the power line frequency would tend to drift in frequency. Also, it could be prone to noise on the power line. When you change frequency from 16 ms to 1 ms, you are not changing the frequency of the RTC oscillator, you are changing the sub-divisions created by a digital divider network. That's why you can switch them. You could not switch frequency on a quartz-based oscillator without changing crystals.
If Microsoft could have done it that easily, they'd have done it by now. Besides, this has nothing to do with Microsoft. The Windows OS cannot control the internal workings of the CPU or the hardware in general, all they can do is use software to control features in the hardware. Hardware, including the RTC, are designed by manufacturers like Intel. Microsoft can suggest to Intel that they change their chip designs but I am sure they are already on top of that.

## Page 486

#7276 | iyutos | ⇗ @gordo999 My deep respect, you are very knowledgeable in microelectronics, I only quoted the results of another specialist. But the point of the article was not so much about power grid or environment, but about PC's performance.

#7277

gordo999

> Zitat von ⇗ iyutos im Beitrag ¶ #7276

> My deep respect, you are very knowledgeable in microelectronics, I only quoted the results of another specialist. But the point of the article was not so much about power grid or environment, but about PC's performance.

⇗ @iyutos ...I understand, I meant no disrespect to you. I was referencing the article's author.
Microsoft have hidden the hardware from the user. They make it appear as if Windows is running applications when in fact it is the hardware processing the data. Programmers use registers while programming, like the EAX register (32-bit), without realizing this is a real, physical register in a processor. It holds voltages to represent 1s and 0s.
The frequency in an RTC refers to the number of times per second a voltage changes direction. My background is in hardware and it bothers me sometimes that the hardware is often ignored, or obfuscated as an 'object', and that you cannot access it directly without using kernel-mode drivers.
This forum is based on the fact that the hardware has changed so much that XP, or even Windows 7, can no longer run on it natively. I needed to get a modded USB driver from ⇗ @canonkong to get W7 running on my new hardware. Till I got the driver, I was forced to use a PS/2 mouse and keyboard.

#7278 | Brooons | ⇗ @gordo999 Second attempt ⇗ Hiren_MiniXP_ISO

del-19

YuriyCN

Насколько я понимаю RTC bug.
Существует часовой опорный RTC генератор 32768 Гц. Его частота стабильная и определяется кварцевым резонатором установленном на материнской плате. Далее, после кварца, частота подается на делитель частоты 1:64, 1:128, 1:256, 1:512.
При использовании делителя 1:512 получаем частоту 64 Гц (период 15.625 мс) - эта частота по-умолчанию. Разные мульти-медиа приложения могут требовать более высокую частоту опроса, тогда делитель частоты переключается на 1:32 и получаем частоту 1024 Гц (период 0.977 мс). Временная ошибка возникает, когда при ПРОГРАММНОМ переключении счетчик таймера думает, что он работает в режиме коэффициента деления 1:512 (на 64 Гц), но АППАРАТНО тактовые импульсы уже идут гораздо чаще, как при 1:32 (с частотой 1 кГц). Вообщем, за те микросекунды пока программно регистр счетчика переконфигурируется в новый режим, он получает "лишние" импульсы, которые вызывают набег времени вперед. И чем чаще будет переключаться режим "16мс - 1 мс" - тем больше временной набег.

#7279

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-19

> Насколько я понимаю RTC bug.
> При использовании делителя 1:512 получаем частоту 64 Гц (период 15.625 мс) - эта частота по-умолчанию. Разные мульти-медиа приложения могут требовать более высокую частоту опроса, тогда делитель частоты переключается на 1:32 и получаем частоту 1024 Гц (период 0.977 мс)

Windows use different hardware timer with basic frequency 14,31Mhz, it can divde it to many constants to get final requested frequency for interrupts. RTC timer (32768Hz) used only for calibrating first timer at init stages.
Problem with timer is 1)failed calibrating 2)skipped interrupts 3) some else (imho)

del-20

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7279

> Windows use different hardware timer with basic frequency 14,31Mhz, it can divde it to many constants to get final requested frequency for interrupts. RTC timer (32768Hz) used only for calibrating first timer at init stages.
> Problem with timer is 1)failed calibrating 2)skipped interrupts 3) some else (imho)

Программа CPU-Z четко фиксирует разницу хода таймеров. Если прерывания идут от базовой частоты 14,31 МГц, то почему их частоты в точности кратные базовой частоте 32768 Гц, например 32768 / 32 = 1024 (=0.977 мс). Причем промежуточные значения установить невозможно - допустимо значение 0.977 мс, а потом сразу 1.953 мс, но промежуточных значений (например 1,5 мс) этот таймер не принимает. Если бы бралось базовое значение 14,31 МГц - то кол-во принимаемых значений было больше. Кстати, если период установлен на 0.977 мс (частота 1024 Гц), то пока данное приложение не закончит свою работу, на более низкую частоту (например 64 Гц) таймер не переведется. Программно можно переключать длительность периода только в направлении 16 мс -> 8 мс -> 4 мс -> 2 мс -> 1 мс. В обратном - только завершая процесс. Посмотрите программу "накрутки времени Timer_v10" - я недавно выкладывал с исходниками на BCB 6.0.

#7280

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7264

> Test it my iso ⇗ Hirens_miniXP_Sata.iso
> Don't change anything in it

⇗ @Brooons ...downloaded the iso and wrote it to a CD disk. It boots OK but I have no mouse or keyboard. Managed to get a PS/2 keyboard to work but not the mouse. My PS/2 connector may be damaged.
Thanks. I will check it out more to see the difference between your iso and mine.
*****
скачал iso и записал его на CD-диск. Он загружается нормально, но у меня нет ни мыши, ни клавиатуры. Удалось заставить работать клавиатуру PS / 2, но не мышь. Мой разъем PS / 2 может быть поврежден.
Спасибо. Я проверю его подробнее, чтобы увидеть разницу между вашим iso и моим.

#7281

Brooons

⇗ @gordo999
Folder /Inf to place for driver USB inf-file for you USB-port
*.SYS files to place folder /drivers
XpCustomize.cmd -- write string AUTO LAUNCH force install all drivers, two time, two string identically, (link him on desktop)
But, for me, Intel G4400, B250, all work fine without change, keybord, mouse, Sata hdd, it works properly.
With MiniXP, my life is full of breath.

#7282

diderius6

Hi,
I just noticed, that for fast ram boot
you only need the grldr from Kai Schtrom,
renamed to ntldr and the menu.lst in the root of the nvme device and xp.img.
xp.img boots to ram from the nvme device root, without any nvme driver
Dietmar
PS: Before, you have to make with RMPrepUSB your nvme device bootable.

#7283

Andalu

⇗ @diderius6
I restarted the procedure from scratch but on the boot from ramdrive I got this message:
0) NVMe Controller VendorID#144D, DeviceID#A802, Base Address#51010000
Bus#4, Device#0, Function#0
Samsung SSD 950 PRO 256GB (serial number + firmware version)
(hd0,0)
map --mem /xp.img (hd0)
Error 13: Invalid or unsupported executable format
Here an image of the two testing systems (HD+NVMe):
⇗
The changes I made from your original guide:
- restored an image from an XP system (B250 chipset) to the base system (H470 chipset).
- used a bootable media from Aomei Partition Assistant Pro 8.6 and its partition cloning operation. Copy partition doesn't make the drive bootable.

#7284

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7271

> You read it? ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (486)

I read that post but I can't try your method if I don't first solve the other procedure of @diderius6.
Then, at the moment, I don't have a linux distribution to use and I can't download it because my internet connection has a fault, at moment I'm surfing at 320KBps.

#7285

YuriyCN

1. Windows XP mod 2021 - system build for the modern PC (edition 01.05.2021)
The information doesn't fit into a forum post for a long time - so download the text file and read it in Notepad.
TXT file (87kB, ENGLISH) - ⇗ https://yadi.sk/d/pJ1mLT8f0iwOfw
TXT file (98kB, RUSSIAN) - ⇗ https://yadi.sk/d/1t0PuYOFVAr15w
2. Archive of all existing 33 versions "WinXP-IE Optional Patch Integrator" from May 2020 to April 2021 (420 MB) - ⇗ http://file.sampo.ru/5863f7
or (Password: 123) - ⇗ https://yadi.sk/d/gpXO90qyxoPIoQ

#7286

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7284

> Then, at the moment, I don't have a linux distribution to use and I can't download it because my internet connection has a fault, at moment I'm surfing at 320KBps.

Write the ⇗ d6.img image to a USB flash drive using Win32 Disk Imager and boot PC from it.

#7287

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-20

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7279

> > Windows use different hardware timer with basic frequency 14,31Mhz, it can divde it to many constants to get final requested frequency for interrupts. RTC timer (32768Hz) used only for calibrating first timer at init stages.
> > Problem with timer is 1)failed calibrating 2)skipped interrupts 3) some else (imho)

> Программа CPU-Z четко фиксирует разницу хода таймеров.

yes, it show something, but not full true :)
acpi - fake, acpi hardware timer is disabled on skylake+, cpu-z probably reads acpi memspace in cycle, every 3.5 secs acpi time counter is overflowing, cpu-z handle this software way, any windows can't do same.
qpc - is not timer, it is cpu counter, qpc depends on cpu bus freq, cpu bus freq is 100Mhz, 100Mhz generated from 14,31Mhz
rtc - clock chip with 32768Hz
cpu-z can't show important thing - interrupt counter, this counter is base of all windows timers
You're using overclocked cpu bus freq, so qpc is shifted, this is not problem if bus freq is really constant without fluctuations

#7288

diderius6

⇗ @Andalu
your xp.img contains only the Hex Value AA,
as I can see on the pic.
All is ok, but you forget to click right on this AA and click "end of block".
Then you will see, that not only the AA becomes selected, but also the whole partition with MBR from before,
and the size of the xp.img grows enormous
Dietmar

#7289 | iyutos | ⇗ @gordo999 Hello, I have not meant any subtext, I really expressed that I respect you as a specialist, you wrote a clever post. English is a foreign language to me, perhaps I was misunderstood.
#7290 | Andalu | ⇗ @diderius6 so the 16GB file I had already obtained was the right one? I'll try again soon. ⇗ @Gelip thanks for the suggestions. The download of the d6.img file will end in over 2 hours

## Page 487

del-21

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7287

> yes, it show something, but not full true :)
> acpi - fake, acpi hardware timer is disabled on skylake+, cpu-z probably reads acpi memspace in cycle, every 3.5 secs acpi time counter is overflowing, cpu-z handle this software way, any windows can't do same.
> qpc - is not timer, it is cpu counter, qpc depends on cpu bus freq, cpu bus freq is 100Mhz, 100Mhz generated from 14,31Mhz
> rtc - clock chip with 32768Hz
> cpu-z can't show important thing - interrupt counter, this counter is base of all windows timers
> You're using overclocked cpu bus freq, so qpc is shifted, this is not problem if bus freq is really constant without fluctuations

Факт в том, что счет времени в таймерах ACPI и QPC одинаковый - время идет точно и одинаково. Максимальная разбежность составляет 0.1 секунду за 20-30 минут проверки. А вот показания таймера RTC резко разнится от ACPI и QPC если использовать программу накрутки времени Timer_v10. При частоте переключений таймеров 0.2 секунды, RTC-таймер накручивает лишние +2 секунды за 1 минуту накрутки. При 0.1 секунды мы получаем уже +4 секунды в минуту. В итоге, при постоянной работе программы Timer_v10 можно накрутить время 4-5 минут вперед за час!!! Конечно это очень жесткий режим. С реальными приложениями такого сильного ухода времени не наблюдается, но все таки +1..2 минуты за рабочий день - это очень плохой показатель точности системных часов.
Никакого разгона у меня нет, все режимы по частотам CPU в BIOS|UEFI выбраны по-умолчанию. Процессор Intel i5-6500 (4 core @ 3200 MHz), поэтому QPC показывает 3,192 GHz, так как рабочая частота 3,200 GHz.
Проведите накрутку времени, используя Timer_v10 по методике изложенной в ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (485) я уверен, что результат накрутки на вашем ПК будет такой-же, при условии, что не запущено какое-либо приложение, которое принудительно удерживает таймер на периоде меньшем стандартных 16 мс...

#7291 | Brooons | ⇗ @gordo999 Very maybe PS\2 disabled in the bios. Me also had this situation, PS\2 settings are very deeply hidden.

#7292

Andalu

⇗ @diderius6
now my challenge has become to find the exact partition size on the NVMe drive to overcome "error 28: Selected item cannot fit into memory" obtained as a result of the "Warning: total sectors calculated from partition table (3907024065) is greater than the number of sectors in the whole disk image (32194260)".
The XP.img file is 16.097.130KB. What should be the exact size of the partition on the NVMe?

#7293 | diderius6 | ⇗ @Andalu From your pic I see, that the partition size together with MBR is 3D67DA800 = 16483461120 Byte. So you need Ram > 16 Gbyte Dietmar
#7294 | Andalu | ⇗ @diderius6 I always get the same error even if the ram is 32GB
#7295 | diderius6 | ⇗ @Andalu The error seems to be, that your xp.img has 32194260 sectors, but you try to load 2TB to ram Dietmar PS: Write me step by step, how you build your xp.img.

#7296

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #7295

> Write me step by step, how you build your xp.img.

Here the images:
⇗ ⇗ ⇗
The base hard drive is 2TB while the NVMe is 256GB

#7297

diderius6

⇗ @Andalu
I have only 1 Partition on my 2TB harddisk.
And I delete in registry Mounted Devices on the original XP before I shut compi down and make xp.img from it.
So, XP does not know, how large its harddisk is, just looks what is offered and build this key new
Dietmar

#7298 | Andalu | ⇗ @diderius6 just tried: nothing changes even deleting the Mounted Devices key from the registry. I connected the base HD on another system to prevent the creating of that key on the booting from the same disk drive.

#7299

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7286

> Write the ⇗ d6.img image to a USB flash drive using Win32 Disk Imager and boot PC from it.

d6.img file copied into a new USB stick with Win32 Disk Imager 0.9 (that seems to be the last version XP compatible). On the boot from that usb stick I got the following message:
"Boot failed! - Unable to find a medium containing a live file system".
Edit: I re-applied Win32 Disk Imager after formatting the usb stick but at startup still an error that repeats endlessly:
"cat: can't open '/sys/block/*/removable': No such file or directory"

#7300 | diderius6 | ⇗ @Andalu When you prepare your 2TB harddisk with RMPrebUSB, do you set the mark in "Force use of LBA calls" Dietmar

#7301

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7287

> qpc - is not timer, it is cpu counter

⇗ @Mov AX, 0xDEAD ...as we say in English, when we have insight, a light goes on in the mind. It has been a long time since I studied digital theory especially related to computers.
The clock on the XP desktop that ⇗ @YuriyCN talks about losing time is a counter, not a time source. It counts pulses, or ticks, generated by another time base. However, it must know how long a second is in ticks therefore it is dependent on the source of the ticks being accurate. I think ⇗ @YuriyCN 's work on this is important, however. All I am trying to do is explain some theory about clocks, and not very well because my brain is so rusty.
It's like an atomic clock which knows nothing about time. It generates a very accurate frequency due to natural atomic vibrations between electrons and protons in a Cesium nucleus. The second we use is derived from the rotation of the Earth. The period of that rotation is divided into 24 hours as represented by the distance between lines of longitude at the Equator. Each hour is divided into 60 minutes then 60 seconds. The resultant second is the one we use as the basis of time in physics and it equals 1/86,400th of one Earth rotation on its axis. Please note that the second also equals a distance.
So, the frequency generated by an atomic clock is very large compared to our second. It must be divided by digital dividers till it reaches the smaller size of 1 second. But how does the divider circuitry know the length of 1 second? A common method is to use the 60 hz power frequency which is actually 60 cycles per second. If you invert that frequency you get the time, in second, between each cycle of electrical power where 1/60 c/s = 0.01666666 s/c.... seconds per cycle. Multiply that by 60 and you have the exact length of 1 second. Digital circuits can do that easily.
I know ⇗ @diderius6 does not agree with me but that's why Einstein was wrong about time dilation. The second, hence all time, is based on the rotation of the Earth, which is a relative constant. Therefore, it is impossible for time to dilate, or for that matter, for space-time to curve.
Back to the clock. The time-keeping clock on a computer can run fairly accurately using the 60 hz line frequency as a basis for the second but when the power is turned off it has no source with which to synchronize. It has the real time clock, powered by a battery, but how does it know the length of a second? It doesn't, and if you leave any computer turned off and offline, the clock will lose time. Most computers connect to an external time source online to re-synchronize.
It's important to distinguish between hardware clocks and software clocks. A hardware clock is a dedicated, physical chip that uses a quartz crystal to establish an accurate time base. I noted from a post of ⇗ @YuriyCN that one quartz crystal runs at 3.58Mhz. That is the same crystal used in North American colour television to synchronize the colour signal. Apparently, computer manufacturers thought it easier to use an existing crystal that was readily available.
You can build a clock from discrete transistors but discrete units tend to drift with temperature change, etc. The RTCs using advanced chips are compensated internally for drift (change) and with a quartz crystal they can maintain accurate time for long periods. Also, the transistors are grown on the chip and the quality control is very good.
Software timers/clocks are not synchronized and depend on the code flow, which is controlled by the processor. It makes sense that if the processor, being based on time-slices, is loaded down with many apps, the code-timed clocks would vary with porcessor load. Therefore, it would make no sense to use a software clock/timer unless it was a dedicated unit.
Here's a discussion of some time bases on a forum:
⇗ https://forums.guru3d.com/threads/differ...and-qpc.431593/
"LAPIC is abbreviation for Local Advanced Programmable Interrupt Controller - ⇗ https://en.wikipedia.org/wiki/Advanced_P...rupt_Controller - see section "APIC timer".
TSC is abbreviation for Time Stamp Counter - ⇗ https://en.wikipedia.org/wiki/Time_Stamp_Counter
QPC is abbreviation for QueryPerformanceCounter - function from Windows API. This function can use LAPIC, TSC and also HPET (High Precision Event Timer) timers. Developers can use this function to estimate a time span between two measures (calls).
Timer resolution means system timer resolution - the interval with which system timer (usually Real Time Clock - RTC - a chip on the motherboard) fires interrupts. Those interrupts are called a "tick". System timer resolution has nothing to do with LAPIC, TSC, HPET and QPC.
A bit of info about system timer - ⇗ https://forums.guru3d.com/threads/window...ng.377790/";

#7302

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7255

> @NT5 forever
> The procedure is a little bit difficult,
> but I hope, that some test it and have success also
> Dietmar
> PS: Some steps here can be done more easy but not easy to write a Tutorial, that works on any compi.

Maybe you should take a look at IMG_XP_Create.exe, one of the programs included in the IMG_XP utilities pack.
It can create a Grub4DOS menu, build a new xp.img, install RAM disk driver and storage drivers and modify registry settings in xp.img.
You can select the image file size, add a custom hal.dll etc.
The great thing about the IMG_XP utilities is that they are just compiled AutoHotkey scripts interacting with existing utilities and drivers like ERUNT, Imdisk, WinVBlock, BootSect.exe, Grubinst.exe, df.exe, dsfi.exe, dsfo.exe, etc.
The source code scripts are included in the pack, so it's very easy to modify and customise everything according to your specific needs.
I think it would be fairly easy to automate your procedure with an app that offers a nice GUI.
⇗
⇗ NT5 forever has attached files to this post

- ⇗ IMG_XP Manual.pdf

#7303

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7258

> @Andalu
> For me, the best way for to get xp.img is,
> to make a copy of the first partition of a harddisk with Winhex with MBR and the 2048 sectors before partition.
> I copy all the sectors to a file and name it xp.img

Winhex supports scripting:
⇗ http://www.winhex.com/winhex/scripting.html
It is probably feasible to add some lines to the IMG_XP_Create script in order to automatically copy all the sectors to the xp.img file freshly created by IMG_XP_Create.
The IMG_XP_Create script could also delete the mounted devices registry key.

#7304

diderius6

⇗ @gordo999
"I know ⇗ @diderius6 does not agree with me but that's why Einstein was wrong about time dilation."
Time is always together with the 3 dimensions.
When you have gravity, time is prolonged. So dilatation of time is just the presents of a force, which we call gravity and vice versa.
Also gravity changes the distance in the 3 dimensions and vice versa, just the same as with time.
Nothing is understood what gravity is. Einstein describes gravity as a changes in geometrie.
But this is just describing the effect, no explanation at all.
I agree with Ernst Mach, who says about Einsteins General theory of relativity: "It is complete empty, no physics in it."
Without gravity, you can build an universal Psi-function, with describes the whole universe.
And with the Bohmian mechanik you can even go further to describe Non-equilibrium states as the Big Bang.
So, without gravity, physics would be "perfect".
But because noone understands gravity, nothing at all is ready in physics
Dietmar

#7305

Andalu

⇗ @diderius6
I re-started the procedure once again with the following differences than before:
- 2TB hard disk drive with one partition only formatted with RMPrebUSB v2.1.739;
- XP installed from scratch;
- 'Device Mounted' key deleted from registry for both HD and NVMe drives,
I finally got it but...... to complete the boot my system (Q370 + i7 9700 + 32GB of ram + NVMe 950pro) takes over 100 seconds
The pagefile is disabled, what else could it be?

## Page 488

#7306 | diderius6 | ⇗ @Andalu Loong bootime happens, when you dont use the nvme grldr renamed to ntldr from Kai Schtrom on the nvme bootdevice. And also check the content of the menu.lst Dietmar
#7307 | Andalu | ⇗ @diderius6 the issue is on another place, both ntldr (renamed from grldr) and menu.lst are correct.
#7308 | diderius6 | ⇗ @Andalu I just test a 27 Gbyte to ram loaded XP. I will report soon Dietmar

#7309

diderius6

⇗ @Andalu ⇗ @NT5 forever
The new 27 Gbyte XP loads in 9 sec to ram.
The own Bios of the 950 Pro nvme enables this. On this 950 pro I have only renamed grldr, menu.lst and xp.img.
Using the own Bios nvme drivers from the Asrock Fatalty z370 gaming K6
on an Optane nvme with 29 Gbyte, I get message, that nvme cant boot from LBA 0.
This is a bug.
And I did another hack: On the xp.img itself I have NO nvme driver at all.
So, not a second device appears, because no nvme driver under XP for it, when XP loaded to ram
Dietmar
PS: I use only the 4Gbyte hack from ⇗ @daniel_k . When you use more than 4 Gbyte, you need to think about,
that this is subtracted from the 32 Gbyte ram memory.
⇗ https://ufile.io/myp86qqg

#7310 | NT5 forever | ⇗ @diderius6 So that means that in explorer you can only see a 27 GB sized C:\ drive? The other drives are not visible?
#7311 | diderius6 | ⇗ @NT5 forever yepp ). This means, that the nvme device is perfect write protected, I checked. Dietmar ⇗
#7312 | diderius6 | ⇗ @Andalu When you have installed XP via Firadisk for the xp.img, make sure, that you disabled Firadisk, so that it does not comes in conflict with the Svbus driver from Kai Dietmar
#7313 | Andalu | I think the loading time so high may be due to this: ⇗ repeating on every boot from the NVMe drive. Yet in the HD, once I did the disk upgrade, it did not recur. From this point I did the disk clone and the other things

#7314

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7311

> @NT5 forever
> yepp ). This means, that the nvme device is perfect write protected, I checked.
> Dietmar
> ⇗

Nice.
Is your XP RAM boot method compatible with all modern machines?
I just bought a new laptop.
An inexpensive ASUS with 4 GB of RAM and a NVMEe drive.

#7315 | diderius6 | ⇗ @NT5 forever From USB it works always, even from Optane in USB clothes. But from USB, the load speed is only about 150Mbyte/sec Dietmar

#7316

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #7312

> @Andalu
> When you have installed XP via Firadisk for the xp.img,
> make sure, that you disabled Firadisk, so that it does not comes in conflict with the Svbus driver from Kai
> Dietmar

you still haven't told this, though

#7317 | NT5 forever | ⇗ @diderius6 I'm sick and tired of using Windows 10 on my laptop. I would like to boot XP from USB. I don't care about slow transfer speed. My XP.img is smaller than 500 MB. I just don't know how to get it working.
#7318 | NT5 forever | ⇗ @diderius6 AFAIK, my laptop doesn't support legacy boot, only UEFI. I've got an XP.img file that RAM boots on my desktop PC. I would like to boot it from USB on my laptop, but I've got no clue how to make a UEFI usb stick.
#7319 | diderius6 | ⇗ @NT5 forever There is a new UEFI grub4dos. Until now I did not test, for what it can be used. But because everything works here in Ram, maybe(!) with this grub4dos legacy XP ram boot is possible on pur UEFI Bios Dietmar

#7320

diderius6

Toshiba RD400 works also for ramboot of XP, this nvme device has no own Bios.
It is using the Bios nvme driver from the motherboard Asrock z370 Fatalty gaming k6.
On this RD400 is only the to ntldr renamed nvme grldr from Kai Schtrom,
the menu.lst and the 15 Gbyte xp.img.
Few seconds load time for 15 Gbyte XP to ram. Then, the RD400 can be disconnected
Dietmar

## Page 489

#7321 | diderius6 | ⇗ @Andalu Take a look, if your nvme slot shares lines with other devices. Just try another PCI-e slot or other M2. connector. Sharing lines can put down the transferrate near to zero Dietmar
#7322 | daniel_k | Nice work guys, unfortunately can't join you as I have only one NVMe drive.

#7323

Andalu

⇗ @diderius6
the problem was simpler than I expected, it was the samsung 950pro, which was evidently excessively worn. Replacing it with a WD SN720 the boot of the 16GB takes 10 seconds (excluding the memory loading). I also replaced the samsung NVMe driver with the Microsoft one and it still worked.
The only strange thing is that every time the system boots, the "found new hardware" wizard for the NVMe device is displayed. The same happened with the samsung driver.
P.S.: my connection is getting worse and worse, in the afternoon it was completely down, I apologize in advance if I will unable to reply.

#7324

diderius6

⇗ @Andalu
I noticed the same strange behavior of nvme devices, only not for Optane(!).
When with Winhex you put everywhere 00, during
one session all tested nvme devices at the end become slower than a normal harddisk.
After trim (I use win8.1 for trim),
suddently the nvme device awakes to new life. But when you take a closer look,
during transfer of 10 Gbyte there are errors, only the internal error correction repairs them.
On a Western Digital black 2TB no errors are found during tranfer of 10.000 Gbyte,
as I check with Winhex. So, I do not use any nvme device for daily use.
At the airport, when going through the Scanner, my nvme device in a Lenovo notebook and the SSD show errors after.
This NEVER happens to me, when my notebook with harddisk goes through scanner
Dietmar
PS: Fast means bad for important documents. Only the Optane drives are better and do not need any Trim.

#7325

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7242

> [] RMPrebUSB vers. 2.1.739,
> grub4dos-0.4.5c-2016-01-18 []
> I install grub4dos to an USB stick via RMPrebUSB, and copy after the whole content of grub4dos-0.4.5c-2016-01-18
> on root of this stick.
> And I add a menu.lst with content
> title Windows XP - RAMDISK
> find --set-root --ignore-floppies /xp.img
> map --mem /xp.img (hd0)
> map --hook
> root (hd0,0)
> chainloader /ntldr

I just tried that on my machine using the versions of RMPrebUSB and grub4dos you mentioned.
The stick appears in the boot menu of my laptop.
However, when I select the entry in the menu the screen flashes but it won't leave the boot menu.
It won't even load the grub4dos menu on the stick.
I've tried several times, formatting the stick in FAT32 and NTFS, with and without force LBA option.
Same result.

#7326

diderius6

⇗ @Andalu
Make an xp.img without any nvme driver. Connect your nvme device to your motherboard when booting from harddisk.
Then you will see a yellow question mark behind unknown pci device in Device Manager. This is your nvme disk. Disable it.
And when building xp.img from this harddisk partition, the problem with recognicing new hardware is gone,
because XP has no driver for it and it is disabled in device manager
Dietmar

#7327 | diderius6 | ⇗ @NT5 forever Make a try with the UEFI grup4dos. I never tried but maybe, that here in the forum somebody knows more, for what you can use this new grub4dos Dietmar

#7328

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #7327

> @NT5 forever
> Make a try with the UEFI grup4dos. I never tried but maybe, that here in the forum somebody knows more,
> for what you can use this new grub4dos
> Dietmar

I have downloaded it, but I don't know how to install it.
There is no installer, just a bunch of folders with files.
Documentation is in Chinese.

#7329 | diderius6 | ⇗ @NT5 forever Just copy the grldr to the root of the device and rename it ntldr. Use the menu.lst from before. But I never tried Dietmar
#7330 | NT5 forever | Lol. There is no grldr file included,

#7331

diderius6

⇗ @NT5 forever
I think, you only need to copy the *.efi files on a Fat32 partition and boot XP via bootmgr.
The procedure with the *.img files is the same and even SVbus from Kai can be used.
But still INT13 from Bios is needed I think,
some got a working INT 13 simulation for Win7,
very experimental alpha stage
Dietmar
PS: For Win10 bit 64 ramboot seems to work via UEFI and grub4dos.
But ram boot via MBR works also for Win10 bit 64,
as long as you have legacy CSM support.

#7332

Andalu

The XP booting in ram also works from a NVMe enclosure. I tried some of them connected to a USB 3.2 Gen.2 port (10 GB/s). Even if the ram loading is slow (especially for the RTL9210 chipset), the boot works for all chipsets tried:
JMS583:
⇗
RTL9210:
⇗
ASM2362 and ASM2364:
⇗
All chipsets have a yellow mark because the uaspstor driver was not installed on the base XP Hard Disk.
⇗ @diderius6
I got some 0x24 BSOD for the ntfs.sys driver booting from an NVMe inserted on the M.2 socket when the NVMe driver is no longer installed. This has occurred every time the system is restarted after a successful boot.

#7333

diderius6

⇗ @Andalu
Nice ).
I succeed with USB ramboot also for the Optane nvme with 29 Gbyte in USB clothes via JMS583 but not as nvme.
Funny, I do not get a yellow questionmark, the device appears 2 times (rambooted and original USB device).
Yes, it is slow. When you disable any nvme driver for Ramboot, the xp.img is perfect write protected.
So, any Bsod is strange, because nothing on the nvme device can change.
May be it has to do, how the Bios recognices the nvme device and Bios changes boot order
Dietmar

#7334 | Andalu | ⇗ @diderius6 for the same NVMe drive I also had to disable smart control from the bios as the NVMe drive was considered corrupted. The same was detected as bad in XP by CrystalDiskInfo while the same program in Win10 considered the disk as healthy.

#7335

diderius6

⇗ @Andalu
Is there an nvme device, which is not corrupted?
Few copy errors I get on a brandnew Samsung 1TB 980pro, when you take a look in the history of the device.
Only the internal error correction make the nvme device look, as everything is ok,
but isnt
Dietmar

## Page 490

#7336

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-21

> > Zitat

> > acpi - fake, acpi hardware timer is disabled on skylake+, cpu-z probably reads acpi memspace in cycle, every 3.5 secs acpi time counter is overflowing, cpu-z handle this software way, any windows can't do same.
> > qpc - is not timer, it is cpu counter, qpc depends on cpu bus freq, cpu bus freq is 100Mhz, 100Mhz generated from 14,31Mhz
> > rtc - clock chip with 32768Hz
> > cpu-z can't show important thing - interrupt counter, this counter is base of all windows timers

> Никакого разгона у меня нет, все режимы по частотам CPU в BIOS|UEFI выбраны по-умолчанию. Процессор Intel i5-6500 (4 core @ 3200 MHz), поэтому QPC показывает 3,192 GHz, так как рабочая частота 3,200 GHz.

Привет Юрий
1) there is no any acpi timers on skylake+, cpu-z show virtual timer, it may be equalent to anything
2) if you have 32x100Mhz CPU with standart 100Mhz bus refq, QPC Frequency must be 3200, not 3192 !!! use WinTimerTester 1.1 to re-check QueryPerformanceFrequency, if it is not 3200 - you have strange bus clock gen on motherboard, it cannot generate exact 100Mhz (or wrong rtc clock gen)

#7337

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #7301

> Timer resolution means system timer resolution - the interval with which system timer (usually Real Time Clock - RTC - a chip on the motherboard) fires interrupts. Those interrupts are called a "tick". System timer resolution has nothing to do with LAPIC, TSC, HPET and QPC.
> A bit of info about system timer - ⇗ https://forums.guru3d.com/threads/window...cessing.377790/

Hi Gordo
Mark Russinovich, David A. Solomon, Alex Ionescu said: "On todays machines, the APIC Multiprocessor HAL configures the RTC to fire every 15.6 milliseconds, which corresponds to about 64 times a second."
OK, i was wrong, on modern APIC systems, hardware system timer is RTC chip
But on classic one-processor systems hardware timer is 8254 chip, not RTC chip. Clock input pin of 8254 connected to system 14.31Mhz (or divided by /2 or /4, i dont know details ). Windows don't trust 14.31Mhz as precision clock, it calibrate "ticks" from 8254 to fit to 1 sec (as i remember) of precision time, this "1 precision sec" it get from RTC chip

#7338

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7304

> Time is always together with the 3 dimensions.

⇗ @diderius6 ...Dietmar...I confirmed this with a former physics professor from the days when I studied engineering (applied science). I met him by chance in a super market and after we chatted for a few moments I told him I had recently read that time does not exist. He said, "That's correct, humans invented time to keep tract of change".
Have you considered what I said, that time, the second, is based on the rotation of the Earth. At one time, the Egyptians used a sun dial to do the same thing, to kept tract of the Sun's position in the sky, by casting its shadow on a sun dial face. They did not understand that the Earth was rotating and the Sun was standing still.
Today, we know the Earth rotates and we have two means of tracking that rotation. One is to use the position of the Sun at Noon wrt the horizon, then wait till Earth rotates back around to the same position. We created a machine, the clock, to measure that period then we arbitrarily divided a clock face into 24 divisions, which we called a day. Then we broke down the day into hours, minutes, and seconds.
The other means is to keep tract of the Earth's rotation wrt the stars, which are relatively fixed. The advantage with that time is that it is the same throughout the Earth's orbit whereas the former method loses a few degrees each rotation due to the Earth's movement in its orbit.
Was it Mach you quoted as claiming there is no physics in Einstein's relativity theory? Louis Essen, who discovered the atomic clock, claims Einstein's relativity is not a theory but a collection of thought experiments. He went further, claiming Einstein did not understand measurement. In his paper on relativity, E. claimed time is the hands on a clock. In that case, he should have known that time is locked to the rotation of the Earth because all clocks are synchronized to the Earth's rotation. It cannot dilate.
The space you mentioned is measured in metres (or kilometres) where the metre used to be defined as a fraction of the distance from the Equator to the North Pole. So, we humans invented that space and the time related to it. Neither exist in reality.
Gravity is a force and I think it is likely related to the electrostatic forces in atoms. It operates in the same way as two electrostatic charges where electrostatic force = K(q1.q2)/d^2. With gravity, f = G(m1m2)/d^2. Is that a coincidence? Today, students are being taught that gravity is not a force but some kind of space-time issue. I find that to be scary.
I don't think time exists. However, we have created it as an illusion in our minds where our minds create a past and a future that does not exist. Both are illusions, just like our illusion that the Sun rises in the East and sets in the West. What we have in reality is one immense space with no movement of time. In other words, if you consider the life of Christ, beginning at 0 BC, nothing has changed time-wise since then. We imagine it has but we are still in exactly the same space as when Jesus walked the Earth. There have been changes in geography due to erosion, etc., but no change in time.

#7339

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7299

> Boot failed! - Unable to find a medium containing a live file system

Edit menu.lst file adding acpi=off noapic nomodeset:

    default 0
    timeout 3

    title Debian Live
    kernel
     /images/debian-live/vmlinuz boot=live
    live-media-path=/images/debian-live/live/ config username=root acpi=off
    noapic nomodeset
    initrd /images/debian-live/initrd.img

@NT forever
What is this laptop? Is UEFI 32 or 64-bit? This version ⇗ grub4dos-for_UEFI-2021-05-01.7z is 32 and 64-bit. You must use the version that is compatible with your UEFI. It's best to run from UEFI Shell.
If your UEFI is 64-bit, you can only run WinXP 64-bit
To check the UEFI version, format the flash drive in FAT32, create the directory structure EFI\Boot and copy the uefiinfo.efi file to Boot subfolder renaming it to bootia32.efi (if UEFI 32-bit) or bootx64.efi (if UEFI 64-bit)
or do not rename uefiinfo.efi and use appropriate UEFI Shell version
P.S. uefiinfo.efi can run under both 32-bit and 64-bit UEFI as it is compiled as EBC

Gelip has attached files to this post

- ⇗ uefiinfo.zip
- ⇗ shell_x64.zip
- ⇗ shell_x32.zip

#7340 | Brooons | ⇗ @gordo999 Time is needed so that events do not occur simultaneously. Our events are not simultaneous. This means the fact of the existence of time.

#7341

diderius6

⇗ @Brooons
With Bohmian Mechanics, the events happen one after the other like on Videotape. No place for any randomness.
From a philosophie side: Who ever orchester randomness? nobody, because there isnt.
This enables also the possibility, that video runs backward, nobody has a chance to notice or to change this, because all IS as before.
Gravity makes the movie to run slower or faster. From human thinking,
nobody likes the idea, that we are like statists, cant change anything
Dietmar

#7342

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7337

> Mark Russinovich, David A. Solomon, Alex Ionescu said: "On todays machines, the APIC Multiprocessor HAL configures the RTC to fire every 15.6 milliseconds, which corresponds to about 64 times a second."

⇗ @Mov AX, 0xDEAD ...I am not up to date on modern computers, the older 8086 processors were easier to understand with their interrupts and RTCs.
I think the statement by Russinovich et al may be a bit misleading. I know who Russinovich is and I have read his work with great interest. In fact, I respect all three deeply as software gurus. Personally, if I want info on RTCs I would go to the source, an Intel hardware manual. A phrase like APIC Multiprocessor HAL does not make a lot of sense to me in English and I can only imagine how it must sound to you with English not your main language. HAL is a software reference whereas an APIC is hardware. Seems Mark and the boys are viewing hardware from a software level.
An APIC, as you know, is an advanced programmable interrupt controller. It's predecessor, the PIC, a programmable interrupt controller, was introduced as a means of interrupting the processor so the processor could process external hardware devices, like COM ports, printers, etc. It had interrupt lines for IRQ (interrupt request) from 0x0 to 0x7 (8 interrupts). A newer pic was introduced later with an extra interrupt line that attached to another PIC to extend the interrupts possible to 16.
The APIC does the same work and much more and has 255 interrupt lines. In the older PICs, IRQ 0 was for the system timer, and I think that's what Russinovich and all are calling a PIT. So, the timer interrupts the processor at the highest interrupt level. I think that is done to give the processor a regular reference pulse to synchronize it. The APIC now has a function provided so companies like Microsoft can redirect the interrupts so Microsoft can redefine them.
In the book by Russinovich et al from which you quoted, they claim, "Windows programs the system clock to fire at the most appropriate interval for the machine...". A few sentences later they claim, "The RTC, on the other hand, runs at 32.768 KHz, which, by being a power of two, is easily configured to run at various intervals that to the next highest value thats been required by a process or driver)".
Seems to me they are confusing the RTC with the system clock. I had not noticed before that 32,768 is 2^15th power. That makes sense now because digital counters can naturally divided a 2^n binary number into any power of 2. However, on one hand they claim the RTC runs at 32.768 Khz, which is a constant frequency, then they claim the RTC can be configured by the APIC to fire every 15.6 ms.
I think what they mean is that the RTC 'OUTPUT' frequency is divided by separate digital circuitry which fire at various intervals. If you have a counter counting the RTC output signal, you can reset the counter to 0 any time you want. Or, you can configure the counter to reset itself every so many counts and/or to output a pulse after every interval count.
I don't pretend to understand this at depth, especially the APIC, which is far more complex than the PIC. I think all that needs to be understood is that the APIC is a complex interrupt detector that can detect service requests from external devices and internal devices like counters and timers. It also has the ability to communicate with other APICs.
A processor has to be told when power is applied. That is a power interrupt request, which forces the processor to go through housekeeping routines to reset its registers, etc. That pin is right on the processor and connected to a power source. The processor will carry on performing its house keeping routines, like refreshing memory, till it is interrupted to do other work. Windows has introduced its own software interrupts, which I think are IRQLs.

#7343

gordo999

> Zitat von ⇗ Brooons im Beitrag ¶ #7340

> Time is needed so that events do not occur simultaneously.Our events are not simultaneous.
> This means the fact of the existence of time.

⇗ @Brooons ...do you mean physical events or mental events? If you removed every human from the Earth, would any events ever occur simultaneously? The human mind has the ability to create events that don't exist in the real, physical world.
By mental events I mean those recorded in human memory. None of them happened at the same time because the humans involved did not exist in the same physical space. They died, and new humans appeared, in the same space. However, humans today read history and record that history chronologically in their mind, making it appear as if there has been a change in time. Mental chronological time is an illusion.
Consider the example of Jesus walking around Jerusalem 2000 years ago (I am not religious I just admire the guy). He and the people of his time died and are no longer in Jerusalem. If I went there now and walked in the same places Jesus walked I would not be interfering in events he experienced. But I'd be walking in the same space he walked in.

#7344

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7341

> With Bohmian Mechanics, the events happen one after the other like on Videotape. No place for any randomness.Dietmar

⇗ @diderius6 ...Dietmar ...if you read Bohm's discussions with Jiddu Krishnamurti (you can find the book, The Ending of Time, on the Net) he states clearly at one point that humans invented time. Their entire discussion revolves around the illusions created by thought, including time, and the 'actuality' available to a mind that operates with a 'choiceless awareness'. That's a reference to a mind that operates only in the 'here and now'.
That's all there is...now. No past, no future. Maybe that's what's wrong with the XP timer.

#7345

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #7339

> ⇗ @Andalu ...[quote="Andalu"|p7299]
> Boot failed! - Unable to find a medium containing a live file system

⇗ @Andalu ...I often get that message if I have a USB device plugged into a USB port with the BIOS set to boot from a USB port. I drove myself crazy one night before I got what it was. I had a USB wifi device plugged into a USB port and the system was looking for an operating system on it.

#7346

diderius6

⇗ @gordo999
Because Bohmian Mechanics is linear with time, the situation at any moment, for example "NOW" is enough (but past(see photos) and future exist) to describe all(!) past and future.
This is very impressive, most do not understand. The routes cant cross, this is the end for all randomness
Dietmar
PS: This means, that you cant do anything wrong;)..

#7347

ruthan

> Zitat von ⇗ gordo999 im Beitrag ¶ #7338

> > Zitat von ⇗ @diderius6 im Beitrag ¶ #7304
> > Time is always together with the 3 dimensions.

Everybody knows, that time is flat circle :)

#7348

diderius6

⇗ @ruthan
When you take a look at the Zeta function, there will be endless the same situation as before,
BUT always with changes in Epsilon ranges (Poincarescher Wiederkehrsatz, also true in Quantenmechanics(!)).
Zeta grows with Log, means, changes will be big as much as possible, so an universal time exists,
counter on the Videotape, but I think without errors, not as in XP
Dietmar

#7349 | Andalu | ⇗ @Gelip the NVMe drive is not recognized on "fdisk -l" command. Only the USB stick is listed.

#7350

Andalu

> Zitat von ⇗ gordo999 im Beitrag ¶ #7345

> [@Andalu ...I often get that message if I have a USB device plugged into a USB port with the BIOS set to boot from a USB port. I drove myself crazy one night before I got what it was. I had a USB wifi device plugged into a USB port and the system was looking for an operating system on it.

In my case instead it was correct to search for an image file to be loaded.

## Page 491

#7351 | Brooons | If the laptop's timer speeds up or slows down, it is possible that this laptop is moving in space according to Einstein's theory

#7352

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #7342

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7337

> > Mark Russinovich, David A. Solomon, Alex Ionescu said: "On todays machines, the APIC Multiprocessor HAL configures the RTC to fire every 15.6 milliseconds, which corresponds to about 64 times a second."

> @Mov AX, 0xDEAD ...I am not up to date on modern computers, the older 8086 processors were easier to understand with their interrupts and RTCs.
> I think the statement by Russinovich et al may be a bit misleading. I know who Russinovich is and I have read his work with great interest. In fact, I respect all three deeply as software gurus. Personally, if I want info on RTCs I would go to the source, an Intel hardware manual. A phrase like APIC Multiprocessor HAL does not make a lot of sense to me in English and I can only imagine how it must sound to you with English not your main language. HAL is a software reference whereas an APIC is hardware. Seems Mark and the boys are viewing hardware from a software level

Hi Gordo
Yes, "APIC Multiprocessor HAL" means which HAL is activated.
APIC/ACPI/MPS HALs use RTC as input to interrupt controller
UniProcessor HAL uses 8254

#7353

Mov AX, 0xDEAD

⇗ @YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7336

> > Zitat von ⇗ YuriyCN im Beitrag ¶ #del-21

> > > Zitat

> > > acpi - fake, acpi hardware timer is disabled on skylake+, cpu-z probably reads acpi memspace in cycle, every 3.5 secs acpi time counter is overflowing, cpu-z handle this software way, any windows can't do same.
> > > qpc - is not timer, it is cpu counter, qpc depends on cpu bus freq, cpu bus freq is 100Mhz, 100Mhz generated from 14,31Mhz
> > > rtc - clock chip with 32768Hz
> > > cpu-z can't show important thing - interrupt counter, this counter is base of all windows timers

> > Никакого разгона у меня нет, все режимы по частотам CPU в BIOS|UEFI выбраны по-умолчанию. Процессор Intel i5-6500 (4 core @ 3200 MHz), поэтому QPC показывает 3,192 GHz, так как рабочая частота 3,200 GHz.

Can you do test on your pc ?
1) extract hal.dll and ntoskrnl.exe from sp3(or from last kernel KB***** patch if you are use fresh kernels), rename to hal1111.dll & ntos1111.exe
2) run in boot.ini "/kernel=ntos1111.exe /hal=hal1111.dll"
you will get one-cpu windows with standart "non-acpi" hal, but with another hardware timer !

del-22

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7353

> Can you do test on your pc ?
> 1) extract hal.dll and ntoskrnl.exe from sp3(or from last kernel KB***** patch if you are use fresh kernels), rename to hal1111.dll & ntos1111.exe
> 2) run in boot.ini "/kernel=ntos1111.exe /hal=hal1111.dll"
> you will get one-cpu windows with standart "non-acpi" hal, but with another hardware timer !

Проверить могу!
Только дайте мне эти 2 файла, чтобы не было путаницы.
Вдруг я не те версии использую и мы запутаемся в результатах.
Закачайте мне эти 2 файла нужных версий и я проведу проверку.

#7354

NT5 forever

> Zitat von ⇗ Brooons im Beitrag ¶ #7339

> @NT forever
> What is this laptop? Is UEFI 32 or 64-bit? This version ⇗ grub4dos-for_UEFI-2021-05-01.7z is 32 and 64-bit. You must use the version that is compatible with your UEFI. It's best to run from UEFI Shell.
> If your UEFI is 64-bit, you can only run WinXP 64-bit
> To check the UEFI version, format the flash drive in FAT32, create the directory structure EFI\Boot and copy the uefiinfo.efi file to Boot subfolder renaming it to bootia32.efi (if UEFI 32-bit) or bootx64.efi (if UEFI 64-bit)
> or do not rename uefiinfo.efi and use appropriate UEFI Shell version
> P.S. uefiinfo.efi can run under both 32-bit and 64-bit UEFI as it is compiled as EBC

Hmmm. I'm pretty sure my laptop's UEFI is 64 bit, because it runs 64 bit Win 10.
WinXP 64-bit sucks.
32-bit XP has been patched by MS until May 2019.
64-bit XP only until 2014 if my memory serves me.
Its GUI is nice, and it's stable, but AFAIK it's a pain to find the right drivers.
Windows 10 it is (unless I manage to install Windows 7 on my laptop)
Farewell XP! (when it concerns this particular machine)
I hate Windows 10 with a passion.
Maybe I should install Linux on my laptop.
I hate Linux as well, but not half as much as I hate Win 10.
Linux looks great, but it's a pain to set up and to find the right software for the job, and without good software my laptop is just a very expensive paperweight.
Maybe I should give up on computers all together, and stay far away from them when my last XP compatible motherboard dies...

#7355

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7352

> UniProcessor HAL uses 8254

⇗ @Mov AX, 0xDEAD ...I think you told us your first name in the past. I don't want to say "hi, Mov".
I wonder if the i8254 could be part of the problem. Apparently, some versions of XP are related to the 8254. The newer hardware likely has this functionality included in the LAPIC and is perhaps running at a slightly different frequency.
There is a post in this form about high performance counters that states:
"Well, on the same machine, 4 different Windows installs deliver 4 different timer resolutions:
Windows XP x64 Edition SP2:
High-resolution performance counter frequency is 3215.0 MHz
Windows XP Media Center Edition 2005 SP3:
High-resolution performance counter frequency is 3.579545 MHz
Windows Vista Ultimate Edition 64-Bit SP2:
High-resolution performance counter frequency is 25.0 MHz
Windows 7 Ultimate Edition 64-Bit SP1:
High-resolution performance counter frequency is 3.139248 MHz"
⇗ https://social.msdn.microsoft.com/Forums...velopmentissues
****
Don't know if there is a mistake for Windows XP x64 = 3215.0 Mhz. That is 3.125 Ghz. It may be a typo and should read 3.125 Mhz.
Note the frequency for Windows media centre XP version = 3.579545 MHz. That is the frequency of the crystal oscillator used in colour television for the colour information reference in North American televisions. Apparently, computer manufacturers used the same crystal because it was plentiful and inexpensive. The i8254 runs at 1/3 that frequency in certain modes, or 1.19318 Mhz.
Other versions of XP are returning different values according to the article in the forum. That's not to say the queryperformancecounter function is returning those vlaues but the count they are returning for the counter is based on different base frequencies.
I imagine it might be the same for gettickcount, etc. Browsers and games are likely using those functions for XP apps but when the counter frequency base changes, their timing will be incorrect. So, when XP runs on hardware using different timers and time bases, it loses synchronization.
Also, you may find this article interesting. It is old but it explains the use of the i8254 in older systems.
⇗ https://www.compuphase.com/int70.txt

#7356

gordo999

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7354

> Linux looks great, but it's a pain to set up and to find the right software for the job...

⇗ @NT5 forever ...not only that, if you dare to look under the hood you find an archaic Unix system with some apps dating back to the 1970s, and written for teletype. Much to my horror, while trying to learn macOS to help a friend, I found the same Unix under the hood. Unix is to Linus and macOS as DOS is to Windows.
BTW...for anyone not speaking English as a first language, 'hood' refers to the metal door over the engine in an automobile. When you lift it to access the engine, you are said to be 'looking under the hood'. In the UK, they call it a bonnet, like a woman's hat.

#7357

gordo999

About timing issues....just noticed an article that mentions HPETs, or high precision Event timers. I had not turned XP on for several weeks and when I just booted it, the clock was within 3 seconds of the clock on my Windows 7 machine. XP is not connected to the Internet at this time, so it did not correct itself via the Net.
In Device Manager, under System devices, I have a listing for an HPET as High Precision Event Timer. Its hardware ID is ACPI\PNP0103\0. It's memory range is FED00000 - FED003FF.
The following article explains the HPET in detail and its relation to other timers. Under 'Notes' at the end of the article, in Note d., they mention a PM Timer that can be turned on and off in boot.ini use the /usepmtimer switch. It's not clear to me at this time what that does.
⇗ https://en.wikipedia.org/wiki/High_Precision_Event_Timer
It seems my problems with timing cleared up when I used the modded intelppm/HAL mod combo.

#7358

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7349

> @Gelip
> the NVMe drive is not recognized on "fdisk -l" command. Only the USB stick is listed.

Yes, Debian 6 is old. Try my Debian 9:
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (444)
P.S. On Debian 9 use:
fdisk -l -u=cylinders
⇗ @NT5 forever

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7354

> Hmmm. I'm pretty sure my laptop's UEFI is 64 bit, because it runs 64 bit Win 10.
> WinXP 64-bit sucks.

To run WinXP 64-bit under pure 64-bit UEFI class 3 you need to use 64-bit UefiSeven loader and beta files from 64-bit Longhorn Server 2008 6.0.6001.16497: ⇗ https://www.betaarchive.com/forum/viewto...=456492#p456492
Besides, you have to deploy WinXP e.g. with VMware Workstation. Installation is not possible:
⇗ How to deploy WinXP 64-bit on a UEFI (without CSM) in AHCI

#7359 | Brooons | Sometimes, the power does not turn off, on XP. 10\1, 10 time correctly, 1 time freeze in end. Rebooting correctly, without checkdisk. Which way to look...

del-23

YuriyCN

Я не дождался 2-х файлов от вас, поэтому решил провести эксперимент как я понял.
1. Я взял официальный SP3 для русской версии windowsxp-kb936929-sp3-x86-rus
2. Переходим в нем по пути \i386\sp3.cab
3. Из архива sp3.cab берем 2 файла hal.dll и ntoskrnl.exe, копируем в любую директорию и переименовываем в hal1111.dll и ntos1111.exe
4. Копируем hal1111.dll и ntos1111.exe в c:\WINDOWS\system32\
5. Дописываем параметры /kernel=ntos1111.exe /hal=hal1111.dll в файл boot.ini
Все 3 файла я залил в архив - ⇗ https://www.upload.ee/files/13113007/Test_Kernel.zip.html
Если нужно было проверять на других версиях - дайте свои файлы.
Готово! Измененные файлы лежат на своих местах.
6. Перезагружаем ПК.
7. При загрузке ПК началось определение оборудования, вроде как при свежеустановленной системе. Все драйвера ранее были установлены, поэтому подхватились в автоматическом режиме.
8. Чтобы все драйвера (в том числе видеокарты) нормально заработали ещё раз перезагрузил ПК.
Готово! Можно проводить тест.
9. Судя по "Диспетчеру задач" мой ПК превратился в одноядерный и слетел патч РАЕ. Смотрите скрин - из 4 ядер осталось 1 ядро, а памяти вместо 8 Гб, осталось 2,1 ГБ.
10. Провевожу проверку.
Запускаю CPU-Z и Timer. После 380 секунд проверки получаю времена как на скриншоте. Интересным моментом является то, что ранее в таком режиме я бы получил время ACPI равное времени QPC таймера, а RTC таймер ушел бы вперед за 380 секунд приблизительно на 12...14 секунд (приблизительно по +2 секунды за каждые 60 секунд).
Но с новым ядром картина резко изменилась. Время ACPI и QPC таймера немного разнится, на 0.08 секунд. При чем наоборот, уже в меньшую сторону, а время QPC и RTC вообще совпадает. Если время в 0.08 секунд считать погрешностью - то все 3 таймера считают приблизительно одинаково. Ещё раз обращаю внимание, что ранее, за 380 секунд "накрутки" я бы получил увеличение времени для RTC до +(12...14) секунд!
Пишите какие действия я должен ещё выполнить.
Может какие-то проверки необходимо повторить.
Я готов тестировать.

#7360

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-23

> 9. Судя по "Диспетчеру задач" мой ПК превратился в одноядерный и слетел патч РАЕ. Смотрите скрин - из 4 ядер осталось 1 ядро, а памяти вместо 8 Гб, осталось 2,1 ГБ.
> Пишите какие действия я должен ещё выполнить.

⇗ @YuriyCN
You can apply WinXPPAE to hal&ntoskrnl for full RAM access, but this simple hal.dll is not "ACPI" so your PC is limited to control power/freq/cpus/...
What is difference with standart mode - clock source is virtual "8254" chip with 14.318-MHz clock (derived from 24-MHz quartz)
In standart mode with halmacpi.dll clock source is RTC chip 32768Khz
On your PC windows assume 8254 is better clock source than RTC, there is no simple way to switch clock source in halmacpi.dll, need to replace some code to version from hal.dll, it is hard job.
You can play with some timer related switches in boot.ini at standart mode:
/USE8254 на системах с устаревшим BIOS сообщает ядру ОС, что на ПК установлен таймер на основе чипа 8254
/TIMERES=X в мультипроцессорных системах устанавливает разрешение системного таймера. По умолчанию разрешение таймера 7.8ms. Параметр X измеряется в сотнях миллисекунд и поддерживаются следующие значения: (X=сотен миллисекунд миллисекунд)
9766 0.98
19532 2.0
39063 3.9
78125 7.8

#7361

Mov AX, 0xDEAD

> Zitat von ⇗ gordo999 im Beitrag ¶ #7355

> "Well, on the same machine, 4 different Windows installs deliver 4 different timer resolutions:
> Windows XP x64 Edition SP2:
> High-resolution performance counter frequency is 3215.0 MHz
> Windows XP Media Center Edition 2005 SP3:
> High-resolution performance counter frequency is 3.579545 MHz
> Windows Vista Ultimate Edition 64-Bit SP2:
> High-resolution performance counter frequency is 25.0 MHz
> Windows 7 Ultimate Edition 64-Bit SP1:
> High-resolution performance counter frequency is 3.139248 MHz"

it is OK, because for performance counters windows can choose from pool of sources: acpi hardware, TSC, ...
3215.0 MHz = RDTSC
3.139248 MHz = RDTSC/1024 (windows 7+ divide raw TSC this way)
3.579545 MHz = ACPI hardware timer (acpi specification frequency)
25.0 MHz = mistake
with additional boot switches possible to force use HPET and 8254 as performance counters
p.s. my own experiments with broken acpi timer on skylakes: ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (10)

#7362

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7358

> Yes, Debian 6 is old. Try my Debian 9:
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (444)
> P.S. On Debian 9 use:
> fdisk -l -u=cylinders

thank you for the help but, sincerely, I have many difficulties to proceed, totally ignoring the linux commands. For example, I prepared the usb stick by writing the iso Debian9 with Win32 Disk Imager but I don't know if this was the right thing to do. With the command fdisk -l -u=cylinders I don't know what is intended to obtain and which parameters to change in case, as happened, an error is shown.

del-24

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7360

> You can apply WinXPPAE to hal&ntoskrnl for full RAM access, but this simple hal.dll is not "ACPI" so your PC is limited to control power/freq/cpus/...
> What is difference with standart mode - clock source is virtual "8254" chip with 14.318-MHz clock (derived from 24-MHz quartz)
> In standart mode with halmacpi.dll clock source is RTC chip 32768Khz
> On your PC windows assume 8254 is better clock source than RTC, there is no simple way to switch clock source in halmacpi.dll, need to replace some code to version from hal.dll, it is hard job.
> You can play with some timer related switches in boot.ini at standart mode:
> /USE8254 на системах с устаревшим BIOS сообщает ядру ОС, что на ПК установлен таймер на основе чипа 8254
> /TIMERES=X в мультипроцессорных системах устанавливает разрешение системного таймера. По умолчанию разрешение таймера 7.8ms. Параметр X измеряется в сотнях миллисекунд и поддерживаются следующие значения: (X=сотен миллисекунд миллисекунд)
> 9766 0.98
> 19532 2.0
> 39063 3.9
> 78125 7.8

1. Про РАЕ всё понятно, я же заменил ядро на непатченое.
2. В "Диспетчере устройств" появился "Стандартный компьютер", вместо "Многопроцессорный компьютер с ACPI" который был раньше
3. Что мне делать сейчас? Оставить однопроцессорное ядро, для дальнейшего проведения тестов... Или вернуть многопроцессорное ядро и поиграться с параметрами /USE8254 и /TIMERES=X в boot.ini???
Моя материнская плата на чипсете Intel H110M, процессор Intel i5-6500.
Готов к любым экспериментам.

del-25

YuriyCN

Вопрос: а как вернуть как было??
Я удалил добавленные параметры /kernel=ntos1111.exe /hal=hal1111.dll с boot.ini, но режим "Многопроцессорный компьютер с ACPI" не вернулся.... (((( Далее, я попробовал натравить на обычное ядро с РАЕ, задав в boot.ini параметр /kernel=ntkrnlpa.exe /hal=hal.dll - но опять загружается в режиме "Стандартный компьютер".
Как вернуть "Многопроцессорный компьютер с ACPI"??? Неужели Виндовс придется переустанавливать?

#7363

Mov AX, 0xDEAD

> Zitat von ⇗ YuriyCN im Beitrag ¶ #del-25

> Я удалил добавленные параметры /kernel=ntos1111.exe /hal=hal1111.dll с boot.ini, но режим "Многопроцессорный компьютер с ACPI" не вернулся.... (((( Далее, я попробовал натравить на обычное ядро с РАЕ, задав в boot.ini параметр /kernel=ntkrnlpa.exe /hal=hal.dll - но опять загружается в режиме "Стандартный компьютер"

⇗ @YuriyCN
always make backup of registry, ERUNT is good for XP
1) /kernel=ntkrnlpa.exe /hal=hal.dll - must work, ntkrnlpa.exe = real ntkrpamp.exe, hal.dll - real halmacpi.dll
2) load available system restore snapshot
3) del manually ""Стандартный компьютер"", reboot
4) restore registry manual backup if you have one (only SYSTEM is enough)

del-26

YuriyCN

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7363

> always make backup of registry, ERUNT is good for XP
> 1) /kernel=ntkrnlpa.exe /hal=hal.dll - must work, ntkrnlpa.exe = real ntkrpamp.exe, hal.dll - real halmacpi.dll
> 2) load available system restore snapshot
> 3) del manually ""Стандартный компьютер"", reboot
> 4) restore registry manual backup if you have one (only SYSTEM is enough)

Уже вернул. Задача оказалась не простой. Восстановление системы отключено. Пункт "Стандартный компьютер" удалить нельзя - в его меню нет пункта "Удалить" когда он один и нет выбора, а в "Многопроцессорный компьютер с ACPI" - пункт удалить есть.
Правильная последовательность:
Оказывается, когда мы загружаемся с режиме "Стандартный компьютер" с альтернативного ядра hal1111.dll, то это однопроцессорное ядро втихаря копируется в файл hal.dll . В итоге, когда мы возвращаемся обратно, ядро загружается из hal.dll, но файл уже подмененный. Пришлось вернуть ехе и dll из какого-то бекапа, но ПК не загружался, а зависал с черным экраном, реестр не мог подгрузиться. Тогда повторно заменил 2 файла и загрузился в безопасном режиме (через F8). Посмотрел в "Диспетчер устройств" - появилось 2 устройства "Многопроцессорный компьютер с ACPI" и "Стандартный компьютер". Поскольку устройств было 2, то на "Стандартный компьютер" пункт "Удалить" появился. Я его и удалил, оставив только "Многопроцессорный компьютер с ACPI". Перезагрузился в обычном режиме и работа нормализовалась.
По RTC bug.
Проверка показала, что в однопроцессорном ядре проблемы нет. Я даже накручивал время почти 20 минут, но разность хода таймеров составила -0,24 секунды за 1187 секунд (~ 20 минут). За это время, на мнопроцессорном ядре мы накрутим приблизительно +40 секунд.
ВОПРОСЫ
1) Посоветуйте с каким параметром в boot.ini сделать проверку?
2) Можно ли патчем ядра установить предделитель на 1 мс (0.977 мс) принудительно (как это сделано в Windows 7) ?

#7364 | Fernando | ⇗ @YuriyCN: I don't understand, what you are writing. This is an international Forum, but its language is English.

#7365

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7362

> With the command fdisk -l -u=cylinders I don't know what is intended to obtain and which parameters to change in case, as happened, an error is shown.

What do you dont know? Show me the output of the fdisk -l -u=cylinders
After all, I explained how to make a disk image here: ¶ #7263
bs is number of bytes from the Units= line
count is last cylinder of first partition (END column)
You need to first mount another partition, external drive or network drive where the xp.img image will fit.
To mount an NTFS partition of external USB disk (e.g. /dev/sdb1) in the /mnt/images directory:

- create an images folder in the mnt directory:
  mkdir /mnt/images
- mount NTFS partition in this directory:
  mount /dev/sdb1 /mnt/images

In Debian, NVME disks will be labeled /dev/nvmexxx e.g. /dev/nvme0n1 and first partition /dev/nvme0n1p1

## Page 492

#7366

gordo999

⇗ @Mov AX, 0xDEAD ...thanks for link to your research. Good work.
I mentioned in previous post that timing issues on my XP installation were fixed by the intelppm/hal mod. I had games that would not start and Firefox would not run properly. After using the mod, everything worked.
Do you know what changes were made in the mod to affect the timer? After XP being turned off for several weeks, the clock was 3 seconds fast, not slow.

#7367

gordo999

For anyone interested, I am re-visiting the problem of getting the Nvidia GT 1030 to run on XP. The complaint thus far is that the card runs only in 2D but I can't even get it to load. I get an error 10.
Found one major problem. The recommended package from Nvidia for XP is the 368.81 package. However, it comes in three versions for x86: an XP version, a VISTA/W7/W8 package, and a W10 x86 package which seems to be a Japanese version. The XP package uses the nv_mini.sys driver which was used as far back as the GT 730. The GT 1030 requires a different driver, the nvlddmkm.sys driver which comes in the VISTA/W7/W8 package.
The 368.81 package for XP should not work at all with the GT 1030 since the required driver is missing in that package. The INF file on the XP package points to the nv_mini.sys driver whereas the Vista/W7/W8 package points to the nvlddmkm.sys driver. I am just beginning to look at the problem but thought I'd advise anyone wondering about the issues.
The INF file for the VISTA/W7/W8 package has a section for each OS, so if it is used for XP the header of one of those sections will have to be changed to reflect XP. I am thinking the Vista section would be best. The Vista INF file has no mention of the GT 1030, the highest hardware ID is DEV_1C03 = GTX 1060. Just found a W10 English version of the 368.81 package for x86 and it only goes to DEV_1C03 as well.

#7368 | infuscomus | ⇗ @gordo999 I don't think you'll have much luck getting nvlddmkm.sys working in XP, unless we can somehow get XP booting with Vista/7 ntoskrnl/hal. I tried to get it to boot once before using a longhorn server beta bootloader that I know can boot XP but got stuck at a 12A BSOD.

#7369

infuscomus

⇗ @Mov AX, 0xDEAD
It is possible to boot into XP using the Longhorn Server 2008 6.0.6001.16497 bootmgr and winload.exe
So as an experiment I tried swapping out the XP ntoskrnl and hal with the one from Vista and see if it would boot - but I ran into a 12A BSOD when I tried to boot into it.
I was wondering if you might be interested in solving this? I think it would be pretty cool to have XP booting with the Vista ntoskrnl and hal

#7370

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7368

> I don't think you'll have much luck getting nvlddmkm.sys working in XP, unless we can somehow get XP booting with Vista/7 ntoskrnl/hal.

⇗ @infuscomus ...I think you are right. Just checked the driver with 'depends' and there are 22 functions missing in the XP ntoskrnl. No other module shows missing functions. I am still running the original ntoskrnl, not the newer one from W8.
Not sure how that works, I am going to check ⇗ @daniel_k 's repository to see. There may be a chance that the missing functions are not called under normal usage, but I doubt it.

#7371 | spacedrone808 | Anyone tried Ryzen 5900x on Win XP 32-bit? 5900 is the fastest cpu in terms of single thread performance!AMD 1950x ~4Ghz | Noctua NH-U14S | Asrock Taichi X399m | 64GB RAM Corsair DDR4 @2800Mhz| 512Gb Samsung 970 Pro NVME | 1Tb Samsung QVO SSD | 2Tb Seagate Firecuda sHDD (8Gb SSD cache) | AMD Radeon VII 16Gb VRAM | Asus Essense STX II | Edifier R2800 Speakers | 1300 Watt SeaSonic Gold| NEC PA301W | Fractal Design Meshify Case |Topre RealForce RGB Keys | Windows 7 SP2+ x64

#7372

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7369

> So as an experiment I tried swapping out the XP ntoskrnl and hal with the one from Vista and see if it would boot - but I ran into a 12A BSOD when I tried to boot into it.

⇗ @infuscomus ...looked up bsod 12a out of interest and it's about language packs. Apparently Vista is looking for language pack info in the registry.
Got this possible solution (posted below) by translating with Google from a Russian site. This requires a registry mod on an offline system. The explanation advises to export the registry hive but I find that is not necessary. If you boot from a live CD like Hirens, you can use their registry editor.
Highlight the HKLM hive (on live CD) and look under the 'File' tab for 'Load Hive'. Go to the registry folder in the offline XP Windows directory under %windir%\system32\config and highlight the 'system' file. If that does not have the hives you need, unload the 'System' hive and load the 'Software' hive. Hit enter and it will ask for a name. I use a distinct name because it will be loaded under the HKLM hive as a sub-hive. Then you can edit the XP registry hive as if it was live in XP.
***CAUTION....be sure to unload the hive under 'File' when you are finished**** You may also be able to do this on a live XP, I don't think it would care about the added MUI stuff.
From Russian site:
⇗ http://forum.oszone.net/nextoldesttothread-269667.html
"Recently I met such a rare error on Win 7x32 ru. For some reason, the dump is not created. With difficulty I found in Google where the problem is. It turns out that when updating the "left" windows, the contents of the current * registry branch sometimes disappear

    [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet * \ Control \ MUI \ UILanguages

(see what ControlSet number is current in the system \ select section)
To solve this, you need to boot from some Live CD and load the System hive. Find the desired branch (see above) and, after checking that there are no necessary subsections, export it to disk. Then, with the right mouse, change and insert missing lines

    [hive \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet * \ Control \ MUI \ UILanguages \ en-US]
    "LCID" = dword: 00000409
    "Type" = dword: 00000091

    [hive \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet * \ Control \ MUI \ UILanguages \ ru-RU]
    "LCID" = dword: 00000419
    "DefaultFallback" = "en-US"
    "en-US" = hex (7): 00,00,00,00
    "Type" = dword: 00000092

Instead of "hive" there will be the name of the loaded hive, and instead of * - the ControlSet number that is current. Save. Then two clicks on the resulting reg file, merge and reboot. Instead of these manual work, you can probably write a simple script, but this stop is quite rare".
*****
Note....I could find no similar reference in the XP registry but there is a hive under HKLM\system\ControlSet * \Control\Nls\MUILanguages
ControlSet * refers to your current ControlSet, which you can find under HKLM\System\Select\Current. For example, my current ControlSet is ControlSet008.
Note also that W7 has a MUI hive in the same place as Vista. Maybe you could export the entire hive from W7 and import it into XP registry. Of course, if you have an offline Vista installation you could do the same.

#7373 | infuscomus | ⇗ @gordo999 Thanks for that useful info! I wasn't able to find this myself.

#7374

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7373

> Thanks for that useful info! I wasn't able to find this myself.

⇗ @infuscomus ...I got lucky. Found out that nvlddkmk means Nvidia Longhorn Display Driver Kernel Mode Driver. Tried to force it via INF files but all I got was an error change from code 10 to code 1 to code 28. Surprisingly, my desktop video is still clear with the stock VGA drivers.

#7375

Mov AX, 0xDEAD

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #7366

> I mentioned in previous post that timing issues on my XP installation were fixed by the intelppm/hal mod. I had games that would not start and Firefox would not run properly. After using the mod, everything worked.
> Do you know what changes were made in the mod to affect the timer? After XP being turned off for several weeks, the clock was 3 seconds fast, not slow.

first page of this "megatopic" has mini-wiki, descriptions to most patches
p.s. intelppm mod patch cpu idle function, not any timers :)

#7376

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #7369

> So as an experiment I tried swapping out the XP ntoskrnl and hal with the one from Vista and see if it would boot - but I ran into a 12A BSOD when I tried to boot into it.
> I was wondering if you might be interested in solving this? I think it would be pretty cool to have XP booting with the Vista ntoskrnl and hal

I'm not interested because after solving BSOD 12 you will get infinite BSOD XXXX/YYYYY/......
to simplify this BIG problem need replace all XP's ring0 code to Vista, then fix XP's user32.dll/kernel32/gdi32.dll/ntdll.dll because these libraries contain "gates" from XP-ring3 to Vista-ring0

#7377

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7365

> What do you dont know? Show me the output of the fdisk -l -u=cylinders

Here the output of the fdisk -l -u=cylinders command:

    Device                  Boot  Start   End     Cylinders   Size     Id   Type
    /dev/nvme0n1p1           *     1     4749       4749      36.4G    7   HPFS/NTFS/exFAt

Too complicated for me to understand the rest... sorry

#7378

Gelip

⇗ @Andalu

> Zitat von ⇗ Andalu im Beitrag ¶ #7377

> Here the output of the fdisk -l -u=cylinders command:

Your WinXP is on an NTFS 36.4G partition (/dev/nvme0n1p1). Shrink the partition or reinstall WinXP on a small partition, e.g. 5GB. 36GB is too much to fit in RAM !

#7379

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7375

> first page of this "megatopic" has mini-wiki, descriptions to most patches

⇗ @Mov AX, 0xDEAD ...thanks, I had not looked at that page for long time. Thanks for all the hard work you and others have done to make XP work on newer motherboards.

#7380

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7378

> Your WinXP is on an NTFS 36.4G partition (/dev/nvme0n1p1). Shrink the partition or reinstall WinXP on a small partition, e.g. 5GB. 36GB is too much to fit in RAM !

I'm trying different ram image sizes and even the 28GB one works in the 36GB disk partition on a system with 64GB of ram:
⇗

## Page 493

#7381

Andalu

> Zitat von ⇗ NT5 forever im Beitrag ¶ #7238

> I use Grub4DOS bootloader/menu, and it has the option to run XP both in file disk mode and in RAM disk mode.
> When I want to install new software or hardware I use filedisk and set everything up the way I like it.
> Changes are persistent after reboot, just like a regular XP installation on hard disk.
> Once everything is configured correctly I reboot my machine and use RAM disk mode.
> Changes made to the C drive will be flushed during a reboot.

Could you please report the content of the file menu.lst that allows the switch between file Disk mode and RAM disk mode?

#7382

Fernando

⇗ @Mov AX, 0xDEAD:

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7375

> first page of this "megatopic" has mini-wiki, descriptions to most patches

Thank you very much for this work!
To make it easier for new visitors of this thread to find your post, I have added a hint to your smart summary to the start post.

#7383

Fernando

⇗ @YuriyCN:

> Zitat von ⇗ Fernando im Beitrag ¶ #7364

> ⇗ @YuriyCN: I don't understand, what you are writing.
> This is an international Forum, but its language is English.

Since I haven't seen any reaction from you side, I have deleted all your posts, which were written by you without any translation in Russian language with Cyrillic letters.
All other Forum members except you are writing here in English language and with Latin letters, no matter where they live and which mother tongue they speak. That is not fair!
All contributions of this Forum should be readable and understandable for all visitors.

#7384

Gelip

> Zitat von ⇗ Andalu im Beitrag ¶ #7380

> 'm trying different ram image sizes and even the 28GB one works in the 36GB disk partition on a system with 64GB of ram:

64GB RAM in WinXP ??? What do you need so much RAM for? I am using WinXP 64-bit with 4GB RAM, I have the paging file disabled and I am very happy. WinXP doesn't need that much RAM.

#7385

NT5 forever

> Zitat von ⇗ Andalu im Beitrag ¶ #7381

> Could you please report the content of the file menu.lst that allows the switch between file Disk mode and RAM disk mode?

title XP file disk
find --set-root --ignore-floppies /xp.img
map /xp.img (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
title XP RAM disk
find --set-root --ignore-floppies /xp.img
map --mem /xp.img (hd0)
root (hd0,0)
chainloader /ntldr

#7386

Andalu

> Zitat von ⇗ Gelip im Beitrag ¶ #7384

> 64GB RAM in WinXP ??? What do you need so much RAM for? I am using WinXP 64-bit with 4GB RAM, I have the paging file disabled and I am very happy. WinXP doesn't need that much RAM.

Currently my main system has 32GB of ram. C: drive is used for 1.7GB with only 4 programs installed. All the rest is on ramdisk, including pagefile, browser, downloads and some Framework versions (2.0 and 4.0). Some ramdisks are loaded at startup while others are loaded only when the need occurs. Booting with 3 ramdisks (4GB for the pagefile + 6Gb for Firefox + 2GB for some programs) is a bit slow (50 seconds) but ramdisk operations are fast even with XP installed on an old Haswell board with a 4770k cpu.
Next system will have with 64GB of ram. My crazy goal is to find a way to load XP on ram and at the same time:
- still use the ramdisk software;
- install the programs currently running on C on a ramdisk even if they need their own driver to work and especially write on the drive C.
I am aware, in any case, that it will be very difficult, at least for me, to find the solution.
Any advice will be greatly appreciated :)

#7387

Gelip

⇗ @Andalu

- install fresh WinXP on partition 5GB
- install device drivers, WinVBlock RAM disk driver, and adjust system settings
- install your programs
- disable pagefile
- create an xp.img image from the beginning of the disk to the end of the 5GB partition
- boot system from xp.img to RAM with GRUB4DOS

#7388 | Brooons | Hiberfil.sys create impossible, Hibernate mode does not work, it is impossible to turn on, error id 49, this problem is maybe solved anybody or it is not worth wasting time?

#7389

YuriyCN

ENGLISH
Windows XP mod 2021 - system build for the modern PC (edition 09.05.2021)
The information doesn't fit into a forum post - so download the text file and read it in Notepad.
TXT (89KB) - ⇗ https://yadi.sk/d/ljE4cOq9IqEj3Q
RUSSIAN
Windows XP мод 2021 - сборка системы для современного ПК (редакция 09.05.2021)
Информация не помещается в форумный пост - поэтому скачайте текстовый файл и читайте в Блокноте.
TXT (100КБ) - ⇗ https://yadi.sk/d/Dt4iHUhoqABMzQ

#7390

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #7339

> P.S. uefiinfo.efi can run under both 32-bit and 64-bit UEFI as it is compiled as EBC

⇗ @Gelip ....thanks for your help with UEFI but after getting it working on W7, I cannot see the point of it. My shell appeared as version 2.0 but it looks like the same kind of Unix used in Linux, like DOS in Windows. Each device seems to be described by a long GUID and I cannot see manipulating each piece of hardware using 32-bit GUIDS and using a text mode which is based in Unix. There's really no point unless a user wants more control over each element that is listed in the standard visual BIOS.
I got it running in W7, rather than using an USB drive for XP, by adding a drive letter to the system partition so it would show up in a file manager. Then I created a directory \EFI with a sub-directory \Boot. Then I placed the efi shell file in the Boot directory. With my system directory using letter z:\, that means the efi file is in z:\EFI\Boot. I had two 64-bit EFI files, one from you, named bootx64.efi and another named shell.efi. I did not know which one the system required so I placed both in the Boot directory. When I rebooted, the EFI menu appeared but it said I could escape before loading the nmi file by pressing ESC. Did not happen, it just sat there claiming the EFI boot was successful.
I could not see anything that would allow me to add XP to the W7 boot file. Then, again, I could not spend that much time investigating. Eventually, I used EasyBCD, with UEFI disabled in BIOS, to add XP to the BCD boot file in W7. Very simple, and now I have the dual boot window appear at boot.

#7391

Gelip

⇗ @gordo999

> Zitat von ⇗ gordo999 im Beitrag ¶ #7390

> thanks for your help with UEFI but after getting it working on W7, I cannot see the point of it.

What point?

> Zitat von ⇗ gordo999 im Beitrag ¶ #7390

> My shell appeared as version 2.0 but it looks like the same kind of Unix used in Linux, like DOS in Windows.

This is what UEFI Shell looks like.

> Zitat von ⇗ gordo999 im Beitrag ¶ #7390

> Each device seems to be described by a long GUID and I cannot see manipulating each piece of hardware using 32-bit GUIDS and using a text mode which is based in Unix. There's really no point unless a user wants more control over each element that is listed in the standard visual BIOS.

To edit the Boot Menu you need a special version of UEFI Shell (in Attachment) that includes the bcfg command Gelip has attached files to this post

- ⇗ ShellBinPkg.zip

#7392

Andalu

⇗ @Gelip
Thanks for your suggestions
So far I used only the SVBus driver and after some tests I managed to boot XP from memory and at the same time, always on startup, to load some ramdisks from the E: drive (SSD connected to the USB3 port), as shown in the image below:
⇗
Now I need to find a way to install two programs for which I need to permanently save their rules during usage (one possibility could be to use symbolic links, some tests are needed), but first I wanted to ask if someone can give me a hint on the following problem:
with two nvme connected, the first with the XP image and the other for ramdisk files, what command should be added in the menu.lst file to load the XP.img file located on the first drive? So far the nvme drive that is automatically selected by GRUB4DOS is always the one containing the ramdisk files and not the one with XP.img, so the system won't boot.
Current menu.lst:

    title Windows XP - RAMDISK
    nvme --set-drive=0x80 --set-controller=0 --showselected
    find --set-root --ignore-floppies /xp.img
    map --mem /xp.img (hd0)
    map --hook
    nvme --uninit
    root (hd0,0)
    chainloader /ntldr

#7393

Andalu

> Zitat von ⇗ diderius6 im Beitrag ¶ #7256

> During my tests with Windbg in winter I noticed,
> that even long time after compi shuts down,
> complete parts in ram stay(!) as before (even it is ddr4).
> Later I use this methode for to load tables for acpi.sys to ram, survives reboot.
> I do not find a tool, with which I can reset all ram.
> So I come to the idea, to use memtest86-usb .
> ⇗ https://www.memtest86.com/
> This version does not work for XP, but there is an memtest86-usb.img in it,
> which I put under XP ) via Winhex to an USB stick.
> And voila, connect this USB stick to your compi and ram is freshed up
> Dietmar

Is it only with debugging that I can check if the ram is effectively reset or can I use another way as well?

#7394

diderius6

⇗ @Andalu
With Winhex you have the possibility to check ram.
Long time ago I use DOS, for to see,
that information survives reboot in ram and I boot complete(!) XP loaded to ram before, via reboot.
For me it is not clear, how you can access real ram under XP.
Even with winhex, ram is separated into pieces of virtual ram,
which program reserves it.
Would be nice, if somebody here can explain, how to take a look at the complete physical ram under XP
Dietmar
PS:memtest86 tests whole ram, the program itself needs to copy itself to another place in ram during operation.
I do not find any explanation, HOW memtest86 succeeds with this.
And the information in memtest86 leeds to missunderstanding:
It tells for example, that ram between 0x100000000 - 0x85e409000 (for 32 Gbyte ram) is checked.
The 0x100000000 seems to be at adress 00000000000000000,
because when you build the difference between 85e409000 and 100000000 you ends with 32 Gbyte.

#7395

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #7391

> What point?

@Gelip....point as in advantage. You have a normal BIOS with visual menus that can be opened with values that can be changed. For example, in my BIOS, I can open the Boot tab and change the boot order easily. Or I can select which devices can boot. Seems to me that the EFI shell requires me to use 32 or 64 bit GUIDs to identify each device then use commands to operate on them.
I can see with a drive mapped as FS0, or whatever it is, I can just use the FS0. But what if I want to turn USB on or off, or turn audio on or off, or do operations on many other devices/controls. First I have to know what is there and what can be changed. With EFI, how do I know what parameters are available and which ones can be changed. Taking a look at the EFI commands, they seem a lot more like an autoexec.bat file or a config.sys file than a BIOS replacement.
Thanks for the shell.

## Page 494

#7396

galagun

> Zitat von ⇗ gordo999 im Beitrag ¶ #7395

> > Zitat von ⇗ Gelip im Beitrag ¶ #7391

> > What point?

> @Gelip....point as in advantage. You have a normal BIOS with visual menus that can be opened with values that can be changed. For example, in my BIOS, I can open the Boot tab and change the boot order easily. Or I can select which devices can boot.

Shell + Bcfg command allow you to add entries to firmware's boot menu, not just enable/disable/delete them or change its order on it.
So far very few machines offer built-in such capability. I know my Dell E6410 can add and modify entries there. But almost all Insyde H20 UEFI driven machines can't. EFI shell bcfg command allows you to do that without having to boot a full liveos to do it.

#7397

gordo999

> Zitat von ⇗ galagun im Beitrag ¶ #7396

> Shell + Bcfg command allow you to add entries to firmware's boot menu, not just enable/disable/delete them or change its order on it.

⇗ @galagun ...thanks for reply. My concern about the EFI shell is whether or not we are reverting to the old Unix text mode. As you know, Unix is the base language in Linux and macOS and Windows has tried to move in that direction to an extent.
I don't understand what the big deal is about Unix. It's an ancient language from the 1970s designed for teletype communication and some of the apps in Linux date back to that era. I am think of the text editors like emacs. I could not believe how old they were and non-intuitive. That's what has turned me off about moving to Linux.
I know Unix is more powerful than DOS and I don't care because I don't have to use it. DOS works fine for me when I need it. However, I still don't understand the purpose of the EFI shell. I have skimmed through the UEFI standard and I can see where they are going but I don't understand why. They seem to have immersed themselves in Unix and the craziness of object-oriented languages.
For example, a handle in C or C++ is a hex-based number returned by the Windows kernel when an object is defined. It's a very simple concept. However, the folks at UEFI have redefined it to mean something mysterious. Then they talk about protocols, which are similar to the DOS software interrupts, so why the crazy name? A protocol in English is simply a set of rules. What does that have to do with interrupts?
Apparently there is a graphical interface for EFI, is it GOP? The UEFI standard makes it sound like they are replacing firmware (BIOS) but they are not. They are actually re-introducing a DOS-like boot system wherein you can reach a DOS prompt before any OS is loaded. That is definitely handy but nothing you can't do with a boot disk, like a W7 boot disk, which allows you to reach a DOS (command) prompt. In fact, in the past you could start Windows from a DOS prompt, by pointing to the Windows directory and typing winboot, or whatever the command was at the time.
Why did they not just discard Unix and DOS and go straight to a graphical interface, like a mini-Windows environment that would allow you to carry on into an OS if required? Something like powershell would have been preferable to a Unix text-mode interface.
I am afraid the software community is led by super-geeks like Bill Gates, running around in their offices with their pants held up by suspenders and wearing several belts around their waists in case the suspenders break. Is EFI the best they could do? Could they not come up with a new graphical shell that could accomplish everything claimed as an advantage with EFI?
[/rant off]

#7398

Gelip

> Zitat von ⇗ gordo999 im Beitrag ¶ #7397

> However, I still don't understand the purpose of the EFI shell.

UEFI Shell is something like MS-DOS. You can, for example, edit the boot menu or load device driver (e.g. NTFS or NVME). You can also start the OS manually, e.g. Windows by running the bootmgfw.efi file.
Before, we had MS-DOS and Win9x and today is UEFI Shell and Win10
⇗ UEFI Shell

Gelip has attached files to this post

- ⇗ uefi-shell-modern-pre-boot-application.pdf

#7399

gordo999

> Zitat von ⇗ Gelip im Beitrag ¶ #7398

> Before, we had MS-DOS and Win9x and today is UEFI Shell and Win10

⇗ @Gelip ...thanks for explanation and PDF...makes sense.

#7400 | daniel_k | Hi ⇗ @Andalu! Don't remember right now, can you please confirm if you had any issues when you tested the uaspstor.sys on Win7 and which usb-to-sata and usb-to-nvme controller you've tested?

#7401

Andalu

⇗ @daniel_k
Hi Daniel,
some months have passed since that test (it was July 2020) and I can't remember exactly. I found only one image saved at the time about the RTL9210 NVMe enclosure connected to a PCIEx to USB3.1 card with the ASM3142 chipset (wrongly listed in the device manager as 2142):
⇗
As soon as I can I will do the updated tests

#7402

daniel_k

> Zitat von ⇗ Andalu im Beitrag ¶ #7401

> As soon as I can I will do the updated tests

Thanks, but please don't waste your time redoing the tests.
I'm just asking about the reliability of the drivers (disconnection issues or other errors).

#7403 | Andalu | ⇗ @daniel_k I don't use win7 so frequently to be 100% reliable. However, I do remember encountering no errors from using the uaspstor driver. If you know of a specific scenario in which there is a possibility of an issue, I am here to test ;)
#7404 | kukonosau | ⇗ @diderius6 Hello. Do you have modify drivers for Win 7 for AMD SATA Controllers? This is normally that I seeing ATA Channels and one Standard AHCI 1.0 Serial ATA? Storage is ATA, but not SATA in device manager.
#7405 | diderius6 | ⇗ @kukonosau I have no Sata driver for Win7 and AMD. Maybe, that a Sata driver, modded for XP, also works under Win7 Dietmar
#7406 | kukonosau | ⇗ @diderius6 Thanks. But where is last best driver for XPx64? I need SATA AHCI for Ryzen for Win 7.
#7407 | daniel_k | ⇗ @Andalu No more info needed. Thanks!

#7408

gordo999

> Zitat von ⇗ kukonosau im Beitrag ¶ #7406

> Thanks. But where is last best driver for XPx64? I need SATA AHCI for Ryzen for Win 7.

⇗ @kukonosau ...I had no problem running W7 on a modern mobo (Asus B360C/CSM, a 300 series chipset). There are no SATA or AHCI problems with W7 as far as I know. My problem was the USB. I got a driver from ⇗ @canonkong .

#7409

igor166

XPWELL64

> Zitat von ⇗ XPWELL64 im Beitrag ¶ #4057

> I''m currently working on Intel HDMI Audio for windows xp.

Have you finished modifying the Intel HDMI Audio for Windows XP driver yet?
I opened a ⇗ new separate topic on this issue, tk. the problem is old and many users have

#7410

YuriyCN

ENGLISH
Windows XP mod 2021 - system build for the modern PC (edition 21.05.2021)
The information doesn't fit into a forum post - so download the text file and read it in Notepad.
TXT (90 KB) - ⇗ https://yadi.sk/d/DnV0Q40oo7D61A
Backup drivers from TXT (805 МБ) - ⇗ https://yadi.sk/d/LWXV9JLWetKSvA
RUSSIAN
Windows XP мод 2021 - сборка системы для современного ПК (редакция 21.05.2021)
Информация не помещается в форумный пост - поэтому скачайте текстовый файл и читайте в Блокноте.
TXT (101 КБ) - ⇗ https://yadi.sk/d/ErwFkIPMPqBm9g
Бекап драйверов из ТХТ (805 МБ) - ⇗ https://yadi.sk/d/LWXV9JLWetKSvA

## Page 495

#7411 | YuriyCN | ⇗ https://www.youtube.com/watch?v=skzTESTEESA Starting WinXP x64 with UEFI using Vista loader.

#7412

Gelip

⇗ @YuriyCN

> Zitat von ⇗ YuriyCN im Beitrag ¶ #7411

> Starting WinXP x64 with UEFI using Vista loader.

Yep, I did it out a not long ago in this topic: ⇗ WinXP SP2 64-bit in pure UEFI class 3 without CSM
I found an AMD PCIe graphics card that works with WinXP x64 driver even in pure UEFI class 3 mode without CSM
Have a nice day
Beta12 aka Gelip

#7413

diderius6

Interesting,
what you can do with ram,
Dietmar
Today, we are sharing details around our discovery of Half-Double, a new Rowhammer technique that capitalizes on the worsening physics of some of the newer DRAM chips to alter the contents of memory.Rowhammer is a DRAM vulnerability whereby repeated accesses to one address can tamper with the data stored at other addresses. Much like speculative execution vulnerabilities in CPUs, Rowhammer is a breach of the security guarantees made by the underlying hardware. As an electrical coupling phenomenon within the silicon itself, Rowhammer allows the potential bypass of hardware and software memory protection policies. This can allow untrusted code to break out of its sandbox and take full control of the system.
⇗ https://security.googleblog.com/2021/05/...-hammering.html

#7414 | ruthan | Well, there always would be security holes.. they are as diseases.. you can life completely without it.. and they are nice for hacking some closed Hardware as game consoles or apple HW..

#7415

tumagonx

> Zitat von ⇗ iyutos im Beitrag ¶ #7182

> @Mov AX, 0xDEAD
> To add a new CPU instruction into XP kernel - it's hard to imagine, I admire your skills.
> What about patching Explorer.exe so that when deleting NTFS Junction through Shift+Delete, it will not delete target files.
> Also to add an ability to understand NTFS symlinks natively (though there is a symlink driver for Windows XP by Masatoshi Kimura).
> To remove 255 characters limit in Explorer.exe for files and folders...

[OffTopic]
how about a maturer ASLR support? which is more crucial for 32-bit system than pure 64-bit, there are two known open source implementation:
Ozone:
⇗ http://web.archive.org/web/2007073116342...AgentKernel.zip
Wehntrust:
⇗ https://archive.codeplex.com/?p=wehntrust

#7416 | iyutos | On the other side, a maturer ASLR is more CPU cycles, a little slower load of executables into memory. That's why we value XP, because of simpler and lesser kerner comparing to NT 6. Persons who still use XP are "mature wolves", who don't fear viruses neither in PC, nor in life

#7417

George King

Anybody can help me to use NVMe drivers in Vista x64? I tried to integrate ported XP NVMe drivers, but without success, I tried also generic for 7. But all the time I got same error "File is corrupted" when booting system. I doesn't matter which one I use, all the time same error. Anybody know how to solve it? If there is working driver for XP, it should run on Vista too.
I also tried ported NVMe driver from Windows 8.1 by ⇗ @daniel_k, but result was same, even if I resign files with SHA1 using same tools as canoncong does. Any idea is welcome
⇗ [REQUEST] Generic NVMe driver for Windows Vista / Server 2008?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7418 | infuscomus | ⇗ @George King did you make sure to integrate ntoskrnl extender along with the NVMe driver? It depends on the extender to work.

#7419

George King

⇗ @infuscomus
Of course, there must be something with files integrity or similiar problem.
I have created injector of needed files and registry entries for KB2864202 into Vista boot.wim, USB3.x generic driver ported by daniel_k for Vista / 7 works without problem.
I have no idea what should be wrong. Maybe PE Checskum?
Can you please compile this code? I would like to see if it helps.

    https://gist.github.com/jay/d662cc9615f3e1ffc75e4ae9485da685

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7420 | infuscomus | ⇗ @George King can you upload your problematic image for me to have a look at?

#7421

George King

⇗ @infuscomus Sure, I will build on English Vista Ultimate SP2+ and upload you today. I hope you can manage it.[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7422

infuscomus

⇗ @George King
I patched some NVMe drivers for you.
infuscomus has attached files to this post

- ⇗ gk_nvmetest.zip

#7423

George King

⇗ @infuscomus I tried them and it still fails with "file is missing or corrupt", even if I resign them.[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7424

infuscomus

⇗ @George King
here is the whole thing like you requested
infuscomus has attached files to this post

- ⇗ NTOSKRNL_Emu-master_3june2021.7z.zip

#7425

George King

⇗ @infuscomus Perfect, thanks![TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 496

#7426

George King

⇗ @infuscomus
I created post here

    https://www.win-raid.com/t8967f52-REQUEST-Generic-NVMe-driver-for-Windows-Vista-Server.html#msg145101

I modded Phison and Generic Windows 7 drivers on my own with help of your compiled EMU Extender, but its still doesn't work. Currently only x86 Generic Windows 7 driver seems promissing as system is bootable in VirtualBox. I ordered PCI-e NVMe expansion card and I can try it on real HW in about 5 days.
x64 ntoskrn8.sys missing some ntoskrnl.exe fuctions to get Windows 7 storport.sys depencies green on Windows Vista in Depency Walker

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7427 | infuscomus | ⇗ @George King Windows 7 storport.sys is unlikely to work for this. Try with standard vista storport.sys

#7428

YuriyCN

ENGLISH
Windows XP mod 2021 - system build for the modern PC (edition 06.06.2021)
The information doesn't fit into a forum post - so download the text file and read it in Notepad.
TXT (91 KB) - ⇗ https://yadi.sk/d/k4ilwz5gjKr1jw
RUSSIAN
Windows XP мод 2021 - сборка системы для современного ПК (редакция 06.06.2021)
Информация не помещается в форумный пост - поэтому скачайте текстовый файл и читайте в Блокноте.
TXT (104 КБ) - ⇗ https://yadi.sk/d/xAoSmxRNYaIpkg

#7429

George King

⇗ @infuscomus I will try it soon on real HW. Tomorrow I should got PCI-e NVMe + 128GB M2 for test on my old desktop. I will see how it goes with 7 storport.sys and and with Vista one too.[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7430 | steregushchyy30 | Good day to all. I am collecting new components for a Windows xp computer for old games. For older games only. Please tell me which board is the best to buy? At z490 or x570?
#7431 | infuscomus | ⇗ @steregushchyy30 From personal experience I would recommend AMD as I can confirm it works with the proper patches.
#7432 | diderius6 | ⇗ @steregushchyy30 Try to find an ASRock Fatal1ty Z370 Gaming K6 because it has drivers for everything for XP Dietmar

#7433

steregushchyy30

> Zitat von ⇗ diderius6 im Beitrag ¶ #7432

> @steregushchyy30
> Try to find an ASRock Fatal1ty Z370 Gaming K6
> because it has drivers for everything for XP
> Dietmar

Thanks for the answer. If there are ALL drivers for ASRock, does it mean that there are drivers for any Z370 motherboard? Can I have a link?

#7434 | diderius6 | ⇗ @steregushchyy30 As far as I remember, this is the only Z370 board, with all drivers for XP. Now it is not sold any longer but on Ebay you can find Dietmar

#7435

steregushchyy30

> Zitat von ⇗ diderius6 im Beitrag ¶ #7434

> @steregushchyy30
> As far as I remember, this is the only Z370 board, with all drivers for XP.
> Now it is not sold any longer but on Ebay you can find
> Dietmar

Where can you download these drivers? They are not on the official website.

#7436

diderius6

⇗ @steregushchyy30
Here in this forum,
also at
⇗ https://forums.mydigitallife.net/threads...hardware.81607/
and at
⇗ https://www.zone94.com/downloads/softwar...ntegral-edition
Dietmar

#7437

zuul

I have spent ages researching, which GPU is the fastest/strongest supported by Windows XP.
I concluded that Geforce 980 ti is it, since it's the latest one that has Nvidia drivers for it. It's the official Windows XP drivers v. 344 to 368, that can be used for 980 ti. They need a tiny and easy .ini text mod to work.
Do you all agree that it's virtually impossible to make the Geforce 1000 / 2000 / 3000 series work under Windows XP?

#7438

infuscomus

⇗ @zuul

> Zitat von ⇗ zuul im Beitrag ¶ #7437

> Do you all agree that it's virtually impossible to make the Geforce 1000 / 2000 / 3000 series work under Windows XP?

Yeah, it's pretty much impossible at this time, Unless ⇗ @Mov AX, 0xDEAD happens to make a major breakthrough with his ntoskrnl extender and get WDDM working in XP, it's not going to happen.

#7439

gordo999

> Zitat von ⇗ zuul im Beitrag ¶ #7437

> Do you all agree that it's virtually impossible to make the Geforce 1000 / 2000 / 3000 series work under Windows XP?

⇗ @zuul ...would not say impossible but XP ntoskrnl has several functions missing that are required by the 1000 series drivers.

#7440

gordo999

May be a bit off topic but the experts in this thread are familiar with XP BIOS. If the CMOS battery is dead for an extended period of time, because the mobo has not been used for a while, can that alter the BIOS data enough for it to intermittently have trouble reading the proper memory configuration at boot? I know the problem is often due to a bad memory stick but I'm thinking of re-flashing the BIOS to make sure.
The board is a 10year old Intel DQ35JO with an ICH9 chipset and it has jumpers you can set to go into maintenance mode. My background is in hardware but this RAM problem seems to be more than a bad memory stick.

## Page 497

#7441 | infuscomus | ⇗ @gordo999 I would imagine having a dead CMOS battery would cause strange behavior from the hardware. I think it would be best to play it safe and replace the battery.
#7442 | diderius6 | ⇗ @gordo999 Put the ram in another slot and try again. Some ram slots gets corroded with time, especially on notebooks Dietmar
#7443 | skullteria | The problem is not ntoskrnl. The really problem is win32k, what need implement funtions to handle wddm drivers.

#7444

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7441

> I would imagine having a dead CMOS battery would cause strange behavior from the hardware.I think it would be best to play it safe and replace the battery.

⇗ @infuscomus ...I did replace it immediately but after replacing it the mobo began behaving oddly. I had to reset the BIOS using the maintenance feature on the Intel board and that returned things to normal. However, every so often, during boot, I get three beeps, meaning there is a problem with RAM.
When I insert my RAM sticks in a certain order, it is stored in BIOS, in the CMOS section that is backed up by battery. Therefore, if the battery dies, that configuration is lost and has to be learned again after the battery us replaced. Normally, that should not be an issue, unless the CMOS memory is somehow not resetting properly after the battery is changed.
If I go into maintenance mode on the Intel mobo, I can reset the BIOS to the default values stored in EEPROM. But what if the EEPROM charges are weak in some sections and get intermittent, producing faulty code for checking the RAM stick order? That would mean I need to re-flash the default BIOS. At least, that's my reasoning.
I am not clear on the difference between EEPROM storage and CMOS storage at this point. Need to read more but I though someone who understands BIOS data may have encountered this already.

#7445

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7442

> Put the ram in another slot and try again

⇗ @diderius6 ...Dietmar, I cleaned the RAM stick contacts and firmly reseated them all. I have 2 x 2Gb sticks and 2 x 1Gb sticks. The 2 Gb sticks are Kingston sticks so I worked only with them. If I put one stick in DIMM 0 it works fine and if I put the other one in DIMM 0 it works fine. However, when I populate both DIMM 0 slots in Channel A, sometimes I get the 3 beeps, telling me I have a memory problem in low memory.
After cleaning all contacts, the beeps were gone and it complained only of a change in memory. Then I filled the DIMM 1 slots in Channel B with the 2 x 1 Gb sticks. It has been working fine for a couple of days, reporting full 6 Gb memory, but it did that a month ago before starting losing the memory sticks in BIOS.

#7446

gordo999

> Zitat von ⇗ skullteria im Beitrag ¶ #7443

> The problem is not ntoskrnl. The really problem is win32k, what need implement funtions to handle wddm drivers.

⇗ @skullteria ... I claimed it was ntoskrnl because when I checked all the drivers using 'depends', it indicates several functions missing in XP ntoskrnl for the Nvidia GT 1030 driver. I presume those functions will have to be inserted in XP ntoskrnl or another ntoskrnl will have to be used.
Depends did not indicate missing functions in win32k.sys, only in ntoskrnl.

#7447

Mov AX, 0xDEAD

Hi Gordo

> Zitat von ⇗ gordo999 im Beitrag ¶ #7446

> Depends did not indicate missing functions in win32k.sys, only in ntoskrnl.

⇗ https://docs.microsoft.com/en-us/windows...el-architecture
⇗ https://en.wikipedia.org/wiki/Windows_Display_Driver_Model
Yes, problem is win32k, it is shared with directx kernel / gdi32.dll / user32.dll

#7448

skullteria

> Zitat von ⇗ gordo999 im Beitrag ¶ #7446

> > Zitat von ⇗ skullteria im Beitrag ¶ #7443

> > The problem is not ntoskrnl. The really problem is win32k, what need implement funtions to handle wddm drivers.

> @skullteria ... I claimed it was ntoskrnl because when I checked all the drivers using 'depends', it indicates several functions missing in XP ntoskrnl for the Nvidia GT 1030 driver. I presume those functions will have to be inserted in XP ntoskrnl or another ntoskrnl will have to be used.
> Depends did not indicate missing functions in win32k.sys, only in ntoskrnl.

Because drivers calls are internal. All workflow of WDDM is internal and reside on win32k/gdi32 and dxgkrnl. Watchdog driver is envolved too. Ntoskrnl missing functions are minimal! We don't forget CDD (Cannonical Display Driver) is need by WDDM and it is handled by win32k.

#7449

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7447

> Yes, problem is win32k, it is shared with directx kernel / gdi32.dll / user32.dll

⇗ @Mov AX, 0xDEAD ...thanks for info. There are still several functions missing in ntoskrnl and until it is patched, it seems we won't be able to do anything about win32k.
I am running a GT 1030 on XP but it is running only with VGA drivers. The required non-directx graphics are very good and stable and the DirectDraw tests work in dxdiag, but not 3D. I was wondering which driver they are using but Device Manager lists no driver. In the registry, under the GT 1030 it claims it is using the nv4_disp driver, which I think is from the GT 730 card. However, it says in the same section that it is not VGA compatible.
If I search under PCI\VEN_10DE&DEV_1D01, the GT 1030, the search stops at a display driver class with GUID {4D36E968-..........}\0000. The only entry there is coinstaller32 and it's values is nvdispgenco3236881.dll. It seems the GT 1030 is using the GT 730 driver.
I am presuming the 1000-series WDK drivers are different than the drivers used on the GT 730. I need to read the articles at the links you provided but could you offer some information as to the exact problem? Thanks.
ps. I am using the GT 1030 because I use the same computer for XP, W7, and W10. I need the GT 1030 for more advanced games on W7/W10 and switch back to the GT 730 on XP for games.

#7450

gordo999

> Zitat von ⇗ skullteria im Beitrag ¶ #7448

> Because drivers calls are internal. All workflow of WDDM is internal and reside on win32k/gdi32 and dxgkrnl. Watchdog driver is envolved too. Ntoskrnl missing functions are minimal! We don't forget CDD (Cannonical Display Driver) is need by WDDM and it is handled by win32k.

⇗ @skullteria ...thanks for info. I miss softice. When I used it on 32-bit systems I could trace anywhere in ring 0, right through win32k, if required. With softice, when you encounter a SYSENTER, it steps right into ring 0. I have not found a debugger since that can do that.
I worked on a DX app with softice and needed to get into the directx code. Since the mouse on a directx app is not the windows mouse, you cannot break on it using a standard mouse breakpoint. I found that I could set a BP on the Windows mouse driver and break on it, then I started tracing through ring 0 when the mouse driver called into it.
You can trace to the directx code from the entry point but that code only sets up the DX app, and when it finishes, you find yourself in the Windows message loop. It's tough to follow all the messages in the loop to find where the entry to the DX app is found but if you come in the back way, through the Windows mouse driver, and ring 0, you can find where the message loop enters the DX code. Then it's a matter of tracing through the Dark Code Woods as +Ork used to call them..
That's what I'd like to try with win32k sys and the DX module. I have been meaning to get softice running on XP x86 but there are video driver issues to be overcome and I am sure there are issues with drivers as related to the newer chipsets.

#7451

gordo999

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #7447

> ⇗ https://docs.microsoft.com/en-us/windows...el-architecture
> ⇗ https://en.wikipedia.org/wiki/Windows_Display_Driver_Model
> Yes, problem is win32k, it is shared with directx kernel / gdi32.dll / user32.dll

⇗ @Mov AX, 0xDEAD ....after looking briefly at the block diagram at your first link, it appears that win32k.sys is operating as it usually does. User mode apps go through gdi32.sys, the user-mode interface, then through win32k.sys, which is kernel mode. The user-mode display driver is not related to win32k.sys at this point. However, the Nvidia application needs win32k.sys to render other graphics information.
It appears the user-mode display driver indicated in the block diagram is only related to 3D.
Please consider the following. I've had the GT 730 driver running successfully on XP with games. The games were the Myst series, which were not in 3D. However, the games ran well after I installed the intelppm.sys modded driver with the associated modded hal. Before installing the intelppm/hal mods, the games would not run at all and I had trouble running browsers like Firefox.
I just ran the original Myst game using ScummVM with the GT 1030 and it runs OK. A bit grainy at 1920 x 1080, but I could live with that. I only use XP for the older games and use W7 for more modern games. I guess the point is to be able to run 3D games on XP.
The GT 730 was developed long after Vista and its drivers must be based on the WDDM model since the same card runs on W7 and W10. I don't remember how I got the GT 730 running on XP, I do remember loading a different Nvidia package. Obviously since my XP is 32-bit, and my W7 is 64-bit, I had different drivers installed for each OS, but they were basically the nv4_disp drivers. I wonder if Nvidia created different 3D drivers for 32-bit but I don't see anything like that in the Nvidia driver package.
I may be missing something here but according to the block diagram at your first link, win32k.sys is not involved with 3D rendering. It is purely a kernel-mode graphics driver and 3D rendering is done only by direct3D. The fact that the GT 730 and the GT 1030 both run on XP without 3D seems to suggest that is true.
The block diagram suggests that the output of win32k.sys, direct3D runtime, and the output of Open GL as related to gdi32.sys, are fed to dxgkrnl.sys, the direct x kernel subsystem driver. The way I see it, the direct3d runtime is rendering the nvidia driver to 3D, gdi32.sys is rendering Open GL, and win32k.sys is rendering any other graphics features, all being mixed by dxgkrnl.sys.
I presume that Nvidia knew about those issues with XP and if they ever had games running in 3D on XP, they must have had a way of doing it. Direct3D has been available since W95 so it should be available in XP. At least, the XP Dxdiag untility indicates a 3D capability for XP.

#7452

gordo999

> Zitat von ⇗ skullteria im Beitrag ¶ #7448

> Because drivers calls are internal. All workflow of WDDM is internal and reside on win32k/gdi32 and dxgkrnl.

⇗ @skullteria ...according to the WDDM block diagram at link 1 provided by ⇗ @Mov AX, 0xDEAD, the 3D drivers are in user mode and they are rendered by direct3D. Other graphic information from the application are rendered separately by win32k.sys. Then they are mixed by the kernel mode dxgkrnl driver.
If win32k.sys was not running separately, I would not be able to run my GT 730 and GT 1030 in XP. There is no indication in the block diagram that win32k is involved with 3D rendering, only the direct3D runtime driver, running in user-mode.

> Zitat von ⇗ skullteria im Beitrag ¶ #7448

> Ntoskrnl missing functions are minimal!

Here are the missing functions in ntoskrnl when I run the GT 1030 driver, nvlddmkm.sys:
CmRegisterCallbackEx
EtwRegister
EtwUnregister
EtwWrite
IoConnectInterruptEx
IoDisconnectInterruptEx
IoInitializeWorkItem
IoQueueWorkItemEx
IoSizeofWorkItem
IoUninitializeWorkItem
KdRefreshDebuggerNotPresent
KeAcquireGuardedMutex
KeInitializeGuardedMutex
KeInitializeThreadedDpc
KeInvalidateAllCaches
KeQueryActiveProcessorCount
KeReleaseGuardedMutex
MmAllocatePagesForMdlEx
PoRegisterPowerSettingCallback
PoUnregisterPowerSettingCallback
RtlCmDecodeMemToResource
_chkstk
I have not had time to look through these yet to see what they do.

#7453

skullteria

> Zitat von ⇗ gordo999 im Beitrag ¶ #7452

> > Zitat von ⇗ skullteria im Beitrag ¶ #7448

> > Because drivers calls are internal. All workflow of WDDM is internal and reside on win32k/gdi32 and dxgkrnl.

> @skullteria ...according to the WDDM block diagram at link 1 provided by @Mov AX, 0xDEAD, the 3D drivers are in user mode and they are rendered by direct3D. Other graphic information from the application are rendered separately by win32k.sys. Then they are mixed by the kernel mode dxgkrnl driver.
> If win32k.sys was not running separately, I would not be able to run my GT 730 and GT 1030 in XP. There is no indication in the block diagram that win32k is involved with 3D rendering, only the direct3D runtime driver, running in user-mode.

> > Zitat von ⇗ skullteria im Beitrag ¶ #7448

> > Ntoskrnl missing functions are minimal!

> Here are the missing functions in ntoskrnl when I run the GT 1030 driver, nvlddmkm.sys:
> CmRegisterCallbackEx
> EtwRegister
> EtwUnregister
> EtwWrite
> IoConnectInterruptEx
> IoDisconnectInterruptEx
> IoInitializeWorkItem
> IoQueueWorkItemEx
> IoSizeofWorkItem
> IoUninitializeWorkItem
> KdRefreshDebuggerNotPresent
> KeAcquireGuardedMutex
> KeInitializeGuardedMutex
> KeInitializeThreadedDpc
> KeInvalidateAllCaches
> KeQueryActiveProcessorCount
> KeReleaseGuardedMutex
> MmAllocatePagesForMdlEx
> PoRegisterPowerSettingCallback
> PoUnregisterPowerSettingCallback
> RtlCmDecodeMemToResource
> _chkstk
> I have not had time to look through these yet to see what they do.

I will try explain to you:
WDDM work on "top" of XDDM architecture. For Directx Applications, Microsoft seperate calls to user mode instedead Kernel mode, like XDDM does. The XDDM use a pair of drivers to work: miniport and display driver.
Miniport: responsable to control the device (GPU), and translate all framebuffer calls to device to perform ouput.
Display Driver: responsable to communicate and translate GDI and Directx calls to win32k and other situations, perform call directx to miniport, like change resolution, present the display and etc.
Both drivers (the pair) works on kernel mode. Miniport call directx videport and provide callbacks to manipulate device and Display Driver comunnicate with Win32k to perform GDI and Directx things.
On WDDM, exists Miniport, Display Driver and User Mode Driver.
Miniport on WDDM: communicate with dxgkrnl (indirectx, perform a I/O call), start, stop and control device, and provide callbacks to perform directx and gdi (on WDDM 1.1 or above) things.
Display Driver: perform a sofware (by cpu) GDI things on WDDM 1.0 and on WDDM 1.1, perform hardware accelarated GDI. Call by I/O request the dxgkrnl to perform presentation of GDI things, like resolution and others. On WDDM, it is provided by OS, a genneric driver called "Cannonical Display Driver (CDD)"
User mode driver: Well, this is the part dark for now. It seem perform all directx thins on user mode, and its call probably dxgkrnl or gdi, because gdi export all callbacks provided by miniport.
Win32k has internal implementation to handle miniport callbacks to GDI and handle too directx callbacks from Dxg (directx driver) on XDDM
ON wddm, win32k call dxgkrnl to get callbacks table from miniport driver and additionals from dxgkrnl and pass to gdi by syscall table. And, win32k handle cdd callback tables.
So, it's envolves several and deep implementation. Need reompile win32k complelety, and gdi32 and user32 too. It is very very very hard.
Ntoskrnl missing are eaty to fix. Win32k implementation no.

#7454

gordo999

> Zitat von ⇗ skullteria im Beitrag ¶ #7453

> I will try explain to you:

⇗ @skullteria ...thanks for detailed explanation. I need time to understand what you wrote.

#7455

dencorso

> Zitat von ⇗ diderius6 im Beitrag ¶ #7394

> Long time ago I use DOS, for to see, that information survives reboot in ram and I boot complete(!) XP loaded to ram before, via reboot.

⇗ @diderius6:
Did you ever post a more detailed report of it, or even created a tutorial about it as you used to do way back when? If so, can you give me a link or point me to a .pdf document on it? I'm quite interested in "reboot/reset attacks" but all info I was able to gather up to now refers to "cold boot attack"s, which require cooling on DDR3/4, so are cumbersome for using as a way to reprograming BIOS tables without patching the BIOS. BTW, I bet you already know it, but this article is quite interesting: "Practical Cold boot attack on IoT device - Case study on Raspberry Pi -" by Yoo-Seung Won et al., 2020 IPFA...

## Page 498

#7456

diderius6

⇗ @dencorso
In 2004-2005 I loaded a complete XP SP1 with a size of about 2 Gbyte to ram.
After reboot I compare this XP in ram bit by bit with a DOS tool with the original XP and was so much surprised,
that not a single bit has changed.
My aim was to boot this XP from ram,
but at that time I had no ram boot driver for to show this XP in ram as a fat32 harddisk.
Later in summer 2005 I managed to build a ntbootdd.sys driver together with the 32 MB Microsoft ramdisk,
for to boot a mini XP with about 26 MB, loaded up to ram.
I succeed to load this XP image from USB stick via DOS also to ram (without any USB in Bios) and reboot this mini XP in ram.
For reboot the compi, ram was less than a second without power, I think it was DDR2 or even older).
I am even not sure, if you restart a compi, that at any time the ram is without power.
This is like a mix between cold and warm reboot.
With the modded acpi.sys from Vista from ⇗ @infuscomus I make a test, if the loaded tables from another(!) acpi.sys can survive in ram for minutes(!) without any power and if they can be used from this new acpi.sys.
They can, as I showed here in the forum. I also put some special Hex values to ram with Windbg and check them after reboot.
I found no size limit. Always I found those stored Hex values in ram again. I make some crazy checks for to make sure,
that not Windbg itself stores thoses Hex values. Those Hexvalues really survive a cold reboot in DDR4 ram
Dietmar
PS: I have no document or tutorial about this. The most crazy hard work for me, was to translate and modify the ntbootdd.sys (Source Code) from NT4 to XP SP1.
If you have the PDF from "Practical Cold boot attack on IoT device - Case study on Raspberry Pi -" by Yoo-Seung Won et al., 2020 IPFA..." can you please send it to me, because I do not get.

#7457 | Bumpy | ⇗ https://dr.ntu.edu.sg/bitstream/10356/14...01_IPFA2020.pdf greetings

#7458

mockingbird

Can someone please have a look at my DSDT? My motherboard is an AsRock B250M Pro4. Everything installed fine (except for a couple of devices, one which I think I can get rid of by using a different acpi.sys and the other the MEI which I haven't found an XP driver for), but the system locks on reset.
I have used modified DSDTs before with Linux, I'm not sure how to swap them for Windows.
[[File:DSDT2.zip]]
mockingbird has attached files to this post

- ⇗ DSDT2.zip

#7459 | infuscomus | ⇗ @mockingbird I've found that grub2 can work for modifying the DSDT in RAM for XP. What modifications are you looking for?

#7460

Andalu

> Zitat von ⇗ mockingbird im Beitrag ¶ #7458

> Can someone please have a look at my DSDT? My motherboard is an AsRock B250M Pro4. Everything installed fine (except for a couple of devices, one which I think I can get rid of by using a different acpi.sys and the other the MEI which I haven't found an XP driver for), but the system locks on reset.

If you refer to the system block on the restart screen, I had the same issue on the same board using a keyboard connected to the PS/2 port.
Restarting works correctly with the USB keyboard.

#7461

mockingbird

> Zitat von ⇗ Andalu im Beitrag ¶ #7460

> Restarting works correctly with the USB keyboard.

Yes! Thank you. Brilliant... I guess I can live without restart, because I intend to use this with an old KVM that needs to be shared with other computers that require a PS/2 (AT) keyboard.

> Zitat von ⇗ infuscomus im Beitrag ¶ #7459

> @mockingbird
> I've found that grub2 can work for modifying the DSDT in RAM for XP.
> What modifications are you looking for?

Ah, yes, of course... Grub acts as an intercessor and pre-loads the modified DSDT before Windows loads... Got it. I guess I would like the PS/2 functionality not to break restart.
Is it also worthwhile fixing compilation errors with the DSDT? The system is working fine otherwise.

#7462 | infuscomus | ⇗ @mockingbird From what I've experienced fixing compilation errors doesn't seem to do all that much, at least for XP. I'm still a novice at this though. so what exactly do you want to achieve by modifying the DSDT, is it just being able to restart?

#7463

mockingbird

Yessir, that's the only glitch -- it freezes on restard with a PS/2 device plugged in. Is removing the MEI device also achievable by hacking the DSDT. It has no XP driver (though I am tempted to hack the Windows 10 driver to see if it works)...
Tomorrow I will use a different acpi.sys because I think acpi2015 gives the unknown device INTACPI0331a or something like that.

#7464

infuscomus

⇗ @mockingbird
OK, give this one a try.
infuscomus has attached files to this post

- ⇗ mockingbird-DSDT2-test1.zip

#7465

Andalu

⇗ @mockingbird
if it can be useful to save you some time: I have already tried all available versions of the acpi.sys driver but none of them solved the restart problem on that crazy board.
Only as a bit note: the restart works properly if you install XP as 'uniprocessor pc'
I also tried to make some changes to the dsdt table but again without success. I hope you or ⇗ @infuscomus can solve it.

#7466

gordo999

> Zitat von ⇗ mockingbird im Beitrag ¶ #7458

> the system locks on reset.

⇗ @mockingbird ...could you describe that in more detail? A reset, to me, is related to a separate button on some computer systems that perform a cold boot. It was called a restart button but these days they same thing seems to be accomplished by holding the start button for 4 seconds or more.
When does your problem occur? Are you able to boot into XP then have the problem on restart? Can you see a PS/2 mouse driver and a USB mouse driver in Device Manager?
There may also be a problem with your USB drivers. Maybe they are not being reloaded correctly after a reboot and freezing the system. I had a problem with a USB wifi connector that was being seen by the system as a USB hard rive. It had no operating system, of course, and my BIOS was set to recognize USB devices at boot time. Unplugging the wifi USB device solved the problem.
I have the B360M mobo and I recall discussing the two boards in the past with ⇗ @Andalu (hi, Andalu). I have two inputs for PS/2, one for keyboard and one for mouse, and I use a USB to PS/2 adapter to connect. I can run both PS/2 and USB devices at the same time with no problem.

#7467

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7464

> @mockingbird
> OK, give this one a try.

Thank you. I followed your instructions ¶ here, and I get a BSOD when starting XP having to do with the BIOS not being fully ACPI compliant and an error code of 0x000000A5.
Don't break your head over it, it's only a minor inconvenience, and I'll probably be switching over to a Gigabyte B365M-DS3H with an i5-9400F at some point, when this AsRock board fails, like I know it is going to (it's a third RMA).

#7468

gordo999

> Zitat von ⇗ mockingbird im Beitrag ¶ #7467

> I get a BSOD when starting XP having to do with the BIOS not being fully ACPI compliant and an error code of 0x000000A5

⇗ @mockingbird The 0xA5 error is usually because your acpi.sys is not the right version for your system. Any chance it got replaced during work you were doing?

#7469 | infuscomus | ⇗ @mockingbird Does XP boot fine without an A5 BSOD if you don't use grub2? can you post a screenshot of the A5 BSOD? it might give more info about the problem. perhaps I did not recompile the DSDT correctly.

#7470

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7469

> @mockingbird
> Does XP boot fine without an A5 BSOD if you don't use grub2?
> can you post a screenshot of the A5 BSOD? it might give more info about the problem. perhaps I did not recompile the DSDT correctly.

Ok, I will do this ASAP... I am just re-installing Windows XP on the machine with a different ACPI.SYS so I had to re-format the USB stick...
I suppose you mean to say, does it run ok if I boot it with agFM, but without interposing the custom DSDT... Got it. Will get back to you on this.

## Page 499

#7471

meklin

i make videos for my windows tweaks and using isos and drivers from here at youtube.com/indicator27 and for windows xp i am unable to get any usb drivers to work on asus b550m-a wifi with ryzen 3600x tho i can use ps2 keyboard to mess around on desktop, anyone know anything?
i also using archive.org/details/xp-intel-amd-2020-32-bit-en-550-mb made in italy iso and have to press F7 when the installer starts up check the videos i made of it, no usb mouse yet tho and not sure which driver to use/edit

#7472 | meklin | RE: post #1108 by diderius may be late reply but studying the procmon sysinternal tool to see when plugplay svc loads each .sys and .inf in my studies has shown a main usb driver being loaded first
#7473 | infuscomus | ⇗ @meklin what happens if you don't press F7 during install?

#7474

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7469

> @mockingbird
> Does XP boot fine without an A5 BSOD if you don't use grub2?
> can you post a screenshot of the A5 BSOD? it might give more info about the problem. perhaps I did not recompile the DSDT correctly.

I apologize for the delay sir.
The answer to your question whether the system boots to Windows with AgFM without loading the custom DSDT? Yes.
Please see attached screenshot for the BSOD with your custom DSDT.
Thanks again.

mockingbird has attached images to this post

⇗ IMG_1670.JPG

⇗ download

#7475

infuscomus

⇗ @mockingbird
OK, try this one.
⇗ @diderius6
would A5 0x03 require an acpi.sys patch?

infuscomus has attached files to this post

- ⇗ mockingbird-DSDT2-test2.zip

#7476 | diderius6 | ⇗ @infuscomus Bsod 0xC0140004 should be gone with acpi.sys from outerspace ). But crazy DSDT can make XP not to start with any acpi.sys Dietmar

#7477

YuriyCN

ENGLISH:
Windows XP mod 2021 - system build for the modern PC (edition 31.07.2021)
The information doesn't fit into a forum post - so download the text file and read it in Notepad.
TXT (92 KB) - ⇗ https://yadi.sk/d/iQlnfhxzgdEYCA
Updated set of 4 browsers for Windows XP from July 31, 2021
- 360EE v12 - clone Chrome 78 (recommended browser, build December 2020)
- Modernized version of the TOR browser (2 versions - October 2020 and June 2021)
- Modernized version of classic Opera v12 (build June 2021)
- Basilisk browser analogue of FireFox (2 versions - September 2020 and July 2021)
Download (438 MB) - ⇗ https://yadi.sk/d/vVYzQSpr3JNyLw
Friezes in browsers
On some new systems, friezes are observed when using browsers. To troubleshoot problems, measure 2D performance - a videocard must provide at least 1000 units and use modified files hal.dll, intelppm.sys (correct working timer) - ⇗ https://yadi.sk/d/aAMdALaTUTOLSw
RUSSIAN:
Windows XP мод 2021 - сборка системы для современного ПК (редакция 31.07.2021)
Информация не помещается в форумный пост - поэтому скачайте текстовый файл и читайте в Блокноте.
TXT (105 КБ) - ⇗ https://yadi.sk/d/bU75wHOMCwNm0w
Обновлённый комплект из 4-х браузеров для Windows XP от 31 июля 2021 года
- 360EE v12 - хромоклон на 78 движке работоспособный под WinXP (рекомендуемый браузер, сборка декабрь 2020 года)
- Модернизированная версия TOR-браузера (2 версии - октябрь 2020 и июнь 2021 года)
- Модернизированная сборка классической Opera v12 (сборка июнь 2021 года)
- Браузер Basilisk аналог FireFox (2 версии - сентябрь 2020 и июль 2021 года)
Скачать (438 МБ) - ⇗ https://yadi.sk/d/vVYzQSpr3JNyLw
Фризы в браузерах
На некоторых новых системах наблюдаются фризы при использовании браузеров. Для устранения проблем произведите замер 2D производительности - видеокарта должна обеспечить не менее 1000 единиц, а также используйте модифицированные файлы с фиксом таймера hal.dll, intelppm.sys скачанные по ссылке - ⇗ https://yadi.sk/d/aAMdALaTUTOLSw

#7478

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7475

> @mockingbird
> OK, try this one.
> @diderius6
> would A5 0x03 require an acpi.sys patch?

Hello, thanks but the same thing happens with that one.
Perhaps you want the DSDT dumped in a different way? The one you are editing was dumped with R/W Everything.

#7479 | infuscomus | ⇗ @mockingbird try using acpidump from the most recent iASL download. acpidump -b then send the .dat files it spits out.

#7480

George King

XP2ESD v1.6 coming soon. Now with posibility to build multilanguage ISO
This is how it looks
On MultiLanguage AIO can't be used autounatted.xml otherwise Language selector screen is hidden. There is no way to skip product key + eula on these builds.
After that only one thing I would like to achieve for 1.7 remaining - make upgrade installation possible using Windows 8.0 setup engine, but this should be hard and it should require additional setup.exe patching or develop custom script to do it manualy, but I need to dig around it to see how whole process works[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7481 | genieautravail | ⇗ @YuriyCN A member of the MSFN forums has made his own repack of the 360 Browser with many enhancements. ⇗ https://msfn.org/board/topic/182876-360-extreme-explorer-modified-version/#comments On my side and for my convenience, I'm using a mix of the russian repack and the new.

#7482

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7479

> @mockingbird
> try using acpidump from the most recent iASL download.
> acpidump -b
> then send the .dat files it spits out.

Again, sorry for the delay.
Dumped with the 20190405 build.
mockingbird has attached files to this post

- ⇗ acpitable_b250m_pro4.zip

#7483

infuscomus

⇗ @mockingbird
alrighty, try this one.
please screenshot the A5 BSOD if any.
infuscomus has attached files to this post

- ⇗ mockingbird-DSDT2-test3.zip

#7484

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7483

> @mockingbird
> alrighty, try this one.
> please screenshot the A5 BSOD if any.

Please see attached screenshot of the BSOD.
The only thing I can think of is that I am renaming it to a .bin extension. Should I keep it at the default filename of dsdt.aml?
mockingbird has attached images to this post ⇗ IMG_1673.JPG

#7485

infuscomus

⇗ @mockingbird
I doubt renaming it from dsdt.aml to dsdt.bin would make a difference, but you might as well try anyway.
⇗ @diderius6
This DSDT is frustrating! if I disassemble and reassemble with the version it was assembled with - 20160422 - it'll disassemble but it won't reassemble! and the most recent iASL version doesn't even recognize the file as an ACPI table!
annoying!
any ideas?

## Page 500

#7486

diderius6

⇗ @infuscomus
Make a try with downloading the very first Bios for this board.
Extract its DSDT,, disassemble it and compare it with the frustrating new DSDT.
May be you find, what makes this crazy behavior.
You also can integrate the old DSDT in the new Bios.
But this is a risk
Dietmar

#7487

infuscomus

⇗ @diderius6
OK, thanks
I'll grab the DSDT from the oldest BIOS I can find for this board.
-------------------
Just a reminder to myself, the DSDT GUID is C118F50D-391D-45F4-B3D3-11BC931AA56D
-------------------
⇗ @mockingbird
OK, try this one, post BSOD if any.
infuscomus has attached files to this post

- ⇗ mockingbird-DSDT2-test4.zip

#7488 | mockingbird | Thanks for your continued attempts. Attached is the BSOD. mockingbird has attached images to this post ⇗ IMG_1674.JPG
#7489 | gordo999 | 500 pages...is that a record? Lot of good information contained within.

#7490

infuscomus

⇗ @mockingbird
OK, hopefully this one doesn't BSOD.
infuscomus has attached files to this post

- ⇗ mockingbird-DSDT2-test5.zip

#7491

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7490

> @mockingbird
> OK, hopefully this one doesn't BSOD.

Please see attached BSOD. Thanks.
mockingbird has attached images to this post ⇗ IMG_1675.JPG

#7492 | infuscomus | ⇗ @mockingbird Thanks. ⇗ @diderius6 looking at all the BSODs, the control method in hex is always 494e495f which is _INI any tips for how we might proceed from here?
#7493 | Amir | Hello everyone. I have one problem when installing Windows XP on a Packard Bell EasyNote entf71bm laptop. I solved all the problems, but after downloading all the files, the laptop turns off.
#7494 | infuscomus | ⇗ @Amir your post is a bit vague, have you charged the battery?

#7495

Amir

> Zitat von ⇗ infuscomus im Beitrag ¶ #7494

> @Amir
> your post is a bit vague, have you charged the battery?

Yes.

#7496 | infuscomus | ⇗ @Amir well, can you describe a bit more what exactly it is you were trying to do right before it turned off?

#7497

George King

If anybody want to try my latest ISO builded by upcoming XP2ESD v1.6
This ISO is created from all Windows XP SP3 ISOs - I used 131 XP ISO to build this insane multilanguage AIO. All ported drivers are included in all images. This ISO is really universal. HALs are automatically patched to current RAM amount, so if you have installed >= 4GB RAM then is applied patch.

    https://ulozto.net/file/o0O8ZYefw97R/winxp-aio-esd-iso#!ZGDkBGR1MTWuBQtjZwtmZQxjL2HlHwp5qmZjZRt1qJWGLwNj

WinXP_AIO_ESD.iso SHA1

    A15294A328A0BF397E33405102A6DBBB60FB513E

How to use it?
1) Download ISO
2) Download Rufus
3) Create bootable USB using Rufus
4) Download compressed DriverPacks and place them in USB\driverpacks, you can place any *.7z compressed drivers here
5) Boot from USB and install on first partition
TIP: If your PC needs patched ACPI.sys, simply place patched file into USB\sources\$OEM$\$$\system32
NOTE: It's still testing build, but many things were fixed and hopefully it's a bug free ISO
ISO install.esd content

    Details for image : F:\XP2ESD\_output\sources\install.esd

    Index : 1
    Name : 1. Windows XP Home (ar-SA)
    Description : Windows XP Home SP3 (ar-SA)
    Size : 2 815 176 804 bytes

    Index : 2
    Name : 2. Windows XP Professional Volume License (ar-SA)
    Description : Windows XP Professional Volume License SP3 (ar-SA)
    Size : 2 861 017 811 bytes

    Index : 3
    Name : 3. Windows XP Professional (ar-SA)
    Description : Windows XP Professional SP3 (ar-SA)
    Size : 2 861 126 200 bytes

    Index : 4
    Name : 4. Windows XP Home N (cs-CZ)
    Description : Windows XP Home N SP3 (cs-CZ)
    Size : 2 740 413 498 bytes

    Index : 5
    Name : 5. Windows XP Home (cs-CZ)
    Description : Windows XP Home SP3 (cs-CZ)
    Size : 2 809 069 747 bytes

    Index : 6
    Name : 6. Windows XP Professional N Volume License (cs-CZ)
    Description : Windows XP Professional N Volume License SP3 (cs-CZ)
    Size : 2 788 843 345 bytes

    Index : 7
    Name : 7. Windows XP Professional N (cs-CZ)
    Description : Windows XP Professional N SP3 (cs-CZ)
    Size : 2 788 909 714 bytes

    Index : 8
    Name : 8. Windows XP Professional Volume License (cs-CZ)
    Description : Windows XP Professional Volume License SP3 (cs-CZ)
    Size : 2 844 914 428 bytes

    Index : 9
    Name : 9. Windows XP Professional (cs-CZ)
    Description : Windows XP Professional SP3 (cs-CZ)
    Size : 2 845 083 499 bytes

    Index : 10
    Name : 10. Windows XP Home N (da-DK)
    Description : Windows XP Home N SP3 (da-DK)
    Size : 2 733 685 349 bytes

    Index : 11
    Name : 11. Windows XP Home (da-DK)
    Description : Windows XP Home SP3 (da-DK)
    Size : 2 802 587 488 bytes

    Index : 12
    Name : 12. Windows XP Professional N Volume License (da-DK)
    Description : Windows XP Professional N Volume License SP3 (da-DK)
    Size : 2 781 738 299 bytes

    Index : 13
    Name : 13. Windows XP Professional N (da-DK)
    Description : Windows XP Professional N SP3 (da-DK)
    Size : 2 779 774 691 bytes

    Index : 14
    Name : 14. Windows XP Professional Volume License (da-DK)
    Description : Windows XP Professional Volume License SP3 (da-DK)
    Size : 2 848 492 081 bytes

    Index : 15
    Name : 15. Windows XP Professional (da-DK)
    Description : Windows XP Professional SP3 (da-DK)
    Size : 2 848 568 766 bytes

    Index : 16
    Name : 16. Windows XP Home N (de-DE)
    Description : Windows XP Home N SP3 (de-DE)
    Size : 2 792 771 968 bytes

    Index : 17
    Name : 17. Windows XP Home (de-DE)
    Description : Windows XP Home SP3 (de-DE)
    Size : 2 855 988 121 bytes

    Index : 18
    Name : 18. Windows XP Professional N Volume License (de-DE)
    Description : Windows XP Professional N Volume License SP3 (de-DE)
    Size : 2 839 835 608 bytes

    Index : 19
    Name : 19. Windows XP Professional N (de-DE)
    Description : Windows XP Professional N SP3 (de-DE)
    Size : 2 842 082 673 bytes

    Index : 20
    Name : 20. Windows XP Professional Volume License (de-DE)
    Description : Windows XP Professional Volume License SP3 (de-DE)
    Size : 2 905 580 046 bytes

    Index : 21
    Name : 21. Windows XP Professional (de-DE)
    Description : Windows XP Professional SP3 (de-DE)
    Size : 2 903 520 254 bytes

    Index : 22
    Name : 22. Windows XP Home N (el-GR)
    Description : Windows XP Home N SP3 (el-GR)
    Size : 2 755 445 646 bytes

    Index : 23
    Name : 23. Windows XP Home (el-GR)
    Description : Windows XP Home SP3 (el-GR)
    Size : 2 821 594 126 bytes

    Index : 24
    Name : 24. Windows XP Professional N Volume License (el-GR)
    Description : Windows XP Professional N Volume License SP3 (el-GR)
    Size : 2 804 820 860 bytes

    Index : 25
    Name : 25. Windows XP Professional N (el-GR)
    Description : Windows XP Professional N SP3 (el-GR)
    Size : 2 802 754 256 bytes

    Index : 26
    Name : 26. Windows XP Professional Volume License (el-GR)
    Description : Windows XP Professional Volume License SP3 (el-GR)
    Size : 2 870 668 156 bytes

    Index : 27
    Name : 27. Windows XP Professional (el-GR)
    Description : Windows XP Professional SP3 (el-GR)
    Size : 2 868 703 635 bytes

    Index : 28
    Name : 28. Windows XP Home KN (en-US)
    Description : Windows XP Home KN SP3 (en-US)
    Size : 2 687 260 349 bytes

    Index : 29
    Name : 29. Windows XP Home K (en-US)
    Description : Windows XP Home K SP3 (en-US)
    Size : 2 753 618 794 bytes

    Index : 30
    Name : 30. Windows XP Home N (en-US)
    Description : Windows XP Home N SP3 (en-US)
    Size : 2 689 196 352 bytes

    Index : 31
    Name : 31. Windows XP Home (en-US)
    Description : Windows XP Home SP3 (en-US)
    Size : 2 755 932 848 bytes

    Index : 32
    Name : 32. Windows XP Media Center (en-US)
    Description : Windows XP Media Center SP3 (en-US)
    Size : 3 210 279 284 bytes

    Index : 33
    Name : 33. Windows XP Media Center (en-US)
    Description : Windows XP Media Center SP3 (en-US)
    Size : 4 416 993 364 bytes

    Index : 34
    Name : 34. Windows XP Professional KN (en-US)
    Description : Windows XP Professional KN SP3 (en-US)
    Size : 2 779 167 136 bytes

    Index : 35
    Name : 35. Windows XP Professional K (en-US)
    Description : Windows XP Professional K SP3 (en-US)
    Size : 2 848 020 244 bytes

    Index : 36
    Name : 36. Windows XP Professional N Volume License (en-US)
    Description : Windows XP Professional N Volume License SP3 (en-US)
    Size : 2 779 641 165 bytes

    Index : 37
    Name : 37. Windows XP Professional N (en-US)
    Description : Windows XP Professional N SP3 (en-US)
    Size : 2 781 886 484 bytes

    Index : 38
    Name : 38. Windows XP Professional Volume License (en-US)
    Description : Windows XP Professional Volume License SP3 (en-US)
    Size : 2 846 132 611 bytes

    Index : 39
    Name : 39. Windows XP Professional (en-US)
    Description : Windows XP Professional SP3 (en-US)
    Size : 2 848 329 108 bytes

    Index : 40
    Name : 40. Windows XP Tablet PC (en-US)
    Description : Windows XP Tablet PC SP3 (en-US)
    Size : 3 060 935 222 bytes

    Index : 41
    Name : 41. Windows XP Tablet PC Volume License (en-US)
    Description : Windows XP Tablet PC Volume License SP3 (en-US)
    Size : 3 060 793 588 bytes

    Index : 42
    Name : 42. Windows XP Home N (es-ES)
    Description : Windows XP Home N SP3 (es-ES)
    Size : 2 800 243 174 bytes

    Index : 43
    Name : 43. Windows XP Home (es-ES)
    Description : Windows XP Home SP3 (es-ES)
    Size : 2 866 696 192 bytes

    Index : 44
    Name : 44. Windows XP Professional N Volume License (es-ES)
    Description : Windows XP Professional N Volume License SP3 (es-ES)
    Size : 2 848 598 567 bytes

    Index : 45
    Name : 45. Windows XP Professional N (es-ES)
    Description : Windows XP Professional N SP3 (es-ES)
    Size : 2 846 385 776 bytes

    Index : 46
    Name : 46. Windows XP Professional Volume License (es-ES)
    Description : Windows XP Professional Volume License SP3 (es-ES)
    Size : 2 914 990 974 bytes

    Index : 47
    Name : 47. Windows XP Professional (es-ES)
    Description : Windows XP Professional SP3 (es-ES)
    Size : 2 915 135 131 bytes

    Index : 48
    Name : 48. Windows XP Home N (fi-FI)
    Description : Windows XP Home N SP3 (fi-FI)
    Size : 2 736 722 741 bytes

    Index : 49
    Name : 49. Windows XP Home (fi-FI)
    Description : Windows XP Home SP3 (fi-FI)
    Size : 2 803 378 104 bytes

    Index : 50
    Name : 50. Windows XP Professional N Volume License (fi-FI)
    Description : Windows XP Professional N Volume License SP3 (fi-FI)
    Size : 2 779 965 040 bytes

    Index : 51
    Name : 51. Windows XP Professional N (fi-FI)
    Description : Windows XP Professional N SP3 (fi-FI)
    Size : 2 782 245 227 bytes

    Index : 52
    Name : 52. Windows XP Professional Volume License (fi-FI)
    Description : Windows XP Professional Volume License SP3 (fi-FI)
    Size : 2 848 633 431 bytes

    Index : 53
    Name : 53. Windows XP Professional (fi-FI)
    Description : Windows XP Professional SP3 (fi-FI)
    Size : 2 846 652 619 bytes

    Index : 54
    Name : 54. Windows XP Home N (fr-FR)
    Description : Windows XP Home N SP3 (fr-FR)
    Size : 2 782 643 577 bytes

    Index : 55
    Name : 55. Windows XP Home (fr-FR)
    Description : Windows XP Home SP3 (fr-FR)
    Size : 2 849 353 136 bytes

    Index : 56
    Name : 56. Windows XP Professional N Volume License (fr-FR)
    Description : Windows XP Professional N Volume License SP3 (fr-FR)
    Size : 2 831 000 611 bytes

    Index : 57
    Name : 57. Windows XP Professional N (fr-FR)
    Description : Windows XP Professional N SP3 (fr-FR)
    Size : 2 828 979 396 bytes

    Index : 58
    Name : 58. Windows XP Professional Volume License (fr-FR)
    Description : Windows XP Professional Volume License SP3 (fr-FR)
    Size : 2 897 597 265 bytes

    Index : 59
    Name : 59. Windows XP Professional (fr-FR)
    Description : Windows XP Professional SP3 (fr-FR)
    Size : 2 895 596 757 bytes

    Index : 60
    Name : 60. Windows XP Home (he-IL)
    Description : Windows XP Home SP3 (he-IL)
    Size : 2 810 847 018 bytes

    Index : 61
    Name : 61. Windows XP Professional Volume License (he-IL)
    Description : Windows XP Professional Volume License SP3 (he-IL)
    Size : 2 854 500 267 bytes

    Index : 62
    Name : 62. Windows XP Professional (he-IL)
    Description : Windows XP Professional SP3 (he-IL)
    Size : 2 854 512 134 bytes

    Index : 63
    Name : 63. Windows XP Home N (hu-HU)
    Description : Windows XP Home N SP3 (hu-HU)
    Size : 2 744 291 928 bytes

    Index : 64
    Name : 64. Windows XP Home (hu-HU)
    Description : Windows XP Home SP3 (hu-HU)
    Size : 2 812 903 431 bytes

    Index : 65
    Name : 65. Windows XP Professional N Volume License (hu-HU)
    Description : Windows XP Professional N Volume License SP3 (hu-HU)
    Size : 2 791 948 704 bytes

    Index : 66
    Name : 66. Windows XP Professional N (hu-HU)
    Description : Windows XP Professional N SP3 (hu-HU)
    Size : 2 792 113 949 bytes

    Index : 67
    Name : 67. Windows XP Professional Volume License (hu-HU)
    Description : Windows XP Professional Volume License SP3 (hu-HU)
    Size : 2 856 467 652 bytes

    Index : 68
    Name : 68. Windows XP Professional (hu-HU)
    Description : Windows XP Professional SP3 (hu-HU)
    Size : 2 858 706 322 bytes

    Index : 69
    Name : 69. Windows XP Home N (it-IT)
    Description : Windows XP Home N SP3 (it-IT)
    Size : 2 743 131 306 bytes

    Index : 70
    Name : 70. Windows XP Home (it-IT)
    Description : Windows XP Home SP3 (it-IT)
    Size : 2 808 264 288 bytes

    Index : 71
    Name : 71. Windows XP Professional N Volume License (it-IT)
    Description : Windows XP Professional N Volume License SP3 (it-IT)
    Size : 2 790 543 988 bytes

    Index : 72
    Name : 72. Windows XP Professional N (it-IT)
    Description : Windows XP Professional N SP3 (it-IT)
    Size : 2 788 531 941 bytes

    Index : 73
    Name : 73. Windows XP Professional Volume License (it-IT)
    Description : Windows XP Professional Volume License SP3 (it-IT)
    Size : 2 855 927 052 bytes

    Index : 74
    Name : 74. Windows XP Professional (it-IT)
    Description : Windows XP Professional SP3 (it-IT)
    Size : 2 853 947 831 bytes

    Index : 75
    Name : 75. Windows XP Home (ja-JP)
    Description : Windows XP Home SP3 (ja-JP)
    Size : 3 161 255 734 bytes

    Index : 76
    Name : 76. Windows XP Professional Volume License (ja-JP)
    Description : Windows XP Professional Volume License SP3 (ja-JP)
    Size : 3 210 084 858 bytes

    Index : 77
    Name : 77. Windows XP Professional (ja-JP)
    Description : Windows XP Professional SP3 (ja-JP)
    Size : 3 207 825 291 bytes

    Index : 78
    Name : 78. Windows XP Home KN (ko-KR)
    Description : Windows XP Home KN SP3 (ko-KR)
    Size : 2 984 956 151 bytes

    Index : 79
    Name : 79. Windows XP Home K (ko-KR)
    Description : Windows XP Home K SP3 (ko-KR)
    Size : 3 056 249 284 bytes

    Index : 80
    Name : 80. Windows XP Professional KN Volume License (ko-KR)
    Description : Windows XP Professional KN Volume License SP3 (ko-KR)
    Size : 3 030 006 198 bytes

    Index : 81
    Name : 81. Windows XP Professional KN (ko-KR)
    Description : Windows XP Professional KN SP3 (ko-KR)
    Size : 3 028 033 542 bytes

    Index : 82
    Name : 82. Windows XP Professional K Volume License (ko-KR)
    Description : Windows XP Professional K Volume License SP3 (ko-KR)
    Size : 3 099 599 331 bytes

    Index : 83
    Name : 83. Windows XP Professional K (ko-KR)
    Description : Windows XP Professional K SP3 (ko-KR)
    Size : 3 097 780 744 bytes

    Index : 84
    Name : 84. Windows XP Home N (nl-NL)
    Description : Windows XP Home N SP3 (nl-NL)
    Size : 2 737 324 993 bytes

    Index : 85
    Name : 85. Windows XP Home (nl-NL)
    Description : Windows XP Home SP3 (nl-NL)
    Size : 2 803 637 322 bytes

    Index : 86
    Name : 86. Windows XP Professional N Volume License (nl-NL)
    Description : Windows XP Professional N Volume License SP3 (nl-NL)
    Size : 2 785 002 137 bytes

    Index : 87
    Name : 87. Windows XP Professional N (nl-NL)
    Description : Windows XP Professional N SP3 (nl-NL)
    Size : 2 783 050 694 bytes

    Index : 88
    Name : 88. Windows XP Professional Volume License (nl-NL)
    Description : Windows XP Professional Volume License SP3 (nl-NL)
    Size : 2 851 165 591 bytes

    Index : 89
    Name : 89. Windows XP Professional (nl-NL)
    Description : Windows XP Professional SP3 (nl-NL)
    Size : 2 849 092 024 bytes

    Index : 90
    Name : 90. Windows XP Home N (nb-NO)
    Description : Windows XP Home N SP3 (nb-NO)
    Size : 2 730 714 125 bytes

    Index : 91
    Name : 91. Windows XP Home (nb-NO)
    Description : Windows XP Home SP3 (nb-NO)
    Size : 2 798 801 766 bytes

    Index : 92
    Name : 92. Windows XP Professional N Volume License (nb-NO)
    Description : Windows XP Professional N Volume License SP3 (nb-NO)
    Size : 2 777 513 740 bytes

    Index : 93
    Name : 93. Windows XP Professional N (nb-NO)
    Description : Windows XP Professional N SP3 (nb-NO)
    Size : 2 777 484 771 bytes

    Index : 94
    Name : 94. Windows XP Professional Volume License (nb-NO)
    Description : Windows XP Professional Volume License SP3 (nb-NO)
    Size : 2 843 326 563 bytes

    Index : 95
    Name : 95. Windows XP Professional (nb-NO)
    Description : Windows XP Professional SP3 (nb-NO)
    Size : 2 843 432 150 bytes

    Index : 96
    Name : 96. Windows XP Home N (pl-PL)
    Description : Windows XP Home N SP3 (pl-PL)
    Size : 2 743 911 845 bytes

    Index : 97
    Name : 97. Windows XP Home (pl-PL)
    Description : Windows XP Home SP3 (pl-PL)
    Size : 2 813 020 816 bytes

    Index : 98
    Name : 98. Windows XP Professional N Volume License (pl-PL)
    Description : Windows XP Professional N Volume License SP3 (pl-PL)
    Size : 2 791 875 271 bytes

    Index : 99
    Name : 99. Windows XP Professional N (pl-PL)
    Description : Windows XP Professional N SP3 (pl-PL)
    Size : 2 791 968 167 bytes

    Index : 100
    Name : 100. Windows XP Professional Volume License (pl-PL)
    Description : Windows XP Professional Volume License SP3 (pl-PL)
    Size : 2 859 160 277 bytes

    Index : 101
    Name : 101. Windows XP Professional (pl-PL)
    Description : Windows XP Professional SP3 (pl-PL)
    Size : 2 859 232 405 bytes

    Index : 102
    Name : 102. Windows XP Home (pt-BR)
    Description : Windows XP Home SP3 (pt-BR)
    Size : 2 807 805 860 bytes

    Index : 103
    Name : 103. Windows XP Professional Volume License (pt-BR)
    Description : Windows XP Professional Volume License SP3 (pt-BR)
    Size : 2 855 262 613 bytes

    Index : 104
    Name : 104. Windows XP Professional (pt-BR)
    Description : Windows XP Professional SP3 (pt-BR)
    Size : 2 853 356 689 bytes

    Index : 105
    Name : 105. Windows XP Home N (pt-PT)
    Description : Windows XP Home N SP3 (pt-PT)
    Size : 2 743 644 616 bytes

    Index : 106
    Name : 106. Windows XP Home (pt-PT)
    Description : Windows XP Home SP3 (pt-PT)
    Size : 2 810 257 805 bytes

    Index : 107
    Name : 107. Windows XP Professional N Volume License (pt-PT)
    Description : Windows XP Professional N Volume License SP3 (pt-PT)
    Size : 2 786 829 689 bytes

    Index : 108
    Name : 108. Windows XP Professional N (pt-PT)
    Description : Windows XP Professional N SP3 (pt-PT)
    Size : 2 789 156 298 bytes

    Index : 109
    Name : 109. Windows XP Professional Volume License (pt-PT)
    Description : Windows XP Professional Volume License SP3 (pt-PT)
    Size : 2 853 295 096 bytes

    Index : 110
    Name : 110. Windows XP Professional (pt-PT)
    Description : Windows XP Professional SP3 (pt-PT)
    Size : 2 855 426 594 bytes

    Index : 111
    Name : 111. Windows XP Home (ru-RU)
    Description : Windows XP Home SP3 (ru-RU)
    Size : 2 816 870 692 bytes

    Index : 112
    Name : 112. Windows XP Professional Volume License (ru-RU)
    Description : Windows XP Professional Volume License SP3 (ru-RU)
    Size : 2 865 430 547 bytes

    Index : 113
    Name : 113. Windows XP Professional (ru-RU)
    Description : Windows XP Professional SP3 (ru-RU)
    Size : 2 863 665 213 bytes

    Index : 114
    Name : 114. Windows XP Home N (sv-SE)
    Description : Windows XP Home N SP3 (sv-SE)
    Size : 2 733 778 491 bytes

    Index : 115
    Name : 115. Windows XP Home (sv-SE)
    Description : Windows XP Home SP3 (sv-SE)
    Size : 2 802 033 107 bytes

    Index : 116
    Name : 116. Windows XP Professional N Volume License (sv-SE)
    Description : Windows XP Professional N Volume License SP3 (sv-SE)
    Size : 2 780 189 531 bytes

    Index : 117
    Name : 117. Windows XP Professional N (sv-SE)
    Description : Windows XP Professional N SP3 (sv-SE)
    Size : 2 780 303 251 bytes

    Index : 118
    Name : 118. Windows XP Professional Volume License (sv-SE)
    Description : Windows XP Professional Volume License SP3 (sv-SE)
    Size : 2 846 244 096 bytes

    Index : 119
    Name : 119. Windows XP Professional (sv-SE)
    Description : Windows XP Professional SP3 (sv-SE)
    Size : 2 844 331 942 bytes

    Index : 120
    Name : 120. Windows XP Home (tr-TR)
    Description : Windows XP Home SP3 (tr-TR)
    Size : 2 804 064 074 bytes

    Index : 121
    Name : 121. Windows XP Professional Volume License (tr-TR)
    Description : Windows XP Professional Volume License SP3 (tr-TR)
    Size : 2 851 916 089 bytes

    Index : 122
    Name : 122. Windows XP Professional (tr-TR)
    Description : Windows XP Professional SP3 (tr-TR)
    Size : 2 851 931 452 bytes

    Index : 123
    Name : 123. Windows XP Home (zh-CN)
    Description : Windows XP Home SP3 (zh-CN)
    Size : 3 054 580 412 bytes

    Index : 124
    Name : 124. Windows XP Professional Volume License (zh-CN)
    Description : Windows XP Professional Volume License SP3 (zh-CN)
    Size : 3 096 092 721 bytes

    Index : 125
    Name : 125. Windows XP Professional (zh-CN)
    Description : Windows XP Professional SP3 (zh-CN)
    Size : 3 096 139 364 bytes

    Index : 126
    Name : 126. Windows XP Home (zh-TW)
    Description : Windows XP Home SP3 (zh-TW)
    Size : 3 036 410 741 bytes

    Index : 127
    Name : 127. Windows XP Professional Volume License (zh-TW)
    Description : Windows XP Professional Volume License SP3 (zh-TW)
    Size : 3 078 222 319 bytes

    Index : 128
    Name : 128. Windows XP Professional (zh-TW)
    Description : Windows XP Professional SP3 (zh-TW)
    Size : 3 076 363 124 bytes

    Index : 129
    Name : 129. Windows XP Home (zh-TW)
    Description : Windows XP Home SP3 (zh-TW)
    Size : 3 036 161 132 bytes

    Index : 130
    Name : 130. Windows XP Professional Volume License (zh-TW)
    Description : Windows XP Professional Volume License SP3 (zh-TW)
    Size : 3 076 087 711 bytes

    Index : 131
    Name : 131. Windows XP Professional (zh-TW)
    Description : Windows XP Professional SP3 (zh-TW)
    Size : 3 078 204 195 bytes

Known bugs:
BUG1) %SystemDrive%\Windows\Web folder content is deleted by accident during setup
FIX1) Mount boot.wim (easy is to use NTLite), delete " Web" in tag list in sources\setup.cmd at line 30 and save it. Then unload and save boot.wim [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7498

gordo999

> Zitat von ⇗ Amir im Beitrag ¶ #7493

> ...the laptop turns off.

@Amir...what happens before it turns off? Do you notice a blue screen flash by? Some computers shut down automatically after a blue screen and you have to set them not to shut down so you can read the data on the blue screen. Don't remember how to set the computer on XP not to shutdown after BSOD. It can be set in system properties by right clicking My Computer icon and selecting 'properties'. Maybe someone else remembers.

#7499 | diderius6 | ⇗ @George King What is the MD5 and SHA-1 from WinXP_AIO_ESD.iso I search but I dont find them Dietmar

#7500

George King

⇗ @diderius6
Added into post ¶ #7497[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 501

#7501

infuscomus

⇗ @mockingbird
OK, try this one.attached files

- ⇗ mockingbird-DSDT2-test6.zip

#7502

George King

> Zitat von ⇗ gordo999 im Beitrag ¶ #7498

> > Zitat von ⇗ Amir im Beitrag ¶ #7493

> > ...the laptop turns off.

> @Amir...what happens before it turns off? Do you notice a blue screen flash by? Some computers shut down automatically after a blue screen and you have to set them not to shut down so you can read the data on the blue screen. Don't remember how to set the computer on XP not to shutdown after BSOD. It can be set in system properties by right clicking My Computer icon and selecting 'properties'. Maybe someone else remembers.

XP2ESD images have disabled reboot after BSOD by default. It's really easy
1
2
3
4

    REM Disable automatic reboot after BSOD
    reg load HKLM\TEMPSYSTEM "%TARGET%\Windows\System32\config\SYSTEM" >nul
    REG ADD HKLM\TEMPSYSTEM\ControlSet001\Control\CrashControl /v "AutoReboot" /t REG_DWORD /d 0 /f >nul
    reg unload HKLM\TEMPSYSTEM >nul

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7503

Masterchief79

Hello everyone,
I'm currently trying to install Win XP on my Ryzen 5800X + Gigabyte Aorus B550 Elite V2 on a 320GB SATA HDD. I don't need a highly functional 24/7 XP with NVME support, network and audio drivers, it's more for benchmarking purposes. I did this once already with an i5 7600K and a Z270 Apex motherboard but it wasn't nearly as complicated back then.
I followed the instructions in the "Windows XP 2021_7_ENU" text file and got through the first part of the setup okay one the second try. So it doesn't crash on the 07B anymore and actually installs the OS. I'm using the 2021.5.15 build with options 3,4,6,A,B,C,E,G,K enabled (look in screenshot for more info).
Then however, I get the ACPI bluescreen "A5" on the first reboot. Which modified ACPI file should I use and how do I best integrate it into the build? I assume I can't just press F7 on setup and get it to work? Is this CPU and chipset generation even able to run XP, and if not, can it at least run Windows 7?
⇗

#7504 | infuscomus | ⇗ @Masterchief79 do you get an A5 BSOD during textmode setup? don't press F7. what A5 BSOD do you get on first reboot? can you post a screenshot?

#7505

Masterchief79

Thanks for the reply. Textmode setup works for me (if by textmode you mean the bit where it looks like an old BIOS, basically). It gets to the point where Windows goes "your computer will restart in 15 seconds". I haven't hit any keys during that time (so this is without F7 aswell). After rebooting, I get this BSOD:
⇗

#7506 | infuscomus | ⇗ @Masterchief79 I've never heard of a scenario where textmode setup did not give an A5 BSOD but GUI setup did. try extracting the patched acpi.sys from DRIVER.CAB and replacing the one in your XP system32\drivers folder.
#7507 | diderius6 | ⇗ @infuscomus ⇗ @mockingbird ⇗ @Masterchief79 I make a quick and dirty hack on last acpi.sys from outerspace ), please try Dietmar ⇗ https://ufile.io/9f6ng0y4

#7508

Masterchief79

⇗ @infuscomus Thanks, that didn't change anything unfortunately. I'm trying the same thing with the file from ⇗ @diderius6 now.
//
So the provided ACPI file from ⇗ @diderius6 worked! It booted into the GUI setup successfully. USB devices worked too. System froze pretty quickly on the screen where it tries to install keyboard and mouse drivers though, see screenshot below. I've got all kinds of devices connected from this being my 24/7 system aswell, should I just try to disconnect everything except for mouse and keyboard?
After that, I tried rebooting into GUI setup another time and again got the ACPI bluescreen. I don't know if that says anything.
⇗

#7509 | diderius6 | ⇗ @Masterchief79 The system restore of XP replaced my hacked acpi.sys 6666 with the original acpi.sys I think. So just replace acpi.sys again in C:\WINDOWS\system32\drivers Dietmar
#7510 | Masterchief79 | Yeah, I figured something like that, so I already did that. Now I gotta get past this freeze :) I think I'm gonna try disconnecting the unnecessary devices next, just to see if that makes a difference, but input from more experienced people welcome of course.
#7511 | diderius6 | ⇗ @Masterchief79 You can make a Setup in Safe Mode via F8 and disable there all not needed devices for first boot of XP. Or you can disable all not needed devices in Bios Dietmar
#7512 | Masterchief79 | On the screen it crashes on it also says something about screen flickering, so is it trying to install the video card drivers at that point in the setup? Because I currently have a 1080Ti installed. I assumed it would just skip the video driver installation if the setup doesn't have a proper driver. Do you think that could be the issue? I can try the setup again with an older videocard, I've got plenty to choose from.
#7513 | diderius6 | ⇗ @Masterchief79 Disconnect also all not needed real devices, videocard also if you have a legacy video putout from your cpu (no XP driver for 1080Ti exists) Dietmar PS: And boot XP first time via F8 Safe Mode.

#7514

Masterchief79

> Zitat von ⇗ diderius6 im Beitrag ¶ #7513

> @Masterchief79
> Disconnect also all not needed real devices, videocard also if you have a legacy video putout from your cpu (no XP driver for 1080Ti exists)
> Dietmar
> PS: And boot XP first time via F8 Safe Mode.

Thank you, gonna try that next. Booting first time with F8 you mean after GUI setup is done?

#7515 | diderius6 | ⇗ @Masterchief79 I think, that F8 can be done even earlier in Setup of XP, but in this case, yes Dietmar

## Page 502

#7516 | Masterchief79 | So just as an update, disconnecting my USB devices and swapping to a GTX275 didn't change anything. It still freezes on the same point in the setup. I'm gonna disable unnecessary onboard devices next (like Audio, LAN etc.) but I have a feeling that I'm not gonna get further with that. I might try a different XP distribution with other drivers later but any feedback is welcome of course.
#7517 | infuscomus | ⇗ @Masterchief79 Try and replace the acpi.sys in Integrator Files\Patches\ACPI drivers with the one diderius6 gave you and build a new ISO using the script. Then do a new fresh XP install over again and see if that works.
#7518 | Masterchief79 | Good shout, worth a try, thanks :)

#7519

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7509

> The system restore of XP replaced my hacked acpi.sys 6666 with the original acpi.sys I think. So just replace acpi.sys again in C:\WINDOWS\system32\driversDietmar

⇗ @diderius6 ...Dietmar...I would replace the acpi.sys where the system file checker get it's version. I don't have XP open right now but XP keeps a store of files for the system file checker. That one has to be replaced first, before inserting your version.

#7520

gordo999

> Zitat von ⇗ Masterchief79 im Beitrag ¶ #7516

> It still freezes on the same point in the setup.

⇗ @Masterchief79 ...if the problem is your mouse/keyboard drivers it may be that your USB drivers are not loading properly. Does your mobo have a PS/2 input? I used PS/2 on mine while setting up by connecting USB/mouse to PS/2 via an adapter. If you can get it to install that way, you can troubleshoot USB issues using Device Manager.
If the installation freezes right near the end it's likely an Internet Explorer problem. Something to do with the IE version. I don't remember the details at the moment regarding how I solved it.

#7521

Masterchief79

Haha, I actually got it installed and working. I replaced the ACPI file with Dietmars before building a new ISO and tried a slightly different driver combination. It recognizes my phone and everything. In terms of performance, I haven't done enough testing to say if it's faster than my 24/7 windows or an optimized Windows 7 in the benchmarks I'm interested in. That will come soon. But being able to run old benchmarks at all is a plus over Windows 10 already.
Little background: I had a 7600K on XP working and used it to benchmark a ton of old graphics cards in like 3D Mark 01 to 06. They're are usually CPU-limited, but with a very quick CPU and a reasonably old GPU (like everything between GeForce 6000 series and GTX 400 series) you can get some easy points on ⇗ www.hwbot.org (this is my profile there: ⇗ https://hwbot.org/user/masterchief79/). Add a single stage compressor cooling system that cools the GPU to -40°C on load and you can overclock and score to your hearts desire. That Z270 mainboard I was using with the 7600K just quit working unfortunately, I didn't wanna buy another one and they didn't want to repair it... Anyway, now the Singlecore performance of my 5800X should be sufficient to be competitive without having to have two different systems.
I was gonna post screenshots but I forgot that I disconnected the HDD before booting into my 24/7 windows. Promise that I'm gonna add some later.
⇗ ⇗

#7522

Masterchief79

I had everything working with the GTX275 yesterday. Then I swapped to a GTS450, installed the according Nvidia 290.53 driver, and now I can't get into Windows anymore. It boots, then it wants to execute CHKDSK, and afterwards (no matter if I skip it or don't), it bluescreens with this BSOD. Any ideas? Safe mode boot freezes on loading "Drivers.mup".
⇗

#7523 | diderius6 | ⇗ @Masterchief79 This bluescreen I have seen, when the graphik driver is not working correct. Have you tried via F8 "Go back to last working configuration"? This takes the copy from the registry before you installed the other graphik driver Dietmar
#7524 | infuscomus | ⇗ @diderius6 If dump_ntoskrn8.sys is where the error occurs wouldn't ⇗ @Mov AX, 0xDEAD know more about this BSOD?
#7525 | Masterchief79 | It's probably graphics driver related, yes. I'm gonna try last working configuration, thanks. Maybe some part of the driver package (nView, PhysX, some HDMI Audio driver...) is not working correctly.

#7526

imadam__

Hi, i made a iso file with windows xp integral edition and the optional patches. But the setup gets stuck at setup is starting windows with no blue screen or error. I made the usb drive with "WinSetupFromUSB 1.9". ive tried it with a external dvd drive but that doesnt work.
ryzen 5 2600, asus rog strix b450-f gaming II, 16gb ram, 240gb kingston a400 SSD.
thanks

#7527

diderius6

⇗ @imadam__
There are some possibilities, why this setup did not work.
Easiest way is to burn a CD from the *.iso and connect this CD on a DVD drive, which is connected to the SATA slot (not USB(!)).
Other possibility is, that setup cant recognice the harddisk.
This problem can be solved, when you format your harddisk before with RMPrebUSB version 2.1.739
Dietmar

#7528 | imadam__ | I dont have any sata dvd drives :( but ill try the rmprepusb method
#7529 | imadam__ | ok so formatting the ssd with rmprepusb didnt work :( any other things i could try ?

## Page 503

#7530 |  | LOST
#7531 |  | LOST
#7532 |  | LOST
#7533 |  | LOST
#7534 |  | LOST
#7535 |  | LOST
#7536 | diderius6 | ⇗ @Masterchief79 The Bsod from your graphikcard can be memory related. So make a try with a new *.iso, but this time without the "5" in settings of Integral Edition 2021.5.15 Dietmar
#7537 |  | LOST
#7538 |  | LOST
#7539 |  | LOST
#7540 |  | LOST
#7541 |  | LOST
#7542 | infuscomus | ⇗ @imadam__ OK, looking at the manual for your motherboard, it should be under - CPU Core Count Control in the AMD Overclocking section.

#7543

diderius6

⇗ @imadam__
Hit F5 and choose "Standard PC".
This is single core and without any acpi.
Via this way you can find out, if the Sata connector is the problem.
Also change the Sata connector
Dietmar
PS: If the Sata connector does not work under XP, you can install XP to an USB device, to an nvme device
or you can try another working XP for this board with B450 chipset.
Or you can boot XP from ram;))..

#7544 | imadam__ | hi, i chose standard pc and unplugged all sata drives but it still gets stuck at that stage
#7545 | infuscomus | ⇗ @imadam__ at "Setup is Starting Windows" or a 7B BSOD?

## Page 504

#7546 | imadam__ | Setup is starting windows.
#7547 | infuscomus | ⇗ @imadam__ Try without integrating any of the USB 3.0 drivers.
#7548 | imadam__ | Ok.

#7549

diderius6

⇗ @imadam__ ⇗ @infuscomus
I think it is the Sata connector. Here in the forum I find, that from Chipset B450 also Win7 does not start from this ahci.
But the modded XP drivers are from Win8.
Then only USB boot or boot from nvme will work on this board
Dietmar

#7550 | imadam__ | Weird - becuase I've used this board to install windows XP before - but I installed it from Windows 8 PE and manually copied over the drivers from Linux and it worked, but I can't seem to get that to work anymore
#7551 | infuscomus | ⇗ @imadam__ I recall you mentioned earlier that one time you got a 7B BSOD instead of the usual freezing, what options did you select when you got that?

#7552

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7550

> Weird - becuase I've used this board to install windows XP before - but I installed it from Windows 8 PE and manually copied over the drivers from Linux and it worked, but I can't seem to get that to work anymore

You can build XP2ESD with Windows 8.0 input ISO instead of 7. You should encounter some errors during building but they will be related to bootlogo patching. I will see today in my upcoming v1.6 version if it can be properly builded, but I think yes, we can use Windows 8.0 and Windows 10 as source ISOs. And if there will be some errors, I can catch them too and adapt XP2ESD. [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7553

diderius6

⇗ @imadam__
For to understand, if really the Sata connector is the problem,
build a new *.iso with settings
3 ,4, D, E, G
and my acpi.sys .
Then connect a non (!) removable device to an USB slot, for example an USB-harddisk.
Now try to install XP again. If you can install XP to this USB device,
the problem is the Sata connector. When installation is complete, you can try to find a Sata driver which works for
the B450 board under XP
Dietmar

#7554 | imadam__ | i actually removed all sata drives and tried to boot the installer but it still wouldnt boot.

#7555

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7554

> i actually removed all sata drives and tried to boot the installer but it still wouldnt boot.

Can you boot successfully into Windows 8.0 installer? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7556 | imadam__ | yeah, i can boot and use the windows 8 installer fine, im building an xp2esd iso right now, just downloading things.

#7557

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7556

> yeah, i can boot and use the windows 8 installer fine, im building an xp2esd iso right now, just downloading things.

Good, I will review this process myself later to be sure all works in script as expected.
Using Windows 8.0 input ISO should be also option without needs Windows 10 ISO in future.
EDIT: And if current XP2ESD fails to build it for some reason, I should create this image for you [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7558 | imadam__ | ok, thanks
#7559 | diderius6 | ⇗ @imadam__ There exist 2 versions of the ASUS ROG Strix B450-F Gaming II board, one with Usb 3.1 (90MB15V0-M0EAY0) and another one with Usb3.2 (B08KH1M1H4 ) Which version do you have Dietmar

#7560

diderius6

I just order the first version ASUS ROG Strix B450-F Gaming II (90MB15V0-M0EAY0) for EUR 104,90 via Amazon.
I have different Ryzen and AMD cpus, which run on this board.
It is a really interesting, cheap board with PS/2, with Intel i211 lan, COM1 port and Realtek 1200 sound.
You can install any Ryzen processors (also 5000) as far as I understand.
From this specs it is(?) one of the very last boards, that may support XP to full (Sata?!)
Dietmar

## Page 505

#7561 | imadam__ | Mine appears to have model number 90MB15V0-M0EAY0 so it's the usb3.1 version.
#7562 | diderius6 | ⇗ @imadam__ I noticed, that on the board ASUS ROG Strix B450-F Gaming II there are 2 different Sata connections: One goes direct to the cpu and other over chipset B450, so there is hope for full XP support Dietmar
#7563 | imadam__ | When I get home I will try a different connector then.
#7564 | diderius6 | I found Sata driver for the B450 chipset for Win7 bit32. Dont know, if they can be modified for XP also Dietmar ⇗ https://ufile.io/1m410fet
#7565 | diderius6 | And this may be the same Sata drivers for XP, thanks to ⇗ @daniel_k Dietmar ⇗ http://www.mediafire.com/file/jog8i403j2...402_x86.7z/file

#7566

George King

⇗ @diderius6 I checked XP2ESD driver repository, for XP and 7 is included v1.2.001.0402. And ⇗ @imadam__ stuck on boot logo and cannot boot into installer.
I'm adapting code to build XP2ESD only using Windows 8.0 ISO right now. Testing ISO should be ready soon[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7567

George King

⇗ @imadam__ m What XP Edition and Language do you use? I'm ready to build your ISO based on Windows 8.0 instead of 7 & 10[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7568 | imadam__ | English And any edition of Professional (N, VL)

#7569

George King

⇗ @imadam__ Image created with unreleased XP2ESD v1.6. Based on English Windows 8.0 x86 + Windows XP Professional Volume License. Patched ACPI.SYS is included. You can find it in $OEM$ directory

     https://www.mediafire.com/file/vs5jkk12739pgqy/WinXP_AIO_ESD_v1.6_b2_w8_based.iso/file

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7570

diderius6

Thanks to ⇗ @pappyN4 you can use an old AMD Sata driver for XP also for the B450 chipset.
Dietmar
Download an old 13.4 XP/XP64 chipset pack from AMD.
Open up amd_sata.inf and add in these lines underneath existing DEVs:
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7901&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7904&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_43C8&CC_0106

#7571 | imadam__ | so far its working good :), but my usb keyboard and mouse arent working in the windows xp setup stage and OS but they work fine in windows 8 PE (i have a ps/2 keyboard so its fine for now )

#7572

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7571

> so far its working good :), but my usb keyboard and mouse arent working in the setup stage (i have a ps/2 keyboard so its fine for now )

This is confirmation that WinXP_AIO_ESD_v1.6_b2_w8_based.iso was bootable, but before first XP boot USB doesn't work right? :) [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7573 | imadam__ | the usb works in the windows 8 PE stage, but in windows xp it doesnt work, also its frozen at "windows is shutting down" so should i manually restart it?
#7574 | imadam__ | and after 2nd reboot there is now a 0x000000A5 blue screen of death

#7575

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7573

> the usb works in the windows 8 PE stage, but in windows xp it doesnt work, also its frozen at "windows is shutting down" so should i manually restart it?

Good is you are able to install it now. Now we can solve other problems. Was your USB keyboard connected during whole setup? Ported USB3.x driver is injected directly inside image, how looks device manager after that? Do you need to install it manualy (you can extract driver using 7-zip from USB\sources\install.wim\D\M\GENERIC_USB3X)?

> Zitat von ⇗ imadam__ im Beitrag ¶ #7574

> and after 2nd reboot there is now a 0x000000A5 blue screen of death

Can you have a look on Windows\system32\drivers\ACPI.sys if it match that one in USB\sources\$OEM$\$$\system32\drivers? In this build is SFC patched, but maybe MyFactory re-enabled it again, this is untested scenario [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 506

#7576 | imadam__ | yeah, the acpi.sys in windows\system32\drivers is dated 2008 which is the default windows xp one, so i guess it didnt get copied over?

#7577

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7576

> yeah, the acpi.sys in windows\system32\drivers is dated 2008 which is the default windows xp one, so i guess it didnt get copied over?

This must be caused by re-enabled SFC after first reboot of deployed system. I'm going to find whats wrong now [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7578 | imadam__ | oh, i manually copied over the acpi.sys and there is no longer 0x000000A5 but now there ois 0x0000007B which i think is ahci error ?
#7579 | diderius6 | ⇗ @imadam__ Can you choose your harddisk (before Bsod 0x7B), where you want to install XP and see this partition Dietmar
#7580 | imadam__ | yes, i can
#7581 | diderius6 | ⇗ @imadam__ This means, that the Sata driver no longer works. May be, that storport.sys for this Sata driver is now deleted in windows\system32\drivers or comes in conflict with another storport.sys driver with same name Dietmar
#7582 | imadam__ | alright, ill try to copy the new one over and see if that works :)
#7583 | imadam__ | i manually copied over the drivers, and it gets further in booting, but it freezes at the windows xp bootscreen, ill boot it in safe mode to see EDIT: safe mode freezes at boot on \Windows\Syetem32\Drivers\Mup.sys

#7584

diderius6

⇗ @imadam__
I think that something is not ok with the Sata driver.
You can make a try with all the files from ⇗ @daniel_k and replace storport.sys and the other sata files also with them
in windows\system32\drivers
Dietmar
⇗ https://ufile.io/kzeap6np

#7585 | imadam__ | i tried copying over the drivers again but no luck - i even copied over a new mup.sys and still no luck :(
#7586 | diderius6 | ⇗ @imadam__ Try one by one all Sata slots Dietmar EDIT: You can integrate this Sata driver by hand into registry of XP, but not easy job.
#7587 | imadam__ | Ok.

#7588

George King

And I'm building image to see how SFC goes. I have also removed some storport files to be sure only one and correct is installed. I will upload it after some Virtual Machine tests[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7589

gordo999

> Zitat von ⇗ imadam__ im Beitrag ¶ #7554

> i actually removed all sata drives and tried to boot the installer but it still wouldnt boot.

⇗ @imadam__ ...what errors or symptoms do you get when your machine doesn't boot? Also, with no SATA drives did you adjust BIOS to give the system a bootable source? If there is no boot source, the system will simply sit there, but sometimes you get some error in text mode.
When a system boots, it needs some kind of storage device that contains the information it needs to continue booting. This article explains it well....
⇗ https://neosmart.net/wiki/mbr-boot-process/
What do you see during boot? Do you get the option to press F2 or ALT to enter the BIOS editor? On my system, I see hexadecimal character going by rapidly in one spot of the screen, indicating POST activity. Or, do you just get a blank screen with nothing?

#7590

gordo999

> Zitat von ⇗ imadam__ im Beitrag ¶ #7585

> i tried copying over the drivers again but no luck - i even copied over a new mup.sys and still no luck :(

⇗ @imadam__ mup.sys is a common place for the file list to stop in safe mode. Means nothing.

## Page 507

#7591

infuscomus

⇗ @imadam__
I think your XP install might have been corrupted after not being completed and from all the restarts. I think it's best to start again.
Can you check the device ID for your USB 3.0 controller?
On my threadripper system, this USB controller
PCI\VEN_1022&DEV_149C
never works on first boot up but it will work correctly if I disable and reenable it in device manager, this is with the backported windows 8.0 USB 3.0 driver
I'm guessing it's something to do with ACPI
maybe you have the same controller?

#7592

George King

⇗ @imadam__ Here is beta 4 image. I'm sure SFC is OK, even if it shows ACPI.sys date 2008 file version is 6666. I have also removed all useless drivers from repository and now are included only Generic AHCI, Generic NVMe, Generic USB3.x, AMD_AHCI, INTEL_AHCI, Samsung_NVMe - I double checked and these drivers are same as you can find in "Integral edition". These files are taken from ⇗ @daniel_k MDL ⇗ repository

    https://www.mediafire.com/file/xv8pl5trx96wdyk/WinXP_AIO_ESD_v1.6_b4_w8_based.iso/file

EDIT: Seems like acpi.sys is restored from sp3.cab during second reboot, even with disabled SFC. Investigating right now. I have 2 ideas how to solve it, will see which one can work
EDIT2: I'm rebuilding image with new SPx.cab repack solution for patched PAE and patched ACPI right now
EDIT3: SPx.cab is repacked before first boot to avoid ACPI.sys replacement with original file. This repack is called it two scenarios 1) PAE was patched when detected >= 4GB RAM 2) APCI.sys is in USB\sources\$OEM$\$$\system32\drivers
NOTE: USB3.x should work at first boot. In past I have tested setup from USB3 with DriverPacks installation from USB3 and it worked. Maybe is broken something else. If you don't want PAE patch, simply delete it in USB\support\WXPPAE.exe
⇗ @infuscomus Can you test how it goes on your machine? If there is needed USB device restart - disable and enable device, I can add needed command to do it automatically before Snappy Driver Installer session start
EDIT4: Seems like ucx01000.sys is not correctly installed into drivers folder before capturing when adding drivers. Investigating right now

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7593 | imadam__ | still freezes on boot. but there is no 0x0000007B bsod or 0x000000A5 bsod.

#7594

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7593

> still freezes on boot. but there is no 0x0000007B bsod or 0x000000A5 bsod.

Installer is OK?
XP freeze on boot? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7595 | imadam__ | yeah, the installer is ok, and the 2nd windows xp stage but when it reboots it freezes at the XP boot screen.

#7596

George King

Just to be sure, you are able to see this screen? This is MyFactory driver handling stage. I will compare system before and after it's touch to see difference
⇗ [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7597 | imadam__ | yeah, i was able to see that screen, but after that it no longer boots and just freezes on the boot screen like this

#7598

George King

⇗ @imadam__ Try to boot again into installer and then open CMD (best to open notepad - open file and change to all file extensions to see whole file system) and delete ucx01000.sys in drivers folder in deployed XP, this is only one change in files that is before second boot of deployed system. I will see what is changed in registry too[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7599 | imadam__ | so i deleted the ucx01000.sys and it actually boots.

#7600

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7599

> so i deleted the ucx01000.sys and it actually boots.

USB3.x doesn't work right? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7601

infuscomus

> Zitat von ⇗ George King im Beitrag ¶ #7592

> Can you test how it goes on your machine? If there is needed USB device restart - disable and enable device, I can add needed command to do it automatically before Snappy Driver Installer session start

⇗ @George King
This behavior still happens even after the XP installation has completed and I'm at the desktop. On every restart I need to disable and reenable the motherboard USB 3.0 controller.
To get around this I'm using a separate PCI-E USB 3.0 card with an ASMedia 2142 chip that works on every boot.

#7602 | imadam__ | yeah, my usb keyboard and mouse dont work, i have a ps/2 one though so i can install drivers in the OS
#7603 | diderius6 | ⇗ @imadam__ When you go to device manager, what is shown for the Sata devices? Can you look, which Sata driver is installed there and which Ven_&Dev_ number. Are those numbers different for different Sata devices Dietmar

#7604

diderius6

⇗ @imadam__
About USB on the B450 chipset
credit to ⇗ @pappyN4
Dietmar
Download the Windows 7 chipset pack for the B450 from AMD.
Install the 1.0.5.3 USB driver from USB31_PT for the controller and the hub. The drivers install fine, but when you insert a USB device like a mouse or USB flash drive it shows as having a Code 39 error. To fix, you will have to copy usbd.sys to your \system32\drivers folder for a live system. You can also modify the inf file in two spots to also copy over the usbd.sys file when it copies over the driver sys file like the amdxhc31.sys or amdhub31.sys.
EDIT: There are only USB files for 64 bit.

#7605

George King

⇗ @infuscomus Do you use same drivers that are in "Integral edition"?
I have compared them with ⇗ @daniel_k USB3.x and they are really different, maybe Ramsey patched them on his own and something is broken.
⇗ @imadam__ I would like to find out, why it happends. I have now replaced USB3.x driver with daniel_k version. I will see if all files are added correctly into repository. If yes, I will upload you another image to see if it can work automatically?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 508

#7606 | diderius6 | ⇗ @George King May be, that you can add missed Dev_ ids for AMD USB just into ⇗ @daniel_k [AMD.NTx86.5.1] %AMDXHC.DeviceDesc% = AMDXHC, PCI\VEN_1022&DEV_YOURS Dietmar

#7607

George King

⇗ @diderius6 See how much different are these two USB3x drivers
George King has attached files to this post

- ⇗ USB3x_compare.zip

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7608 | imadam__ | the chipset drivers wont install. it just says "error opening installation log file. Verify that the specified log file location exists and is writable.
#7609 | diderius6 | ⇗ @Mov AX, 0xDEAD ⇗ @daniel_k I think, that the Asmedia USB and those USB from AMD are similar. May be it is possible, to take an Asmedia USB driver and make it work for newer AMD USB also Dietmar

#7610

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7608

> the chipset drivers wont install. it just says "error opening installation log file. Verify that the specified log file location exists and is writable.

I will upload you another ISO to test. Meanwhile download Chipset DriverPack from here, placing it in driverpacks folder on USB will automatically install compatible driver if find any

    https://download0.drp.su/driverpacks/

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7611 | diderius6 | ⇗ @George King I noticed also, that the original Win8 USB driver (patch 2 from 5 May 2020) (with WppRecorder.sys ) from ⇗ @Mov AX, 0xDEAD is more stable than all later versions with ntoskrn8.sys Dietmar

#7612

George King

⇗ @diderius6 So you recommend that one with WppRecorder.sys?
⇗ @imadam__ This one is builded with ⇗ @daniel_k USB3.x driver, ucx01000.sys is added too after first reboot of deployed system. Let me know if there is same problem. If yes, maybe other driver needs to be installed before reboot too. Simply place all needed DriverPacks *.7z inside USB\driverpacks folder. Will be nice to catch this problem :)

    https://www.mediafire.com/file/rbkvc10beuil34p/WinXP_AIO_ESD_v1.6_b5_w8_based.iso/file

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7613

diderius6

⇗ @George King
I think, that ⇗ @daniel_k makes this USB driver brandnew after he learned a lot from transfering USB driver from Win8 => Win7.
Until now, I have not tested those new ones from Daniel.
But I found a very interesting comment from ⇗ @canonkong :
For all AMD boards, you get crash with the ported USB driver from Win 8, if you use the generic USB device (this works for Intel).
But for AMD you HAVE to give the correct Dev_ from your board and this crash after boot and install with AMD USB devices is gone
[AMD.NTx86.5.1]
%AMDXHC.DeviceDesc% = AMDXHC, PCI\VEN_1022&DEV_7812
forbidden for AMD USB
%AMDXHC.DeviceDesc% = AMDXHC, PCI\VEN_1022&CC_0C0330
allowed for Intel USB
%INTELXHC.DeviceDesc% = AMDXHC, PCI\VEN_8086&CC_0C0330
Dietmar
PS: The same as for AMD USB in its *.inf may be true also for Asmedia USB, because they are very similar.

#7614

Masterchief79

> Zitat von ⇗ diderius6 im Beitrag ¶ #7536

> @Masterchief79
> The Bsod from your graphikcard can be memory related.
> So make a try with a new *.iso,
> but this time without the "5" in settings of Integral Edition 2021.5.15
> Dietmar

Thank you, I'm gonna try that later and update you with my progress. I'm not getting back into my original XP install after I installed the GTS450 and the according driver. I don't think it's a GPU-related issue though.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7613

> But for AMD you HAVE to give the correct Dev_ from your board and this crash after boot and install with AMD USB devices is gone

Can you elaborate on this and how to solve the error, assuming it's related to my ntoskrn8.sys BSOD?

#7615 | infuscomus | ⇗ @George King Ramsey's XP Integral Edition uses ⇗ @Mov AX, 0xDEAD 's USB 3.0 driver since Mov specifically targeted XP when he made it. ⇗ @daniel_k is more interested in targeting windows 7 with his USB 3.0 driver. I'm guessing the drivers are different since they target different versions of windows.
#7616 | imadam__ | i copied the driver packs to the USB:\driverpacks folder but they dont get installed

#7617

George King

⇗ @imadam__ So you used WinXP_AIO_ESD_v1.6_b5_w8_based.iso with Daniel_k USB3x driver? Was there same problem with ucx01000.sys?
I forgot that I removed it from ISO, download and place this SDI folder into USB:\support, then it will be automatically processed[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

George King has attached files to this post

- ⇗ SDI.zip

#7618

George King

During XP2ESD v1.6 development was needed to do operations in CHCP 65001 in CMD which is not supported originally by XP. I found interesting patch, that can add support for CHCP 65001. Now I can use unicode characters in CMD. Patched CMD is used only during Windows XP Home conversion into WIM, but I hope you find this patch useful.

    https://www.dostips.com/forum/viewtopic.php?p=34428#p34428

And if you want to use Copy + Paste into CMD, install Command Line Clipboard

    https://dennisbabkin.com/clc/

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7619 | imadam__ | when i do the SDI thing and install it it no longer boots and just goes to the xp boot screen for a long time and then a black screen.
#7620 | infuscomus | ⇗ @George King If I'm not mistaken, daniel_k's USB 3.0 driver is targeted at windows 7 not XP - you can check for it's dependencies by putting the driver and XP's ntoskrnl.exe and hal.dll in the same folder and then opening the driver sys files with dependency walker.

## Page 509

#7621

George King

> Zitat von ⇗ imadam__ im Beitrag ¶ #7619

> when i do the SDI thing and install it it no longer boots and just goes to the xp boot screen for a long time and then a black screen.

Thats sad, probably bad incompatible driver. Otherwise you can place any *.7z compressed drivers in this folder to automate drivers installation. And what about ucx01000.sys with beta 5 ISO? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7622

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7620

> @George King
> If I'm not mistaken, daniel_k's USB 3.0 driver is targeted at windows 7 not XP - you can check for it's dependencies by putting the driver and XP's ntoskrnl.exe and hal.dll in the same folder and then opening the driver sys files with dependency walker.

Here is XP USB3.x driver by daniel_k / Mov. But maybe it's and old version?

    https://forums.mydigitallife.net/threads/drivers-and-tools-to-run-windows-xp-on-newer-hardware.81607/

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7623 | infuscomus | ⇗ @George King That's the most recent version for XP as far as I know. I also checked daniel_k's USB 3.0 driver against XP ntoskrnl/hal - no missing dependencies, so I think it should work.

#7624

George King

⇗ @infuscomus Yes, both of these USB3.x driver works. But when used one from "Integral Edition" ⇗ @imadam__ then was stuck on boot logo and after deleting ucx01000.sys was system bootable again.[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7625 | infuscomus | ⇗ @George King both versions have ucx01000.sys - but it's only the "integral edition" version that freezes?

#7626

George King

⇗ @infuscomus We need confirmation from ⇗ @imadam__[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7627 | imadam__ | i deleted the ucx....sys file and it still wont boot.

#7628

George King

⇗ @imadam__ You confirmed ¶ here, when using beta 4 ISO and deleted usx....sys system was bootable. When using beta 5 ISO without driverpacks was what result?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7629 | imadam__ | it was bootable without the SDI thing but with them it doesnt boot.

#7630

infuscomus

⇗ @George King
Whilst testing your WinXP_AIO_ESD_v1.6_b5_w8_based.iso in a VMWare VM I noticed that while the driver for the USB 3.0 controller installed correctly, but the USB 3.0 hub driver did not.
I had to manually point it to usbxhci.inf again before the hub would install.
Can you test in your own VM with USB 3.0 enabled and confirm this?

#7631 | imadam__ | im trying to install the usb 3 drivers manually in snappy driver installer in the OS but the OS completely freezes when i try to
#7632 | infuscomus | ⇗ @imadam__ can you try installing XP without the USB 3.0 drivers first, and only install the USB drivers after XP makes it to the desktop?
#7633 | imadam__ | thats what im doing. in snappy driver installer.
#7634 | infuscomus | ⇗ @imadam__ you can also without snappy driver installer instead manually point it to usbxhci.inf for installation.
#7635 | imadam__ | that still freezes it.

## Page 510

#7636

George King

⇗ @imadam__ Thanks, that means only ucx01000.sys in from "Integral edition" cause this problem
EDIT: OK, seems like you need to find other (chipset etc) drivers and install them first before USB3.x
⇗ @infuscomus Confirmed. This seems to be caused by MSSTMake during processing drivers when is image prepared to capture. This is related to missing ucx01000.sys and related service registry keys. I have contacted MSSTMake author as this seems like a bug. Will see what he answer[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7637 | YuriyCN | Windows XP - 20 years! Happy birthday!

#7638

gordo999

> Zitat von ⇗ imadam__ im Beitrag ¶ #7612

> the chipset drivers wont install. it just says "error opening installation log file. Verify that the specified log file location exists and is writable.

⇗ @imadam__ I've had a lot of grief with this on W7 recently and it's all about file and folder permissions. Permission are not nearly as stringent in XP as in W7 so this may be a long shot.
Is there an error number? Do you see an 'access denied' anywhere?

#7639 | imadam__ | I got it to work btw
#7640 | infuscomus | ⇗ @imadam__ How? Please tell us more.
#7641 | imadam__ | I mean the chipset drivers, still can't get usb drivers to work
#7642 | infuscomus | ⇗ @imadam__ If it's not working why did you say you got it to work?
#7643 | imadam__ | I meant I could get the chipset drivers to work, but not the usb driverd
#7644 | guzargu | it was bootable without the SDI thing but with them it ⇗ Windows XP 32Bit doesn't boot.

#7645

George King

> Zitat von ⇗ guzargu im Beitrag ¶ #7644

> it was bootable without the SDI thing but with them it doesnt boot.

SDI = Snappy Driver Installer then it depends on used DriverPacks - there always can be bad driver in their collection of course [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7646 | imadam__ | i tried installing the AMDXHCI_XP_276_FINAL usb drivers but it just froze :(

#7647

diderius6

⇗ @imadam__
What Sata drivers are shown in Device Manager and in Hardware which Dev_ ?
With my tests on the ASRock Fatal1ty AB350 Gaming K4 I noticed,
that very few Sata drivers work there correct. May be best is the original AMD sata driver
see post ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (505)
and
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (112)
and
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (418)
Also I noticed, that on the Ryzen boards a lot PCI-e lines are shared. This gives crazy results,
for example sound or network. And I see, that the behavior with different Bios versions is different
and some of the the USB depends also on the cpu, because the Ryzen processor is like cpu with integrated own chipset.
So, put all out only graphikcard stays. And try different Sata slots,
because some go direct to cpu and some to the B450 chipset
Dietmar
PS: There is a new storport.sys from Kai Schtrom, which should pass through SMART information.
⇗ https://sourceforge.net/projects/storpor...-smart-support/

#7648 | imadam__ | am i looking for Hardware Ids? if so then for the sata driver AMD SATA Controller it PCI\VEN_1022&DEV_43c8&SUBSYS_10621B21&REV_01
#7649 | diderius6 | ⇗ @imadam__ Yepp, this is one Dev_ from the Sata devices. But there should be another Sata Dev_ for another Sata slot also. And what is the exact name of the driver for Sata now Dietmar
#7650 | imadam__ | yeah, theres another one also named "AMD SATA Controller" PCI\VEN_1022&DEV_7901&SUBSYS_87471043&REV_51

## Page 511

#7651 | diderius6 | ⇗ @imadam__ Now the exact name with time stamp for the used Sata drivers please Dietmar

#7652

imadam__

Name: AMD SATA Controller
Driver Provider: AMD
Driver Date: 3/29/2015
Driver Version: 1.2.1.402
Driver files: C:\Windows\System32\Drivers\amd_sata.sys
C:\Windows\System32\Drivers\amd_xata.sys
File Version: 1.2.001.0402 built by: WinDDK

#7653

diderius6

⇗ @imadam__
This looks like the original AMD Sata driver.
But even from it exist different versions.
Please go to windows\system32\drivers and look for the exact name of storport.sys with time stamp or can you upload this storport.sys to ⇗ https://ufile.io/
Dietmar

#7654 | imadam__ | storport.sys - ⇗ https://ufile.io/7nwe2u0e

#7655

diderius6

⇗ @imadam__
Thanks,
this is the from win7 Sp1 backported version of storport.sys
6.1.7601.23403 (win7sp1_ldr.160325-0600)
But may be, that newer storport.sys from WinServer 2003 also works with this Sata driver
or the new one from Kai
Dietmar

#7656

diderius6

I just test original amd_sata.sys, build for Win7 bit 32.
It works without any modification(!) together for XP SP3 with storport.sys from Winserver 2003 SP2 vers. 5.2.3790.4485 .
But the for Trim used file amd_xata.sys shows 2 unfullfilled dependencies to ntoskrnl.exe
PoRegisterPowerSettingCallback
PoUnregisterPowerSettingCallback
Dietmar

#7657

diderius6

⇗ @imadam__
Can you please test this AMD Sata drivers?
First copy this storport.sys to folder windows\system32\drivers
And then try to change from running XP the Sata driver against those ones
Dietmar
⇗ https://ufile.io/vbwmo02m

#7658 | imadam__ | i tried using them files - but usb driver installatio still freezes - sorry for the wait

#7659

diderius6

Just in this moment my new board Asus rog strix b450-f gaming II arrives.
Before I make a try with the AB350 Asrock fatalty K4 board and Ryzen 3700x cpu.
There my new modded Sata driver for AMD works at once.
I use my own XP SP3 CD, just brandnew updated with only all XP SP3 updates and PosReady until May 2019,
my last modded acpi.sys and the AMD sata driver from below.
Thanks a lot to ⇗ @George King !
Dietmar
AMD Sata original driver for XP 1.2.1.321 using original storport from Server 2003 SP2 version 5.2.3790.4485
works for all(?) boards from AMD 400 serie
⇗ https://ufile.io/8rppgryz

#7660 | imadam__ | i tried to install the AMDXHCI XP 145-Final v3 and AMDXHCI XP 276-Final v3 USB 3 drivers and that got further - but i got a BSOD 0x0000008E
#7661 | juk777 | I wonder - how did you manage to install the driver from 2003 on XP, if NTx86.5.2 is written in your. inf file instead of NTx86.5. 1?

#7662

diderius6

⇗ @juk777
XP works also under the name NTx86.5.2 :)).
But a strange thing I noticed:
The file amd_xata.sys is not copied via txtsetup.oem and nlite.
When you add this file later via hand,
you get Bsod 0x7B on next reboot.
Dietmar
PS: I think, that amd_xata.sys is used for SMART information. And without changing something in storport.sys
SMART does not work for XP SP3.
EDIT: I make a try with the new storport.sys from Kai Schtrom, but keeping the original amd_sata.sys .

#7663

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7662

> But a strange thing I noticed:
> The file amd_xata.sys is not copied via txtsetup.oem and nlite.
> When you add this file later via hand,
> you get Bsod 0x7B on next reboot.

Dietmar, amd_xata.sys is a filter driver, used as a power management helper and to passthrough TRIM commands on Win7 and later.
Filter drivers are not required for basic operation and txtsetup.oem does not provide a way to install filter drivers during text mode setup.
amd_xata.sys is properly installed during GUI mode setup through the driver's INF file.

#7664

diderius6

⇗ @daniel_k
Nice to see you ).
I noticed another crazy behavior. On last boot I get Bsod 0x7B.
A closer look at the registry shows me, that no entry is in CriticalDeviceDatabase and also not the correct path
to the file amd_xata.sys in [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\amd_sata].
I remember, when this happen: When you try to install a not signed driver in XP. After adding servicepacks,
the message is gone in XP setup : "Do you want to install unsigned drivers?"
This can be overcome with adding a file
WINNT.SIF
[Unattended]
NonDriverSigningPolicy = "Ignore"
DriverSigningPolicy = "Ignore"
This gives message direct at the beginning of Gui-Setup
"Inconsistant Strukture" and Setup fails.
Then I changed also, but with same result "Inconsistant Strukture" and Setup fails.
`HIVEDEF.INF
HKCU,"SOFTWARE\Policies\Microsoft\Windows NT\Driver Signing","BehaviorOnFailedVerify",0x00010003,00000000`
Hm, now it hangs with this settings on Text setup, I cant see the harddisk.
So it seems, that the direct installation of XP SP3 does not work with this driver from AMD 1.2.1.321.

#7665 | imadam__ | are you having the same issue as me (setup is starting wndows)

## Page 512

#7666

diderius6

⇗ @imadam__
I tried the original AMD 1.2.1.321 Sata driver, fails always on 3. reboot with Bsod 0x7b,
even I integrate the amd_sata.sys in registry by hand, strange.
I tried the generic Storahci driver from Kai, fails on 2. reboot with Bsod 0x7b.
This driver gives randomally 0x7b even on first boot, so something unstable there.
Now the modded Sata driver AMD 1.2.1.402 from ⇗ @daniel_k I will try and the Win8 driver for AHCI from ⇗ @Mov AX, 0xDEAD .
When those driver also fail, I will try to use no update pack at all,
just naked original XP SP3 CD.
On the Asrock ab350 gaming k4 I can use the Asmedia 106 Sata scsiport driver with its own driver,
but this is not(?) possible on the board Asus rog strix b450-f gaming 2 .
(I remember some tests from ⇗ @daniel_k to make the Sata Asmedia 106 driver generic.
This has big advantage of no need for any storport.sys because it is a scsiport driver)
Later nvme boot, usb boot or ram boot are next next possibilities.
Tomorrow is another day
Dietmar

#7667 | imadam__ | xp2esd worked for me, probably becaus it uses windows 8 PE to install which has native usb 3 and sata drivers

#7668

diderius6

⇗ @imadam__
With ⇗ @Mov AX, 0xDEAD AHCI driver from Win8,
blackscreen on 3. boot.
It looks, as if the Bios has a problem to detect, at which Sata port the harddisk is connected
Dietmar
EDIT: Yepp, when I change randomally the Sata connector, suddently the black screen is gone and for the very first time I can finish install of XP with ⇗ @Mov AX, 0xDEAD AHCI driver from Win8.

#7669 | diderius6 | ⇗ @daniel_k Can you tell me about your results of making the Asmedia 106 Sata driver generic? You changed the DEV_ ID in the driver itself away from asmedia. As far as I remember, the CD rom device was then shown also as harddisk ) Dietmar

#7670

daniel_k

⇗ @diderius6
Dietmar, my finding are here:
⇗ Generic SCSIAHCI driver for Windows XP
Original ASMedia SCSIPORT drivers v2.0.3.0001:
⇗ http://www.mediafire.com/file/llbijc030nvjmtl
The driver is completely generic, there is no hardware ID checking, just edit .inf and add a generic ID:
PCI\CC_010601
Good luck!

#7671

juk777

"AMD AHCI Driver 1.2.001.0210
It does not support Windows XP, although it is possible to work with certain combinations of the controller and the version of the AHCI module in the BIOS.
Use it at your own risk.
ATTENTION! 1.2.001.0210 does not support TRIM, and therefore is not recommended for working with SSD.
TRIM support appeared in 1.2.001.0263 (package 10.9 for Vista /7).
Latest versions: 1.2.001.0402 (Win7), 1.3.001.0276 (Win8).
It made sense to put it only in XP, where there was no one of its own, and in Vista, where MS was not very good.
In Windows 7 and newer-the built-in is not slower, and is more stable. "(C)

#7672

diderius6

⇗ @daniel_k
After integrating the Asmedia 106x with nlite in the Setup CD I get message,
"No harddisk for installation can be found".
This is not a bluescreen, this message appears after accepting EULA via F8.
Do I mod the *.inf and the TXTSETUP.OEM correct?
⇗ @canonkong wrote, that for AMD generic PCI\CC_010601 does not work and that you have to give the exact Dev_ ID
for AMD devices, what do you think
Dietmar
⇗ https://ufile.io/emm0asb9
EDIT: I remember from tests with USB boot, that exact this message appears when all was ok with the driver,
but the Bios does not recognice the harddisk because of no support for USB in very old Bioses.

#7673 | canonkong | ⇗ @diderius6 If your mainboards is ASUS, Enable Precision Boost Overdrive and Disable PBO FMax Enhancer in BIOS, because ASUS will freeze when booting if using the win8 port driver.

#7674

diderius6

I have to use Force LBA when formatting the harddisk in RMPrepUSB, if not I get a blinking cursor at the end of TXT Setup of XP.
But now, waaoh:)) for the very first time I can install XP SP3 without any problem!
For this I use the nice modded Sata driver from ⇗ @daniel_k , I add TXTSETUP.OEM to it
and integrate this driver via nlite
Dietmar
⇗ https://ufile.io/a0h27ulz

#7675

diderius6

⇗ @imadam__
I use for install XP on the board Asus Rog Strix b450-f gaming II an original XP SP3 CD without any extra service packs.
With the AMD Sata driver from ⇗ @daniel_k installation was very fast, without any problem.
Shutdown works also with the PS/2 keyboard connected.
An y-cable in the PS/2 slot does not work, message "No keyboard connected".
So you can use keyboard or mouse.
Just now I try to install the USB driver AMDXHCI_XP_276_FINAL from ⇗ @daniel_k .
On USB devices this gives Bsod 0x7E 0xC0000005 and on the other 0x8E 0xC0000005
The same for AMDXHCI_XP_FINAL_V3 .
Dietmar

#7676

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7672

> Do I mod the *.inf and the TXTSETUP.OEM correct?

Yes, it's correct.
The driver works with Intel controller and even Jmicron's.
Those Ryzen AMD systems are complicated to deal with.
It's a shame, Intel is much more legacy compatible.

#7677 | imadam__ | Alright, I'll try that tomorrow maybe if I have time

#7678

diderius6

This is brandnew USB driver,
I think from work together ⇗ @Mov AX, 0xDEAD and ⇗ @daniel_k .
This driver needs no storport.sys and so comes not in conflict with the Sata storport.sys.
And the very best is:
It works at once for all USB ports :))))))))))!!!!!!!!!!!!
of the Board ASUS ROG Strix B450-F Gaming II
Dietmar
⇗ https://ufile.io/9879ypno
EDIT: Now this board becomes really interesting for XP. All drivers are there!

#7679

diderius6

On the Board ASUS ROG Strix B450-F Gaming II
I got nearly everything to work under XP SP3.
Acpi
Graphik
Sound
Lan
Com1 port
USB2, USB3
PS/2 port
Sata
Nvme works, see post
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (513)
There is one not nice thing: The USB controller with Dev_149C crashes the compi at boot (hangs early).
Even sometimes with no USB device connected. I tried also the original Win8 USB driver from ⇗ @Mov AX, 0xDEAD from 5 May 2020. With this Usb driver, the board hangs always with Dev_149C enabled. So, on this board the new USB driver is better!
This controller with Dev_149C works, when the compi is already started (can enable it in Device Manager).
So I disable this controller Dev_149C in Device Manager.
The other controller with Dev_43D5 works with all USB devices, that I tested, no hang, no crash at all.
The PS/2 port makes no problem for shutdown, just works.
So, 4 USB ports 2 USB2, 2 USB3 are left for permanent working under XP SP3
Dietmar
⇗

#7680 | imadam__ | just curious - what graphics card is that? i ordered a gt 740 for gpu passthrough on linux but i can also use it on windows xp natively ::)

## Page 513

#7681

diderius6

⇗ @imadam__
It is an Nvidia GT 730.
I just get 39001 Points with 3DMark 2001 on the Ryzen 3700x above,
this nice card seems to live forever
Dietmar
PS: I like this board a lot, now it is rock stable!
And from feeling it is fast..

#7682 | juk777 | And what specific version of mod acpi was used?
#7683 | diderius6 | ⇗ @juk777 This one ⇗ https://ufile.io/jkvo34sp
#7684 | juk777 | And how did the experiments with the modification of the Server 2003 sata driver version 1.2.1.321 end?
#7685 | diderius6 | ⇗ @juk777 Always Bsod 0x7B after 3. reboot. I notice, that the driver was not integrated and this can happen because of no driver signing. With the new AMD Sata version from ⇗ @daniel_k together with my TXTSETUP all is easy Dietmar
#7686 | juk777 | How do you like Kai Schtrom StorAhci?
#7687 | diderius6 | ⇗ @juk777 Before I thought, that the Ahci driver from Kai was the most generic. But for the Asus Strix board it does not work Dietmar

#7688

diderius6

The only nvme driver for XP SP3,
which works correct on the board ASUS ROG Strix B450-F Gaming II
with a lot of different nvme devices,
is the one from ⇗ @daniel_k .
The Samsung nvme driver shows on all nvme devices Code 10.
This means, that this Samsung driver is not the most generic
Dietmar
Working nvme driver for ASUS ROG Strix B450-F Gaming II
⇗ https://ufile.io/rdp8xw3g

#7689 | juk777 | And the respectable ⇗ @daniel_k will not try to modify Server 2003 sata driver version 1.2.1.321 to a working state?

#7690

juk777

"the processor always consumes significant power
The problem is again related to the disabled hardware ACPI blocks.
In ACPI described two modes of reduced power consumption C2 and C3,
to move the processor must record certain values in certain ports ACPI iron
then there is BACH and darkness, the CPU clock is no longer serving + the rest of the magic,
associated with the state of the internal cache, etc.
Because ACPI is now on the Board in truncated mode, Windows XP mode S2/S3 does not pass, though, and logs everything you need in ports.
The darkness does not come, the processor turns as if nothing had happened.
It is logical to ask - and how do Windows 7-10 save energy?
It's very simple - they use only the capabilities of the central processor without using the ACPI subsystem.
There are two options that can be achieved from the CPU:
classic hlt instruction, you can only switch to C1 mode
monitor/mwait instructions, switches to C7 or C10.
The solution for Windows XP is to patch one file so that instead of ACPI C2/C3, the same two processor methods are used... "(C)
Has it been decided yet? Which file is meant?

#7691 | daniel_k | ⇗ @diderius6 Dietmar, can you try this AHCI driver v1.2.001.0337 for Server 2003? ⇗ http://www.mediafire.com/file/1xg19o49kfv9u6l Really hard to find and the last one for NT5.2.

#7692

diderius6

⇗ @daniel_k
Hi Daniel, I install those Server 2003 files via its modded *.inf
I can see what changed:
amd_sata.sys 1.2.1.402 => amd_sata.sys 1.2.1.337
amd_xata.sys 1.2.1.337 => amd_xata.sys 1.2.1.337
Both work.
Here I send you the compare of the modded 1.2.1.337 *.inf file,
it is different from the modded 1.2.1.402 *.inf file
Binary compare shows, that both amd_xata.sys 1.2.1.337 are identic.
But amd_sata.sys 1.2.1.402 is very different from amd_sata.sys 1.2.1.337
CrystalDiskInfo8_12_7 shows, start SMART also here works
Both drivers are very fast. This is the first time, that my hardisk shows 210 MByte/s.
The amd_sata.sys 1.2.1.402 is as fast as the amd_sata.sys 1.2.1.337
Dietmar

    FILE COMPARISON
    Produced: 29.08.2021 18:55:44

    Mode:  Just Differences

    Left file: D:\amd_sata_1.2.001.0337_Server2003\amd_sata.inf
    Right file: D:\WinXP-IE Optional Patch Integrator v3.2.0-beta\Integrator Files\Patches\AMD SATA driver v1.0\amd_sata.inf
    2
    ; Copyright (c) 2008-2012 AMD
    <>
    2   ; Copyright (c) 2008-2015 AMD
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    10
    DriverVer=10/12/2012,1.2.001.0337
    <>
    10  DriverVer=03/29/2015,1.2.001.0402
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    22
    <>
    23  [AhciPowerSetting]
    24  Subgroup = {0012ee47-9041-4b5d-9b77-535fba8b1442}
    25
    Setting =  {0b2d69d7-a2a1-449c-9680-f91c70521c60}, "AHCI Link Power
    Management - HIPM/DIPM", "Configures the LPM state.",,0x00000001
    26
    27  Value = 0, "Active", "Neither Host or Device initiated allowed", 0x00010001, 0
    28  Value = 1, "HIPM", "Host initiated allowed only", 0x00010001, 1
    29  Value = 2, "HIPM+DIPM", "Both Host and Device initiated allowed", 0x00010001, 3
    30  Value = 3, "DIPM", "Device initiated allowed only", 0x00010001, 2
    31  Value = 4, "Lowest", "HIPM+DIPM+DEVSLP", 0x00010001, 7
    32
    33  ; High Performance
    34  Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 0, 0
    35  Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 1, 1
    36  ; Balanced
    37  Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 0, 1
    38  Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 1, 1
    39  ; Power Saving
    40  Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 0, 2
    41  Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 1, 2
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    55
    <>
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------

    -+ 42
    ;FeatureScore=0xFE
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    106
    HKR, "Parameters\Device","AmdSataDevSlp",%REG_DWORD%, 0x100
    <>
    86  HKR, "Parameters\Device","AmdSataDevSlp",%REG_DWORD%, 0x3E8

    87  HKR,
    "Parameters\Device","AmdSataSWSP",%REG_DWORD%, 0x0F
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    139
    <>
    120 HKR, "StorPort", "EnableIdlePowerManagement", %REG_DWORD%, 0x01
    ------------------------------------------------------------------------

#7693 | diderius6 | Here is the for XP SP3 modded version of the file amd_sata_1.2.001.0337_Server2003.7z from ⇗ @daniel_k Dietmar ⇗ https://ufile.io/0x3av66j
#7694 | diderius6 | ⇗ @daniel_k This AMD Sata driver amd_sata_1.2.001.0337_Server2003 works also with original storport.sys 5.2.3790.4485 from Win Server 2003 on XP SP3 and SMART, waaohh;)).. Dietmar

#7695

daniel_k

⇗ @diderius6
Thanks for your test report.
1.2.1.337 might be better for XP because 1.2.1.402 is signed for Win7 and may have removed compatibility code with 2003, which usually affects power management.
It's just a guess as I didn't do a more in-depth analysis of the code.
Are you using a mechanical HDD?
If you have a chance, please check if these drivers properly shutdown SSDs (save SMART before shutdown and after turning it on again).

## Page 514

#7696

diderius6

⇗ @daniel_k
I copied whole mechanical harddisk to an Samsung 860 EVO SSD.
Cristaldiskmark shows 565 MByte/s , this is the highest value, that I have ever seen.
Shutdown works, SMART is written.
But the really crazy amazing is the boottime of XP with this SSD and
AMD Sata driver amd_sata_1.2.001.0337_Server2003:
1 sec
Dietmar

#7697

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7696

> Shutdown works, SMART is written.

Check POR Recovery Count attribute.
After a proper shutdown, it does not increase.

#7698 | diderius6 | ⇗ @daniel_k POR Recovery Count 99 before shutdown. After restart POR Recovery Count 99 Dietmar
#7699 | daniel_k | ⇗ @diderius6 Nice, the best AHCI driver for AMD systems! Enjoy your new AMD system, you're surely having fun with it.
#7700 | diderius6 | ⇗ @daniel_k My last AMD system for daily use was from 2003, first of all with 64 bit. But this is the first board since this time, that I like from AMD ROG Strix B450-F Gaming II with Ryzen 3700x, Bios 4007, 32 Gbyte Ram Dietmar
#7701 | infuscomus | ⇗ @diderius6 what do you not like about the Asrock AB350 G K4?

#7702

diderius6

⇗ @infuscomus
Not bad board and I test a lot with it.
But its Bios is crazy: You have sound or network or nvme,
4 tries always for USB boot, compi starts sometimes in 5 seconds and sometimes never,
sometimes after 40 sec.
I use it with this Ryzen 3700x, test everything what can be done better in Bios. For training it is good.
The Strix board is other, just an evolution in Bios
Dietmar

#7703

gordo999

> Zitat von ⇗ juk777 im Beitrag ¶ #7690

> It is logical to ask - and how do Windows 7-10 save energy?
> It's very simple - they use only the capabilities of the central processor without using the ACPI subsystem".

⇗ @juk777 ...I don't think the processor has much to do with power saving. All power saving circuits, that turn devices on and off, are on the motherboard as hardware. It is the ACPI system that controls the power saving hardware, as far as I know. Unless, of course, the processor has circuitry to shut itself down after all ACPI-controlled circuits are shut down. That would make no sense unless the processor states were stored on the CPU or on external storage.
Power saving states are controlled by hardware devices on the motherboard, by mosfet transistors. Does not make sense to put those devices into the processor. When you get to the lowest sleep state, which is hibernate, all the computer states are stored on disk along with the memory state.

#7704

galagun

> Zitat von ⇗ gordo999 im Beitrag ¶ #7703

> Power saving states are controlled by hardware devices on the motherboard, by mosfet transistors.

Not anymore. Newer 2019+ CPUs have PWMs and Power Management IPs and microcode bolt in the CPU die.
Main power states may still depend on external mobo hardware, but intermediate microstates don't, and actually these are more important than main states to low overall hardware consumption. Idea taken from phone SoCs btw.

#7705 | juk777 | And here's another point: for Intel, the file intelppm.sys patched (the one that is "in the package" with the patched hal.dll), and amdk8.sys for AMD - no?

#7706

gordo999

> Zitat von ⇗ galagun im Beitrag ¶ #7704

> Not anymore. Newer 2019+ CPUs have PWMs and Power Management IPs and microcode bolt in the CPU die.

⇗ @galagun ...I'm no expert on this but are you referring to CPU power state management? That's not the same as the ACPI-based power saving states, it has more to do with power management inside the processor.
⇗ https://link.springer.com/chapter/10.100...1-4302-6638-9_2
"As power management has become more and more complex, CPUs have added internal microcontrollers that have special firmware for managing the CPU power management flows. At Intel, these microcontrollers are called both the PCU (power control unit) and the P-Unit, and the code that they execute is called pcode".
As you know, it's vital to control the heat in a CPU as well as to keep its power consumption at a minimal level. Seems to me that's what the CPU built-in controller do. They may also be geared to hardware means of fighting software reverse engineering. Lot of secrecy around it.
ps. an example is the way they shut down unused cores and reduce the power to cores until they are needed.

#7707

diderius6

Hi,
I got few Asus boards P8H77-M with cpu i3-3240 for free.
But now it looks for me, that the TPM chip on this boards is enabled.
All boards show with connected screen endless light blue, black, white, blue, black, white..
Keyboard or mouse on PS/2 or on USB or Win8.1 setup CD or Win10 setup USB stick are complete ignorated.
Is there a chance, when I flash the socket Bios chip with EEpromer just with Bios from Website or
is it a lost case
Dietmar
EDIT: I cleared CMOS, put cmos batterie out, changes nothing.
Because all boards show exact the same behavior, they are not defekt.
EDIT2: Hm, may be it is really only something strange in Bios of each board, because in manual of the P8H77-M is written,
"This connector supports a TPM system, TPM 20-1"
Does this mean, that this board P8H77-M itself has no TPM at all? Then Bios flash will help!

#7708 | infuscomus | ⇗ @diderius6 If you can login to the BIOS I think it should be possible to wipe the key stored in the TPM and then you should be able to switch it off.

#7709

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7707

> All boards show with connected screen endless light blue, black, white, blue, black, white..

⇗ @diderius6 ...hey, Dietmar...back in the bad old days where the displays were tubes, vertical lines down the screen and right across it was called 'ringing'. Ringing refers to an oscillation modulating the beam as it scans across the screen.
With modern LCD screen, an electron beam is no longer swept across the screen, as you know, but something has to move the display pixel to pixel in a horizontal direction. At the same time, something sweeps it vertically. If there is something in a driver, or elsewhere, causing the screen pixels to be modulated in a regular manner, the result is vertical lines across the screen.
Can you see any video at all, or just a blank screen with vertical lines?
I would suggest your problem is in a driver that may not match your display specifications. BTW...I have read that a faulty power supply or bad power connections can do the same.

#7710

diderius6

⇗ @infuscomus ⇗ @gordo999
When I switch on the boards, the screen reacts soon and changes in a whole to this moving colors,
all over the LCD screen same color, no letters, no lines, just colors in full. It is HDMI and the connection works.
Yes, when I can reach the Bios, I can set everything back.
But the 16 boards do not react to anything, I have never seen before.
I tried different power sources, always the same.
What I think is, that somebody changes Bios to network boot
and succeed to tell the compi only via Bios, that no reaction to anything other at this time
Dietmar
PS: Today I will read out the Bios chip and then flash it new with Bios from webside of Asus and we will see..
I hope, that it is not possible to edit the Bios of the network card to make whole compi to behave like this.
The network is a 1 Gb LAN Realtek RTL8111F .
EDIT:
Just an idea: Is it possible, to delete in this readout Bios the lan card RTL8111F
and later update it normal with Website Bios?
Here is the 8 Mbyte original read out with nice EEpromer Revelprog IS of the Bios chip W25Q64BV of the ASUS P8H77-M
⇗ https://ufile.io/h3d2tlu3
⇗

## Page 515

#7711

daniel_k

⇗ @diderius6
Dietmar, FYI your BIOS dump is from version 1202.
Make sure you save that dump so you can restore the MAC address later.
Download the latest BIOS version from 2014, open the .CAP with UEFITool NE, expand the tree, select Intel image and Extract as is.
Write the resulting .rom file to the eeprom and cross your fingers!

#7712

diderius6

⇗ @daniel_k
Oh, first I try to find out, from where you know, that it is Bios version 1202.
Now I find also:)).
I flashed the Bios chip with Asus website Bios 1202, without the "Cap" from Asus Bios and double check, that all works correct.
Now, the color show is gone on monitor, no output at all.
Before, the keyboard LED lits up for a short time, this is now gone also.
The compi starts (I hear ventilator from cpu starting),
but the compi looks now "more" dead than before, may be, because the MAC adress is gone and now the lan chip can not work at all
Dietmar

#7713

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7712

> the compi looks now "more" dead than before, may be, because the MAC adress is gone and now the lan chip can not work at all

Did you try to remove all RAM sticks (only CPU) and power on the board to see if it beeps?
If it doesn't, flash the dump you saved and do the same test.
Do these boards were working at all? Maybe were replaced after a lightning strike?

#7714

diderius6

⇗ @daniel_k
I am sure, that all boards work.
I ask the "vendor" and he tells me this.
He told me also, that those boards where booted via network and Arch Linux.
And that a password for the (normal) UEFI Bios was set, which he dont knows.
This sounds strange for me, because in this case I should get the question "Enter Password",
which did not happen. And also I think, that normal Bios passwords can be killed with Batterie out and clear CMOS.
May be, that on newer motherboards this Bios password is stored at other place, who knows.
"If it doesn't, flash the dump you saved and do the same test."
Yes, this will be my next step if I have until now no other idea
Dietmar

#7715 | daniel_k | ⇗ @diderius6 Clear CMOS would work, even the manual says that and those boards are consumer models, nothing special. Did you try an external graphics card? Might be worth a try.

#7716

diderius6

⇗ @daniel_k
At another board with the same light show before,
after Clear CMOS the light show is gone and now asks "Enter Password".
So, to clear CMOS is not enough for to cancel this normal UEFI Bios password
on the Asus board P8H77-M
Dietmar

#7717 | daniel_k | ⇗ @diderius6 Write the dumped BIOS back to the first board and see if the "light show is back". Only if it does, dump the BIOS of the board that asks for the password and flash the original downloaded from ASUS. I believe the password is stored in the eeprom itself.

#7718

diderius6

⇗ @daniel_k
For to test your idea,
I do not flash, but I change the Bios chips.
But now the second compi looks like dead as first one,
no flashing keyboard,
no light show, no asking for password.
When even the change of the Bioschip is not enough (I am 100% sure, that the flashing ends ok),
the UEFI BIos password or some parts of it must be stored at other place in compi also
Dietmar
EDIT: Now I change Bioschip back
and second compi asks for password again^^..

#7719

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7718

> the UEFI BIos password or some parts of it must be stored at other place in compi also

It's strange as I've seen reports that flashing stock/manufacturer BIOS gets rid of the password.
Would be nice of the system administrator to clear the password before "donating" the boards.

#7720

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7718

> Now I change Bioschip back
> and second compi asks for password again^^..

What about trying that BIOS that asks for the password on the first board?

#7721 | diderius6 | ⇗ @daniel_k Yepp, exakt this I am doing just now Dietmar

#7722

diderius6

⇗ @daniel_k
I notice, that in the board, that asks for password is a different bioschip
EN25F64
So, first I make with EEpromer a copy of this chip, it laaasts some time
before I put it in first compi
Dietmar

#7723

diderius6

⇗ @daniel_k
With Bios chip from Compi, that asks for password,
first compi is "dead" as before, no flashing keyboard.
May be, something is defekt with first board.
For next tests I use only second board,
which asks for password
Dietmar

#7724 | daniel_k | ⇗ @diderius6 I'd try to flash the dump back to the first board, remove the battery for some time and try to power it on again. Sometimes hardware specific data in the BIOS image is part of the password protection. ⇗ @plutomaniac Was thinking, does ME play any role related to UEFI admin password?

#7725

diderius6

⇗ @daniel_k
Just few min ago I get a mail with the password for all those boards.
The "seller" of those boards give me the mail adress, from the person, who gives to him all those boards.
And I write a kind mail to this person and he answered me in 15 min with the correct password.
The password is a little bit crazy:
ichhassems
Which means translated "I hate Microsoft" . Ok, on all the boards was Arch Linux^^, booted via network.
At the board, that asks for password, this password works at once.
I go to its Bios and delete the Admin password just now.
Now this boards is free, nice. Until now the only one, that is free.
From tomorrow I have more time and I will test dump the Bios of the other boards with password enabled.
Then I disable this password there and compare with Winhex, what changed in the Bios dump.
It looks, that it is not enough to change a Bioschip with Admin password against another Bioschip without password
Dietmar
EDIT: By the way, now I understand, WHY I get all those boards for free. The original owner of the boards did not tell his password to anyone before, even they ask a lot..

## Page 516

#7726

Masterchief79

> Zitat von ⇗ diderius6 im Beitrag ¶ #7536

> @Masterchief79
> The Bsod from your graphikcard can be memory related.
> So make a try with a new *.iso,
> but this time without the "5" in settings of Integral Edition 2021.5.15
> Dietmar

Hey, it's been a few days. I did what you suggested and burned another CD with the "5" disabled. XP installs fine, but the first time actually booting to OS after the setup is complete, I instantly get this ntoskrnl.exe BSOD. Before, it only happened after a few reboots and a GPU swap. Does that help to narrow the issue down?
Before and after:
⇗
⇗

#7727 | diderius6 | ⇗ @Masterchief79 This Bsod is memory related. What exact happens I dont know Dietmar
#7728 | infuscomus | ⇗ @Masterchief79 It might be one of the optional patches causing the BSOD - I think you might need to try trial and error to find out which one of the patches is causing the BSOD. It's a shame ⇗ @Mov AX, 0xDEAD isn't around to give more info on that BSOD.

#7729

diderius6

⇗ @daniel_k
I make a test with Bios. This is readout from whole Bios chip with EEpromer Revelprog IS of the board ASUS P8H77-M
On the left side is without password and the right side is with password.
The diff file I make with Winhex
Dietmar
PS: Now in Bios is Password. And for the very last test I flash back the before readout without any password to the Bioschip with EEpromer.
And voila;)), on the same board now the Bios shows NO password and the compi starts normal.
This means: The major(?) part of the Admin password in UEFI Bios is stored in Bioschip.
CMOS I do not clear, so nothing of password in UEFI Bios is stored in CMOS.

    Überprüfung auf Unterschiede

    1. F:\P8H77-M-ASUS-1202\BiosOHNEPasswordtest220210903_235655_FLASH_25064.bin: 8.388.608 Bytes
    2. F:\P8H77-M-ASUS-1202\MitPasswordTest220210904_000426_FLASH_25064.bin: 8.388.608 Bytes
    Offsets: hexadez.

     155BE:	DC	C8
     155C9:	5C	48
     155D4:	DC	C8
     155DF:	FF	48
     155E0:	FF	F0
     155E1:	FF	00
     155E2:	FF	0D
     155E3:	FF	03
     155E4:	FF	00
     155E5:	FF	0C
     155E6:	FF	00
     155E7:	FF	07
     155E8:	FF	07
     155E9:	FF	03
     155EA:	FF	C8
     155EB:	FF	F0
     155EC:	FF	00
     155ED:	FF	02
     155EE:	FF	00
     155F0:	FF	40
     155F1:	FF	00
     155F2:	FF	07
     155F3:	FF	07
     155F4:	FF	04
     155F5:	FF	DC
     155F6:	FF	F0
     155F7:	FF	00
     155F8:	FF	2A
     155F9:	FF	00
     155FA:	FF	00
     155FB:	FF	48
     155FC:	FF	00
     155FD:	FF	07
     155FE:	FF	08
     155FF:	FF	00
     15600:	FF	48
     15601:	FF	F0
     15602:	FF	00
     15603:	FF	0D
     15604:	FF	03
     15605:	FF	00
     15606:	FF	0C
     15607:	FF	00
     15608:	FF	07
     15609:	FF	08
     1560A:	FF	01
     1560B:	FF	C8
     1560C:	FF	F0
     1560D:	FF	00
     1560E:	FF	02
     1560F:	FF	00
     15611:	FF	40
     15612:	FF	00
     15613:	FF	07
     15614:	FF	08
     15615:	FF	02
     15616:	FF	5C
     15617:	FF	F0
     15618:	FF	00
     15619:	FF	0D
     1561A:	FF	03
     1561B:	FF	00
     1561C:	FF	0C
     1561D:	FF	00
     1561E:	FF	07
     1561F:	FF	08
     15620:	FF	03
     15621:	FF	DC
     15622:	FF	F0
     15623:	FF	00
     15624:	FF	02
     15625:	FF	00
     15627:	FF	40
     15628:	FF	00
     15629:	FF	07
     1562A:	FF	08
     1562B:	FF	04
     1C01D:	80	00
     1C01E:	FF	00
     1C01F:	FF	00
     1C020:	FF	1F
     1C021:	FF	F8
     1C098:	FF	08
     1C099:	FF	09
     1C7A0:	FF	83
     1C7A1:	FF	0E
     1C7A2:	FF	00
     1C7A3:	FF	00
     1C7A4:	FF	00
     1C7A5:	FF	00
     1C7A6:	FF	13
     1C7A7:	FF	00
     1C7A8:	FF	0F
     1C7A9:	FF	0F
     1C7AA:	FF	00
     1C7AB:	FF	00
     1C7AC:	FF	00
     1C7AD:	FF	00
     1C7B0:	FF	84
     1C7B1:	FF	42
     1C7B2:	FF	5D
     1C7B3:	FF	00
     1C7B4:	FF	00
     1C7B5:	FF	00
     1C7B6:	FF	69
     1C7B7:	FF	89
     1C7B8:	FF	00
     1C7B9:	FF	00
     1C7BA:	FF	00
     1C7BB:	FF	00
     1C7BC:	FF	00
     1C7BD:	FF	00
     1C7BE:	FF	00
     1C7BF:	FF	00
     1C7C0:	FF	00
     1C7C1:	FF	00
     1C7C2:	FF	00
     1C7C3:	FF	00
     1C7C4:	FF	00
     1C7C5:	FF	00
     1C7C6:	FF	00
     1C7C7:	FF	00
     1C7C8:	FF	00
     1C7C9:	FF	00
     1C7CA:	FF	00
     1C7CB:	FF	00
     1C7CC:	FF	00
     1C7CD:	FF	00
     1C7CE:	FF	00
     1C7CF:	FF	00
     1C7D0:	FF	00
     1C7D1:	FF	00
     1C7D2:	FF	00
     1C7D3:	FF	00
     1C7D4:	FF	00
     1C7D5:	FF	00
     1C7D6:	FF	00
     1C7D7:	FF	00
     1C7D8:	FF	00
     1C7D9:	FF	00
     1C7DA:	FF	00
     1C7DB:	FF	00
     1C7DC:	FF	00
     1C7DD:	FF	00
     1C7DE:	FF	00
     1C7DF:	FF	00
     1C7E0:	FF	00
     1C7E1:	FF	00
     1C7E2:	FF	00
     1C7E3:	FF	00
     1C7E4:	FF	00
     1C7E5:	FF	00
     1C7E6:	FF	00
     1C7E7:	FF	00
     1C7E8:	FF	00
     1C7E9:	FF	00
     1C7EA:	FF	00
     1C7EB:	FF	00
     1C7EC:	FF	00
     1C7ED:	FF	00
     1C7EE:	FF	00
     1C7EF:	FF	00
     1C7F0:	FF	00
     1C7F1:	FF	00
     1C800:	FF	80
     1C801:	FF	4A
     1C802:	FF	00
     1C803:	FF	01
     1C804:	FF	02
     1C805:	FF	03
     1C806:	FF	04
     1C807:	FF	05
     1C808:	FF	06
     1C809:	FF	07
     1C80A:	FF	08
     1C80B:	FF	09
     1C80C:	FF	0A
     1C80D:	FF	0B
     1C80E:	FF	0C
     1C80F:	FF	0D
     1C810:	FF	0E
     1C811:	FF	0F
     1C812:	FF	06
     1C813:	FF	06
     1C814:	FF	06
     1C815:	FF	06
     1C816:	FF	06
     1C817:	FF	06
     1C818:	FF	00
     1C819:	FF	00
     1C81A:	FF	00
     1C81B:	FF	00
     1C81C:	FF	01
     1C81D:	FF	01
     1C81E:	FF	04
     1C81F:	FF	04
     1C820:	FF	01
     1C821:	FF	01
     1C822:	FF	00
     1C823:	FF	00
     1C824:	FF	00
     1C825:	FF	00
     1C826:	FF	00
     1C827:	FF	00
     1C828:	FF	00
     1C829:	FF	00
     1C82A:	FF	00
     1C82B:	FF	00
     1C82C:	FF	00
     1C82D:	FF	00
     1C82E:	FF	00
     1C82F:	FF	00
     1C830:	FF	00
     1C831:	FF	00
     1C832:	FF	00
     1C833:	FF	00
     1C834:	FF	04
     1C835:	FF	01
     1C836:	FF	01
     1C837:	FF	10
     1C838:	FF	00
     1C839:	FF	00
     1C83A:	FF	00
     1C83B:	FF	00
     1C83C:	FF	00
     1C83D:	FF	00
     1C83E:	FF	00
     1C83F:	FF	00
     1C840:	FF	00
     1C841:	FF	00
     1C842:	FF	00
     1C843:	FF	00
     1C844:	FF	00
     1C845:	FF	00
     1C846:	FF	00
     1C847:	FF	00
     1C848:	FF	00
     1C849:	FF	00
     1C850:	FF	81
     1C851:	FF	0E
     1C852:	FF	00
     1C853:	FF	00
     1C854:	FF	00
     1C855:	FF	00
     1C856:	FF	13
     1C857:	FF	00
     1C858:	FF	0F
     1C859:	FF	0F
     1C85A:	FF	00
     1C85B:	FF	00
     1C85C:	FF	00
     1C85D:	FF	00
     1C860:	FF	82
     1C861:	FF	42
     1C862:	FF	5D
     1C863:	FF	00
     1C864:	FF	00
     1C865:	FF	00
     1C866:	FF	FD
     1C867:	FF	89
     1C868:	FF	00
     1C869:	FF	00
     1C86A:	FF	00
     1C86B:	FF	00
     1C86C:	FF	00
     1C86D:	FF	00
     1C86E:	FF	00
     1C86F:	FF	00
     1C870:	FF	00
     1C871:	FF	00
     1C872:	FF	00
     1C873:	FF	00
     1C874:	FF	00
     1C875:	FF	00
     1C876:	FF	00
     1C877:	FF	00
     1C878:	FF	00
     1C879:	FF	00
     1C87A:	FF	00
     1C87B:	FF	00
     1C87C:	FF	00
     1C87D:	FF	00
     1C87E:	FF	00
     1C87F:	FF	00
     1C880:	FF	00
     1C881:	FF	00
     1C882:	FF	00
     1C883:	FF	00
     1C884:	FF	00
     1C885:	FF	00
     1C886:	FF	00
     1C887:	FF	00
     1C888:	FF	00
     1C889:	FF	00
     1C88A:	FF	00
     1C88B:	FF	00
     1C88C:	FF	00
     1C88D:	FF	00
     1C88E:	FF	00
     1C88F:	FF	00
     1C890:	FF	00
     1C891:	FF	00
     1C892:	FF	00
     1C893:	FF	00
     1C894:	FF	00
     1C895:	FF	00
     1C896:	FF	00
     1C897:	FF	00
     1C898:	FF	00
     1C899:	FF	00
     1C89A:	FF	00
     1C89B:	FF	00
     1C89C:	FF	00
     1C89D:	FF	00
     1C89E:	FF	00
     1C89F:	FF	00
     1C8A0:	FF	00
     1C8A1:	FF	00
     1C8B0:	FF	83
     1C8B1:	FF	0E
     1C8B2:	FF	00
     1C8B3:	FF	00
     1C8B4:	FF	00
     1C8B5:	FF	00
     1C8B6:	FF	13
     1C8B7:	FF	00
     1C8B8:	FF	0F
     1C8B9:	FF	0F
     1C8BA:	FF	00
     1C8BB:	FF	00
     1C8BC:	FF	00
     1C8BD:	FF	00
     1C8C0:	FF	A4
     1C8C1:	FF	40
     1C8C2:	FF	07
     1C8C3:	FF	09
     1C8C4:	FF	00
     1C8C5:	FF	5D
     1C8C6:	FF	00
     1C8C7:	FF	00
     1C8C8:	FF	00
     1C8C9:	FF	29
     1C8CA:	FF	8A
     1C8CB:	FF	00
     1C8CC:	FF	00
     1C8CD:	FF	00
     1C8CE:	FF	00
     1C8CF:	FF	00
     1C8D0:	FF	00
     1C8D1:	FF	00
     1C8D2:	FF	00
     1C8D3:	FF	00
     1C8D4:	FF	00
     1C8D5:	FF	00
     1C8D6:	FF	00
     1C8D7:	FF	00
     1C8D8:	FF	00
     1C8D9:	FF	00
     1C8DA:	FF	00
     1C8DB:	FF	00
     1C8DC:	FF	00
     1C8DD:	FF	00
     1C8DE:	FF	00
     1C8DF:	FF	00
     1C8E0:	FF	00
     1C8E1:	FF	00
     1C8E2:	FF	00
     1C8E3:	FF	00
     1C8E4:	FF	00
     1C8E5:	FF	00
     1C8E6:	FF	00
     1C8E7:	FF	00
     1C8E8:	FF	00
     1C8E9:	FF	00
     1C8EA:	FF	00
     1C8EB:	FF	00
     1C8EC:	FF	00
     1C8ED:	FF	00
     1C8EE:	FF	00
     1C8EF:	FF	00
     1C8F0:	FF	00
     1C8F1:	FF	00
     1C8F2:	FF	00
     1C8F3:	FF	00
     1C8F4:	FF	00
     1C8F5:	FF	00
     1C8F6:	FF	00
     1C8F7:	FF	00
     1C8F8:	FF	00
     1C8F9:	FF	00
     1C8FA:	FF	00
     1C8FB:	FF	00
     1C8FC:	FF	00
     1C8FD:	FF	00
     1C8FE:	FF	00
     1C8FF:	FF	00
     1C900:	FF	80
     1C901:	FF	07
     1C902:	FF	00
     1C903:	FF	00
     1C904:	FF	00
     1C905:	FF	00
     1C906:	FF	00
    1A5BF2:	FF	CE
    1A5BF3:	FF	20
    1A5BF4:	FF	00
    1A5C41:	FF	8A
    1A5C42:	FF	20
    1A5C43:	FF	00
    1A74FF:	FF	B5
    1A7500:	FF	07
    1A7501:	FF	00
    1A7AE0:	FF	9C
    1A7AE1:	FF	01
    1A7AE2:	FF	00
    1A7AEE:	FF	9C
    1A7AEF:	FF	01
    1A7AF0:	FF	00
    1A7B0C:	FF	90
    1A7B0D:	FF	01
    1A7B0E:	FF	00
    1A7C67:	83	03
    1A7C76:	FF	4E
    1A7C77:	FF	56
    1A7C78:	FF	41
    1A7C79:	FF	52
    1A7C7A:	FF	0E
    1A7C7B:	FF	00
    1A7C7C:	FF	AA
    1A7C7D:	FF	00
    1A7C7E:	FF	00
    1A7C7F:	FF	88
    1A7C80:	FF	FD
    1A7C81:	FF	0A
    1A7C82:	FF	00
    1A7C83:	FF	00
    1A7C84:	FF	4E
    1A7C85:	FF	56
    1A7C86:	FF	41
    1A7C87:	FF	52
    1A7C88:	FF	12
    1A7C89:	FF	00
    1A7C8D:	FF	88
    1A7C8E:	FF	EA
    1A7C8F:	FF	27
    1A7C90:	FF	00
    1A7C91:	FF	00
    1A7C92:	FF	BA
    1A7C93:	FF	B9
    1A7C94:	FF	00
    1A7C95:	FF	00
    1A7C96:	FF	4E
    1A7C97:	FF	56
    1A7C98:	FF	41
    1A7C99:	FF	52
    1A7C9A:	FF	0C
    1A7C9B:	FF	00
    1A7C9C:	FF	0C
    1A7C9D:	FF	00
    1A7C9E:	FF	00
    1A7C9F:	FF	88
    1A7CA0:	FF	00
    1A7CA1:	FF	00
    1A7CA2:	FF	4E
    1A7CA3:	FF	56
    1A7CA4:	FF	41
    1A7CA5:	FF	52
    1A7CA6:	FF	0C
    1A7CA7:	FF	00
    1A7CA8:	FF	8C
    1A7CA9:	FF	00
    1A7CAA:	FF	00
    1A7CAB:	FF	88
    1A7CAC:	FF	01
    1A7CAD:	FF	00
    1A7CAE:	FF	4E
    1A7CAF:	FF	56
    1A7CB0:	FF	41
    1A7CB1:	FF	52
    1A7CB2:	FF	0C
    1A7CB3:	FF	00
    1A7CB7:	FF	88
    1A7CB8:	FF	18
    1A7CB9:	FF	00
    1A7CBA:	FF	4E
    1A7CBB:	FF	56
    1A7CBC:	FF	41
    1A7CBD:	FF	52
    1A7CBE:	FF	0B
    1A7CBF:	FF	00
    1A7CC0:	FF	B2
    1A7CC1:	FF	00
    1A7CC2:	FF	00
    1A7CC3:	FF	88
    1A7CC4:	FF	01
    1A7CC5:	FF	4E
    1A7CC6:	FF	56
    1A7CC7:	FF	41
    1A7CC8:	FF	52
    1A7CC9:	FF	5B
    1A7CCA:	FF	00
    1A7CCE:	FF	88
    1A7CCF:	FF	00
    1A7CD0:	FF	00
    1A7CD1:	FF	00
    1A7CD2:	FF	00
    1A7CD3:	FF	00
    1A7CD4:	FF	00
    1A7CD5:	FF	00
    1A7CD6:	FF	00
    1A7CD7:	FF	00
    1A7CD8:	FF	00
    1A7CD9:	FF	00
    1A7CDA:	FF	00
    1A7CDB:	FF	00
    1A7CDC:	FF	00
    1A7CDD:	FF	00
    1A7CDE:	FF	00
    1A7CDF:	FF	00
    1A7CE0:	FF	00
    1A7CE1:	FF	00
    1A7CE2:	FF	00
    1A7CE3:	FF	00
    1A7CE4:	FF	00
    1A7CE5:	FF	00
    1A7CE6:	FF	00
    1A7CE7:	FF	00
    1A7CE8:	FF	00
    1A7CE9:	FF	00
    1A7CEA:	FF	00
    1A7CEB:	FF	00
    1A7CEC:	FF	00
    1A7CED:	FF	00
    1A7CEE:	FF	00
    1A7CEF:	FF	00
    1A7CF0:	FF	00
    1A7CF1:	FF	00
    1A7CF2:	FF	00
    1A7CF3:	FF	00
    1A7CF4:	FF	00
    1A7CF5:	FF	00
    1A7CF6:	FF	00
    1A7CF7:	FF	3F
    1A7CF8:	FF	93
    1A7CF9:	FF	DF
    1A7CFA:	FF	26
    1A7CFB:	FF	74
    1A7CFC:	FF	BA
    1A7CFD:	FF	18
    1A7CFE:	FF	4D
    1A7CFF:	FF	AA
    1A7D00:	FF	E0
    1A7D01:	FF	43
    1A7D02:	FF	74
    1A7D03:	FF	0F
    1A7D04:	FF	07
    1A7D05:	FF	A8
    1A7D06:	FF	9A
    1A7D07:	FF	52
    1A7D08:	FF	2E
    1A7D09:	FF	FE
    1A7D0A:	FF	C1
    1A7D0B:	FF	88
    1A7D0C:	FF	54
    1A7D0D:	FF	23
    1A7D0E:	FF	E8
    1A7D0F:	FF	FA
    1A7D10:	FF	7B
    1A7D11:	FF	93
    1A7D12:	FF	0E
    1A7D13:	FF	64
    1A7D14:	FF	A2
    1A7D15:	FF	B0
    1A7D16:	FF	35
    1A7D17:	FF	0B
    1A7D18:	FF	C9
    1A7D19:	FF	66
    1A7D1A:	FF	5C
    1A7D1B:	FF	C1
    1A7D1C:	FF	EF
    1A7D1D:	FF	1C
    1A7D1E:	FF	83
    1A7D1F:	FF	02
    1A7D20:	FF	4E
    1A7D21:	FF	56
    1A7D22:	FF	41
    1A7D23:	FF	52
    1A7D24:	FF	0E
    1A7D25:	FF	00
    1A7D26:	FF	26
    1A7D27:	FF	00
    1A7D28:	FF	00
    1A7D29:	FF	88
    1A7D2A:	FF	FE
    1A7D2B:	FF	0A
    1A7D2C:	FF	00
    1A7D2D:	FF	00
    1A7D2E:	FF	4E
    1A7D2F:	FF	56
    1A7D30:	FF	41
    1A7D31:	FF	52
    1A7D32:	FF	0C
    1A7D33:	FF	00
    1A7D34:	FF	0C
    1A7D35:	FF	00
    1A7D36:	FF	00
    1A7D37:	FF	88
    1A7D38:	FF	00
    1A7D39:	FF	00
    1A7D3A:	FF	4E
    1A7D3B:	FF	56
    1A7D3C:	FF	41
    1A7D3D:	FF	52
    1A7D3E:	FF	0C
    1A7D3F:	FF	00
    1A7D40:	FF	1A
    1A7D41:	FF	00
    1A7D42:	FF	00
    1A7D43:	FF	88
    1A7D44:	FF	01
    1A7D45:	FF	00
    1A7D46:	FF	4E
    1A7D47:	FF	56
    1A7D48:	FF	41
    1A7D49:	FF	52
    1A7D4A:	FF	0E
    1A7D4B:	FF	00
    1A7D4F:	FF	88
    1A7D51:	FF	0A
    1A7D52:	FF	00
    1A7D53:	FF	00
    1A7D54:	FF	4E
    1A7D55:	FF	56
    1A7D56:	FF	41
    1A7D57:	FF	52
    1A7D58:	FF	0C
    1A7D59:	FF	00
    1A7D5A:	FF	0C
    1A7D5B:	FF	00
    1A7D5C:	FF	00
    1A7D5D:	FF	88
    1A7D5E:	FF	00
    1A7D5F:	FF	00
    1A7D60:	FF	4E
    1A7D61:	FF	56
    1A7D62:	FF	41
    1A7D63:	FF	52
    1A7D64:	FF	0C
    1A7D65:	FF	00
    1A7D69:	FF	88
    1A7D6A:	FF	01
    1A7D6B:	FF	00
    1A7D6C:	FF	4E
    1A7D6D:	FF	56
    1A7D6E:	FF	41
    1A7D6F:	FF	52
    1A7D70:	FF	0B
    1A7D71:	FF	00
    1A7D75:	FF	88
    1A7D76:	FF	00
    1A7D77:	FF	4E
    1A7D78:	FF	56
    1A7D79:	FF	41
    1A7D7A:	FF	52
    1A7D7B:	FF	18
    1A7D7C:	FF	00
    1A7D80:	FF	83
    1A7D81:	FF	04
    1A7D82:	FF	42
    1A7D83:	FF	6F
    1A7D84:	FF	6F
    1A7D85:	FF	74
    1A7D86:	FF	46
    1A7D87:	FF	72
    1A7D88:	FF	6F
    1A7D89:	FF	6D
    1A7D8A:	FF	55
    1A7D8B:	FF	53
    1A7D8C:	FF	42
    1A7D8D:	FF	00
    1A7D8E:	FF	00

    681 Abweichung(en) gefunden.

Bios WithOUTpassword ASUS P8H77-M
⇗ https://ufile.io/yz5ew0bb
Bios with Password ASUS P8H77-M
⇗ https://ufile.io/n4ytmjur

#7730 | daniel_k | ⇗ @diderius6 Congrats on your research! Did you try on a password protected untouched board? What about the first board, it's really defective?

#7731

diderius6

⇗ @daniel_k
Yesterday, after I delete Admin password in Bios, I set up XP SP3 on this second ASUS P8H77-M board.
Today just now I start XP one time, Bios without password and shut compi down.
Direct after this I read out Bios without Password.
Then I start this second board again, and hit F2 for Bios and set Admin password.
Then I shut this compi down. Then I start this compi with Password in Bios one more time, test via F2 if compi asks for password, yepp asks, I boot full XP and then shut down.
Direct after this I read out its Bios chip with password with EEpromer.
After this I flash back to this Bios chip the before readout without password and put the Bioschip without password back into compi.
And voila, Bios via F2 shows not password and compi starts normal XP SP3.
What happens to the first board I do not know. May be, that a compi with Admin password does not like to work with a Bios without password from other compi and refuses to start after this at all, means board is destroyed, even you flash its own, original Bios with password back. Because I have 16 identic boards, I will test this also, brr..

#7732

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7731

> What happens to the first board I do not know. May be, that a compi with Admin password does not like to work with a Bios from other compi and refuses to start after this, means is destroyes. Because I have 16 identic boards, I will test this also, brr..

Yes, your best bet is to "clear" the password from the original dump using your technique above, then flash it on the first board.

#7733

diderius6

⇗ @daniel_k
I flash its own Bios with password back to first board.
First board does not awake. This means, that this board is destroyed,
possible before any operation with Bios on it.
On second board I flash the Bios from first board with password.
Now, second board is "dead" also.
When I flash back its own Bios without password to second board, it works again.
Then I flash back its own Bios with passport. It works again and asks for password.
When I give this password via F2 in Bios and delete there in Bios its Admin Password, second board is free and works without password and boots to XP.
Conclusions: If the Bios file from the first board has no other damage, this means, that you cant use an UEFI Bios chip with password on another board from same brand. And IF first board is ok, you cant use an UEFI Bios chip without password on another compi from same brand.
But the situation is not to 100% clear: Imagine, that the first compi AND its Bios with password has errors,
the behavior will be the same. So I need to test a 3. board, which asks for password and shows, that the board and Bios together are all ok on this 3. board.
And then, I test there on 3. compi the Bios without password from second compi
Dietmar
EDIT: Yessa, 3. board gives explanation to 100%. It asks at once for password.
Then I put in this board Bios chip from second board without password.
And voila, this 3. board now starts with Bios from 2. board without password.
And 3. board does not longer ask for password!
This means: First board has unknown problems. And also may be even its Bios has errors or it is just because of password protected.
Now the ultimative Hack for to overcome any Admin Password in UEFI Bios is, to put there just a Bios chip from another compi of same brand without password. This means, that the UEFI Bios Admin Password is ONLY stored in its Bios chip.

#7734

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7733

> I flash its own Bios with password back to first board.
> First board does not awake. This means, that this board is destroyed,
> possible before any operation with Bios on it.

So even after flashing the original BIOS with password, it doesn't give that "light show" anymore?
What about trying to temporarily change the CPU?

#7735 | diderius6 | ⇗ @daniel_k CPU and Ram, both from first board, I put in 3. board. Works. This means, that the first motherboard itself has an unknown problem Dietmar

#7736

diderius6

⇗ @daniel_k
At the very last I test, if it is possible, to boot from UEFI Bios chip from other compi (same brand) with other password.
Yes, it is, then Bios asks for this other Admin Password and you can go to Bios with this other password.
This means, that first board is defekt and that there are also errors in its original Bios, crazy
Dietmar

#7737

diderius6

⇗ @daniel_k
You can also use the Bios from Website and flash it with EEpromer
to your Bios chip for to overcome any UEFI BIOS Admin Password.
In this case you have to edit the Mac adress for the Lan by yourself.
I test this just now with Bios 1202 from Asus Website for board Asus P8H77-M, works;))..
Dietmar

#7738 | daniel_k | ⇗ @diderius6 Great, it was just a defective board after all. Those 2nd/3rd gen boards are great for XP, native support etc. And for free! Let us know how many boards are OK after testing them all.

#7739

diderius6

⇗ @daniel_k
Hihi,
I put everything out of the tower for board1.
I put everything out from board1.
I put everything new and clean in board1,
now it works;))
Dietmar
⇗

#7740 | daniel_k | ⇗ @diderius6 Those computer mysteries we can't explain.

## Page 517

#7741

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7739

> now it works;))

⇗ @diderius6 ...for what it's worth...I had a heck of a time recently getting an Intel DQ35JOE to boot consistently. I have two identical boards and one board would boot while the other one would not. Then it reversed.
Seemed to be memory card placement, but I'm not sure. I was using memory cards of different sizes and from different manufacturers. I played with it for a while then settled on placing both of the larger cards in the A slots and the smaller cards in the B slots. The computer has been running stable now for several months. I think the problem might have been caused by me. It came originally with the smaller cards in the A-slot and I added larger memory sized cards in the B-slots.
The DQ35JOE has an interesting RTC jumper arrangement. With a jumper on 1 - 2 it runs normally. With the jumper on 2 - 3, it goes into Maintenance Mode, where you can perform several functions like clearing BIOS, etc. Anyway, between memory card placement/re-seating and working in Maintenance Mode, I now have the board running OK.
Btw...if the boards have been stored in a damp location, the contacts for the memory cards and the PCI bus may have slightly corroded. It's easy to clean the card contacts but not so easily to get at the socket contacts. I used to apply 99% isopropyl alcohol to the card contacts and insert/re-insert them several times to clean the socket contacts. It would be better if you had some kind of material for insertion into the socket that would absorb the alcohol yet not leave lint on the socket contacts.
Typically, you can have a 0.5 volt drop across normal contacts. With a 5 volt supply you could get away with that but with the 3.3 volt rail voltage or 1.8 volts supplied to the processor it would be far more critical. I don't know how low the PCI voltages get but I presume it is critical to keep all the PCI and memory sockets as clean as possibly.
I wonder if there are products for cleaning the sockets, something you could insert into the various sockets to clean them with 99% isopropyl alcohol?

#7742 | ruthan | I wonder if exists Killer E2500 WinXP driver? I managed to get working Killer E2200 card, but not found E2500 driver.

#7743

diderius6

⇗ @gordo999
Yes, this board is unstable.
I have seen this with bad contacts in memory slots. I clean all as good as I can,
helps a little but not complete.
When I take a closer look at this board, it looks as if it has been to repair,
so those problems have been there before also.
Until now I tested 3 boards from 16.
2 are rockstable and fast, I run a lot of tests on them
have a nice evening
Dietmar
PS: Now I can hack Admin Password in UEFI Bios on the fly ).
So, nice result in any case!

#7744

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7501

> @mockingbird
> OK, try this one.

Sorry for the late response again, it's been a busy couple of weeks.
Please see attached BSOD.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7507

> @infuscomus @mockingbird @Masterchief79
> I make a quick and dirty hack on last acpi.sys from outerspace ),
> please try
> Dietmar
> ⇗ https://ufile.io/9f6ng0y4

Thanks, this was a definite improvement. Now, instead of getting stuck on the shutting down screen, the screen goes black and the monitor loses signal (yet the power stays on), but the system doesn't reboot.
mockingbird has attached images to this post ⇗ IMG_20210905_232530787.jp

#7745 | diderius6 | ⇗ @mockingbird This screen you can see only, when the last modded acpi.sys isnt any longer in Windows\System32\drivers Dietmar

#7746

mockingbird

> @mockingbird
> This screen you can see only,
> when the last modded acpi.sys isnt any longer in Windows\System32\drivers
> Dietmar

Ah, sorry for the misunderstanding, this isn't the case here...
A few pages back ⇗ @infuscomus was modifying my DSDT to fix my problem where my system would not reboot when a PS/2 mouse and keyboard were plugged in.
And you posted a modified acpi.sys. The BSOD is for ⇗ @infuscomus when testing his modded DSDT, and the report for the ACPI.sys is for you. Thanks

#7747 |  | LOST
#7748 |  | LOST
#7749 |  | LOST
#7750 |  | LOST
#7751 |  | LOST

#7752

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7748

> Personally I dont like win10. Win8.1 I like a little, but most of all I like XP
> Dietmar

⇗ @diderius6 ...Dietmar...I pinch my nose when I used W10, it stinks. However, with today's security issues, sites are beginning to demand W10. For example, online banking. If you get hacked while online, which is not likely if you are very careful, the banks will likely argue that you are using a Window's OS that is not properly secured. If you take it to court, the judges will likely accept the word of Microsoft.
Are you using the W8 version that uses the tiles instead of a Start button with menu? Even with W10, I use an app that changes the Start button back to the W7 version, so the tiles are gone and when you hit Start you get a W7-style menu. My W10 is not much different than W7/XP in appearance.
With the faster B360M mobo w/i5 processor, I hardly notice the difference in performance between XP and W10. There are other issues too. I run music apps on XP -32bit and the x86 plugins I use won't work on x64 bit systems. Therefore, I have converted to running the music apps on W7 - x64.

#7753 | infuscomus | ⇗ @mockingbird So it manages to restart but fails to POST afterwards? ⇗ @diderius6 have you ever experienced anything like this in your testing?

#7754

diderius6

⇗ @infuscomus
Yes, I have seen this.
Until now only, when there is a problem with the Sata driver or on AMD boards with the PS/2 keyboard or with USB.
Other possibility is, that the original acpi.sys is changed back from System Restore into Windows\System32\drivers
Dietmar

#7755

mockingbird

> Zitat von ⇗ infuscomus im Beitrag ¶ #7753

> @mockingbird
> So it manages to restart but fails to POST afterwards?

Yes, correct.
Also, I'd like to confirm that System Restore is disabled, and System File Protection did not replace the ACPI.sys in the drivers folder.

## Page 518

#7756 | infuscomus | ⇗ @mockingbird It would seem that softmodding your DSDT with grub2 isn't the right approach in your case, I could never get past A5 0x03 BSOD no matter what I changed in the table. an acpi.sys mod seems promising for you though - ⇗ @diderius6 can help with that.
#7757 | infuscomus | It would be nice if ⇗ @Mov AX, 0xDEAD would come back so that we might get the Vista RTM acpi.sys working reliably in XP instead of seeming at random from what ⇗ @diderius6 observed. If Vista RTM acpi.sys can be made to reliably work in XP then it should also be possible to do the same with 7/8.1/10 acpi.sys

#7758

diderius6

⇗ @daniel_k ⇗ @gordo999
I get one more board Asus P8H77-M, complete with cpu i3-3240 and 4 Gb ram, all complete in tower with power supply, harddisk and CD rom, keyboards and monitors.
From 17 of those boards 15 work fantastic stable. I run with AVX enabled prime95, 3dmark2001 and cinebench 11529 on them.
Temperature is always around 50 degrees, even under heavy load. USB3, USB2 runs very fast and stable with
nice Win8 ported driver from ⇗ @Mov AX, 0xDEAD .
I noticed another interesting "feature". On all of my newer compis from Intel or AMD, when you run those benchmarks,
a video running at the same time on Youtube always stocks. But with this "Ivy Bridge" chipset not. Hm why?
Stand By does not work under XP SP3 on those boards.
First board does not work stable and another board is from beginning "dead", shows no reaction.
This board I will check tomorrow a little bit further.
Now I have really a lot of platforms with monitors, keyboards for to test anything with XP, Bios hacks etc;))..
Dietmar

#7759

diderius6

Only the power source of this "dead" board is defect.
I just change it against the power source from the unstable board
and now I have a cluster of 16 Asus P8H77-M compis,
tested and work as brandnew.
Biosmod and to try to implement there legacy nvme can start now )
Dietmar

#7760 | daniel_k | ⇗ @diderius6 Congrats! Do you have a soldering station or something?

#7761

diderius6

⇗ @daniel_k
I have a HOT air gun (be careful with your fingers;)) )
and other soldering staff.
Few years ago I was good in soldering.
Do you have an idea, how to implement a legacy nvme to the Bios of the Asus P8H77-M board ?
Few month ago I tried via nvme CSM Bios from another compi,
but this Bios does not work in full in legacy mode for XP
Dietmar
PS: Because the Bios chip is on socket on each of this boards,
with EEpromer Revelprog IS I can program everything as I want into this Bios without any risk.

#7762

daniel_k

> Zitat von ⇗ diderius6 im Beitrag ¶ #7761

> Do you have an idea, how to implement a legacy nvme to the Bios of the Asus P8H77-M board ?

That board uses AMI Aptio 4, if I'm not mistaken.
See if an Aptio 4 BIOS supporting NVMe was ever released, so you could try to use those modules.
For Aptio 5 (my Z370 board), searching for INT13 in UEFITool NE, I can see many modules, for AHCI, NVMe and USB.

#7763

diderius6

⇗ @daniel_k
I compare the Bios for the board Asus H97M-E .
The last Bios version without nvme support 2401.CAP
with the first Bios with nvme 2402.CAP.
With UEFI tool I look for the word nvme (text Unicode and text normal).
I found the 3 known files only in Bios 2402.cap
Nvme
NvmeSmm
NVMEINT13
But the word nvme appears also in
`Section_Freeform_subtype_GUID_97E409E6-4CC1-11D9-81F6-000000000000_Setup_Setup
Section_Raw_CSMCORE_CSMCORE`
So I think, that to integrate those 3 files Nvme NvmeSmm NVMEINT13 into Bios from Asus P8H77-M is not enough.
How to edit in the Bios from Asus P8H77-M those 2 files for to have legacy nvme
`Section_Freeform_subtype_GUID_97E409E6-4CC1-11D9-81F6-000000000000_Setup_Setup
Section_Raw_CSMCORE_CSMCORE`
Dietmar

#7764

daniel_k

⇗ @diderius6
Try this using programmer:
⇗ http://www.mediafire.com/file/kdrtpvuxxeybf24
Basically, the key to CSM NVME support is in Section_Raw_CSMCORE_CSMCORE and maybe in Section_PE32_image_CsmDxe_CSMCORE_body.
ASRock H87 Pro4 Beta BIOS give us some clues:
⇗ https://www.asrock.com/mb/Intel/H87%20Pro4/index.asp#BIOS
At the end of Section_Raw_CsmDxe_CSMCORE_body, there is USB Storage and NVME Storage (when supported) blocks.
The USB Storage block is identical to your P8H77-M's BIOS.
There are differences in Section_PE32_image_CsmDxe_CSMCORE_body, but I don't know if they are really required or are result of other changes in the beta BIOS.

#7765

diderius6

⇗ @daniel_k
Thanks a lot for help. I think, together Bios has no chance;))..
Just now, with your for nvme modded Bios,
the board starts with all LEDs,
but no video output and no LED on keyboard.
Can you make a try with the original Bios (for nvme mod) from this board, which I just upload,
have a nice evening
Dietmar
⇗ https://ufile.io/vuz7te1r

#7766 | daniel_k | ⇗ @diderius6 Let's try one step at a time: ⇗ http://www.mediafire.com/file/q026p4ad215zbij See if it boots and USB boot works.
#7767 | diderius6 | ⇗ @daniel_k With Test1 Bios, compi boots and all USB works, everything works normal. But it hangs for USB3 or USB2 boot, blinking cursor direct at start, even in Bios the USB device is shown Dietmar
#7768 | daniel_k | ⇗ @diderius6 Try Test2: ⇗ http://www.mediafire.com/file/miksjc1zws5m6iy

#7769

diderius6

⇗ @daniel_k
I make a crazy test:
I flash the whole Bios Z77EXT4 2.90P from Website for Asrock board
⇗ https://www.asrock.com/mb/intel/z77%20extreme4/#BIOS
I think, that this Bios for chipset Z77 is the only one with nvme support.
The compi starts, the nvme Samsung 960 pro
is recogniced in Bios,
but compi does not boot from it.
After boot to full XP via Sata disk with this Z77 Bios,
XP hangs
Dietmar

#7770 | daniel_k | ⇗ @diderius6 Crossflash is complicated. In BIOS there are ID checks for chipset/device IDs, and Super I/O controller and programmable Voltage regulator must match.

## Page 519

#7771 | diderius6 | ⇗ @daniel_k USB2,3 boot works with Bios Test 2 Dietmar
#7772 | daniel_k | ⇗ @diderius6 Here is test3: ⇗ http://www.mediafire.com/file/albf078hbiy35eg

#7773

diderius6

⇗ @daniel_k
With Bios test3,
the blue LED from the nvme Samsung 960 Pro is flickering at the very first boot stage.
This means, that it is recogniced from Bios!
But the nvme Samsung 960 Pro is not shown in Bios.
Usb2 boot still works as before, for USB3 boot now it boots only with an other Sata harddisk connected,
which you can switch off during boot from the USB3 harddisk in USB clothes. This strange behavior I know from other boards also, it means nothing
Dietmar

#7774 | daniel_k | ⇗ @diderius6 Test4, USB boot won't work, but NVME should: ⇗ http://www.mediafire.com/file/ljf2t0uwjbpwfve

#7775

diderius6

⇗ @daniel_k
The behavior with Bios test4 is as before:
The blue LED of the nvme Samsung 960 pro is flashing soon as you switch the compi on,
but it is not shown in Bios and you cant boot from it.
Now I set up a new XP for nvme boot. Because XP can be installed to a working boot device,
even it is not recogniced from Bios.
USB I do not test this time
Dietmar
EDIT: My try to set up XP direct to this nvme device does not work, gives blinking cursor at the very first begin of Setup.
EDIT2: This blinking happens, because of no USB support from Bios test4.
May be it is possible, to take all CSM parts from the Bios 2.90P
for the board from Asrock Z77 Extreme4 , which has legacy nvme support for Z77 chipset(!).
This is until now the only variant, which shows the nvme Samsung 960 pro in Bios of the board Asus P8H77-M .

#7776 | daniel_k | ⇗ @diderius6 I'm out of ideas. Support for legacy boot is in CsmDxe (GUID: A062CF1F-8473-4AA3-8793-600BC4FFE9A8), for sure. I don't understand the iteration between 'PE32 Image section' and 'Raw section', if in PE32 there are pointers to data in Raw section.
#7777 | diderius6 | ⇗ @daniel_k May be, that somebody here in the forum knows, how to compile the whole CSM module for Bios Dietmar

#7778

infuscomus

⇗ @daniel_k
are you willing to help me figure out why my TRX4 motherboard's USB 3.0 controller never works at boot?
the device ID is
PCI\VEN_1022&DEV_149C
It will work with your backported windows 8.0 driver if I disable and re-enable the controller in device manager after boot, but it never works at boot up.
any ideas for why it might be behaving like this?

#7779 | canonkong | ⇗ @infuscomus If your amd mainboard is ASUS, it need to disable Fmax and Enable PBO in bios. ASUS bios bring the bug with its special function. Other mainboards not need to do that.
#7780 | infuscomus | ⇗ @canonkong my motherboard is an ASRock TRX40 DESIGNARE how did you find out about this bug? are you sure only ASUS boards have the bug?

#7781

George King

⇗ @skullteria I saw you updated your⇗ One-Core-Api GitHub repository. Can you upload also compiled dlls so I can add option into XP2ESD to added them and provide new apps support? I would also create RES patched to get multilanguage support on replaced system files (if possible)
Can you please post compiled dlls and some notes How-to use them? It should be great plugin for XP2ESD if it really adds DX10 and new apps like latest Chrome support[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7782

diderius6

⇗ @daniel_k
I inserted with MMTool 4.50.0.23
the 3 files Nvme NvmeSmm NVMEINT13 for legacy nvme boot from the
Asrock Bios 2.90P for their board Z77EXT4 into my original Bios 1202 board15 for my Asus P8H77-M board.
Same effect as your try: The blue LED flashes on the Samsung 960 Pro nvme device,
but it is not listed in Bios and I also cant install XP on it
Dietmar

#7783 | daniel_k | ⇗ @infuscomus Try to install Win 8.0 and see if all USB ports work. If they do, issue is ACPI related. If it's a driver issue, can't help. If it's an ACPI issue, we need someone to improve acpi.sys.
#7784 | daniel_k | ⇗ @diderius6 Like I've said before, those NVME modules aren't enough. Try also to replace the CsmDxe module.

#7785

diderius6

⇗ @daniel_k
Yepp,
I just did it and voila,
now the Samsung 960 Pro is listed as boot device on the board Asus P8H77-M
with its own, for nvme edited Bios 1202 board15.
Dietmar
PS: I am just installing XP on this nvme device
⇗

## Page 520

#7786 | daniel_k | ⇗ @diderius6 Nice, but what about booting other devices (USB, SATA)?
#7787 | diderius6 | ⇗ @daniel_k USB3 does not work, only USB2. Sata I have disconnected all Dietmar ⇗
#7788 | daniel_k | ⇗ @diderius6 After testing the current hack, try to also replace USB related modules and/or SATA modules as well, if the ports don't work.

#7789

diderius6

⇗ @daniel_k
TXTsetup of XP works without any error.
But after reboot and Gui Setup I get message "read error",
so some more work has to be done.
But it looks, that in principe it can be done
Dietmar

#7790 | daniel_k | ⇗ @diderius6 Try to replace other dependencies, such as 25ACF158-DD61-4E64-9A49-55851E9A26C7 (CsmBlockIo).
#7791 | diderius6 | ⇗ @daniel_k It looks, as if in Gui Setup of XP, Bios tries to boot the nvme disk with its Sata driver Dietmar
#7792 | daniel_k | ⇗ @diderius6 Dietmar, the easiest way to test this, is to install either Win7 with NVME hotfix or Win8.1.

#7793

diderius6

⇗ @daniel_k
This time I dont work as chirurg,
just more like slaughter;)).
With Uefi Tool I integrate the 3 nvme files
and also change the whole csmcore driver from Asrock Bios 2.90P for Z77EXT4
into Bios 1012 for the Asus P8H77-M board.
But the effect is the same: The nvme device Samsung 960 Pro is shown in Bios, it is shown there also as boot device,
all works nice in TXT Setup from XP, but on GUI Setup I always get message "Disk read error".
Now USB3 works
Dietmar

#7794

skullteria

> Zitat von ⇗ George King im Beitrag ¶ #7781

> @skullteria I saw you updated your⇗ One-Core-Api GitHub repository. Can you upload also compiled dlls so I can add option into XP2ESD to added them and provide new apps support? I would also create RES patched to get multilanguage support on replaced system files (if possible)
> Can you please post compiled dlls and some notes How-to use them? It should be great plugin for XP2ESD if it really adds DX10 and new apps like latest Chrome support

Hello friend, i already updated and upload version 2.0 on github.
⇗ https://github.com/Skulltrail192/One-Cor...eleases/tag/2.0

#7795

diderius6

⇗ @daniel_k
I take a look, what XP writes on the nvme Samsung 960 Pro via TXT Setup of XP on the Asus P8H77-M board.
XP TXT Setup builds an ntbootdd.sys from the nvme driver and in boot.ini an signature entry.
This happens always, when INT13 fails in Bios.
ntbootdd.sys works on scsiport.sys base and so any driver, that uses storport.sys on the bootdevice fails.
Strange, because the nvme Samsung 960 Pro is listed as bootdevice in Bios
Dietmar

#7796 | infuscomus | ⇗ @daniel_k Hi In windows 8.0 all the motherboard USB 3.0 ports work correctly. So it is an ACPI related issue. any interest in helping me with this? acpi.sys mod? DSDT mod?
#7797 | daniel_k | ⇗ @infuscomus Unfortunately a crash is easier to figure out. Malfunction would be hit and miss game.
#7798 | diderius6 | ⇗ @infuscomus For better understanding, what is going on with this crazy USB, make a try with a new XP install, hitting F5 and then "Standard PC", means no Acpi at all Dietmar

#7799

Andalu

Is there any way to always have a USB3 device recognized as such when connected to a USB 3.0 switch hub (Generic SuperSpeed USB Hub)?
Unfortunately, this doesn't always happen and many times the USB3 device (as the only device connected to the hub) is recognized as USB2 (Generic USB 2.1 Full Speed Hub).
The only way that so far seems to work better when the USB3 device is recognized as USB2 is to disconnect the USB cable of the device itself and quickly reconnect it to another USB port of the switch HUB (as I read somewhere on the web). But this way doesn't always work on the first try.
An alternative way seems to be to shut down the system and not reboot immediately but after some time, in this case you will almost certainly get the correct recognition of the USB3 device. Both methods are not a definitive solution.
I tried all versions of XP USB3 drivers. Also tried another usb switch and two different PCIEx to USB3 cards in addition to the intel controller on 3 different systems: same behavior.
P.S.: the switch hub is powered with an additional USB cable. A USB "Y" cable for the USB3 device for additional power did not help.

#7800 | juk777 | ⇗ @infuscomus Hi! OnceCoreApi2.0 - and what to do about it? Is it easy to install or should there be some kind of sequence? Everything in a row or something specific?

## Page 521

#7801 | infuscomus | ⇗ @juk777 I've never gotten it to work. ask ⇗ @skullteria
#7802 | juk777 | ⇗ @infuscomus I'm sorry - I made a mistake... ⇗ @skullteria Hi! OnceCoreApi2.0 - and what to do about it? Is it easy to install or should there be some kind of sequence? Everything in a row or something specific?

#7803

skullteria

> Zitat von ⇗ juk777 im Beitrag ¶ #7802

> @infuscomus I'm sorry - I made a mistake...
> @skullteria Hi! OnceCoreApi2.0 - and what to do about it? Is it easy to install or should there be some kind of sequence?
> Everything in a row or something specific?

Hello friend, please, download version 2.0 on "Releases"
⇗ https://github.com/Skulltrail192/One-Cor...eleases/tag/2.0
And see instructions to install and install sequence on readme:
⇗ https://github.com/Skulltrail192/One-Core-API-Binaries

#7804

Twin

The webcams problems in PAE mode were mentioned here several times, but there were no solutions of them. I have plug and play SilverCrest Webcam WC2230, on my Win7 32-bit partition it uses only one driver - usbvideo.sys, and works perfectly in PAE mode. On the other hand, on my WinXP 32-bit partition this one driver is not enough; the system installs also kernel streaming driver (ks.sys), which loads yet other 12 co-drivers: dshowext.ax, iyuv_32.dll, ksproxy.ax, kstvtune.ax, ksuser.dll, kswdmcap.ax, ksxbar.ax, msh263.drv, msyuv.dll, tsbyuv.dll, vfwwdm32.dll, and vidcap.ax. In PAE mode XP system freezes (audio is working but video not) and needs forced restart. It does not matter if I use the WinXPPAE 3.5 or Fix128 0.48. There are 2007 year firm drivers available, if used, they replace in both XP+7 systems usbvideo.sys, no problem with PAE on Win7, but on WinXP the second driver ks.sys remains with all 12 co-drivers and video in PAE mode is not working as well, only in this case the XP system does not freeze.
My question to this community is: What is the true cause? Either the PAE incompatibility of one of the 12 co-drivers, or the general problem of patched AMD USB drivers (which otherwise best fit my Intel 100 Series/C230 Skylake) that is responsible for similar issues like checkdisk of flash drives or non-functional sleep mode? If the second alternative is true, is then possible to buy an external USB card with PAE compatible drivers (ASMedia, VIA...) in order to make webcam working on PAE XP?

#7805 | juk777 | ⇗ @skullteria Thanks. What does it mean: "you can't install Base installer and others packages side by side with Kernel Standalone installed"? Conflict? Or...?

#7806

George King

> Zitat von ⇗ pappyN4 im Beitrag ¶ #6265

> Success for Win8 generic USB3 driver for XP x64. Full credit to Mov AX, 0xDEAD for showing the way.
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)
> ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware
> WDF 1.11 is same. Some minor differences for x64 USB compared to x86.
> KeInitializeSpinLock exists for x86 ntoskrnl.exe but for x64 function needs to be added in emu_extender. Also, usbd.sys also needs to be changed to use ntoskrn8. For anyone trying this, you can use a hex editor like hexplorer to change and Dependency Walker to make sure everything links together. PEChecksum.exe when finished with changes.

>     x86
>     wpprecorde8 - no change - KeInitSpinLock from ntoskrnl.exe
>     usb8 - no change  - KeInitSpinLock from ntoskrnl.exe
>     ucx01000 - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8->ntoskrnl.exe
>     usbxhci- change to wpprecorde8 and ntoskrn8.sys - KeInitSpinlock from ntoskrn8->ntoskrnl.exe
>     usbhub3 - change to wpprecorde8 and ntoskrn8.sys ksecd8 usb8 - KeInitSpinlock from ntoskrn8->ntoskrnl.exe

>     x64
>     wpprecorde8 - no change - does not use KeInitSpinLock
>     usb8 - change to ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function
>     ucx01000 - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function
>     usbxhci - change to wpprecorde8 and ntoskrn8.sys - KeInitSpinLock from ntoskrn8:function

> usbhub3 - change to wpprecorde8 and ntoskrn8.sys ksecd8 usb8 - KeInitSpinlock from ntoskrn8:function
> ksecd8 same as x86 instructions
> __security_cookie does need to be changed. If you skip it, driver will BSOD on you. I used IDA free to lookup the hex position value of where the cookie is then changed to a random value

>     x86
>     usb8 6.2.9200.20761
>     hexposition:	1600
>     value:	4E E6 40 BB

>     ucx01000 6.2.9200.22453
>     hexposition:	14E00
>     value:	4E E6 40 BB

>     usbhub3 6.2.9200.21180
>     hexposition:	27C00
>     value:	4E E6 40 BB

>     usbxhci 6.2.9200.22099
>     hexposition:	2A800
>     value:	4E E6 40 BB

>     wpprecorde8 6.2.9200.16384
>     hexposition:	1E00
>     value:	4E E6 40 BB

>     x64
>     usbxhci 6.2.9200.22099
>     hexposition:	39100
>     value:	32 A2 DF 2D 99 2B

>     ucx01000 6.2.9200.22453
>     hexposition:	1AD00
>     value:	32 A2 DF 2D 99 2B

>     usb8 6.2.9200.20761
>     hexposition:	2100
>     value:	32 A2 DF 2D 99 2B

>     wpprecorde8 6.2.9200.16384
>     hexposition:	2500
>     value:	32 A2 DF 2D 99 2B

>     usbhub3 6.2.9200.21180
>     hexposition:	32D00
>     value:	32 A2 DF 2D 99 2B

> ⇗
> For emu_extender, the following changes. Add KeInitializeSpinLock_k8 function, thanks Mov AX, 0xDEAD. Then modify one existing function. Changes in bold.

>     void FASTCALL
>     KeInitializeSpinLock_k8(
>       KSPIN_LOCK* SpinLock)
>     {
>         *SpinLock = 0;
>     }

>     void
>     Initialize (PUNICODE_STRING  RegistryPath)
>     {
>         KLOCK_QUEUE_HANDLE  LockHandle;

>         g_GuardedRegionCounter = 0;

>                              KeInitializeSpinLock_k8(&g_SpinWorkerRoutineArray);
>         KeAcquireInStackQueuedSpinLock(&g_SpinWorkerRoutineArray, &LockHandle);
>            {
>             g_LastUsedWorkerRoutineArray_Entry = 0;
>             RtlZeroMemory(WorkerRoutineArray, sizeof(WorkerRoutineArray));
>            }
>         KeReleaseInStackQueuedSpinLock(&LockHandle);

>                              KeInitializeSpinLock_k8(&g_SpinCreateProcessNotifyExArray);
>         KeAcquireInStackQueuedSpinLock(&g_SpinCreateProcessNotifyExArray, &LockHandle);
>            {
>             g_LastUsedCreateProcessNotifyExArray_Entry = 0;
>             RtlZeroMemory(CreateProcessNotifyExArray, sizeof(CreateProcessNotifyExArray));
>            }
>         KeReleaseInStackQueuedSpinLock(&LockHandle);

>     }

>     ADD
>     #pragma comment (linker, "/export:__C_specific_handler=ntoskrnl.__C_specific_handler")
>     #pragma comment (linker, "/export:_local_unwind=ntoskrnl._local_unwind")
>     #pragma comment (linker, "/export:_purecall=ntoskrnl._purecall")
>     #pragma comment (linker, "/export:_snwprintf=ntoskrnl._snwprintf")
>     #pragma comment (linker, "/export:_stricmp=ntoskrnl._stricmp")
>     #pragma comment (linker, "/export:_strnicmp=ntoskrnl._strnicmp")
>     #pragma comment (linker, "/export:_vsnwprintf=ntoskrnl._vsnwprintf")
>     #pragma comment (linker, "/export:_wcsicmp=ntoskrnl._wcsicmp")
>     #pragma comment (linker, "/export:_wcsnicmp=ntoskrnl._wcsnicmp")
>     #pragma comment (linker, "/export:ExAcquireFastMutex=ntoskrnl.ExAcquireFastMutex")
>     #pragma comment (linker, "/export:ExpInterlockedPopEntrySList=ntoskrnl.ExpInterlockedPopEntrySList")
>     #pragma comment (linker, "/export:ExpInterlockedPushEntrySList=ntoskrnl.ExpInterlockedPushEntrySList")
>     #pragma comment (linker, "/export:ExQueryDepthSList=ntoskrnl.ExQueryDepthSList")
>     #pragma comment (linker, "/export:ExReleaseFastMutex=ntoskrnl.ExReleaseFastMutex")
>     #pragma comment (linker, "/export:IoIs32bitProcess=ntoskrnl.IoIs32bitProcess")
>     #pragma comment (linker, "/export:IoWMIDeviceObjectToProviderId=ntoskrnl.IoWMIDeviceObjectToProviderId")
>     #pragma comment (linker, "/export:KeAcquireSpinLockRaiseToDpc=ntoskrnl.KeAcquireSpinLockRaiseToDpc")
>     #pragma comment (linker, "/export:KeLowerIrql=ntoskrnl.KeLowerIrql")
>     #pragma comment (linker, "/export:KeReleaseSpinLock=ntoskrnl.KeReleaseSpinLock")
>     #pragma comment (linker, "/export:KfRaiseIrql=ntoskrnl.KfRaiseIrql")

>     CHANGED FROM
>     #pragma comment (linker, "/export:KeInitializeSpinLock=ntoskrnl.KeInitializeSpinLock")
>     TO
>     #pragma comment (linker, "/export:KeInitializeSpinLock=KeInitializeSpinLock_k8")

>     Using
>     the x86 as guide I think i found the correct spot to make the change
>     for x64 version for USB3.0 speed reporting fix.  USBTreeView shows as
>     (0x03 (Super-Speed))
>      x86
>     usbhub3 6.2.9200.21180
>     hexposition:	9058
>     change:	75 09 -> EB 09	(jnz -> jmp)

>     x64
>     usbhub3 6.2.9200.21180
>     hexposition:	A44B
>     change:	75 0A -> EB 0A	(jnz -> jmp)⇗ ⇗

> change inf NTamd64 -> NTx86 if using for x86

>     ;
>     ; usbhub3.inf
>     ;
>     ; Copyright (c) Microsoft Corporation. All rights reserved.
>     ;

>     [Version]
>     signature="$Windows NT$"
>     Class=USB
>     ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
>     Provider=%Msft%
>     DriverVer=05/01/2018,6.2.9200.16384

>     [SourceDisksNames]
>     1="Generic USB 3.0 Hub Driver"

>     [SourceDisksFiles]
>     usbhub3.sys  = 1
>     usb8.sys    = 1
>     ksecd8.sys   = 1

>     [ControlFlags]
>     BasicDriverOk = *
>     ExcludeFromSelect = *

>     [DestinationDirs]
>     DefaultDestDir    = 12

>     [Manufacturer]
>     %GenericHub.Mfg%=GenericHub, NTamd64

>     ;
>     ; ---------------------- HUB3 Controllers ----------------------
>     ;

>     [GenericHub.NTamd64]
>     %UsbHub3.RootHubDeviceDesc%=GenericHub.Install, USB\ROOT_HUB30
>     %UsbHub3.Usb30HubDesc%=GenericHub.Install, USB\USB30_HUB
>     %UsbHub3.Usb20HubDesc%=GenericHub.Install, USB\USB20_HUB

>     [GenericHub.Install.NT]
>     CopyFiles=GenericHub.CopyFiles

>     [GenericHub.Install.NT.Services]
>     AddService=USBHUB3, 2, GenericHub.AddService

>     [GenericHub.AddService]
>     DisplayName    = %UsbHub3.SVCDESC%
>     ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
>     StartType      = 3               ; SERVICE_DEMAND_START
>     ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
>     ServiceBinary  = %12%\UsbHub3.sys
>     LoadOrderGroup = Base
>     AddReg         = ServiceHub_AddReg

>     [GenericHub.Install.NT.WMI]
>     ; Set access permissions for UI WMI GUIDs
>     WMIInterface = {4E623B20-CB14-11D1-B331-00A0C959BBD2},,WMIGuidSecurity_AllRights

>     [ServiceHub_AddReg]
>     HKR,               , BootFlags,  0x00010001, 16 ; CM_SERVICE_USB3_DISK_BOOT_LOAD
>     HKR, Parameters\Wdf, LogPages,   0x00010001, 3 ; KMDF IFR size
>     HKR, Parameters,     LogPages,   0x00010001, 3 ; Driver IFR size
>     ;
>     ; Create a dummy usbhub services key because UxD relies on it.
>     ;
>     HKLM, SYSTEM\CurrentControlSet\Services\usbhub,,0x00000010
>     ;
>     ; Fixes the power off when a safely remove hardware command was send.
>     ;
>     HKLM, "SYSTEM\CurrentControlSet\Services\usbhub\hubg", "DisableOnSoftRemove", 0x00010001, "1"

>     [GenericHub.CopyFiles]
>     usbhub3.sys
>     usb8.sys
>     ksecd8.sys

>     ;
>     ; --------------------------- Strings --------------------------
>     ;

>     [Strings]
>     ;Non-Localizable
>     Msft = "Microsoft"

>     ;Localizable
>     GenericHub.Mfg = "(Standard USB HUBs)"
>     UsbHub3.RootHubDeviceDesc = "USB Root Hub (xHCI)"
>     UsbHub3.Usb30HubDesc = "Generic SuperSpeed USB Hub"
>     UsbHub3.Usb20HubDesc = "Generic USB Hub"
>     UsbHub3.SVCDESC = "SuperSpeed Hub"

>     ;
>     ; usbxhci.inf
>     ;
>     ; Copyright (c) Microsoft Corporation. All rights reserved.
>     ;

>     [Version]
>     signature="$Windows NT$"
>     Class=USB
>     ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
>     Provider=%Msft%
>     DriverVer=05/01/2018,6.2.9200.16384

>     [SourceDisksNames]
>     1="Generic USB xHCI Host Controller"

>     [SourceDisksFiles]
>     usbxhci.sys  = 1
>     ucx01000.sys = 1
>     WppRecorde8.sys = 1

>     [ControlFlags]
>     BasicDriverOk = *
>     ExcludeFromSelect = *

>     [DestinationDirs]
>     DefaultDestDir    = 12

>     [Manufacturer]
>     %Generic.Mfg%=Generic, NTamd64

>     ;
>     ; ---------------------- xHCI Controllers ----------------------
>     ;

>     [Generic.NTamd64]
>     %PCI\CC_0C0330.DeviceDesc%=Generic.Install,PCI\CC_0C0330
>     %ACPI\PNP0D10.DeviceDesc%=Generic.Install,ACPI\PNP0D10

>     [Generic.Install.NT]
>     CopyFiles=Generic.CopyFiles
>     ExcludeID=PCI\VEN_1B73&DEV_1000&CC_0C0330
>     ExcludeID=PCI\VEN_1B73&DEV_1400&CC_0C0330
>     ExcludeID=PCI\VEN_1B73&DEV_1009&REV_00
>     ExcludeID=PCI\VEN_1022&DEV_43D5

>     [Generic.Install.NT.HW]
>     AddReg=PciD3ColdSupported.RegHW

>     [PciD3ColdSupported.RegHW]
>     HKR,e5b3b5ac-9725-4f78-963f-03dfb1d828c7,D3ColdSupported,0x10001,1

>     [Generic.Install.NT.Services]
>     AddService=USBXHCI, 2, Generic.AddService
>     AddService=UCX01000,,  UCX.AddService

>     [Generic.AddService]
>     DisplayName    = %PCI\CC_0C0330.DeviceDesc%
>     ServiceType    = 1
>     StartType      = 3
>     ErrorControl   = 1
>     ServiceBinary  = %12%\USBXHCI.SYS
>     LoadOrderGroup = Base
>     AddReg         = USBXHCI.AddReg

>     [USBXHCI.AddReg]
>     HKR,, BootFlags,  0x00010001, 16 ; CM_SERVICE_USB3_DISK_BOOT_LOAD

>     [Generic.CopyFiles]
>     usbxhci.sys
>     ucx01000.sys
>     WppRecorde8.sys

>     [UCX.AddService]
>     DisplayName    = "USB Controller Extension"
>     ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
>     StartType      = 3                  ; SERVICE_DEMAND_START
>     ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
>     ServiceBinary  = %12%\ucx01000.sys
>     LoadOrderGroup = Base
>     AddReg         = UCX.AddService.AddReg

>     [UCX.AddService.AddReg]
>     HKLM,System\CurrentControlSet\Control\Wdf\Kmdf\Ucx\Versions\1\1,Service,,ucx01000
>     HKR,, BootFlags,  0x00010001, 16 ;CM_SERVICE_USB3_DISK_BOOT_LOAD

>     ;
>     ; --------------------------- Strings --------------------------
>     ;

>     [Strings]
>     ;Non-Localizable
>     Msft = "Microsoft"

>     ;Localizable
>     Generic.Mfg = "Generic USB xHCI Host Controller"
>     PCI\CC_0C0330.DeviceDesc="USB xHCI Compliant Host Controller"
>     ACPI\PNP0D10.DeviceDesc="USB xHCI Compliant Host Controller"
>     Note
>     "ExcludeID=PCI\VEN_1022&DEV_43D5" in usbxhci.inf, to avoid using
>     driver for USB port that I already have existing vendor drivers.

>     Attached unmodified original sys files for x64,x86 for anyone who wants to try

Can you upload modded files too please? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7807 | Amir | Blue screen of death appears when loading Windows longhorn build 4042.
#7808 | Amir | Stop: c000021a Unknown Hard Error Unknown Hard Error

#7809

tumagonx

> Zitat von ⇗ Twin im Beitrag ¶ #7804

> The webcams problems in PAE mode were mentioned here several times, but there were no solutions of them. I have plug and play SilverCrest Webcam WC2230, on my Win7 32-bit partition it uses only one driver - usbvideo.sys, and works perfectly in PAE mode. On the other hand, on my WinXP 32-bit partition this one driver is not enough; the system installs also kernel streaming driver (ks.sys), which loads yet other 12 co-drivers: dshowext.ax, iyuv_32.dll, ksproxy.ax, kstvtune.ax, ksuser.dll, kswdmcap.ax, ksxbar.ax, msh263.drv, msyuv.dll, tsbyuv.dll, vfwwdm32.dll, and vidcap.ax. In PAE mode XP system freezes (audio is working but video not) and needs forced restart. It does not matter if I use the WinXPPAE 3.5 or Fix128 0.48. There are 2007 year firm drivers available, if used, they replace in both XP+7 systems usbvideo.sys, no problem with PAE on Win7, but on WinXP the second driver ks.sys remains with all 12 co-drivers and video in PAE mode is not working as well, only in this case the XP system does not freeze.
> My question to this community is: What is the true cause? Either the PAE incompatibility of one of the 12 co-drivers, or the general problem of patched AMD USB drivers (which otherwise best fit my Intel 100 Series/C230 Skylake) that is responsible for similar issues like checkdisk of flash drives or non-functional sleep mode? If the second alternative is true, is then possible to buy an external USB card with PAE compatible drivers (ASMedia, VIA...) in order to make webcam working on PAE XP?

Want to know about this too
Got better chance if I record after fresh boot (no freeze) but once windows run a lot of stuff, it started to freeze (but still work after wait). This was using win2003 sys files.

#7810

Twin

> Zitat von ⇗ tumagonx im Beitrag ¶ #7809

> Want to know about this too
> Got better chance if I record after fresh boot (no freeze) but once windows run a lot of stuff, it started to freeze (but still work after wait). This was using win2003 sys files.

It seems like your webcam is sensitive to limited resources during simultaneous running of many programs, whereas my webcam causes system freezing even after fresh boot, and this freezing is permanent. What do you see in XP device manager: only usbvideo.sys alone, or moreover other drivers that I have mentioned in my previous post? Maybe even the plug and play webcams are different; I would be useful if people share here their experiences with various webcam types. It really bothers me since I have otherwise no issues with all the other USB devices in XP PAE mode, only this webcam is critical.

#7811

Pill Monster

> Zitat von ⇗ Andalu im Beitrag ¶ #7799

> Is there any way to always have a USB3 device recognized as such when connected to a USB 3.0 switch hub (Generic SuperSpeed USB Hub)?
> Unfortunately, this doesn't always happen and many times the USB3 device (as the only device connected to the hub) is recognized as USB2 (Generic USB 2.1 Full Speed Hub).
> The only way that so far seems to work better when the USB3 device is recognized as USB2 is to disconnect the USB cable of the device itself and quickly reconnect it to another USB port of the switch HUB (as I read somewhere on the web). But this way doesn't always work on the first try.
> An alternative way seems to be to shut down the system and not reboot immediately but after some time, in this case you will almost certainly get the correct recognition of the USB3 device. Both methods are not a definitive solution.
> I tried all versions of XP USB3 drivers. Also tried another usb switch and two different PCIEx to USB3 cards in addition to the intel controller on 3 different systems: same behavior.
> P.S.: the switch hub is powered with an additional USB cable. A USB "Y" cable for the USB3 device for additional power did not help.

In the BIOS disable Legacy USB Support (under USB options).

#7812

Pill Monster

> Zitat von ⇗ Twin im Beitrag ¶ #7804

> The webcams problems in PAE mode were mentioned here several times, but there were no solutions of them. I have plug and play SilverCrest Webcam WC2230, on my Win7 32-bit partition it uses only one driver - usbvideo.sys, and works perfectly in PAE mode. On the other hand, on my WinXP 32-bit partition this one driver is not enough; the system installs also kernel streaming driver (ks.sys), which loads yet other 12 co-drivers: dshowext.ax, iyuv_32.dll, ksproxy.ax, kstvtune.ax, ksuser.dll, kswdmcap.ax, ksxbar.ax, msh263.drv, msyuv.dll, tsbyuv.dll, vfwwdm32.dll, and vidcap.ax. In PAE mode XP system freezes (audio is working but video not) and needs forced restart. It does not matter if I use the WinXPPAE 3.5 or Fix128 0.48. There are 2007 year firm drivers available, if used, they replace in both XP+7 systems usbvideo.sys, no problem with PAE on Win7, but on WinXP the second driver ks.sys remains with all 12 co-drivers and video in PAE mode is not working as well, only in this case the XP system does not freeze.
> My question to this community is: What is the true cause? Either the PAE incompatibility of one of the 12 co-drivers, or the general problem of patched AMD USB drivers (which otherwise best fit my Intel 100 Series/C230 Skylake) that is responsible for similar issues like checkdisk of flash drives or non-functional sleep mode? If the second alternative is true, is then possible to buy an external USB card with PAE compatible drivers (ASMedia, VIA...) in order to make webcam working on PAE XP?

Does your BIOS have a Memory Remap option, (could be referred to as "PCI memory hole/memory hoisting)? Or MMI/O enable/disable?

#7813

Twin

> Zitat von ⇗ Pill Monster im Beitrag ¶ #7812

> Does your BIOS have a Memory Remap option, (could be referred to as "PCI memory hole/memory hoisting)? Or MMI/O enable/disable?

Nothing of that you have noticed is in my BIOS. I have HP ProDesk 490 G3 MT Business PC and was surprised how the BIOS is almost fully "automated" with only a few selectable options, as compared with BIOSes of my previous older computers.

#7814

Pill Monster

> Zitat von ⇗ Twin im Beitrag ¶ #7813

> > Zitat von ⇗ Pill Monster im Beitrag ¶ #7812

> > Does your BIOS have a Memory Remap option, (could be referred to as "PCI memory hole/memory hoisting)? Or MMI/O enable/disable?

> Nothing of that you have noticed is in my BIOS. I have HP ProDesk 490 G3 MT Business PC and was surprised how the BIOS is almost fully "automated" with only a few selectable options, as compared with BIOSes of my previous older computers.

Yep - as an OEM HP lock their machines down fairly tightly. For a BIOS with options look for ASUS or perhaps Gigabyte.
I prefer ASUS myself. One great advantage of ASUS boards is ofc USB Flashback. :)
HP build wonderful quality desktops - I always recommend HP equipment to my clients. However they are business machines.

#7815 | juk777 | ⇗ @Pill Monster Hi! I have the same problem with the webcam. My BIOS have a Memory Remap option. And what: enable/disable?

## Page 522

#7816

Pill Monster

> Zitat von ⇗ juk777 im Beitrag ¶ #7815

> @Pill Monster
> Hi! I have the same problem with the webcam. My BIOS have a Memory Remap option.
> And what: enable/disable?

Enable definitely. It's likely already enabled - usual BIOS default for most vendors.,
(I assume you have between 8GB - 32GB RAM right?))

#7817 | juk777 | ⇗ @Pill Monster Thank you, but as it turned out, Memory Remap-Enable was originally (((

#7818

Pill Monster

> Zitat von ⇗ juk777 im Beitrag ¶ #7817

> @Pill Monster
> Thank you, but as it turned out, Memory Remap-Enable was originally (((

f it's ASUS you may have another option under Northbridge Menu called MMIO. It's off by default but could be beneficial to have it on.

#7819 | juk777 | ⇗ @Pill Monster Alas, I don't have option under Northbridge Menu called MMIO (

#7820

diderius6

⇗ @skullteria
Hi, I want to test legacy nvme boot on the ASUS P8H77-M board.
For to reach this, first I try the BCD boot with your Vista bootfiles from normal Sata harddisk.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (144)
But when I choose the Vista boot entry, after the message of "missing signature in ntkrnlpa.exe"
and hitting F8 for to disable "driver signature enforcement",
the compi always reboots at once.
On other compis XP SP3 boot via the Vista bootfiles and BCD works.
Do you have newer bootfiles or an idea what I am doing wrong
Dietmar
EDIT: The problem seems to be related to acpi.sys . With newested modded acpi.sys I do not get reboot at once via BCD boot files, but I cant get rid off the message
"missing signature in ntkrnlpa.exe" even I hit F8, this message appears again and again.

#7821

George King

⇗ @diderius6 Just set in BCD WinPE to yes. This should do the job as this works with Windows 7 bootmgr + BCD, XP2ESD use this too.

    bcdedit /store "%TARGET%\boot\bcd" /set {default} winpe yes

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7822

diderius6

⇗ @George King
Thanks for help.
I got it work.
Now I can boot XP SP3 via ntldr or via BCD on the Asus P8H77-M with Intel Core i3-3240 Prozessor and 4 Gbyte ram.
I use an original XP SP3 CD, choose IDE mode for the harddisk and do not add any driver.
Some strange things I noticed:
1.) Works only with the newest modded acpi.sys .
⇗ https://ufile.io/6lqij4n8
2.) When you want to boot via ntldr OR BCD, there happens a mix between them.
I overcome this with connected original XP SP3 boot CD , hitting on TXT setup "repair" and then fixmbr and fixboot.
Then I deleted from an outstanding XP the folder BOOT in the xp C:\ path.
This folder BOOT is in some crazy way involved even when you boot XP via ntldr.
Then I copy the original BOOT folder from post below there again.
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (144)
EDIT: Boottime for XP to full desktop is with ntldr 13 sec, with BCD 11 sec.
Maybe, that in boot.ini (for ntldr boot) only the following entry is allowed:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="xppppp"
This is Tutorial from ⇗ @skullteria

> Well, i will try explain
> Step 1:
> - From my boot files or any Windows VIsta CD, copy boot folder and place on C:\
> Step 2:
> - From my boot files or any Windows Vista CD, copy bootmgr and place on C:\
> Step 3:
> - From my boot files, copy winload to your Windows XP installation, on Windows\System32
> Step 4:
> - Install EasyBCD, preferly version 1.7.2. I can upload to you. This program require .Net Framework 2.0.
> Step 5:
> - After install easyBCD, open the program, You will get some erros, only click "ok" and wait program start. The default entry presents on BCD are wrong for now, you need delete on "Add/Remove Entries" and add a new entry, on same page on "Add and entry" your choose on type combobox: "Windows Vista/longhorn", edit Name and choose drive. Next, click in "Add entry"
> Step 6:
> - In "Manage bootloader section (a button named, like Other what i talked), you see "Bootloader Installtion options", you choose "Reinstall The Vista bootloader", and click in "Write MBR". You can verify if it is ok on "Viwe Settings", if you added entry is ok.
> Step 7:
> - I recommend add a Ntldr based entry for fallback. For it, you back to Step 5 and instead choose "Windows Vista/Longhorn", you choose "Windows NT/2000/XP/2003", click em "Add Entry". For default, the entry has wrong partition. You need edit in "change Settings" section. There, you will see "Entry based settings", and select the entry what you already add (XP based). And after, choose "Drive" where is windows XP is installed (need ntldr and ntdetect.com placed there too) (for default, C:). Click em "Save Settings".
> Final Step:
> - If all ok, you will restart and on Windows Vista based entry you press "F8" and choose "Disable driver integrity checks" (or similar"). You will get BSOD A5 0x0000002. For debug it. you need back to easybcd, and edit settings on "Advanced Settings", choose Windows Vista based entry and mark "Debug boot process" and click and "Apply Settings"

Dietmar

#7823

Andalu

> Zitat von ⇗ Pill Monster im Beitrag ¶ #7811

> In the BIOS disable Legacy USB Support (under USB options).

Thanks for the suggestion but it didn't work. Also, by disabling Legacy USB Support the usb keyboard no longer works during POST and I cannot enter the bios.
Doing some more tests I noticed the following:
- for the USB switch hub for 4 PCs, I found that in position 1 the USB3 is never enabled (even tried in Win10) so I think that USB port is defective. The other 3 positions work properly;
- for the USB switch hub for 2 PCs, however, the weirdness continues: in two PCs the USB3 device is correctly detected as connected to a SuperSpeed HUB while in other 2 PCs the same device is detected as USB2 (also in Win10) and as connected to a generic USB 2.1 Full Speed Hub
P.S.: clearly, the same version of the USB3 driver is installed in all XP systems.

#7824

George King

⇗ @diderius6 ⇗ @infuscomus ⇗ @daniel_k ⇗ @Mov AX, 0xDEAD
Have you ever seen this BSOD? I'm getting it in VirtualBox from some reason now
⇗ [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7825

diderius6

Even with BCD boot of XP SP3 it is not possible,
to boot this XP on for nvme modded Bios ASUS P8H77-M board from nvme Samsung 960 Pro.
I test the BCD boot possibility of the Samsung 960 Pro on a compi with nvme support, there the 960 Pro boots BCD XP.
Another strange result is: I flash the whole nvme Bios from the z77 extreme4 Website Bios
Z77 EXT4 2.90P
into the Bioschip of the ASUS P8H77-M.
The Samsung 960 Pro is listet there at once as boot device in Bios, but does not boot.
The behavior is exact as for the for nvme modded Bios.
And for to make this crazy check complete, I succeed to boot this BCD XP SP3 with the whole(!) Bios Z77EXT42.90P
on the ASUS P8H77-M board via harddisk in IDE mode. It boots like in slow motion, but boots to full desktop.
So, maybe, that in the nvme files or CSM of the Bios Z77EXT42.90P is something wrong for nvme boot.
This I can only test, when I own such a board z77 extreme4
Dietmar
EDIT: From the nvme Samsung 950 Pro I can boot, but this one has own nvme legacy Bios.

#7826 | diderius6 | ⇗ @George King I found this ⇗ https://docs.microsoft.com/en-us/windows...ernel-mode-trap ⇗ https://www.techspot.com/community/topic...ll-0x0s.128292/ Dietmar

#7827

skullteria

> Zitat von ⇗ juk777 im Beitrag ¶ #7805

> @skullteria Thanks. What does it mean:
> "you can't install Base installer and others packages side by side with Kernel Standalone installed"?
> Conflict? Or...?

For now, has conflit. I will solve on next version

#7828 | infuscomus | ⇗ @George King I think a driver might be crashing, what changes have you made?

#7829

George King

⇗ @infuscomus Nothing was changed on my HW. My host is Windows 10 and works without any problem - but I noticed my system was automatically updated after energy blackout. And after that my VirtualBox XP return mentioned BSOD. Currently I updated BIOS to latest version and seems same. I will format my system to see difference - if will be same than it must be some HW problem..
This is my main machine
Motherboard:
Asus Prime B360 Plus
CPU:
Intel Core i5-9400F, 2,9 GHz - 4,1 GHz
RAM:
2x 16GB HyperX 2666 MHz
Disks:
1x SSD 1TB Intel 660p
1x SSD 1TB Samsung EVO 970
2x HDD 8TB Seagate
GPU:
Sapphire RX 580 Nitro+ 4 GB (I bought it as it was very cheap 90% discount last piece)
Expansions:
1x PCI WiFi Qualcomm Atheros AR922x
1x PCI Silicon Image 0680 ATA/133 RAID Controller
1x PCIe VIA USB3 Controller
1x USB Bluetooth
1x SATA Asus Blu-Ray[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7830 | juk777 | ⇗ @skullteria I installed everything was installed normally, BUT the Russian language was partially lost and the portative programs stopped working...

## Page 523

#7831 | infuscomus | ⇗ @George King I'm reasonable sure the cause of the BSOD in your VM wouldn't be anything on the host machine or the real hardware, the problem will be inside the VM, maybe you changed something in the VM configuration file? Does an old version of XP2ESD give the same BSOD?

#7832

George King

⇗ @infuscomus You are absolutly correct. Seems like driver problems. I made a lot of changes to add x64 support.. And I forgot I replaced MassStorage drivers in Auto-Sysprep with latest ones.. I'm going to find a cause..
Weird is I encountered same error on my testing laptop few months back and reinstall solved this issue.[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7833 | diderius6 | ⇗ @daniel_k I just get board Asrock Z77 Extreme4 and now fun with legacy nvme on older boards starts Dietmar ⇗

#7834

diderius6

I just flash the Bios 2.90P with nvme support to the Asrock Z77 Extreme4 board.
And voila, the Samsung 960 Pro is at once shown in Bios as boot device,
but you cant boot from it!
Now it is clear, that with this 2.90P Bios legacy nvme boot of XP is impossible.
But why?!
Dietmar

#7835 | diderius6 | May be this non bootable for XP legacy nvme device happens, because in Bios of the Asrock Z77 Extreme4 there is no switch in CSM between UEFI Windows <=> Other OS. Does somebody here know, how to add this switch to CSM in Bios Dietmar

#7836

skullteria

> Zitat von ⇗ juk777 im Beitrag ¶ #7830

> @skullteria
> I installed everything was installed normally, BUT the Russian language was partially lost and the portative programs stopped working...

portative programs is portable programs?
About russian language, it's normal, because i used english native dlls as base, like ntdll and kernel32 (renamed to kernelex)

#7837 | Amir | Hello everybody. One question worries me. What is the acpiec.sys driver and what is it for? After Windows Longhorn build 4093, this driver simply does not exist.

#7838

juk777

> Zitat von ⇗ skullteria im Beitrag ¶ #7836

> portative programs is portable programs?

Portable Soft

#7839 | infuscomus | ⇗ @diderius6 I'm not entirely sure what you mean by CSM switch, is CSM not switched on?

#7840

diderius6

⇗ @infuscomus
On newer UEFI Bios there is inside the switch CSM another switch for "Uefi Windows" or "Other OS".
This switch is missed in the nvme Bios 2.90P of the Asrock Z77 Extreme4 board.
I check, what happens, if on such a Bios you set in CSM switch "Other OS" => "Uefi Windows".
Then it shows exact this behavior under XP: "look for bootable device" when compi starts
Dietmar

#7841 | infuscomus | ⇗ @diderius6 does nvme booting work for windows 10 on that board?
#7842 | daniel_k | ⇗ @diderius6 As suggested, see if NVME boot works in pure UEFI mode by trying to install Win8 or later. It seems that proper legacy boot was introduced with chipsets supporting Haswell or later.

#7843

infuscomus

⇗ @George King
here is the 64bit ntoskrnl extender you asked for.

infuscomus has attached files to this post

- ⇗ NTOSKRNL_Emu-master_GK.7z.zip

#7844

Pill Monster

> Zitat von ⇗ Andalu im Beitrag ¶ #7799

> Is there any way to always have a USB3 device recognized as such when connected to a USB 3.0 switch hub (Generic SuperSpeed USB Hub)?
> Unfortunately, this doesn't always happen and many times the USB3 device (as the only device connected to the hub) is recognized as USB2 (Generic USB 2.1 Full Speed Hub).

USB 2.1 would appear be a USB 3 device plugged into a USB 2 port.
AIDA64:

#7845 | infuscomus | ⇗ @Pill Monster ⇗ @Andalu I'm not sure if the backported windows 8 driver in windows XP will show it like that though.

## Page 524

#7846

Pill Monster

> Zitat von ⇗ Pill Monster im Beitrag ¶ #7844

> [quote=Andalu|p7799]
> Is there any way to always have a USB3 device recognized as such when connected to a USB 3.0 switch hub (Generic SuperSpeed USB Hub)?
> Unfortunately, this doesn't always happen and many times the USB3 device (as the only device connected to the hub) is recognized as USB2 (Generic USB 2.1 Full Speed Hub).

Well this is interesting.
I just unplugged the ADATA flash drive, plugged in a USB 3 external HDD and then the ADATA, so both are connected..
Now the ADATA shows up as USB 3.0.
The VIA hub btw is a PCIe card....not onboard. What brand hub are you using?

#7847

diderius6

⇗ @infuscomus ⇗ @daniel_k
On the ASRock Z77 Extreme4 board with "nvme" Bios 2.90P
I cant install on Samsung nvme 960 Pro Win10 32 on MBR and also not Win10 64 bit on MBR.
I also cant install on GPT UEFI Win10 bit 32 on Samsung nvme 960 Pro.
Only install on GPT UEFI of Win10 bit 64 works there.
I also make a try with the "nvme" Bios from 2018, its Bios 2.90A for the ASRock Z77 Extreme6 board,
with exact the same result. Cool, this Bios shows a floppy controller, so floppy connector is on ASRock Z77 Extreme6 board ).
So, legacy nvme isnt working until now on the 77 chipset (Ivy Bridge)
Dietmar

#7848

Pill Monster

> Zitat von ⇗ infuscomus im Beitrag ¶ #7845

> @Pill Monster ⇗ @Andalu
> I'm not sure if the backported windows 8 driver in windows XP will show it like that though.

Didn't ⇗ @Andalu just say that it did? Unless I misunderstood his comment...

> Zitat

> the USB3 device (as the only device connected to the hub) is recognized as USB2 (Generic USB 2.1 Full Speed Hub)

I would expect if the backported driver supports 3.0 it also supports 2.1 which OTTOMH is part of the 3.0 standard correct me if I'm wrong.

#7849

Andalu

⇗ @Pill Monster
trying to explain better:
I have a USB 3.0 data transfer cable connected on one side to a pc (which I will call 'master') and on the other side to a USB3 switch hub for 4 pcs (which I will call 'slave'). The hub uses additional power from another USB port.
My intention is to get the USB3 recognition of the cable on the 'master' side and especially on the 'slave' side every time I make the switch between the PCs connected to the hub.
Unfortunately, sometimes on the 'slave' side the cable is recognized as a USB2 device and can happen:
- that also the 'master' is degraded to USB2 device;
- launching the software for synchronize files between PCs, one of the two systems freeze (black screen) needing a manual reboot.
Already tried with another data transfer cable and another hub switch with the same results. This happens even with a USB3 flash drive inserted into the hub as the only connected device.
For the 'master' it seems to work to turn off the system and disconnect the power completely. For the 'slave' side I haven't found a definitive solution.
Below some images:
Master correctly recognized in XP
⇗
Slave misrecognized in Win10 (the same happens on XP as a device connected to a Generic USB 2.1 Full Speed Hub).
⇗
P.S.: Unfortunately at the moment I couldn't take an image from XP because I don't want to lose the correct recognition for both (master and slave) as USB3 switching on another PC. I have to transfer some quite big files and I don't want spent a lot of time :)
Edit: added the images containing the USB hub IDs:
USB3.0 Hub ID
⇗
USB2.1 Hub ID
⇗

#7850

Pill Monster

> Zitat von ⇗ Andalu im Beitrag ¶ #7849

> @Pill Monster
> trying to explain better:
> I have a USB 3.0 data transfer cable connected on one side to a pc (which I will call 'master') and on the other side to a USB3 switch hub for 4 pcs (which I will call 'slave'). The hub uses additional power from another USB port.
> My intention is to get the USB3 recognition of the cable on the 'master' side and especially on the 'slave' side every time I make the switch between the PCs connected to the hub.
> Unfortunately, sometimes on the 'slave' side the cable is recognized as a USB2 device and can happen:
> - that also the 'master' is degraded to USB2 device;
> - launching the software for synchronize files between PCs, one of the two systems freeze (black screen) needing a manual reboot.
> Already tried with another data transfer cable and another hub switch with the same results. This happens even with a USB3 flash drive inserted into the hub as the only connected device.
> For the 'master' it seems to work to turn off the system and disconnect the power completely. For the 'slave' side I haven't found a definitive solution.
> Below some images:
> Master correctly recognized in XP
> ⇗
> Slave misrecognized in Win10 (the same happens on XP as a device connected to a Generic USB 2.1 Full Speed Hub).
> ⇗
> P.S.: Unfortunately at the moment I couldn't take an image from XP because I don't want to lose the correct recognition for both (master and slave) as USB3 switching on another PC. I have to transfer some quite big files and I don't want spent a lot of time :)
> Edit: added the images containing the USB hub IDs:
> USB3.0 Hub ID
> ⇗
> USB2.1 Hub ID
> ⇗

05E3 is Genesis.
Maybe I can offer some suggestions - as it gave me few headaches in the past.
I also coincidentally own an external hub with Genesis Logic controller. It's a pita.
I'm headed to work but will post back later.

#7851 | Andalu | ⇗ @Pill Monster my other switch hub is also a Genesis as well. I had thought about getting another hub switch but there is no reference to the onboard chipset. I wouldn't want it to be Genesis again.

#7852

Pill Monster

> Zitat von ⇗ Andalu im Beitrag ¶ #7851

> @Pill Monster
> my other switch hub is also a Genesis as well.
> I had thought about getting another hub switch but there is no reference to the onboard chipset. I wouldn't want it to be Genesis again.

Yeah me either lol. Complaints all over the web regarding the Genesis hubs.
Mine is POS, legacy has to be disabled in BIOS or the hub USB 3 doesn't work when plugged to my machines' ASMedia 3.0 ports.
But then USB 2 devices won't work in any USB 3 ports.
Plus I'm sure the GL hub borked a bunch of my 3.0 flash drives.
Previous GL hub (had 2) I accidentally connected a 12v adapter to it - it fried the hub ofc. The USB hubs (or controllers?) on the motherboard were killed too - and the onboard LAN.
Left me with 2 usb ports - mouse/keyboard.
Btw what Intel platform do you have? - Intel released updates to address Renesas controller issues, might be worth a shot.

#7853

Andalu

> Zitat von ⇗ Pill Monster im Beitrag ¶ #7852

> What Intel platform do you have? - Intel released updates to address Renesas controller issues, might be worth a shot.

i5 10600 on Gigabyte H470 (master)
i5 8400 on Asrock H310 + i7 9700 on Asus Q370 (both slave)
I have a Nec-Renesas PCIEx to USB3 but the cards with VIA chipset work better on my systems.

#7854 | Andalu | ⇗ @Pill Monster It's getting late at my place, time for bed. Thanks for your kind attention ;)

#7855

George King

⇗ @infuscomus Thanks for compiled files. Meanwhile I managed to compile them too according your informations from PM.
I managed to create Generic USB3.x driver, Generic AHCI, Generic NVMe and IRST 16 for Windows XP SP2 x64 based on informations on ⇗ @Mov AX, 0xDEAD EMU Extender project. Currently I can confirm, USB3x + AHCI driver works as expected in VM. I think NVMe will work too, but I need to test it on real HW - I have assembled some old desktop for testing, will see how it goes :)
I will upload testing ISO and drivers soon :)
Now I think patched APCI is needed too to install it on newer HW?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7856 | infuscomus | ⇗ @George King Yes, Patched ACPI driver is needed for any PC newer than 2015.

#7857

mockingbird

> Zitat von ⇗ George King im Beitrag ¶ #7855

> @infuscomus Thanks for compiled files. Meanwhile I managed to compile them too according your informations from PM.
> I managed to create Generic USB3.x driver, Generic AHCI, Generic NVMe and IRST 16 for Windows XP SP2 x64 based on informations on @Mov AX, 0xDEAD EMU Extender project. Currently I can confirm, USB3x + AHCI driver works as expected in VM. I think NVMe will work too, but I need to test it on real HW - I have assembled some old desktop for testing, will see how it goes :)
> I will upload testing ISO and drivers soon :)
> Now I think patched APCI is needed too to install it on newer HW?

I look forward to this... XP x64 is very tempting.... Been using it here for more than 5 years.

#7858

George King

Anybody is able to add some new functions to ntoskrn8.sys? For example, when I'm exploring Windows 7 driver, these is generic HDA driver. I found hdabus.sys is missing 4 functions in ntoskrn8.sys, but these functions are defined in ntifs_ddk.h. Is anybody able to add them so compiled ntoskn8.sys have them available?
This is in ntifs_ddk.h

    #if (NTDDI_VERSION >= NTDDI_WIN7)
    __drv_maxIRQL(APC_LEVEL)
    NTKERNELAPI
    NTSTATUS
    PoCreatePowerRequest (
        __deref_out PVOID *PowerRequest,
        __in PDEVICE_OBJECT DeviceObject,
        __in PCOUNTED_REASON_CONTEXT Context
           );
    #endif

    #if (NTDDI_VERSION >= NTDDI_WIN7)
    __drv_maxIRQL(DISPATCH_LEVEL)
    NTKERNELAPI
    NTSTATUS
    PoSetPowerRequest (
        __inout PVOID PowerRequest,
        __in POWER_REQUEST_TYPE Type
           );
    #endif

    #if (NTDDI_VERSION >= NTDDI_WIN7)
    __drv_maxIRQL(DISPATCH_LEVEL)
    NTKERNELAPI
    NTSTATUS
    PoClearPowerRequest (
        __inout PVOID PowerRequest,
        __in POWER_REQUEST_TYPE Type
           );
    #endif

    #if (NTDDI_VERSION >= NTDDI_WIN7)
    __drv_maxIRQL(APC_LEVEL)
    NTKERNELAPI
    VOID
    PoDeletePowerRequest (
        __inout PVOID PowerRequest
           );
    #endif

⇗

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7859 | infuscomus | ⇗ @George King why are you using ntoskrnl extender with portcls.sys? XP should have it's own version of that already.

#7860

George King

⇗ @infuscomus
With XP portcls.sys is missing this function. I think "easiest" is add it into extender and use Windows 7 portcls.sys, but I'm not able to edit Extender code
⇗ [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

## Page 525

#7861 | infuscomus | ⇗ @George King you can edit ntoskrn8.c to add the functions you need.

#7862

diderius6

⇗ @daniel_k ⇗ @Ethaniel ⇗ @YuriyCN
I make a new test for legacy nvme boot of XP on board Asus P8H77-M via nvme Samsung 960 Pro with the files from
⇗ [Experimental] NVMe Option ROM (4)
But even the nvme device is now shown in Bios, no boot of XP is possible.
Those files make an entry for nvme in RAW in CSMCORE.
Later I also add the three files Nvme.ffs , NvmeSmm.ffs , NVMEINT13.ffs
does not help for legacy boot
Dietmar
PS: Does somebody know, how to extract the Rom Bios of the Samsung 950 Pro?

#7863

Ethaniel

⇗ @diderius6: The referenced Option ROM does not work with Samsung devices, the thread has successful reports with some models from other manufacturers.
Samsung 950 Pro has support for index-data register pair (IDP) and its Option ROM depends on that. Other Samsung models support memory-mapped I/O (MMIO) only, so the Samsung 950 Pro Option ROM will not work with those.
Instructions for extracting the Option ROM are available in the ⇗ Samsung NVMe legacy BOOT ROM present on 950 Pro thread and the very next post contains the extracted Option ROM. Note that the same method works for other devices with the exception of the primary video card as Linux is returning it from RAM that might be changed during boot.

#7864

diderius6

⇗ @Ethaniel
Thanks for answer.
I make a small joke:
I use the extracted Rom Bios from the Samsung 950 Pro and integrate it with MMTool 4.50.0.23 into Bios 1202 of Asus P8H77-M board, which never heard anything in its life about nvme ).
During integrating via MMTool 4.50.0.23 I set there the Ven 144D and Dev A804 for the nvme Samsung 960 Pro.
Now, this nvme device is correct(!) shown as Samsung 960 Pro in Bios of Asus P8H77-M.
But during boot of XP it hangs, but no crash and no message about wrong boot device as always before.
Now comes fun: I succeed to boot XP SP3 via this nvme Samsung 960 Pro with Grub and ramboot on Asus P8H77-M
Dietmar

#7865

diderius6

I make some more tests with the rom Bios of nvme Samsung 950 Pro integrated in the Bios 1202 of Asus P8H77-M board.
For this I set up a nvme BCD boot of XP SP3, thanks to ⇗ @skullteria .
And voila, for a second I can see the start screen of XP, then reboot with the nvme Samsung 960 Pro.
This Samsung 960 Pro is the only boot device connected to the Asus P8H77-M board.
This simple means, that it is possible to integrate the rom Bios of the Samsung 950 Pro in a Bios,
that never heard anything about nvme and boot XP from the Samsung 960 Pro.
The crash during boot of XP via the Samsung 960 pro happens (I think),
because this BCD nvme XP is build on other compi
Dietmar
EDIT: I am not good with grub4dos. May be somebody here knows, how to set up the most easy grub4dos boot of XP.
It is as I thought: The rom Bios of the Samsungs 950 Pro does not like to work together with NTLDR of XP on a lot of Bios.
I just test this: BCD boot of XP on the 960 Pro starts, ntldr as second boot option gives black screen at once.

#7866 | infuscomus | ⇗ @diderius6 Easy2boot has some premade grub4dos scripts than can be used to both install and boot into XP.

#7867

diderius6

⇗ @infuscomus
Thanks for help, I will try.
All good and bad behavior of the Samsung 950 Pro can be transported via MMTool 4.50.0.23 to the nvme Samsung 960 Pro via the rom image to Bios from post
⇗ Samsung NVMe legacy BOOT ROM present on 950 Pro
Dietmar

#7868

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7861

> @George King
> you can edit ntoskrn8.c to add the functions you need.

I'm not programmer, so I'm not able to do it. Maybe you or any other members can investigate into mentioned 4 functions to help port Generic HDA Windows 7 drivers? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7869

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7861

> you can edit ntoskrn8.c to add the functions you need.

⇗ @infuscomus ...I think you mentioned this before. What do you use to recompile the c file? If possible, can you quickly explain your procedure? I have visual C++ installed but it can get nasty with its error checking.

#7870

infuscomus

⇗ @gordo999
I use the windows 7 DDK in a VM
First setup a windows 10 VM.
Download windows 7 DDK and install it.
⇗ https://www.microsoft.com/en-au/download...s.aspx?id=11800
After installing the DDK go to the ntoskrnl extender github and download then extract it.
copy the ntoskrnl_Emu-master folder to the root of C:\
The DDK is sensitive about folder paths so this is easier.
Next open x86/x64 free build environment and navigate to C:\ntoskrnl_Emu-master
make sure it's the folder that has ntoskrn8.c in it
and type BLD to build.

#7871

George King

I have created some patched drivers using EMU Extender for both - x86 and x64. I recreated all what I could as I have added x64 support to XP2ESD, now we have also ported drivers for x64.
All drivers are standalone packages - every needed file is installed by INF.
These drivers are ported according to information on ⇗ EMU Extender GitHub
x64\AMD_SATA_1.2.001.0402
x64\Generic_AHCI
x64\Generic_MSAHCI
x64\Generic_NVMe
x64\Generic_UASP_6.1.7600.4002
x64\Generic_USB3x
x64\IRST_16.8.3.1003
x64\IRST_18.36.3.1019
x64\RSTe_4.7.0.1119
x64\Samsung_NVMe_3.3.0.2003
x86\AMD_SATA_1.2.001.0402
x86\Generic_AHCI
x86\Generic_MSAHCI
x86\Generic_NVMe
x86\Generic_UASP_6.1.7600.4002
x86\Generic_USB3x
x86\IRST_16.8.2.1002
x86\RSTe_4.7.0.1119
x86\Samsung_NVMe_3.3.0.2003
NOTES:
2) Generic AHCI and USB3x drivers was tested in VirtualBox and they works, every other drivers needs to be tested
2) UASP is only INF edited VIA driver as is seems generic
Download

    https://www.mediafire.com/file/e3fxix06lfq564w/PortedDrivers-WindowsXP%252BWindows2003_x86%252Bx64.7z/file

EDIT: To get working Generic HDA Windows 7 drivers - portcls.sys from build 6801 can be ported using EMU Extender. But this needs more time to investigate. HDAUDIO + HDABUS can be installed without problem, but device cannot start with error 10 -> maybe related to WDMAUDIO.inf + KS.inf

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7872 | daniel_k | ⇗ @diderius6 As you can easily recover the BIOS, try to use CSM/NVMe modules from some Z97 BIOS. Native M.2 NVMe was introduced with 9 series chipsets, so probably proper legacy support may have been implemented.

#7873

George King

Can anybody test this Generic Windows 8.1 NVMe driver under XP on real machine? I have patched security cookie and fixed checksum and ported Windows 7 storport.sys + ntoskrn8.sys was added into INF. Seems good in Depency Walker.

    https://www.mediafire.com/file/5gtz85p6yz3wjld/Generic_NVMe_6.3.9600.16421_x86.7z/file

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7874

diderius6

Yessssaaa:)))))))!!!!!!
For the very first time I succeed to boot legacy CSM XP SP3 from an nvme Samsung 960 Pro
with VEN 144D DEV A804
on the board Asus P8H77-M with Bios, that never heard anything about nvme in its life before.
No other device is connected, only Samsung 960 Pro without own nvme Bios.
I do not integrate any nvme.efi files in Bios.
The most critical procedure was to prepare the XP for this.
It works with BCD boot.
It is stable.
I integrate the rom Bios from the Samsung 950 Pro into the Bios from the Asus P8H77-M,
with EEpromer Revelprog IS it is easy procedure.
For me it works only with the very laast acpi.sys from outerspace ), this file is in the package here also
together with MMTool 4.50.0.23 and the rom image from the Samsung 950 Pro
Dietmar
This are all files, that I use
⇗ https://ufile.io/jl645u9x
PS: BCD boottime is below 1 sec:)).
From feeling it is the most fast XP ever. Feels even faster than complete XP in ram. Is this possible?
⇗
⇗
⇗

#7875

Andalu

> Zitat von ⇗ George King im Beitrag ¶ #7873

> Can anybody test this Generic Windows 8.1 NVMe driver under XP on real machine? I have patched security cookie and fixed checksum and ported Windows 7 storport.sys + ntoskrn8.sys was added into INF. Seems good in Depency Walker.

Driver tried on asus prime B250M with the Sabrent Rocket SSD NVMe as secondary drive (not as system drive). All sys files manually copied into system32/drivers folder. I got the same bsod just installed the driver and also on reboot:
DRIVER_IRQL_NOT_LESS_OR_EQUAL
STOP: 0x000000D1 (0x00000408,0x00000007,0x00000000,0xB9B246EA)
storport.sys - Address B9B246EA base at B9B1F000, DateStamp 56f57964

## Page 526

#7876

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #7870

> Download windows 7 DDK and install it.

⇗ @infuscomus ...thanks for detailed explanation. I already have DDK - 7 loaded on W7 in the C:\ directory. In the \bin directory there is an \x86 sub-directory. In the root, there is a build.exe compiler (and linkers) for x86 and in the same \x86 directory is an \AMD64, where there is another build.exe (and linkers) presumably for x64 apps.
In fact, there are several compilers in the directories, like ml.exe for assembler and rc.exe for compiling resources. Good stuff. Thanks again.
ps. just noticed on MovAX_DEAD's github page, the instructions to:
Run shell: "Start Menu\Programs\Windows Driver Kits\Win7 7600.16385.1\Build Environments\Windows XXX\YYY Free Build Environment" (XXX - target OS, YYY - target CPU)
It's all there in my W7 Start\All Programs\Windows Drivers Kits directory. Thanks again.
And thanks again to MovAX_DEAD for all the hard work creating the page and supplying the files.

#7877

George King

⇗ @Andalu Can you try drivers, that I ported for XP2ESD on previous page too please?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7878

George King

I have created testing ISO with XP Professional x86 SP3 and XP Professional x64 SP2 - without integrated updates - Original MSDN ISOs was used as input. Only drivers was added - Including latest MassStorage and USB driverpacks exctrated from DRP.SU / SAMLAB packs + newly ported drivers according to EMU Extender tutorial by me. This release doesn't include patched ACPI.sys.
1) Create USB install using RUFUS
2) If needed add patched ACPI.sys into USB\sources\$OEM$\sources\$OEM$\$$\system32\drivers. There are no patched x64 ACPI.sys yet.. And remember, if you add x86 ACPI.sys you cannot install x64 version
3) Boot from USB and install
4) Let me know how it goes
5) If can, create patched ACPI.sys for x64 to be able to boot it on newer machines - x64 XP version can be booted in pure UEFI :)
Download

    https://www.mediafire.com/file/dnpxf10lgsi7qwz/WinXP_AIO_ESD_v1.6_rc1.iso/file

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7879 | infuscomus | ⇗ @George King nice work! I'll try and patch the x64 ACPI.SYS driver - but I can't promise anything will come of it. ⇗ @Mov AX, 0xDEAD is much more skilled at this than I am.
#7880 | diderius6 | Hi, is it possible to dump the legacy nvme rom image from any Bios from CSMCORE there, may be via Linux Dietmar

#7881

diderius6

I extract the "Option Rom" from the Plextor nvme M8Pe for legacy nvme boot and integrate it in Bios of the Asus H77.
It does not work, even no nvme disk at all is recogniced. The checksum is wrong and also may be not all correct in this *.rom.
So, until now the only possibility for legacy nvme boot (without any other tools) is the Option Rom from the Samsung 950 Pro
Dietmar
Option Rom from Plextor
⇗ https://ufile.io/4nu0jmy0

#7882

diderius6

I compare, what happens after integration of the nvme Option Rom.
This is the only thing, that changes in BIOS:
The Option Rom is copied complete at the end of raw section in CSMCORE.
Only 10 Bytes are added to the Option Rom image, at the beginning of Option Rom with the Ven and Dev number.
Here
00 A0 4D 14 04 A8 00 7E 00 00
Then follows the startsequence 55 AA .
A good search string for to find the Option Rom for nvme is text "nvme"
and Hexvalues 50 43 49 52
Dietmar

#7883

diderius6

Here is the best Option Rom from the Samsung 950 Pro until now.
The original Samsung pro shows 2 IDE nvme devices.
Here I cut the second nvme IDE,
so the Option Rom is much smaller and may be more generic.
I tested it for legacy nvme Boot of XP SP3,
works
Dietmar
EDIT: For some strange reasons, this cut versions hangs on second boot?!.
So, better to use the original 950pro.rom.
950pro.rom (hangs on 2. boot)
17.920 Bytes
⇗ https://ufile.io/k4prfe57
950proFULL.rom (works always)
32.256 Bytes
⇗ https://ufile.io/mr10i71p

#7884

Andalu

> Zitat von ⇗ George King im Beitrag ¶ #7877

> @Andalu Can you try drivers, that I ported for XP2ESD on previous page too please?

I tried to install some drivers from the PortedDrivers-WindowsXP+Windows2003_x86+x64 package on my intel Skylake platform with XP-SP3 x86 Integral Edition 2021.5.15. Here the results:
- AMD_SATA not tested (I have no AMD system)
- Generic_AHCI:
⇗
- Generic_MSAHCI not tested
- Generic_NVMe:
same BSOD 0x000000D1 (0x00000408,0x00000007,0x00000000,0xB9B246EA) as reported previously.
- Generic_UASP not tested because the USB3x driver fails to install
- Generic_USB3x:
it doesn't work. I got the message "the specified location does not contain information about your hardware" on installing manually.
In the "Generic_USB3x" folder I noticed the 'usb8.sys' file. Maybe it should be 'usbd8.sys'? (even renaming this file the USB3x driver doesn't work anyway).
- IRST_16.8.2.1002:
⇗
- RSTe_4.7.0.1119:
⇗
- Samsung_NVMe_3.3.0.2003:
it works only for Samsung NVMe drives. For other brands (Crucial, WD and Sabrent I got the message "the specified location does not contain information about your hardware").
⇗
Please note that I have tested those drivers for a short time only.

#7885

daniel_k

⇗ @diderius6
See on page 33: A.2 PnP Option ROM Header
⇗ https://www.scs.stanford.edu/nyu/04fa/lab/specsbbs101.pdf
The Samsung 950 Pro option ROM size is OK, for "part1" and "part2". Checksum of part1 is important, for part2 doesn't matter.
Maybe part1 access data in part2, that's why it fails on 2nd boot.
About the Plextor option rom, size and checksum of part1 is OK, but part2 seems incomplete.
According to its header, part2 should have 6A00h (27136) bytes, but it's just 688A (26762) bytes long.

#7886 | infuscomus | ⇗ @diderius6 ⇗ @daniel_k how do you dump/flash an NVMe Option boot ROM?

#7887

diderius6

⇗ @infuscomus
Download files from
¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (526)
I dump the NVME Option Rom from Website of for example Plextor, looking for "55 AA" Signature in those files for Option Rom.
And I flash it with MMTool 4.50.0.23,
Load Image (Whole Bios from compi)
Load Module file (Option Rom)
Enable "For Option ROM only" via "Link present"
Put Vendor ID and Device ID in (for Samsung 950 Pro Ven 144D, Dev A804)
Save Image as ..
Flash to Bioschip of compi ( I use Revelprog IS for this, best EEpromer ever)
The Option Rom is put via MMTool at the end of RAW file in CSMCORE
Dietmar

#7888

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #5056

> Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
> vusbstor.sys x32 v6.1.7600.4002
> 89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF

Is there x64 patch too please? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7889

diderius6

I just add via MMTool also the Ven 1B85 Dev 6018 from the Toshiba RD400
to the Option Rom (extracted from Samsung Pro 950) into the Bios of the Asus P8H77-M board.
Interesting, the RAW file in CSMCORE in Bios does not grow,
even now there is support in Bios for the Samsung 960 Pro and the Toshiba RD400.
XP SP3 boots fast via legay CSM nvme in the Bios of the P8H77-M,
which never heard anything about nvme in its life ) before.
In Bios, the Toshiba RD400 is now listed with its correct full name.
Only with Samsung 960 Pro entries in Option Rom the Toshiba RD 400 is not recogniced from Bios at all.
Waaoh, the Option Rom from the Samsung Pro 950 seems to be really generic.
Only BCD boot of XP works on the P8H77-M, only with Sata set to IDE mode(!) or disabled.
This BCD boot is not necessary on other boards, but in about >50% of all boards
Dietmar
EDIT: Standby works with full USB3 support.
With normal ntldr boot, Standby does not work, only with BCD boot.
⇗

#7890

diderius6

I just get a nvme Plextor 1 Tbyte M8PeG
and I succeed to boot XP from it in legacy CSM mode on the Asus P8H77-M board.
But I dont know, how to make a working Option Rom from it
Dietmar
EDIT: If there is no way, to extract the Option Rom direct from the Plextor nvme disk,
may be it is possible, when you can extract correct the file from Plextor Website
PX-1TM8PeG_1.06.EXE
⇗ https://ufile.io/zk72k1ar
⇗

## Page 527

#7891

diderius6

After crazy fight with Linux I succeed to get the correct Option Rom direct from the nvme Plextor M8Peg
Dietmar
plextor.rom
⇗ https://ufile.io/jwvy04j9
EDIT: Even I am to 100% sure, that I integrate this Option Rom from Plextor correct in Bios for the Samsung 960 Pro on the Asus P8H77-M board, no nvme at all is shown.
So, only the Option Rom from the Samsung 950 Pro is generic and works for other nvme devices also for legacy boot of XP.

#7892

diderius6

I make some more tests with the Option Rom extracted from the Samsung 950 Pro.
For this I integrate into Bios together(!) the 3 Ven Dev numbers, all nvme, from the
500 GB Samsung 960 Pro (144D A804)
the Toshiba RD400 with 500 GB (1B85 6018)
and the Samsung 970 Pro 1TB (144D A808).
I integrate all with MMtool step by step into the Bios 1306 of the Asus P8H77-M board,
before without any nvme. All nvme disks work now, nice ).
So all (?) nvme devices can be used as legacy Boot device for XP SP3 on any motherboard
(I test only UEFI) with the extracted Option Rom from the Samsung 950 Pro.
Standby now works always with BCD boot. With ntldr boot, Standby does not work.
Even boot with 2 different nvme disks, connected at the same time for to boot legacy XP on the Asus P8H77-M works ).
I use only the nvme driver from ⇗ @Mov AX, 0xDEAD .
⇗ http://www.mediafire.com/file/7os0e1db59..._XP_x86.7z/file
Dietmar
⇗

#7893

diderius6

I make some fun with the Asus mainboard P8Z68-V LX of ⇗ @dencorso ).
Voila, legacy nvme boot of XP SP3 works there also.
I only integrate the image.rom extracted from the Samsung 950 pro
with Ven_144D&Dev_A808 for the Samsing 1TB 970 Pro
Dietmar
⇗

#7894

George King

I have created some patched drivers using EMU Extender for both - x86 and x64. I recreated all what I could as I have added x64 support to XP2ESD, now we have also ported drivers for x64.
All drivers are standalone packages - every needed file is installed by INF.
These drivers are ported according to information on ⇗ EMU Extender GitHub
x64\AMD_SATA_1.2.001.0402
x64\Generic_AHCI_6.2.9200.16384
x64\Generic_MSAHCI_6.1.7601.23403
x64\Generic_NVMe_6.1.7601.23403
x64\Generic_UASP_6.1.7600.4002
x64\Generic_USB3x_6.2.9200.21180
x64\IRST_16.8.3.1003
x64\IRST_18.36.3.1019
x64\RSTe_4.7.0.1119
x64\Samsung_NVMe_3.3.0.2003
x86\AMD_SATA_1.2.001.0402
x86\Generic_AHCI_6.2.9200.16384
x86\Generic_MSAHCI_6.1.7601.23403
x86\Generic_NVMe_6.1.7601.23403
x86\Generic_UASP_6.1.7600.4002
x86\Generic_USB3x_6.2.9200.21180
x86\IRST_16.8.2.1002
x86\RSTe_4.7.0.1119
x86\Samsung_NVMe_3.3.0.2003
Download

    https://www.mediafire.com/file/1md5awnrgg7k4xg/PortedDrivers-WindowsXP+Windows2003_x86+x64_v2.7z/file

Changes from last upload¶ in this post
1. Fixed all INFs encoding to UTF8 - LE BOM, this caused USB3.x driver was refused with "no compatible device" messsage
2. All INFs are prepared for future signing
3. Applied USB3.x additional patch to correctly recognize USB speed
4. Applied USAP additional patch to recover "safe removal" in x86 version of uapstor.sys - for x64 there is no patch at this moment
5. Added versions into all folder names
To-Do list
1. Find x64 patch for uapstor.sys
2. Review NVMe driver - ⇗ @Andalu reported some BSOD, this seems weird as stornvme.sys in unmodified and this must be in ported storport.sys? Every ported drivers use same storport.sys. This can be also caused by test environment (XP Integral edition)
3. Create working Generic HDA driver - I found some of them ⇗ here by ⇗ @skullteria , but no sound at all after installation, maybe there are needed more steps to do in system
4. Find out solution for MSAHCI and original mshdc.inf. I can confirm this driver works good, but it will be reinstalled with bad files after second reboot

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7895

George King

> Zitat von ⇗ Andalu im Beitrag ¶ #7884

> > Zitat von ⇗ George King im Beitrag ¶ #7877

> > @Andalu Can you try drivers, that I ported for XP2ESD on previous page too please?

> I tried to install some drivers from the PortedDrivers-WindowsXP+Windows2003_x86+x64 package on my intel Skylake platform with XP-SP3 x86 Integral Edition 2021.5.15. Here the results:
> - AMD_SATA not tested (I have no AMD system)
> - Generic_AHCI:
> ⇗
> - Generic_MSAHCI not tested
> - Generic_NVMe:
> same BSOD 0x000000D1 (0x00000408,0x00000007,0x00000000,0xB9B246EA) as reported previously.
> - Generic_UASP not tested because the USB3x driver fails to install
> - Generic_USB3x:
> it doesn't work. I got the message "the specified location does not contain information about your hardware" on installing manually.
> In the "Generic_USB3x" folder I noticed the 'usb8.sys' file. Maybe it should be 'usbd8.sys'? (even renaming this file the USB3x driver doesn't work anyway).
> - IRST_16.8.2.1002:
> ⇗
> - RSTe_4.7.0.1119:
> ⇗
> - Samsung_NVMe_3.3.0.2003:
> it works only for Samsung NVMe drives. For other brands (Crucial, WD and Sabrent I got the message "the specified location does not contain information about your hardware").
> ⇗
> Please note that I have tested those drivers for a short time only.

Thanks a lot, I have uploaded new set with fixed USB3.x driver INF, it was caused by accident by bad file encoding. Should work now without any problem. Yes, Samsung driver is only for Samsung devices, this is not modded INF to switch it into generic driver. [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7896

George King

⇗ @diderius6 Can you try NVMe driver from my collection please? I would like to know if you encounter same BSOD as ⇗ @Andalu?[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7897

diderius6

⇗ @George King
Your modded nvme stornvme.sys works without any problem under XP SP3.
I tested different nvme disks.
There is a difference between this driver and the driver from ⇗ @daniel_k :
Your stornvme.sys and your storport.sys drivers are both ported from Win7.
The stornvme.sys and storport.sys from ⇗ @daniel_k are modded from Win8
Dietmar
PS: A BSOD can happen for another reason: When you first install the Samsung Nvme driver, its Filterdriver secnvmeF.sys
does not want to go and when you delete it by hand, you get Bsod 0x7B.
By the way I noticed during my intensive tests, that the Samsung nvme driver secnvme.sys often gives yellow question mark with Start error 10. So, the generic nvme driver stornvme.sys is the better choice.
Until now no TRIM support for nvme devices under XP.

#7898

George King

⇗ @diderius6 Nice, that is great! Seem Like I managed to build whole driver collection for upcoming XP2ESD v1.6. Only this patch equivalent for x64 needs to be discovered
⇗ @Mov AX, 0xDEAD
Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
vusbstor.sys x32 v6.1.7600.4002
89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF
And of course x64 ACPI.sys patch needs to be done..[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7899

George King

> Zitat von ⇗ diderius6 im Beitrag ⇗ HP Pavilion 11-E10SG shuts down during Windows XP installation

> @George King
> I am happy, when you can make an XP SP3 , German version.
> This I would test intensive
> Dietmar

⇗ @diderius6 Give me few hours to build it. I would like to finish XP2ESD v1.6 and release for public as this can help everyone to install it. Do you have any new patched x86 ACPI.sys which would you like to include? [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7900

George King

⇗ @diderius6
⇗ Here is German (de-DE) Windows XP SP3+ ISO (Installer is English and Windows 7 + 10 based, don't worry about installed system). Please create bootable USB using Rufus as it can be installed from USB3.x without problem.
This in nLite session from XP2ESD

    [Tasks]
    Hotfixes and Update Packs
    Options

    [Patches]
    DoUxTheme
    DoSFC

    [Hotfixes]
    F:\XP2ESD\plugins\updates\OnePiece_Windows_XP_Post-SP3_UpdatePack_v1.1.0_FINAL_DEU_.7z
    F:\XP2ESD\plugins\updates\OnePiece_WinXP_Embedded_Post-SP3_True_AddOn_DEU.7z
    F:\XP2ESD\plugins\updates\OnePiece_NetFxLangPack_SvcPack_AddOn_DEU.cab
    F:\XP2ESD\plugins\updates\addons\TimeZonesUpdate_SVCPACK.7z
    F:\XP2ESD\plugins\updates\addons\VisualC++.7z

Just for clarification - Huge MassStorage + USB driver set is integrated in captured image to provide universal image. Don't worry about unneeded drivers as every not used driver service is disabled after first reboot of installed system using MyFactory (That is first screen that looks like original Windows XP setup billboard, but it's MyFactory with applied WinntBBU design). You can find all included drivers in Drivers folder in root of installed system or in USB\sources\install.esd\Drivers. Also in CLONE_TAG.txt are all of them listed in install.esd. And all ported drivers are ported by me using tutorials from @Mov AX, 0xDEAD. And these drivers are still unsigned, no need to do it right now until we are sure they works as expected.
If your machine needs patched ACPI.sys place them into USB\sources\$OEM$\$$\system32\drivers
If you don't want to use PAE patcher by ⇗ @daniel_k, delete WinXPPAE.exe from USB\support
EDIT: XP2ESD build log

                                                                                       Started on 05.10.2021 at 17:47:59,24
                                                                                           Auto-Sysprep progress: 1 / 1

       [1] Extracting de_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-73985.iso
             Windows XP Professional Volume License (de-DE)
       [2] Integrating UpdatePack
       [3] Adding Auto-Sysprep
       [4] Building ISO
       [5] Installing into VirtualBox
       [6] Extracting VHD
       [7] Capturing image
       [8] Exporting image

                                                                                       Started on 05.10.2021 at 18:12:30,07
     Windows XP Modern Installer

       [1] Extracting Windows 7 & 10 ISO
       [2] Building setup structure
             Building bootloader
             Adding DriverPacks support
             Adding Setup folder
       [3] Upgrading setup engine
             Integrating setup updates
             Integrating setup drivers
       [4] Patching setup design
       [5] Modifying setup launch
       [7] Compressing boot.wim
       [8] Updating install.wim
             1. Windows XP Professional Volume License (de-DE)
                  License files check
       [9] Compressing install.esd
       [11] Building bootable ISO
                                                                                      Finished on 05.10.2021 at 18:18:25,68

     Process finished, press any key to exit...

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7901

Andalu

> Zitat von ⇗ George King im Beitrag ¶ #7894

> 2. Review NVMe driver - @Andalu reported some BSOD, this seems weird as stornvme.sys in unmodified and this must be in ported storport.sys? Every ported drivers use same storport.sys. This can be also caused by test environment (XP Integral edition)

> Zitat von ⇗ George King im Beitrag ¶ #7895

> Thanks a lot, I have uploaded new set with fixed USB3.x driver INF, it was caused by accident by bad file encoding. Should work now without any problem. Yes, Samsung driver is only for Samsung devices, this is not modded INF to switch it into generic driver.

I tried again the drivers that didn't work before on my system. Here are the results:
Generic_USB3x_6.2.9200.21180 + Generic_UASP_6.1.7600.4002:
⇗
Generic_NVMe_6.1.7601.23403
Installed on the 'XP-Integral Edition 2021.5.15' (with PAE enabled) and on the 'en_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-73974' (with no PAE) ISOs without any issue this time:
⇗
The strange thing is that now I get the exact same BSOD that I reported previously for the NVMe driver modded from Win8 on both iso mentioned above.

#7902

diderius6

⇗ @George King
Thanks for the german XP version!
First I install it on the Asus P8H77-M board from USB stick using Rufus 2.18p (last version for XP).
With chosing IDE mode in Bios it shows Bsod 0x7B.
When I chose AHCI mode it installs fast.
At the end of the installation I cant chose "Time Zone" (just white list there without letters),
but chosing "next" works.
The USB3 driver shows yellow questionmark, does not work.
The XP Updates are all there, even the last Posready.
What I like very much is, that you keep every program and setting from Original XP CD
Dietmar
PS: Nice would be also a Setup, which uses only BCD boot for XP.
I know, that after Skylake and processors > Celeron it does not work but for all the other compis,
and also for nvme boot.

#7903

George King

> Zitat von ⇗ diderius6 im Beitrag ¶ #7902

> @George King
> Thanks for the german XP version!
> First I install it on the Asus P8H77-M board from USB stick using Rufus 2.18p (last version for XP).
> With chosing IDE mode in Bios it shows Bsod 0x7B.
> When I chose AHCI mode it installs fast.
> At the end of the installation I cant chose "Time Zone" (just white list there without letters),
> but chosing "next" works.
> The USB3 driver shows yellow questionmark, does not work.
> The XP Updates are all there, even the last Posready.
> What I like very much is, that you keep every program and setting from Original XP CD
> Dietmar
> PS: Nice would be also a Setup, which uses only BCD boot for XP.
> I know, that after Skylake and processors > Celeron it does not work but for all the other compis,
> and also for nvme boot.

1) IDE / AHCI problem should be caused by drivers mismatch - included driver set will always need user touch to remove unneeded ones before building XP2ESD ISO
2) TimeZone problem is interesting. I must moved INF setup from SYSSETUP to SVCPACK and apply it during RunOnceEx same as VisualC++, I must do it according to x64 support to XP2ESD. I have no idea why is selection box empty in OOBE. If you try to change TimeZone you can see all of them are here. Will see what can I do as TimeZone OOBE pages are unlocked by editing OOBE htm file.
3) Weird, even if I reinstall USB3.x driver in VirtualBox I got error 3. This VM machine is configured as XP 32bit. When I try same ISO on VM configured as 8 x64 same result. Any idea what should cause it? I will try to buid another image. I have some ideas why it happends - When I tried these ported drivers it was only on pure XP SP3 English and Czech and it worked, so maybe caused by UpdatePack's WDF CO installers or other drivers, but wdfldr seems as correct one.
I will investigate these weirdos tomorrow.
Currently is used BCD + BOOTMGR + NTLDR legacy option. I have added some experimental support for booting through BCD + BOOTMGR + WINLOAD but this doesn't work due detecthal feature which we need. I'm 110% in to find cause and be able to boot only using this modern method. [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7904 | infuscomus | ⇗ @George King Remind me why XP2ESD needs to use the detecthal feature of a vista beta NTLDR? I think it wouldn't be unreasonable to assume that anyone running this XP2ESD would be running it on hardware newer than 2005. So why not just have it automatically use multiprocessor HAL and kernel and not bother with detecthal?

#7905

User32

> Zitat von ⇗ infuscomus im Beitrag ¶ #7904

> @George King
> Remind me why XP2ESD needs to use the detecthal feature of a vista beta NTLDR?
> I think it wouldn't be unreasonable to assume that anyone running this XP2ESD would be running it on hardware newer than 2005.
> So why not just have it automatically use multiprocessor HAL and kernel and not bother with detecthal?

lol speak for yourself, XP2ESD would be a massive time saver for people who play around with old/XP era hardware quite often.

## Page 528

#7906 | infuscomus | ⇗ @User32 The Windows 8/10 PreInstall Environment doesn't always work on older hardware though.

#7907

User32

> Zitat von ⇗ infuscomus im Beitrag ¶ #7906

> @User32
> The Windows 8/10 PreInstall Environment doesn't always work on older hardware though.

Indeed it doesn't, you need PAE, NX and some other instructions for it so anything below a C0 stepping Pentium M can't run it.

#7908

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #7904

> @George King
> Remind me why XP2ESD needs to use the detecthal feature of a vista beta NTLDR?
> I think it wouldn't be unreasonable to assume that anyone running this XP2ESD would be running it on hardware newer than 2005.
> So why not just have it automatically use multiprocessor HAL and kernel and not bother with detecthal?

I got and idea how to change this seetings on the fly on USB in settings.ini. I'm building testing image right now to see how it goes.
⇗ [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7909

George King

⇗ @infuscomus ⇗ @User32
There are still two methods to build XP2ESD Installer in v1.6
"Legacy" ISO -> Windows 7 PE + Windows 10 setup engine -> most compatible with older machines
"Modern" ISO -> Windows 8.0 or Windows 10 PE including setup engine -> most compatible with newer machines[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7910

Masterchief79

I got some more info on this now. I did another XP installation on my B550 board and 5800X Ryzen CPU and it worked pretty well. I installed no optional patches and could boot, reboot, switch between OSes etc. no issues.
Then I got into overclocking a little bit and inevitably got the PC to freeze on a too aggressive overclock during a benchmark. This is what I mainly wanna use XP for if you remember: To have a fast platform for benchmarking old graphics cards, a GTX285 in this case.
So PC froze, I shut it down and rebooted it, and got greeted with Windows Check Disk. After disk checking, the PC bluescreens again, so it seems my install is borked and I can't get it to boot anymore. It doesn't matter if I actually run the disk check or not, it still BSODs.
I still have all kinds of HDDs connected that I use as data storage on my Win10 OS. Interestingly enough, the C drive from Windows XP install is not the HDD where it's actually installed on, either. (So I install Windows on my 320GB HDD which ends up being the E: drive.) Is that just a severe case of data salad? Would just disconnecting all other HDDs probably solve the issue?

#7911 | infuscomus | ⇗ @Masterchief79 Post a screenshot of the BSOD, it'll help determine what the problem is.

#7912

diderius6

May be (!?)
that it is possible to start XP SP3 with NTLDR and ntdetect.com from XP 64.
Crazy idea, but who knows and may be, this opens door to UEFI
Dietmar
PS: Does anybody know, what this message at boot of XP means?
⇗

#7913 | infuscomus | ⇗ @diderius6 I'm not sure, google it? or look through NTDETECT source code for error code?

#7914

diderius6

I make a try with the master ntldr debug for XP for to see, why using ntldr with the integrated option rom from the nvme
Samsung 950 Pro always gives reboot.
Here is the output of Windbg.
Any help, why ntldr XP reboots from nvme device after last line is welcome
Dietmar
PS: ntldr seems to hang at

    kd>
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001 test byte ptr [osloader!BootFlags (0042fc2c)],1
    kd>
    osloader!NtProcessStartup+0x23f:
    0040e6f8 742c je osloader!NtProcessStartup+0x26d (0040e726)
    kd>
    osloader!NtProcessStartup+0x26d:
    0040e726 e896d70000 call osloader!BlTerminalHandleLoaderFailure (0041bec1)

or at

    osloader!InitializeMemoryDescriptors+0x19:
    0041169a a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!InitializeMemoryDescriptors+0x1e:
    0041169f 8975e8          mov     dword ptr [ebp-18h],esi
    kd> t
    osloader!InitializeMemoryDescriptors+0x21:
    004116a2 ff502c          call    dword ptr [eax+2Ch]
    kd> t
    000212eb 6858000000      push    58h
    kd> t
    000212f0 68f6120000      push    12F6h
    kd> t
    000212f5 cb              retf

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 11:01:52.859 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Sun Oct 17 11:01:54.406 2021 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> p
    osloader!DbgBreakPoint+0x1:
    0040b0c7 c3              ret
    kd> p
    osloader!BdInitDebugger+0x3c0:
    0040bb78 eb05            jmp     osloader!BdInitDebugger+0x3c7 (0040bb7f)
    kd> p
    osloader!BdInitDebugger+0x3c7:
    0040bb7f c9              leave
    kd> p
    osloader!BdInitDebugger+0x3c8:
    0040bb80 c20c00          ret     0Ch
    kd> p
    osloader!MempCopyGdt+0x254:
    0041143c 33c0            xor     eax,eax
    kd> p
    osloader!MempCopyGdt+0x256:
    0041143e 5b              pop     ebx
    kd>
    osloader!MempCopyGdt+0x257:
    0041143f 5f              pop     edi
    kd>
    osloader!MempCopyGdt+0x258:
    00411440 5e              pop     esi
    kd>
    osloader!MempCopyGdt+0x259:
    00411441 59              pop     ecx
    kd>
    osloader!MempCopyGdt+0x25a:
    00411442 59              pop     ecx
    kd>
    osloader!MempCopyGdt+0x25b:
    00411443 c3              ret
    kd>
    osloader!InitializeMemorySubsystem+0x236:
    0041167a 5f              pop     edi
    kd>
    osloader!InitializeMemorySubsystem+0x237:
    0041167b 5e              pop     esi
    kd>
    osloader!InitializeMemorySubsystem+0x238:
    0041167c 5b              pop     ebx
    kd>
    osloader!InitializeMemorySubsystem+0x239:
    0041167d c9              leave
    kd>
    osloader!InitializeMemorySubsystem+0x23a:
    0041167e c20400          ret     4
    kd>
    osloader!DoGlobalInitialization+0x62:
    0040e2fd 85c0            test    eax,eax
    kd>
    osloader!DoGlobalInitialization+0x64:
    0040e2ff 740f            je      osloader!DoGlobalInitialization+0x75 (0040e310)
    kd>
    osloader!DoGlobalInitialization+0x75:
    0040e310 e86c330000      call    osloader!InitializeMemoryDescriptors (00411681)
    kd>
    osloader!DoGlobalInitialization+0x7a:
    0040e315 c20400          ret     4
    kd>
    osloader!NtProcessStartup+0x15:
    0040e4ce 56              push    esi
    kd>
    osloader!NtProcessStartup+0x16:
    0040e4cf 68b8254200      push    offset osloader!BlSuCmdLine (004225b8)
    kd>
    osloader!NtProcessStartup+0x1b:
    0040e4d4 e83ffeffff      call    osloader!ParseCommandLine (0040e318)
    kd>
    osloader!NtProcessStartup+0x20:
    0040e4d9 56              push    esi
    kd>
    osloader!NtProcessStartup+0x21:
    0040e4da e86c4affff      call    osloader!BlFillInSystemParameters (00402f4b)
    kd>
    osloader!NtProcessStartup+0x26:
    0040e4df 8b4628          mov     eax,dword ptr [esi+28h]
    kd>
    osloader!NtProcessStartup+0x29:
    0040e4e2 a32cfc4200      mov     dword ptr [osloader!BootFlags (0042fc2c)],eax
    kd>
    osloader!NtProcessStartup+0x2e:
    0040e4e7 8b06            mov     eax,dword ptr [esi]
    kd>
    osloader!NtProcessStartup+0x30:
    0040e4e9 8b00            mov     eax,dword ptr [eax]
    kd>
    osloader!NtProcessStartup+0x32:
    0040e4eb 25ff000000      and     eax,0FFh
    kd>
    osloader!NtProcessStartup+0x37:
    0040e4f0 bb48f34200      mov     ebx,offset osloader!BootPartitionName (0042f348)
    kd>
    osloader!NtProcessStartup+0x3c:
    0040e4f5 0f848c010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd>
    osloader!NtProcessStartup+0x42:
    0040e4fb 83f801          cmp     eax,1
    kd>
    osloader!NtProcessStartup+0x45:
    0040e4fe 0f8483010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd>
    osloader!NtProcessStartup+0x4b:
    0040e504 83f840          cmp     eax,40h
    kd>
    osloader!NtProcessStartup+0x4e:
    0040e507 751a            jne     osloader!NtProcessStartup+0x6a (0040e523)
    kd>
    osloader!NtProcessStartup+0x6a:
    0040e523 83f841          cmp     eax,41h
    kd>
    osloader!NtProcessStartup+0x6d:
    0040e526 7514            jne     osloader!NtProcessStartup+0x83 (0040e53c)
    kd>
    osloader!NtProcessStartup+0x83:
    0040e53c 50              push    eax
    kd>
    osloader!NtProcessStartup+0x84:
    0040e53d e82efdffff      call    osloader!BlIsElToritoCDBoot (0040e270)
    kd>
    osloader!NtProcessStartup+0x89:
    0040e542 84c0            test    al,al
    kd>
    osloader!NtProcessStartup+0x8b:
    0040e544 8b06            mov     eax,dword ptr [esi]
    kd>
    osloader!NtProcessStartup+0x8d:
    0040e546 741e            je      osloader!NtProcessStartup+0xad (0040e566)
    kd>
    osloader!NtProcessStartup+0xad:
    0040e566 0fb64801        movzx   ecx,byte ptr [eax+1]
    kd>
    osloader!NtProcessStartup+0xb1:
    0040e56a 0fb600          movzx   eax,byte ptr [eax]
    kd>
    osloader!NtProcessStartup+0xb4:
    0040e56d 51              push    ecx
    kd>
    osloader!NtProcessStartup+0xb5:
    0040e56e 50              push    eax
    kd>
    osloader!NtProcessStartup+0xb6:
    0040e56f 53              push    ebx
    kd>
    osloader!NtProcessStartup+0xb7:
    0040e570 e842fcffff      call    osloader!BlGetActivePartition (0040e1b7)
    kd>
    osloader!NtProcessStartup+0xbc:
    0040e575 6a4f            push    4Fh
    kd>
    osloader!NtProcessStartup+0xbe:
    0040e577 33ff            xor     edi,edi
    kd>
    osloader!NtProcessStartup+0xc0:
    0040e579 8d45a5          lea     eax,[ebp-5Bh]
    kd>
    osloader!NtProcessStartup+0xc3:
    0040e57c 57              push    edi
    kd>
    osloader!NtProcessStartup+0xc4:
    0040e57d 50              push    eax
    kd>
    osloader!NtProcessStartup+0xc5:
    0040e57e c645a400        mov     byte ptr [ebp-5Ch],0
    kd>
    osloader!NtProcessStartup+0xc9:
    0040e582 e825dd0000      call    osloader!memset (0041c2ac)
    kd>
    osloader!NtProcessStartup+0xce:
    0040e587 8b06            mov     eax,dword ptr [esi]
    kd>
    osloader!NtProcessStartup+0xd0:
    0040e589 897d08          mov     dword ptr [ebp+8],edi
    kd>
    osloader!NtProcessStartup+0xd3:
    0040e58c 8b00            mov     eax,dword ptr [eax]
    kd>
    osloader!NtProcessStartup+0xd5:
    0040e58e 83e07f          and     eax,7Fh
    kd>
    osloader!NtProcessStartup+0xd8:
    0040e591 50              push    eax
    kd>
    osloader!NtProcessStartup+0xd9:
    0040e592 8d45a4          lea     eax,[ebp-5Ch]
    kd>
    osloader!NtProcessStartup+0xdc:
    0040e595 6834054200      push    offset osloader!`string' (00420534)
    kd>
    osloader!NtProcessStartup+0xe1:
    0040e59a 50              push    eax
    kd>
    osloader!NtProcessStartup+0xe2:
    0040e59b e8b0db0000      call    osloader!sprintf (0041c150)
    kd>
    osloader!NtProcessStartup+0xe7:
    0040e5a0 83c418          add     esp,18h
    kd>
    osloader!NtProcessStartup+0xea:
    0040e5a3 8d4508          lea     eax,[ebp+8]
    kd>
    osloader!NtProcessStartup+0xed:
    0040e5a6 50              push    eax
    kd>
    osloader!NtProcessStartup+0xee:
    0040e5a7 6a02            push    2
    kd>
    osloader!NtProcessStartup+0xf0:
    0040e5a9 8d45a4          lea     eax,[ebp-5Ch]
    kd>
    osloader!NtProcessStartup+0xf3:
    0040e5ac 50              push    eax
    kd>
    osloader!NtProcessStartup+0xf4:
    0040e5ad a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0xf9:
    0040e5b2 ff505c          call    dword ptr [eax+5Ch]
    kd>
    osloader!NtProcessStartup+0xfc:
    0040e5b5 85c0            test    eax,eax
    kd>
    osloader!NtProcessStartup+0xfe:
    0040e5b7 0f85bd000000    jne     osloader!NtProcessStartup+0x1c1 (0040e67a)
    kd>
    osloader!NtProcessStartup+0x104:
    0040e5bd 57              push    edi
    kd>
    osloader!NtProcessStartup+0x105:
    0040e5be 8d45f8          lea     eax,[ebp-8]
    kd>
    osloader!NtProcessStartup+0x108:
    0040e5c1 50              push    eax
    kd>
    osloader!NtProcessStartup+0x109:
    0040e5c2 ff7508          push    dword ptr [ebp+8]
    kd>
    osloader!NtProcessStartup+0x10c:
    0040e5c5 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x111:
    0040e5ca 897df8          mov     dword ptr [ebp-8],edi
    kd>
    osloader!NtProcessStartup+0x114:
    0040e5cd 897dfc          mov     dword ptr [ebp-4],edi
    kd>
    osloader!NtProcessStartup+0x117:
    0040e5d0 ff5070          call    dword ptr [eax+70h]
    kd>
    osloader!NtProcessStartup+0x11a:
    0040e5d3 85c0            test    eax,eax
    kd>
    osloader!NtProcessStartup+0x11c:
    0040e5d5 0f858a000000    jne     osloader!NtProcessStartup+0x1ac (0040e665)
    kd>
    osloader!NtProcessStartup+0x122:
    0040e5db 8d45f4          lea     eax,[ebp-0Ch]
    kd>
    osloader!NtProcessStartup+0x125:
    0040e5de 50              push    eax
    kd>
    osloader!NtProcessStartup+0x126:
    0040e5df bf00020000      mov     edi,200h
    kd>
    osloader!NtProcessStartup+0x12b:
    0040e5e4 57              push    edi
    kd>
    osloader!NtProcessStartup+0x12c:
    0040e5e5 8d85a4fdffff    lea     eax,[ebp-25Ch]
    kd>
    osloader!NtProcessStartup+0x132:
    0040e5eb 50              push    eax
    kd>
    osloader!NtProcessStartup+0x133:
    0040e5ec ff7508          push    dword ptr [ebp+8]
    kd>
    osloader!NtProcessStartup+0x136:
    0040e5ef a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x13b:
    0040e5f4 ff5064          call    dword ptr [eax+64h]
    kd>
    osloader!NtProcessStartup+0x13e:
    0040e5f7 85c0            test    eax,eax
    kd>
    osloader!NtProcessStartup+0x140:
    0040e5f9 7563            jne     osloader!NtProcessStartup+0x1a5 (0040e65e)
    kd>
    osloader!NtProcessStartup+0x142:
    0040e5fb 39855cffffff    cmp     dword ptr [ebp-0A4h],eax
    kd>
    osloader!NtProcessStartup+0x148:
    0040e601 756d            jne     osloader!NtProcessStartup+0x1b7 (0040e670)
    kd>
    osloader!NtProcessStartup+0x1b7:
    0040e670 ff7508          push    dword ptr [ebp+8]
    kd>
    osloader!NtProcessStartup+0x1ba:
    0040e673 e89b69ffff      call    osloader!ArcCacheClose (00405013)
    kd>
    osloader!NtProcessStartup+0x1bf:
    0040e678 eb2d            jmp     osloader!NtProcessStartup+0x1ee (0040e6a7)
    kd>
    osloader!NtProcessStartup+0x1ee:
    0040e6a7 6a02            push    2
    kd>
    osloader!NtProcessStartup+0x1f0:
    0040e6a9 e848260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd>
    osloader!NtProcessStartup+0x1f5:
    0040e6ae a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd>
    osloader!NtProcessStartup+0x1fa:
    0040e6b3 85c0            test    eax,eax
    kd>
    osloader!NtProcessStartup+0x1fc:
    0040e6b5 7408            je      osloader!NtProcessStartup+0x206 (0040e6bf)
    kd>
    osloader!NtProcessStartup+0x1fe:
    0040e6b7 c1e80c          shr     eax,0Ch
    kd>
    osloader!NtProcessStartup+0x201:
    0040e6ba a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd>
    osloader!NtProcessStartup+0x206:
    0040e6bf 6a03            push    3
    kd>
    osloader!NtProcessStartup+0x208:
    0040e6c1 e830260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd>
    osloader!NtProcessStartup+0x20d:
    0040e6c6 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd>
    osloader!NtProcessStartup+0x212:
    0040e6cb 85c0            test    eax,eax
    kd>
    osloader!NtProcessStartup+0x214:
    0040e6cd 7408            je      osloader!NtProcessStartup+0x21e (0040e6d7)
    kd>
    osloader!NtProcessStartup+0x216:
    0040e6cf c1e80c          shr     eax,0Ch
    kd>
    osloader!NtProcessStartup+0x219:
    0040e6d2 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd>
    osloader!NtProcessStartup+0x21e:
    0040e6d7 e843360000      call    osloader!BlMemoryInitialize (00411d1f)
    kd>
    osloader!NtProcessStartup+0x223:
    0040e6dc e84744ffff      call    osloader!AEInitializeStall (00402b28)
    kd>
    osloader!NtProcessStartup+0x228:
    0040e6e1 e800d50000      call    osloader!BlInitializeHeadlessPort (0041bbe6)
    kd>
    osloader!NtProcessStartup+0x22d:
    0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
    kd>
    osloader!NtProcessStartup+0x232:
    0040e6eb 53              push    ebx
    kd>
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd>
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd>
    osloader!NtProcessStartup+0x23f:
    0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd>
    osloader!NtProcessStartup+0x26d:
    0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
    kd>
    osloader!NtProcessStartup+0x272:
    0040e72b 84c0            test    al,al
    kd>
    osloader!NtProcessStartup+0x274:
    0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd>
    osloader!NtProcessStartup+0x276:
    0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
    kd>
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd>
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd>
    Shutdown occurred at (Sun Oct 17 11:02:34.859 2021 (UTC + 2:00))...unloading all symbol tables.
    Waiting to reconnect...

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 11:23:06.125 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Sun Oct 17 11:23:07.671 2021 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> t
    osloader!DbgBreakPoint+0x1:
    0040b0c7 c3              ret
    kd> t
    osloader!BdInitDebugger+0x3c0:
    0040bb78 eb05            jmp     osloader!BdInitDebugger+0x3c7 (0040bb7f)
    kd> t
    osloader!BdInitDebugger+0x3c7:
    0040bb7f c9              leave
    kd> t
    osloader!BdInitDebugger+0x3c8:
    0040bb80 c20c00          ret     0Ch
    kd> t
    osloader!MempCopyGdt+0x254:
    0041143c 33c0            xor     eax,eax
    kd> t
    osloader!MempCopyGdt+0x256:
    0041143e 5b              pop     ebx
    kd> t
    osloader!MempCopyGdt+0x257:
    0041143f 5f              pop     edi
    kd> t
    osloader!MempCopyGdt+0x258:
    00411440 5e              pop     esi
    kd>
    osloader!MempCopyGdt+0x259:
    00411441 59              pop     ecx
    kd>
    osloader!MempCopyGdt+0x25a:
    00411442 59              pop     ecx
    kd>
    osloader!MempCopyGdt+0x25b:
    00411443 c3              ret
    kd>
    osloader!InitializeMemorySubsystem+0x236:
    0041167a 5f              pop     edi
    kd>
    osloader!InitializeMemorySubsystem+0x237:
    0041167b 5e              pop     esi
    kd>
    osloader!InitializeMemorySubsystem+0x238:
    0041167c 5b              pop     ebx
    kd>
    osloader!InitializeMemorySubsystem+0x239:
    0041167d c9              leave
    kd>
    osloader!InitializeMemorySubsystem+0x23a:
    0041167e c20400          ret     4
    kd>
    osloader!DoGlobalInitialization+0x62:
    0040e2fd 85c0            test    eax,eax
    kd>
    osloader!DoGlobalInitialization+0x64:
    0040e2ff 740f            je      osloader!DoGlobalInitialization+0x75 (0040e310)
    kd>
    osloader!DoGlobalInitialization+0x75:
    0040e310 e86c330000      call    osloader!InitializeMemoryDescriptors (00411681)
    kd>
    osloader!InitializeMemoryDescriptors:
    00411681 55              push    ebp
    kd>
    osloader!InitializeMemoryDescriptors+0x1:
    00411682 8bec            mov     ebp,esp
    kd>
    osloader!InitializeMemoryDescriptors+0x3:
    00411684 83ec20          sub     esp,20h
    kd>
    osloader!InitializeMemoryDescriptors+0x6:
    00411687 8365e400        and     dword ptr [ebp-1Ch],0
    kd>
    osloader!InitializeMemoryDescriptors+0xa:
    0041168b 53              push    ebx
    kd>
    osloader!InitializeMemoryDescriptors+0xb:
    0041168c 56              push    esi
    kd>
    osloader!InitializeMemoryDescriptors+0xc:
    0041168d 57              push    edi
    kd>
    osloader!InitializeMemoryDescriptors+0xd:
    0041168e bfff0f0000      mov     edi,0FFFh
    kd>
    osloader!InitializeMemoryDescriptors+0x12:
    00411693 6a14            push    14h
    kd>
    osloader!InitializeMemoryDescriptors+0x14:
    00411695 5e              pop     esi
    kd>
    osloader!InitializeMemoryDescriptors+0x15:
    00411696 8d45e0          lea     eax,[ebp-20h]
    kd>
    osloader!InitializeMemoryDescriptors+0x18:
    00411699 50              push    eax
    kd>
    osloader!InitializeMemoryDescriptors+0x19:
    0041169a a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd>
    osloader!InitializeMemoryDescriptors+0x1e:
    0041169f 8975e8          mov     dword ptr [ebp-18h],esi
    kd>
    osloader!InitializeMemoryDescriptors+0x21:
    004116a2 ff502c          call    dword ptr [eax+2Ch]
    kd>
    000212eb 6858000000      push    58h
    kd>
    000212f0 68f6120000      push    12F6h
    kd>
    000212f5 cb              retf
    kd>
    0058:12f6 6655            push    ebp
    16.kd>
    0058:12f8 6653            push    ebx
    16.kd>
    0058:12fa 6656            push    esi
    16.kd>
    0058:12fc 6657            push    edi
    16.kd>
    0058:12fe 6689e3          mov     ebx,esp
    16.kd>
    0058:1301 b86000          mov     ax,60h
    16.kd>
    0058:1304 8ed8            mov     ds,ax
    16.kd>

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 11:27:16.250 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Sun Oct 17 11:27:17.796 2021 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> p
    osloader!DbgBreakPoint+0x1:
    0040b0c7 c3              ret
    kd> p
    osloader!BdInitDebugger+0x3c0:
    0040bb78 eb05            jmp     osloader!BdInitDebugger+0x3c7 (0040bb7f)
    kd> p
    osloader!BdInitDebugger+0x3c7:
    0040bb7f c9              leave
    kd> p
    osloader!BdInitDebugger+0x3c8:
    0040bb80 c20c00          ret     0Ch
    kd> p
    osloader!MempCopyGdt+0x254:
    0041143c 33c0            xor     eax,eax
    kd> p
    osloader!MempCopyGdt+0x256:
    0041143e 5b              pop     ebx
    kd> p
    osloader!MempCopyGdt+0x257:
    0041143f 5f              pop     edi
    kd> p
    osloader!MempCopyGdt+0x258:
    00411440 5e              pop     esi
    kd> p
    osloader!MempCopyGdt+0x259:
    00411441 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25a:
    00411442 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25b:
    00411443 c3              ret
    kd> p
    osloader!InitializeMemorySubsystem+0x236:
    0041167a 5f              pop     edi
    kd> p
    osloader!InitializeMemorySubsystem+0x237:
    0041167b 5e              pop     esi
    kd> p
    osloader!InitializeMemorySubsystem+0x238:
    0041167c 5b              pop     ebx
    kd> p
    osloader!InitializeMemorySubsystem+0x239:
    0041167d c9              leave
    kd> p
    osloader!InitializeMemorySubsystem+0x23a:
    0041167e c20400          ret     4
    kd> p
    osloader!DoGlobalInitialization+0x62:
    0040e2fd 85c0            test    eax,eax
    kd> p
    osloader!DoGlobalInitialization+0x64:
    0040e2ff 740f            je      osloader!DoGlobalInitialization+0x75 (0040e310)
    kd> p
    osloader!DoGlobalInitialization+0x75:
    0040e310 e86c330000      call    osloader!InitializeMemoryDescriptors (00411681)
    kd> p
    osloader!DoGlobalInitialization+0x7a:
    0040e315 c20400          ret     4
    kd> p
    osloader!NtProcessStartup+0x15:
    0040e4ce 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x16:
    0040e4cf 68b8254200      push    offset osloader!BlSuCmdLine (004225b8)
    kd> p
    osloader!NtProcessStartup+0x1b:
    0040e4d4 e83ffeffff      call    osloader!ParseCommandLine (0040e318)
    kd> p
    osloader!NtProcessStartup+0x20:
    0040e4d9 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x21:
    0040e4da e86c4affff      call    osloader!BlFillInSystemParameters (00402f4b)
    kd> p
    osloader!NtProcessStartup+0x26:
    0040e4df 8b4628          mov     eax,dword ptr [esi+28h]
    kd> p
    osloader!NtProcessStartup+0x29:
    0040e4e2 a32cfc4200      mov     dword ptr [osloader!BootFlags (0042fc2c)],eax
    kd> p
    osloader!NtProcessStartup+0x2e:
    0040e4e7 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x30:
    0040e4e9 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0x32:
    0040e4eb 25ff000000      and     eax,0FFh
    kd> p
    osloader!NtProcessStartup+0x37:
    0040e4f0 bb48f34200      mov     ebx,offset osloader!BootPartitionName (0042f348)
    kd> p
    osloader!NtProcessStartup+0x3c:
    0040e4f5 0f848c010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x42:
    0040e4fb 83f801          cmp     eax,1
    kd> p
    osloader!NtProcessStartup+0x45:
    0040e4fe 0f8483010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x4b:
    0040e504 83f840          cmp     eax,40h
    kd> p
    osloader!NtProcessStartup+0x4e:
    0040e507 751a            jne     osloader!NtProcessStartup+0x6a (0040e523)
    kd> p
    osloader!NtProcessStartup+0x6a:
    0040e523 83f841          cmp     eax,41h
    kd> p
    osloader!NtProcessStartup+0x6d:
    0040e526 7514            jne     osloader!NtProcessStartup+0x83 (0040e53c)
    kd> p
    osloader!NtProcessStartup+0x83:
    0040e53c 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x84:
    0040e53d e82efdffff      call    osloader!BlIsElToritoCDBoot (0040e270)
    kd> p
    osloader!NtProcessStartup+0x89:
    0040e542 84c0            test    al,al
    kd> p
    osloader!NtProcessStartup+0x8b:
    0040e544 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x8d:
    0040e546 741e            je      osloader!NtProcessStartup+0xad (0040e566)
    kd> p
    osloader!NtProcessStartup+0xad:
    0040e566 0fb64801        movzx   ecx,byte ptr [eax+1]
    kd> p
    osloader!NtProcessStartup+0xb1:
    0040e56a 0fb600          movzx   eax,byte ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xb4:
    0040e56d 51              push    ecx
    kd> p
    osloader!NtProcessStartup+0xb5:
    0040e56e 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xb6:
    0040e56f 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0xb7:
    0040e570 e842fcffff      call    osloader!BlGetActivePartition (0040e1b7)
    kd> p
    osloader!NtProcessStartup+0xbc:
    0040e575 6a4f            push    4Fh
    kd> p
    osloader!NtProcessStartup+0xbe:
    0040e577 33ff            xor     edi,edi
    kd> p
    osloader!NtProcessStartup+0xc0:
    0040e579 8d45a5          lea     eax,[ebp-5Bh]
    kd> p
    osloader!NtProcessStartup+0xc3:
    0040e57c 57              push    edi
    kd> p
    osloader!NtProcessStartup+0xc4:
    0040e57d 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xc5:
    0040e57e c645a400        mov     byte ptr [ebp-5Ch],0
    kd> p
    osloader!NtProcessStartup+0xc9:
    0040e582 e825dd0000      call    osloader!memset (0041c2ac)
    kd> p
    osloader!NtProcessStartup+0xce:
    0040e587 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0xd0:
    0040e589 897d08          mov     dword ptr [ebp+8],edi
    kd> p
    osloader!NtProcessStartup+0xd3:
    0040e58c 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xd5:
    0040e58e 83e07f          and     eax,7Fh
    kd> p
    osloader!NtProcessStartup+0xd8:
    0040e591 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xd9:
    0040e592 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xdc:
    0040e595 6834054200      push    offset osloader!`string' (00420534)
    kd> p
    osloader!NtProcessStartup+0xe1:
    0040e59a 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xe2:
    0040e59b e8b0db0000      call    osloader!sprintf (0041c150)
    kd> p
    osloader!NtProcessStartup+0xe7:
    0040e5a0 83c418          add     esp,18h
    kd> p
    osloader!NtProcessStartup+0xea:
    0040e5a3 8d4508          lea     eax,[ebp+8]
    kd> p
    osloader!NtProcessStartup+0xed:
    0040e5a6 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xee:
    0040e5a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0xf0:
    0040e5a9 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xf3:
    0040e5ac 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xf4:
    0040e5ad a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0xf9:
    0040e5b2 ff505c          call    dword ptr [eax+5Ch]
    kd> p
    osloader!NtProcessStartup+0xfc:
    0040e5b5 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0xfe:
    0040e5b7 0f85bd000000    jne     osloader!NtProcessStartup+0x1c1 (0040e67a)
    kd> p
    osloader!NtProcessStartup+0x104:
    0040e5bd 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x105:
    0040e5be 8d45f8          lea     eax,[ebp-8]
    kd> p
    osloader!NtProcessStartup+0x108:
    0040e5c1 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x109:
    0040e5c2 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x10c:
    0040e5c5 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x111:
    0040e5ca 897df8          mov     dword ptr [ebp-8],edi
    kd> p
    osloader!NtProcessStartup+0x114:
    0040e5cd 897dfc          mov     dword ptr [ebp-4],edi
    kd> p
    osloader!NtProcessStartup+0x117:
    0040e5d0 ff5070          call    dword ptr [eax+70h]
    kd> p
    osloader!NtProcessStartup+0x11a:
    0040e5d3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x11c:
    0040e5d5 0f858a000000    jne     osloader!NtProcessStartup+0x1ac (0040e665)
    kd> p
    osloader!NtProcessStartup+0x122:
    0040e5db 8d45f4          lea     eax,[ebp-0Ch]
    kd> p
    osloader!NtProcessStartup+0x125:
    0040e5de 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x126:
    0040e5df bf00020000      mov     edi,200h
    kd> p
    osloader!NtProcessStartup+0x12b:
    0040e5e4 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x12c:
    0040e5e5 8d85a4fdffff    lea     eax,[ebp-25Ch]
    kd> p
    osloader!NtProcessStartup+0x132:
    0040e5eb 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x133:
    0040e5ec ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x136:
    0040e5ef a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x13b:
    0040e5f4 ff5064          call    dword ptr [eax+64h]
    kd> p
    osloader!NtProcessStartup+0x13e:
    0040e5f7 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x140:
    0040e5f9 7563            jne     osloader!NtProcessStartup+0x1a5 (0040e65e)
    kd> p
    osloader!NtProcessStartup+0x142:
    0040e5fb 39855cffffff    cmp     dword ptr [ebp-0A4h],eax
    kd> p
    osloader!NtProcessStartup+0x148:
    0040e601 756d            jne     osloader!NtProcessStartup+0x1b7 (0040e670)
    kd> p
    osloader!NtProcessStartup+0x1b7:
    0040e670 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x1ba:
    0040e673 e89b69ffff      call    osloader!ArcCacheClose (00405013)
    kd> p
    osloader!NtProcessStartup+0x1bf:
    0040e678 eb2d            jmp     osloader!NtProcessStartup+0x1ee (0040e6a7)
    kd> p
    osloader!NtProcessStartup+0x1ee:
    0040e6a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0x1f0:
    0040e6a9 e848260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x1f5:
    0040e6ae a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x1fa:
    0040e6b3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x1fc:
    0040e6b5 7408            je      osloader!NtProcessStartup+0x206 (0040e6bf)
    kd> p
    osloader!NtProcessStartup+0x1fe:
    0040e6b7 c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x201:
    0040e6ba a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x206:
    0040e6bf 6a03            push    3
    kd> p
    osloader!NtProcessStartup+0x208:
    0040e6c1 e830260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x20d:
    0040e6c6 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x212:
    0040e6cb 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x214:
    0040e6cd 7408            je      osloader!NtProcessStartup+0x21e (0040e6d7)
    kd> p
    osloader!NtProcessStartup+0x216:
    0040e6cf c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x219:
    0040e6d2 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x21e:
    0040e6d7 e843360000      call    osloader!BlMemoryInitialize (00411d1f)
    kd> p
    osloader!NtProcessStartup+0x223:
    0040e6dc e84744ffff      call    osloader!AEInitializeStall (00402b28)
    kd> p
    osloader!NtProcessStartup+0x228:
    0040e6e1 e800d50000      call    osloader!BlInitializeHeadlessPort (0041bbe6)
    kd> p
    osloader!NtProcessStartup+0x22d:
    0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
    kd> p
    osloader!NtProcessStartup+0x232:
    0040e6eb 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd> p
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001  test    byte ptr [osloader!BootFlags (0042fc2c)],1
    kd> p
    osloader!NtProcessStartup+0x23f:
    0040e6f8 742c            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> p
    osloader!NtProcessStartup+0x26d:
    0040e726 e896d70000      call    osloader!BlTerminalHandleLoaderFailure (0041bec1)
    kd> p
    osloader!NtProcessStartup+0x272:
    0040e72b 84c0            test    al,al
    kd> p
    osloader!NtProcessStartup+0x274:
    0040e72d 74f7            je      osloader!NtProcessStartup+0x26d (0040e726)
    kd> p
    osloader!NtProcessStartup+0x276:
    0040e72f ebed            jmp     osloader!NtProcessStartup+0x265 (0040e71e)
    kd> p
    osloader!NtProcessStartup+0x265:
    0040e71e a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x26a:
    0040e723 ff5014          call    dword ptr [eax+14h]
    kd> p
    Shutdown occurred at (Sun Oct 17 11:29:23.734 2021 (UTC + 2:00))...unloading all symbol tables.
    Waiting to reconnect...

#7915 | infuscomus | ⇗ @diderius6 having access to proper symbols would probably help with this, I'm assuming NTLDR symbols are still on microsofts symbol server? Alternatively, build your own NTLDR from source code and use its private symbols might give more info about the problem?

#7916

diderius6

And here comes a working bootprocess with the same master debug ntldr and the same nvme and the same XP
on another compi

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 12:09:47.984 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Sun Oct 17 12:09:49.562 2021 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> p
    osloader!DbgBreakPoint+0x1:
    0040b0c7 c3              ret
    kd> p
    osloader!BdInitDebugger+0x3c0:
    0040bb78 eb05            jmp     osloader!BdInitDebugger+0x3c7 (0040bb7f)
    kd> p
    osloader!BdInitDebugger+0x3c7:
    0040bb7f c9              leave
    kd> p
    osloader!BdInitDebugger+0x3c8:
    0040bb80 c20c00          ret     0Ch
    kd> p
    osloader!MempCopyGdt+0x254:
    0041143c 33c0            xor     eax,eax
    kd> p
    osloader!MempCopyGdt+0x256:
    0041143e 5b              pop     ebx
    kd> p
    osloader!MempCopyGdt+0x257:
    0041143f 5f              pop     edi
    kd> p
    osloader!MempCopyGdt+0x258:
    00411440 5e              pop     esi
    kd> p
    osloader!MempCopyGdt+0x259:
    00411441 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25a:
    00411442 59              pop     ecx
    kd> p
    osloader!MempCopyGdt+0x25b:
    00411443 c3              ret
    kd> p
    osloader!InitializeMemorySubsystem+0x236:
    0041167a 5f              pop     edi
    kd> p
    osloader!InitializeMemorySubsystem+0x237:
    0041167b 5e              pop     esi
    kd> p
    osloader!InitializeMemorySubsystem+0x238:
    0041167c 5b              pop     ebx
    kd> p
    osloader!InitializeMemorySubsystem+0x239:
    0041167d c9              leave
    kd> p
    osloader!InitializeMemorySubsystem+0x23a:
    0041167e c20400          ret     4
    kd> p
    osloader!DoGlobalInitialization+0x62:
    0040e2fd 85c0            test    eax,eax
    kd> p
    osloader!DoGlobalInitialization+0x64:
    0040e2ff 740f            je      osloader!DoGlobalInitialization+0x75 (0040e310)
    kd> p
    osloader!DoGlobalInitialization+0x75:
    0040e310 e86c330000      call    osloader!InitializeMemoryDescriptors (00411681)
    kd> p
    osloader!DoGlobalInitialization+0x7a:
    0040e315 c20400          ret     4
    kd> p
    osloader!NtProcessStartup+0x15:
    0040e4ce 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x16:
    0040e4cf 68b8254200      push    offset osloader!BlSuCmdLine (004225b8)
    kd> p
    osloader!NtProcessStartup+0x1b:
    0040e4d4 e83ffeffff      call    osloader!ParseCommandLine (0040e318)
    kd> p
    osloader!NtProcessStartup+0x20:
    0040e4d9 56              push    esi
    kd> p
    osloader!NtProcessStartup+0x21:
    0040e4da e86c4affff      call    osloader!BlFillInSystemParameters (00402f4b)
    kd> p
    osloader!NtProcessStartup+0x26:
    0040e4df 8b4628          mov     eax,dword ptr [esi+28h]
    kd> p
    osloader!NtProcessStartup+0x29:
    0040e4e2 a32cfc4200      mov     dword ptr [osloader!BootFlags (0042fc2c)],eax
    kd> p
    osloader!NtProcessStartup+0x2e:
    0040e4e7 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x30:
    0040e4e9 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0x32:
    0040e4eb 25ff000000      and     eax,0FFh
    kd> p
    osloader!NtProcessStartup+0x37:
    0040e4f0 bb48f34200      mov     ebx,offset osloader!BootPartitionName (0042f348)
    kd> p
    osloader!NtProcessStartup+0x3c:
    0040e4f5 0f848c010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x42:
    0040e4fb 83f801          cmp     eax,1
    kd> p
    osloader!NtProcessStartup+0x45:
    0040e4fe 0f8483010000    je      osloader!NtProcessStartup+0x1ce (0040e687)
    kd> p
    osloader!NtProcessStartup+0x4b:
    0040e504 83f840          cmp     eax,40h
    kd> p
    osloader!NtProcessStartup+0x4e:
    0040e507 751a            jne     osloader!NtProcessStartup+0x6a (0040e523)
    kd> p
    osloader!NtProcessStartup+0x6a:
    0040e523 83f841          cmp     eax,41h
    kd> p
    osloader!NtProcessStartup+0x6d:
    0040e526 7514            jne     osloader!NtProcessStartup+0x83 (0040e53c)
    kd> p
    osloader!NtProcessStartup+0x83:
    0040e53c 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x84:
    0040e53d e82efdffff      call    osloader!BlIsElToritoCDBoot (0040e270)
    kd> p
    osloader!NtProcessStartup+0x89:
    0040e542 84c0            test    al,al
    kd> p
    osloader!NtProcessStartup+0x8b:
    0040e544 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0x8d:
    0040e546 741e            je      osloader!NtProcessStartup+0xad (0040e566)
    kd> p
    osloader!NtProcessStartup+0xad:
    0040e566 0fb64801        movzx   ecx,byte ptr [eax+1]
    kd> p
    osloader!NtProcessStartup+0xb1:
    0040e56a 0fb600          movzx   eax,byte ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xb4:
    0040e56d 51              push    ecx
    kd> p
    osloader!NtProcessStartup+0xb5:
    0040e56e 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xb6:
    0040e56f 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0xb7:
    0040e570 e842fcffff      call    osloader!BlGetActivePartition (0040e1b7)
    kd> p
    osloader!NtProcessStartup+0xbc:
    0040e575 6a4f            push    4Fh
    kd> p
    osloader!NtProcessStartup+0xbe:
    0040e577 33ff            xor     edi,edi
    kd> p
    osloader!NtProcessStartup+0xc0:
    0040e579 8d45a5          lea     eax,[ebp-5Bh]
    kd> p
    osloader!NtProcessStartup+0xc3:
    0040e57c 57              push    edi
    kd> p
    osloader!NtProcessStartup+0xc4:
    0040e57d 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xc5:
    0040e57e c645a400        mov     byte ptr [ebp-5Ch],0
    kd> p
    osloader!NtProcessStartup+0xc9:
    0040e582 e825dd0000      call    osloader!memset (0041c2ac)
    kd> p
    osloader!NtProcessStartup+0xce:
    0040e587 8b06            mov     eax,dword ptr [esi]
    kd> p
    osloader!NtProcessStartup+0xd0:
    0040e589 897d08          mov     dword ptr [ebp+8],edi
    kd> p
    osloader!NtProcessStartup+0xd3:
    0040e58c 8b00            mov     eax,dword ptr [eax]
    kd> p
    osloader!NtProcessStartup+0xd5:
    0040e58e 83e07f          and     eax,7Fh
    kd> p
    osloader!NtProcessStartup+0xd8:
    0040e591 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xd9:
    0040e592 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xdc:
    0040e595 6834054200      push    offset osloader!`string' (00420534)
    kd> p
    osloader!NtProcessStartup+0xe1:
    0040e59a 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xe2:
    0040e59b e8b0db0000      call    osloader!sprintf (0041c150)
    kd> p
    osloader!NtProcessStartup+0xe7:
    0040e5a0 83c418          add     esp,18h
    kd> p
    osloader!NtProcessStartup+0xea:
    0040e5a3 8d4508          lea     eax,[ebp+8]
    kd> p
    osloader!NtProcessStartup+0xed:
    0040e5a6 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xee:
    0040e5a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0xf0:
    0040e5a9 8d45a4          lea     eax,[ebp-5Ch]
    kd> p
    osloader!NtProcessStartup+0xf3:
    0040e5ac 50              push    eax
    kd> p
    osloader!NtProcessStartup+0xf4:
    0040e5ad a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0xf9:
    0040e5b2 ff505c          call    dword ptr [eax+5Ch]
    kd> p
    osloader!NtProcessStartup+0xfc:
    0040e5b5 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0xfe:
    0040e5b7 0f85bd000000    jne     osloader!NtProcessStartup+0x1c1 (0040e67a)
    kd> p
    osloader!NtProcessStartup+0x104:
    0040e5bd 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x105:
    0040e5be 8d45f8          lea     eax,[ebp-8]
    kd> p
    osloader!NtProcessStartup+0x108:
    0040e5c1 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x109:
    0040e5c2 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x10c:
    0040e5c5 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x111:
    0040e5ca 897df8          mov     dword ptr [ebp-8],edi
    kd> p
    osloader!NtProcessStartup+0x114:
    0040e5cd 897dfc          mov     dword ptr [ebp-4],edi
    kd> p
    osloader!NtProcessStartup+0x117:
    0040e5d0 ff5070          call    dword ptr [eax+70h]
    kd> p
    osloader!NtProcessStartup+0x11a:
    0040e5d3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x11c:
    0040e5d5 0f858a000000    jne     osloader!NtProcessStartup+0x1ac (0040e665)
    kd> p
    osloader!NtProcessStartup+0x122:
    0040e5db 8d45f4          lea     eax,[ebp-0Ch]
    kd> p
    osloader!NtProcessStartup+0x125:
    0040e5de 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x126:
    0040e5df bf00020000      mov     edi,200h
    kd> p
    osloader!NtProcessStartup+0x12b:
    0040e5e4 57              push    edi
    kd> p
    osloader!NtProcessStartup+0x12c:
    0040e5e5 8d85a4fdffff    lea     eax,[ebp-25Ch]
    kd> p
    osloader!NtProcessStartup+0x132:
    0040e5eb 50              push    eax
    kd> p
    osloader!NtProcessStartup+0x133:
    0040e5ec ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x136:
    0040e5ef a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!NtProcessStartup+0x13b:
    0040e5f4 ff5064          call    dword ptr [eax+64h]
    kd> p
    osloader!NtProcessStartup+0x13e:
    0040e5f7 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x140:
    0040e5f9 7563            jne     osloader!NtProcessStartup+0x1a5 (0040e65e)
    kd> p
    osloader!NtProcessStartup+0x142:
    0040e5fb 39855cffffff    cmp     dword ptr [ebp-0A4h],eax
    kd> p
    osloader!NtProcessStartup+0x148:
    0040e601 756d            jne     osloader!NtProcessStartup+0x1b7 (0040e670)
    kd> p
    osloader!NtProcessStartup+0x1b7:
    0040e670 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!NtProcessStartup+0x1ba:
    0040e673 e89b69ffff      call    osloader!ArcCacheClose (00405013)
    kd> p
    osloader!NtProcessStartup+0x1bf:
    0040e678 eb2d            jmp     osloader!NtProcessStartup+0x1ee (0040e6a7)
    kd> p
    osloader!NtProcessStartup+0x1ee:
    0040e6a7 6a02            push    2
    kd> p
    osloader!NtProcessStartup+0x1f0:
    0040e6a9 e848260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x1f5:
    0040e6ae a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x1fa:
    0040e6b3 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x1fc:
    0040e6b5 7408            je      osloader!NtProcessStartup+0x206 (0040e6bf)
    kd> p
    osloader!NtProcessStartup+0x1fe:
    0040e6b7 c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x201:
    0040e6ba a38c304300      mov     dword ptr [osloader!PcrBasePage (0043308c)],eax
    kd> p
    osloader!NtProcessStartup+0x206:
    0040e6bf 6a03            push    3
    kd> p
    osloader!NtProcessStartup+0x208:
    0040e6c1 e830260000      call    osloader!FwAllocateHeapPermanent (00410cf6)
    kd> p
    osloader!NtProcessStartup+0x20d:
    0040e6c6 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x212:
    0040e6cb 85c0            test    eax,eax
    kd> p
    osloader!NtProcessStartup+0x214:
    0040e6cd 7408            je      osloader!NtProcessStartup+0x21e (0040e6d7)
    kd> p
    osloader!NtProcessStartup+0x216:
    0040e6cf c1e80c          shr     eax,0Ch
    kd> p
    osloader!NtProcessStartup+0x219:
    0040e6d2 a390304300      mov     dword ptr [osloader!TssBasePage (00433090)],eax
    kd> p
    osloader!NtProcessStartup+0x21e:
    0040e6d7 e843360000      call    osloader!BlMemoryInitialize (00411d1f)
    kd> p
    osloader!NtProcessStartup+0x223:
    0040e6dc e84744ffff      call    osloader!AEInitializeStall (00402b28)
    kd> p
    osloader!NtProcessStartup+0x228:
    0040e6e1 e800d50000      call    osloader!BlInitializeHeadlessPort (0041bbe6)
    kd> p
    osloader!NtProcessStartup+0x22d:
    0040e6e6 e8e568ffff      call    osloader!BlIoInitialize (00404fd0)
    kd> p
    osloader!NtProcessStartup+0x232:
    0040e6eb 53              push    ebx
    kd> p
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd> p
    Sun Oct 17 12:12:20.812 2021 (UTC + 2:00): BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe
    Sun Oct 17 12:12:21.937 2021 (UTC + 2:00): BD: 806C8000 \WINDOWS\system32\hal.dll
    Sun Oct 17 12:12:23.046 2021 (UTC + 2:00): BD: 806E9000 \WINDOWS\system32\kdcom.dll
    Sun Oct 17 12:12:24.062 2021 (UTC + 2:00): BD: 80010000 \WINDOWS\system32\BOOTVID.dll
    Sun Oct 17 12:12:25.312 2021 (UTC + 2:00): BD: 80124000 \WINDOWS\system32\DRIVERS\ACPI.sys
    Sun Oct 17 12:12:26.234 2021 (UTC + 2:00): BD: 80004000 \WINDOWS\system32\DRIVERS\WMILIB.SYS
    Sun Oct 17 12:12:27.156 2021 (UTC + 2:00): BD: 80062000 \WINDOWS\system32\DRIVERS\pci.sys
    Sun Oct 17 12:12:28.078 2021 (UTC + 2:00): BD: 80006000 \WINDOWS\system32\DRIVERS\isapnp.sys
    Sun Oct 17 12:12:29.000 2021 (UTC + 2:00): BD: 80013000 \WINDOWS\system32\drivers\firadisk.sys
    Sun Oct 17 12:12:29.921 2021 (UTC + 2:00): BD: 8001A000 \WINDOWS\system32\DRIVERS\pciide.sys
    Sun Oct 17 12:12:30.843 2021 (UTC + 2:00): BD: 80154000 \WINDOWS\system32\DRIVERS\PCIIDEX.SYS
    Sun Oct 17 12:12:31.765 2021 (UTC + 2:00): BD: 8015B000 \WINDOWS\System32\Drivers\MountMgr.sys
    Sun Oct 17 12:12:32.687 2021 (UTC + 2:00): BD: 80166000 \WINDOWS\system32\DRIVERS\ftdisk.sys
    Sun Oct 17 12:12:33.609 2021 (UTC + 2:00): BD: 8001B000 \WINDOWS\System32\drivers\dmload.sys
    Sun Oct 17 12:12:34.531 2021 (UTC + 2:00): BD: 80185000 \WINDOWS\System32\drivers\dmio.sys
    Sun Oct 17 12:12:35.453 2021 (UTC + 2:00): BD: 801AB000 \WINDOWS\System32\Drivers\PartMgr.sys
    Sun Oct 17 12:12:36.375 2021 (UTC + 2:00): BD: 8001D000 \WINDOWS\system32\DRIVERS\ACPIEC.sys
    Sun Oct 17 12:12:37.296 2021 (UTC + 2:00): BD: 80073000 \WINDOWS\system32\DRIVERS\OPRGHDLR.SYS
    Sun Oct 17 12:12:38.218 2021 (UTC + 2:00): BD: 801B6000 \WINDOWS\System32\Drivers\VolSnap.sys
    Sun Oct 17 12:12:39.140 2021 (UTC + 2:00): BD: 801C3000 \WINDOWS\system32\DRIVERS\atapi.sys
    Sun Oct 17 12:12:40.062 2021 (UTC + 2:00): BD: 80A02000 \WINDOWS\system32\DRIVERS\iaStor.sys
    Sun Oct 17 12:12:41.000 2021 (UTC + 2:00): BD: 801DB000 \WINDOWS\system32\DRIVERS\stornvme.sys
    Sun Oct 17 12:12:41.921 2021 (UTC + 2:00): BD: 801E9000 \WINDOWS\system32\DRIVERS\storport.sys
    Sun Oct 17 12:12:42.843 2021 (UTC + 2:00): BD: 80232000 \WINDOWS\system32\DRIVERS\ntoskrn8.sys
    Sun Oct 17 12:12:43.765 2021 (UTC + 2:00): BD: 80255000 \WINDOWS\system32\DRIVERS\disk.sys
    Sun Oct 17 12:12:44.687 2021 (UTC + 2:00): BD: 80265000 \WINDOWS\system32\DRIVERS\CLASSPNP.SYS
    Sun Oct 17 12:12:45.625 2021 (UTC + 2:00): BD: 80272000 \WINDOWS\system32\DRIVERS\fltMgr.sys
    Sun Oct 17 12:12:46.546 2021 (UTC + 2:00): BD: 80292000 \WINDOWS\system32\DRIVERS\sr.sys
    Sun Oct 17 12:12:47.468 2021 (UTC + 2:00): BD: 802A4000 \WINDOWS\System32\Drivers\KSecDD.sys
    Sun Oct 17 12:12:48.390 2021 (UTC + 2:00): BD: 802BB000 \WINDOWS\System32\Drivers\Ntfs.sys
    Sun Oct 17 12:12:49.328 2021 (UTC + 2:00): BD: 80348000 \WINDOWS\System32\Drivers\NDIS.sys
    Sun Oct 17 12:12:50.250 2021 (UTC + 2:00): BD: 80375000 \WINDOWS\system32\DRIVERS\wdf01000.sys
    Sun Oct 17 12:12:51.187 2021 (UTC + 2:00): BD: 806EB000 \WINDOWS\system32\DRIVERS\WDFLDR.SYS
    Sun Oct 17 12:12:52.109 2021 (UTC + 2:00): BD: 806F9000 \WINDOWS\System32\Drivers\Mup.sys
    Shutdown occurred at (Sun Oct 17 12:12:53.125 2021 (UTC + 2:00))...unloading all symbol tables.
    Waiting to reconnect...

A compare with Beyondcompare2 shows,
that they are absolut identic,
only after this it stops
working

    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd> p
    Sun Oct 17 12:12:20.812 2021 (UTC + 2:00): BD: 804BA000 \WINDOWS\system32\ntkrnlpa.exe

not working

    0040e6ec e8a9f4ffff call osloader!BlStartup (0040db9a)
    kd> p
    osloader!NtProcessStartup+0x238:
    0040e6f1 f6052cfc420001 test byte ptr [osloader!BootFlags (0042fc2c)],1

#7917

diderius6

Yessssaa ), I get XP SP3 to boot from an 960 Pro on normal ntldr on ASUS P8H77-M via Option Rom from Samsung 950 Pro.
Now, legacy nvme boot of XP is possible on any compi with a Pci-e connector and may be even install
Dietmar
PS: For this I set a breakpoint at

    kd> bp 0040e6ec
    kd> g
    Sun Oct 17 12:30:39.515 2021 (UTC + 2:00): Breakpoint 0 hit
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)

and compare working boot of XP SP3 with not working boot.

#7918

diderius6

So the "not boot" behavior on older Bios of legacy XP on Option Rom from Samsung 950 Pro
seems to be a time problem. XP shuts off too quick.
Post is too big here for spoiler even I split in 2 parts
Dietmar
EDIT: Boot is unstable.
Very strange: Successfull boot and not successfull boot ends with exact the same output of Windbg

    0041c77e 0fb7057c2f4200  movzx   eax,word ptr [osloader!__mb_cur_max (00422f7c)]
    kd> t
    osloader!atol+0x95:
    0041c785 83f801          cmp     eax,1
    kd> t
    osloader!atol+0x98:
    0041c788 7e13            jle     osloader!atol+0xad (0041c79d)
    kd> t
    osloader!atol+0xad:
    0041c79d 8b55f4          mov     edx,dword ptr [ebp-0Ch]
    kd> t
    osloader!atol+0xb0:
    0041c7a0 a1742f4200      mov     eax,dword ptr [osloader!_pctype (00422f74)]
    kd> t
    osloader!atol+0xb5:
    0041c7a5 0fb70c50        movzx   ecx,word ptr [eax+edx*2]
    kd> t
    osloader!atol+0xb9:
    0041c7a9 83e104          and     ecx,4
    kd> t
    osloader!atol+0xbc:
    0041c7ac 894dec          mov     dword ptr [ebp-14h],ecx
    kd> t
    osloader!atol+0xbf:
    0041c7af 837dec00        cmp     dword ptr [ebp-14h],0
    kd> t
    osloader!atol+0xc3:
    0041c7b3 7424            je      osloader!atol+0xe9 (0041c7d9)
    kd> t
    osloader!atol+0xe9:
    0041c7d9 837dfc2d        cmp     dword ptr [ebp-4],2Dh
    kd> t
    osloader!atol+0xed:
    0041c7dd 7509            jne     osloader!atol+0xf8 (0041c7e8)
    kd> t
    osloader!atol+0xf8:
    0041c7e8 8b45f8          mov     eax,dword ptr [ebp-8]
    kd> t
    osloader!atol+0xfb:
    0041c7eb 8be5            mov     esp,ebp
    kd> t
    osloader!atol+0xfd:
    0041c7ed 5d              pop     ebp
    kd> t
    osloader!atol+0xfe:
    0041c7ee c3              ret
    kd> t
    osloader!BlGetPathMnemonicKey+0x84:
    00404fc3 59              pop     ecx
    kd> t
    osloader!BlGetPathMnemonicKey+0x85:
    00404fc4 8b4d10          mov     ecx,dword ptr [ebp+10h]
    kd> t
    osloader!BlGetPathMnemonicKey+0x88:
    00404fc7 8901            mov     dword ptr [ecx],eax
    kd> t
    osloader!BlGetPathMnemonicKey+0x8a:
    00404fc9 32c0            xor     al,al
    kd> t
    osloader!BlGetPathMnemonicKey+0x8c:
    00404fcb 5e              pop     esi
    kd> t
    osloader!BlGetPathMnemonicKey+0x8d:
    00404fcc c9              leave
    kd> t
    osloader!BlGetPathMnemonicKey+0x8e:
    00404fcd c20c00          ret     0Ch
    kd> t
    osloader!BiosPartitionOpen+0x152:
    004045eb 84c0            test    al,al
    kd> t
    osloader!BiosPartitionOpen+0x154:
    004045ed 0f85dffeffff    jne     osloader!BiosPartitionOpen+0x39 (004044d2)
    kd> t
    osloader!BiosPartitionOpen+0x15a:
    004045f3 8d4508          lea     eax,[ebp+8]
    kd> t
    osloader!BiosPartitionOpen+0x15d:
    004045f6 50              push    eax
    kd> t
    osloader!BiosPartitionOpen+0x15e:
    004045f7 8b45f8          mov     eax,dword ptr [ebp-8]
    kd> t
    osloader!BiosPartitionOpen+0x161:
    004045fa 53              push    ebx
    kd> t
    osloader!BiosPartitionOpen+0x162:
    004045fb 83e880          sub     eax,0FFFFFF80h
    kd> t
    osloader!BiosPartitionOpen+0x165:
    004045fe 50              push    eax
    kd> t
    osloader!BiosPartitionOpen+0x166:
    004045ff 895d08          mov     dword ptr [ebp+8],ebx
    kd> t
    osloader!BiosPartitionOpen+0x169:
    00404602 e853f4ffff      call    osloader!BiosDiskOpen (00403a5a)
    kd> t
    osloader!BiosDiskOpen:
    00403a5a 55              push    ebp
    kd> t
    osloader!BiosDiskOpen+0x1:
    00403a5b 8bec            mov     ebp,esp
    kd> t
    osloader!BiosDiskOpen+0x3:
    00403a5d 83ec0c          sub     esp,0Ch
    kd> t
    osloader!BiosDiskOpen+0x6:
    00403a60 817d0881000080  cmp     dword ptr [ebp+8],80000081h
    kd> t
    osloader!BiosDiskOpen+0xd:
    00403a67 53              push    ebx
    kd> t
    osloader!BiosDiskOpen+0xe:
    00403a68 0f9745fe        seta    byte ptr [ebp-2]
    kd> t
    osloader!BiosDiskOpen+0x12:
    00403a6c 816508ffffff7f  and     dword ptr [ebp+8],7FFFFFFFh
    kd> t
    osloader!BiosDiskOpen+0x19:
    00403a73 817d0880000000  cmp     dword ptr [ebp+8],80h
    kd> t
    osloader!BiosDiskOpen+0x20:
    00403a7a 56              push    esi
    kd> t
    osloader!BiosDiskOpen+0x21:
    00403a7b 8b3528274200    mov     esi,dword ptr [osloader!FwDiskCache (00422728)]
    kd> t
    osloader!BiosDiskOpen+0x27:
    00403a81 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x28:
    00403a82 c645ff00        mov     byte ptr [ebp-1],0
    kd> t
    osloader!BiosDiskOpen+0x2c:
    00403a86 7341            jae     osloader!BiosDiskOpen+0x6f (00403ac9)
    kd> t
    osloader!BiosDiskOpen+0x6f:
    00403ac9 33ff            xor     edi,edi
    kd> t
    osloader!BiosDiskOpen+0x71:
    00403acb 807dfe00        cmp     byte ptr [ebp-2],0
    kd> t
    osloader!BiosDiskOpen+0x75:
    00403acf 740b            je      osloader!BiosDiskOpen+0x82 (00403adc)
    kd> t
    osloader!BiosDiskOpen+0x82:
    00403adc 897df8          mov     dword ptr [ebp-8],edi
    kd> t
    osloader!BiosDiskOpen+0x85:
    00403adf a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!BiosDiskOpen+0x8a:
    00403ae4 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8b:
    00403ae5 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8c:
    00403ae6 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8d:
    00403ae7 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8e:
    00403ae8 57              push    edi
    kd> t
    osloader!BiosDiskOpen+0x8f:
    00403ae9 ff7508          push    dword ptr [ebp+8]
    kd> t
    osloader!BiosDiskOpen+0x92:
    00403aec 897df4          mov     dword ptr [ebp-0Ch],edi
    kd> t
    osloader!BiosDiskOpen+0x95:
    00403aef 6a08            push    8
    kd> t
    osloader!BiosDiskOpen+0x97:
    00403af1 ff5004          call    dword ptr [eax+4]
    kd> t
    00020b4d 6858000000      push    58h
    kd> t
    00020b52 68580b0000      push    0B58h
    kd> t
    00020b57 cb              retf
    kd> t
    0058:0b58 6655            push    ebp
    16.kd> t
    0058:0b5a 6653            push    ebx
    16.kd> t
    0058:0b5c 6656            push    esi
    16.kd> t
    0058:0b5e 6657            push    edi
    16.kd> t
    0058:0b60 6689e3          mov     ebx,esp
    16.kd> t
    0058:0b63 b86000          mov     ax,60h
    16.kd> t
    0058:0b66 8ed8            mov     ds,ax
    16.kd> t

#7919

diderius6

I found the place, from where nvme XP crashes, see
⇗ https://blog.titanwolf.in/a?ID=00200-bb5...c7-79b0a47d49ce
osloader!BlStartup+0x27d:
0040de17 e864d50000 call osloader!BlSelectKernel (0041b380)
So it looks, as if XP cant find the correct Arcpath for the nvme disk.
Direct after this appears message on screen:
Invalid BOOT.INI file
Booting from c:\windows\
and then in Windbg
osloader!BlStartup+0x29b:
0040de35 e82ffbffff call osloader!BlDetectHardware (0040d969)
and after this on screen
Error opening NTDETECT.COM, status = 0002
Dietmar

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    BD: Debugging NTLDR --By: diyhack
    BD: Boot Debugger Initialized
    Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 15:11:02.406 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
    Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
    Machine Name:
    Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
    System Uptime: not available
    Break instruction exception - code 80000003 (first chance)
    osloader!DbgBreakPoint:
    0040b0c6 cc              int     3
    kd> bp 0040e6ec
    kd> g
    Breakpoint 0 hit
    osloader!NtProcessStartup+0x233:
    0040e6ec e8a9f4ffff      call    osloader!BlStartup (0040db9a)
    kd> t
    osloader!BlStartup:
    0040db9a 6a68            push    68h
    kd> p
    osloader!BlStartup+0x2:
    0040db9c 68c0134200      push    offset osloader!__lookuptable+0x100 (004213c0)
    kd> p
    osloader!BlStartup+0x7:
    0040dba1 e8f7bfffff      call    osloader!_SEH_prolog (00409b9d)
    kd> p
    osloader!BlStartup+0xc:
    0040dba6 33f6            xor     esi,esi
    kd> p
    osloader!BlStartup+0xe:
    0040dba8 8975fc          mov     dword ptr [ebp-4],esi
    kd> p
    osloader!BlStartup+0x11:
    0040dbab 8975d8          mov     dword ptr [ebp-28h],esi
    kd> p
    osloader!BlStartup+0x14:
    0040dbae 8d45d8          lea     eax,[ebp-28h]
    kd> p
    osloader!BlStartup+0x17:
    0040dbb1 50              push    eax
    kd> p
    osloader!BlStartup+0x18:
    0040dbb2 56              push    esi
    kd> p
    osloader!BlStartup+0x19:
    0040dbb3 ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!BlStartup+0x1c:
    0040dbb6 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!BlStartup+0x21:
    0040dbbb ff505c          call    dword ptr [eax+5Ch]
    kd> p
    osloader!BlStartup+0x24:
    0040dbbe 3bc6            cmp     eax,esi
    kd> p
    osloader!BlStartup+0x26:
    0040dbc0 7417            je      osloader!BlStartup+0x3f (0040dbd9)
    kd> p
    osloader!BlStartup+0x3f:
    0040dbd9 6a00            push    0
    kd> p
    osloader!BlStartup+0x41:
    0040dbdb ff75d8          push    dword ptr [ebp-28h]
    kd> p
    osloader!BlStartup+0x44:
    0040dbde e8e8e2ffff      call    osloader!TextGrInitialize (0040becb)
    kd> p
    osloader!BlStartup+0x49:
    0040dbe3 6a09            push    9
    kd> p
    osloader!BlStartup+0x4b:
    0040dbe5 59              pop     ecx
    kd> p
    osloader!BlStartup+0x4c:
    0040dbe6 bec0024200      mov     esi,offset osloader!`string' (004202c0)
    kd> p
    osloader!BlStartup+0x51:
    0040dbeb bf20ef4200      mov     edi,offset osloader!ConsoleInputName (0042ef20)
    kd> p
    osloader!BlStartup+0x56:
    0040dbf0 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
    kd> p
    osloader!BlStartup+0x58:
    0040dbf2 6a09            push    9
    kd> p
    osloader!BlStartup+0x5a:
    0040dbf4 59              pop     ecx
    kd> p
    osloader!BlStartup+0x5b:
    0040dbf5 be98024200      mov     esi,offset osloader!`string' (00420298)
    kd> p
    osloader!BlStartup+0x60:
    0040dbfa bfe0ee4200      mov     edi,offset osloader!ConsoleOutputName (0042eee0)
    kd> p
    osloader!BlStartup+0x65:
    0040dbff f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
    kd> p
    osloader!BlStartup+0x67:
    0040dc01 66a5            movs    word ptr es:[edi],word ptr [esi]
    kd> p
    osloader!BlStartup+0x69:
    0040dc03 c7458820ef4200  mov     dword ptr [ebp-78h],offset osloader!ConsoleInputName (0042ef20)
    kd> p
    osloader!BlStartup+0x70:
    0040dc0a c7458ce0ee4200  mov     dword ptr [ebp-74h],offset osloader!ConsoleOutputName (0042eee0)
    kd> p
    osloader!BlStartup+0x77:
    0040dc11 8d4588          lea     eax,[ebp-78h]
    kd> p
    osloader!BlStartup+0x7a:
    0040dc14 50              push    eax
    kd> p
    osloader!BlStartup+0x7b:
    0040dc15 6a02            push    2
    kd> p
    osloader!BlStartup+0x7d:
    0040dc17 e8eee00000      call    osloader!BlInitStdio (0041bd0a)
    kd> p
    osloader!BlStartup+0x82:
    0040dc1c ff75d8          push    dword ptr [ebp-28h]
    kd> p
    osloader!BlStartup+0x85:
    0040dc1f e8ef73ffff      call    osloader!ArcCacheClose (00405013)
    kd> p
    osloader!BlStartup+0x8a:
    0040dc24 8d45d8          lea     eax,[ebp-28h]
    kd> p
    osloader!BlStartup+0x8d:
    0040dc27 50              push    eax
    kd> p
    osloader!BlStartup+0x8e:
    0040dc28 6a02            push    2
    kd> p
    osloader!BlStartup+0x90:
    0040dc2a ff7508          push    dword ptr [ebp+8]
    kd> p
    osloader!BlStartup+0x93:
    0040dc2d a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!BlStartup+0x98:
    0040dc32 ff505c          call    dword ptr [eax+5Ch]
    kd> p
    osloader!BlStartup+0x9b:
    0040dc35 8bd8            mov     ebx,eax
    kd> p
    osloader!BlStartup+0x9d:
    0040dc37 85db            test    ebx,ebx
    kd> p
    osloader!BlStartup+0x9f:
    0040dc39 7587            jne     osloader!BlStartup+0x28 (0040dbc2)
    kd> p
    osloader!BlStartup+0xa1:
    0040dc3b c645b801        mov     byte ptr [ebp-48h],1
    kd> p
    osloader!BlStartup+0xa5:
    0040dc3f 8845e6          mov     byte ptr [ebp-1Ah],al
    kd> p
    osloader!BlStartup+0xa8:
    0040dc42 b88c024200      mov     eax,offset osloader!`string' (0042028c)
    kd> p
    osloader!BlStartup+0xad:
    0040dc47 33ff            xor     edi,edi
    kd> p
    osloader!BlStartup+0xaf:
    0040dc49 897dd0          mov     dword ptr [ebp-30h],edi
    kd> p
    osloader!BlStartup+0xb2:
    0040dc4c 803dfef8420000  cmp     byte ptr [osloader!BlBootingFromNet (0042f8fe)],0
    kd> p
    osloader!BlStartup+0xb9:
    0040dc53 744e            je      osloader!BlStartup+0x109 (0040dca3)
    kd> p
    osloader!BlStartup+0x109:
    0040dca3 897de0          mov     dword ptr [ebp-20h],edi
    kd> p
    osloader!BlStartup+0x10c:
    0040dca6 897ddc          mov     dword ptr [ebp-24h],edi
    kd> p
    osloader!BlStartup+0x10f:
    0040dca9 397dd0          cmp     dword ptr [ebp-30h],edi
    kd> p
    osloader!BlStartup+0x112:
    0040dcac 0f8529010000    jne     osloader!BlStartup+0x241 (0040dddb)
    kd> p
    osloader!BlStartup+0x118:
    0040dcb2 8d4de0          lea     ecx,[ebp-20h]
    kd> p
    osloader!BlStartup+0x11b:
    0040dcb5 51              push    ecx
    kd> p
    osloader!BlStartup+0x11c:
    0040dcb6 57              push    edi
    kd> p
    osloader!BlStartup+0x11d:
    0040dcb7 50              push    eax
    kd> p
    osloader!BlStartup+0x11e:
    0040dcb8 ff75d8          push    dword ptr [ebp-28h]
    kd> p
    osloader!BlStartup+0x121:
    0040dcbb e89b75ffff      call    osloader!BlOpen (0040525b)
    kd> p
    osloader!BlStartup+0x126:
    0040dcc0 8bd8            mov     ebx,eax
    kd> p
    osloader!BlStartup+0x128:
    0040dcc2 6820020000      push    220h
    kd> p
    osloader!BlStartup+0x12d:
    0040dcc7 57              push    edi
    kd> p
    osloader!BlStartup+0x12e:
    0040dcc8 6800f94200      push    offset osloader!MyBuffer (0042f900)
    kd> p
    osloader!BlStartup+0x133:
    0040dccd e8dae50000      call    osloader!memset (0041c2ac)
    kd> p
    osloader!BlStartup+0x138:
    0040dcd2 83c40c          add     esp,0Ch
    kd> p
    osloader!BlStartup+0x13b:
    0040dcd5 3bdf            cmp     ebx,edi
    kd> p
    osloader!BlStartup+0x13d:
    0040dcd7 0f85fe000000    jne     osloader!BlStartup+0x241 (0040dddb)
    kd> p
    osloader!BlStartup+0x241:
    0040dddb e8be9b0000      call    osloader!MdShutoffFloppy (0041799e)
    kd> p
    osloader!BlStartup+0x246:
    0040dde0 8d45dc          lea     eax,[ebp-24h]
    kd> p
    osloader!BlStartup+0x249:
    0040dde3 50              push    eax
    kd> p
    osloader!BlStartup+0x24a:
    0040dde4 6a04            push    4
    kd> p
    osloader!BlStartup+0x24c:
    0040dde6 6860f34100      push    offset osloader!`string' (0041f360)
    kd> p
    osloader!BlStartup+0x251:
    0040ddeb ff35a8244200    push    dword ptr [osloader!BlConsoleOutDeviceId (004224a8)]
    kd> p
    osloader!BlStartup+0x257:
    0040ddf1 a1ec224200      mov     eax,dword ptr [osloader!GlobalSystemBlock+0x20 (004222ec)]
    kd> p
    osloader!BlStartup+0x25c:
    0040ddf6 ff506c          call    dword ptr [eax+6Ch]
    kd> p
    osloader!BlStartup+0x25f:
    0040ddf9 803dfef8420000  cmp     byte ptr [osloader!BlBootingFromNet (0042f8fe)],0
    kd> p
    osloader!BlStartup+0x266:
    0040de00 7405            je      osloader!BlStartup+0x26d (0040de07)
    kd> p
    osloader!BlStartup+0x26d:
    0040de07 897dc8          mov     dword ptr [ebp-38h],edi
    kd> p
    osloader!BlStartup+0x270:
    0040de0a ff75b8          push    dword ptr [ebp-48h]
    kd> p
    osloader!BlStartup+0x273:
    0040de0d 8d45c8          lea     eax,[ebp-38h]
    kd> p
    osloader!BlStartup+0x276:
    0040de10 50              push    eax
    kd> p
    osloader!BlStartup+0x277:
    0040de11 ff75d0          push    dword ptr [ebp-30h]
    kd> p
    osloader!BlStartup+0x27a:
    0040de14 ff75d8          push    dword ptr [ebp-28h]
    kd> p
    osloader!BlStartup+0x27d:
    0040de17 e864d50000      call    osloader!BlSelectKernel (0041b380)
    kd> p
    osloader!BlStartup+0x282:
    0040de1c 8bf0            mov     esi,eax
    kd> p
    osloader!BlStartup+0x284:
    0040de1e 8975bc          mov     dword ptr [ebp-44h],esi
    kd> p
    osloader!BlStartup+0x287:
    0040de21 3bf7            cmp     esi,edi
    kd> p
    osloader!BlStartup+0x289:
    0040de23 0f8423030000    je      osloader!BlStartup+0x5b2 (0040e14c)
    kd> p
    osloader!BlStartup+0x28f:
    0040de29 807de600        cmp     byte ptr [ebp-1Ah],0
    kd> p
    osloader!BlStartup+0x293:
    0040de2d 7556            jne     osloader!BlStartup+0x2eb (0040de85)
    kd> p
    osloader!BlStartup+0x295:
    0040de2f ff75c8          push    dword ptr [ebp-38h]
    kd> p
    osloader!BlStartup+0x298:
    0040de32 ff75d8          push    dword ptr [ebp-28h]
    kd> p
    osloader!BlStartup+0x29b:
    0040de35 e82ffbffff      call    osloader!BlDetectHardware (0040d969)
    kd> p
    osloader!BlStartup+0x2a0:
    0040de3a 84c0            test    al,al

#7920 | infuscomus | ⇗ @diderius6 I'm happy to hear you've made progress!

## Page 529

#7921

diderius6

The crash seems to happen at XferPhysicalDiskSectors .
This would mean, that the Bios does not recognice correct the physical data of the nvme disk
Dietmar

    kd> bp 00403997
    kd> g
    Breakpoint 0 hit
    osloader!XferPhysicalDiskSectors+0x69:
    00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
    kd> t
    osloader!XferPhysicalDiskSectors+0x6e:
    0040399c ff5004          call    dword ptr [eax+4]
    kd> t
    00020b4d 6858000000      push    58h
    kd> t
    00020b52 68580b0000      push    0B58h
    kd> t
    00020b57 cb              retf
    kd> t
    0058:0b58 6655            push    ebp
    16.kd> t
    0058:0b5a 6653            push    ebx
    16.kd> t
    0058:0b5c 6656            push    esi
    16.kd> t
    0058:0b5e 6657            push    edi
    16.kd> t
    0058:0b60 6689e3          mov     ebx,esp
    16.kd> t
    0058:0b63 b86000          mov     ax,60h
    16.kd> t
    0058:0b66 8ed8            mov     ds,ax
    16.kd>

#7922

diderius6

This is in machine.c
⇗ http://218.94.103.156:8090/download/deve.../i386/machine.c
Dietmar

    ARC_STATUS
    XferPhysicalDiskSectors(
        IN  UCHAR     Int13UnitNumber,
        IN  ULONGLONG StartSector,
        IN  UCHAR     SectorCount,
        IN  PUCHAR    Buffer,
        IN  UCHAR     SectorsPerTrack,
        IN  USHORT    Heads,
        IN  USHORT    Cylinders,
        IN  BOOLEAN   AllowExtendedInt13,
        IN  BOOLEAN   Write
           )

    /*++

    Routine Description:

        Read or write disk sectors.

        Xfers sectors via int13. If the request starts on a cylinder
        larger than the number of cylinders reported by conventional int13, then
        extended int13 will be used if the drive supports it.

        It is assumed that the caller has ensured that the transfer buffer is
        under the 1MB line, that the sector run does not cross a 64K boundary,
        and that the sector run does not cross a track boundary. (The latter
        might not be strictly necessary, but the i/o will fail if the sector run
        starts inside the magic CHS boundary and ends past it since we won't
        switch to xint13 unless the start sector indicates that it is necessary.)

    Arguments:

        Int13UnitNumber - supplies the int13 drive number for the drive
            to be read from/written to.

        StartSector - supplies the absolute physical sector number. This is 0-based
            relative to all sectors on the drive.

        SectorCount - supplies the number of sectors to read/write.

        Buffer - receives data read from the disk or supplies data to be written.

        SectorsPerTrack - supplies sectors per track (1-63) from int13 function 8
            for the drive.

        Heads - supplies number of heads (1-255) from int13 function 8 for the drive.

        Cylinders - supplies number of cylinders (1-1023) from int13 function 8
            for the drive.

        AllowExtendedInt13 - if TRUE and the start cylinder for the i/o is
            greater than the cylinder count reported by conventional int13 for
            the drive, then extended int13 will be used to do the i/o operation.

        Write - supplies a flag indicating whether this is a write operation.
            If FALSE, then it's a read. Otherwise it's a write.

    Return Value:

        ARC status code indicating outcome.

    --*/

#7923

diderius6

This is a working XP boot from legacy nvme

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 17:04:25.859 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3
>     kd> bp 00403997
>     kd> g
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>

#7924

diderius6

And the same as unsuccessfull boot of XP via legacy nvme
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     BD: Debugging NTLDR --By: diyhack
>     BD: Boot Debugger Initialized
>     Connected to Windows Boot Debugger 3790 x86 compatible target at (Sun Oct 17 17:24:13.296 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for osloader.exe -
>     Windows Boot Debugger Kernel Version 3790 UP Checked x86 compatible
>     Machine Name:
>     Primary image base = 0x00400000 Loaded module list = 0x0042fc9c
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     osloader!DbgBreakPoint:
>     0040b0c6 cc              int     3
>     kd> bp 00403997
>     kd> g
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Breakpoint 0 hit
>     osloader!XferPhysicalDiskSectors+0x69:
>     00403997 a14cfc4200      mov     eax,dword ptr [osloader!ExternalServicesTable (0042fc4c)]
>     kd>
>     Shutdown occurred at (Sun Oct 17 17:25:11.062 2021 (UTC + 2:00))...unloading all symbol tables.
>     Waiting to reconnect...

#7925 | diderius6 | Is it possible to boot XP SP3 with the Reactos freeldr.sys (it is "ntldr" from Reactos) Dietmar

#7926

diderius6

I see on youtube
⇗ https://www.youtube.com/watch?v=0dWbTIchr5Y
and even booting win2003 from ext2 partition
⇗ https://www.youtube.com/watch?v=tovBUJ7cQUE&t=27s
Win2003 booting with freeldr.sys from 30 January 2008,
I think it is freeldr.sys from Reactos 0.3.4 .
And the possibility of freeldr.sys to boot win2000 and XP is kept.
Comment of Aleksey Bragin (from reactos people)
"My biggest achievement in the bootloading land: Winldr (this is how I called the windows loading part of the FreeLdr) from ReactOS natively boots Windows 2003."
"Allocate memory for groups list dynamically, and make it enough (4096 bytes) for a really long list of groups. This makes Windows 2003 booting up to explorer without crashing.(Aleksey Bragin)"
"WINLDR: Load drivers database (AppPatch/drvmain.sdb), so Windows could use it if needed.(Aleksey Bragin)
WINLDR: Don't store memory allocation descriptors inside the bootloader, since this memory is unmapped in kernelmode. Fixe s a pagefault after switching to paged mode. Store the configuration data in the LPB.(Aleksey Bragin)
WINLDR: Different behavior for NT4 or NT5+ boot: NT4 requires text mode to be set up, and further version of Windows OS require a different preparation.(Aleksey Bragin)
WINLDR: Properly fill ACPI BIOS configuration entry (a couple of ACPI specification structures were added). This makes Windows 2003 initialize HAL (ACPI version) properly and be able to connect to the debugger.(Aleksey Bragin)
WINLDR: Fix an incorrect type of memory behind PDE, HAL mapping and kernel segment pagetables. They should be MemoryData (and change allocation algorithm slightly). With this change Windows 2003 boots up to the BSOD showing ACPI_BIOS_ERROR.(Aleksey Bragin)
WINLDR: Fix a typo in the if branch, which resulted in marking almost all memory above the bootloader as "FirmwareTemporary", even reserved ACPI pages. This should fix the ACPI BSOD Windows 2003 and XP show up. If a memory is marked as "free", leave it so, without transferring to FirmwareTemporary.(Aleksey Bragin)"
EDIT: Problem in this is, that I even cant install Reactos 0.3.5 in IDE mode on the Asus H77 board.
Life CD of 0.35 also not works, brrr..
Just renaming freeldr.sys => ntldr on an XP installation does not work.

#7927

diderius6

I succeed to install Reactos 0.4.1.3 on the Asus P8H77-M Fat32 and IDE mode.
For this I need about 10 restarts, because always the Setup stops for unknown reason.
USB2 works, USB mouse works, PS/2 keyboard works.
No sound, no network.
Moorhuhn works, without sound. Device manager shows Acpi Uniprocessor.
It is less stable than win95 ).
Now I try to boot XP via freeldr.sys and freeldr.ini, just replacing all the files from XP SP3 there
Dietmar

#7928 | diderius6 | Waaaoh, for a second I can see the XP SP3 start screen, only with freeldr.sys and modded freeldr.ini but then crashes Dietmar ⇗

#7929

diderius6

Waaaoh:))))))))!!!!!!
I succeed to start XP SP3 to full desktop ONLY with freeldr.sys and freeldr.ini from Reactos 0.4.1.3
on Asus P8H77-M board and all other files from XP SP3. No ntldr, no ntdetect.com, no boot.ini .
All works.
Moorhuhn with sound now,
Acpi Multiprocessor, Sata, USB2,3, sound, network, USB mouse, PS/2, Graphik3D, COM1 port etc.
Standby works.
and it is stable
Dietmar
⇗

#7930 | lsmlcx | beautiful how to used them?

#7931

diderius6

⇗ @lsmlcx
Until now it works on Fat32.
I dont know anything about the MBR and the Bootsector from Reactos. Because of this, first I install Reactos 0.4.13 on an IDE harddisk. Now, after changing the Reactos files all against them from XP, only freeldr.sys and freeldr.ini stay. Ntldr, ntdetect.com and boot.ini I dont copy from XP files. Now XP SP3 boots from Sata and now it is stable. I change with editor all word reactos against Windows in freeldr.ini, works ).
My try was, to make any compi bootable from legacy nvme and XP, but I am not sure if the reactos freeldr.sys can do this.
A lot of test are necessary. But until now I do not see any XP in world, that boots direct from this nice freeldr.sys.
Thanks a lot to Aleksey Bragin из Москвы, Россия.
Dietmar
PS: MBR and Bootsector from Reactos
⇗ https://ufile.io/iylfkpg2

#7932

diderius6

The Reactos Freeldr.sys boots also XP on the ASRock Fatal1ty Z370 Gaming K6 with 8700k cpu.
There it boots also from legacy nvme.
But on the Asus P8H77-M via legacy nvme boot XP shows the same red an violett points as with ntldr, ntdetect.com and boot.ini.
So it looks a little bit like miracle, that via winload.exe it boots via BCD legacy nvme XP on the Asus P8H77-M
Dietmar

#7933 | diderius6 | Has somebody a bootsector for NTFS for Reactos, which asks for freeldr.sys? There has been an ntfs.asm for Reactos but I do not find it Dietmar
#7934 | infuscomus | ⇗ @canonkong besides disabling PBO and FMax do you have any other ideas to try for the misbehaving AMD 149C USB 3.0 controller?
#7935 | infuscomus | ⇗ @diderius6 Do any of the motherboards in your collection have this specific USB controller? PCI\VEN_1022&DEV_149C

## Page 530

#7936 | diderius6 | ⇗ @infuscomus Yes see the post down here, and it shows exact the same behavior as for you Dietmar ¶ XP/W2k3 x86 on Modern Hardware (513)

#7937

diderius6

Yesssa ),
I succeed to boot XP SP3 via legacy nvme on the Asus P8H77-M board with the freeldr.sys from Reactos 0.4.13,
using the Plextor m8pe nvme M2 disk. No Bios mod(!). This is an absolut generic XP, just put in PCI-e slot and boot compi.
This is the very first time for me, that the freeldr has an advantage against the ntldr, ntdetect.com. StandBy works.
And in some sense the Plextor M8Pe is better than the Samsung 950 Pro for XP boot.
But even with cooling you can fry eggs on the Plextor M8Pe
Dietmar
⇗
And here is the same XP SP3 installation, booting the Asrock Fatal1ty Z370 Gaming K6 board
from freeldr via legacy nvme, niccccccce ) everything works absolut stable and fast
⇗

#7938 | infuscomus | ⇗ @diderius6 I have not experienced any crashing or freezing when I use the 149C controller, it simply does not function. Maybe I did not test correctly, how did you cause it to crash?

#7939

diderius6

⇗ @infuscomus
Sometimes no crash at all during boot of XP and sometimes crash, compi hangs during boot, no BSOD.
For me it was a big problem to identify the USB3 controller with DEV_149C as the cause of this problem.
Later I disabled it in Device Manager and from this moment no crash at all.
When XP booted to desktop, I can enable again the DEV_149C without any crash during this session and it works normal,
strange
Dietmar

#7940 | infuscomus | ⇗ @diderius6 Very Strange, No crashes for me, instead it simply doesn't work until I disable and re-enable the 149C controller. I think the problem might be ACPI related? The 149C controller works fine in Windows 8.0 and we're using it's driver already so I'm thinking it's something to do with ACPI.

#7941

diderius6

⇗ @infuscomus
To test, if this behavior of USB3 controller with DEV_149C is acpi related, install an "Standard PC" XP SP3 without any acpi
and look
Dietmar
EDIT: You dont need to install XP new. XP can work with "Acpi Multiprocessor" and "Standard PC" at the same time,
see
⇗ https://www.scm-pc-card.de/file/manual/F..._xp_english.pdf

#7942 | infuscomus | ⇗ @diderius6 Oh OK, thanks for the tip, I'll try that.
#7943 | canonkong | ⇗ @infuscomus Only ASUS mainboards will have this problem because of the bios, try to update the latest bios, ASUS x570 already solved this problem with its latest bios.

#7944

infuscomus

⇗ @diderius6
So I tried Standard PC without any ACPI.
my system froze.
no BSOD, just nothing.
textmode setup had same result.
damn!
⇗ @canonkong
I have a Gigabyte board, but I updated to the latest F4 BIOS anyway, no change in behavior.

#7945

diderius6

⇗ @infuscomus
This means, that the crazy behavior of the USB3 DEV_149C is not acpi related.
Have you tried F8 "Last good configuration"?
May be before Setup you can disable this USB3 DEV_149C in Bios?
If this also not helps, you need to do your Setup without any USB.
This was the only way for me
Dietmar

#7946 | diderius6 | Is it possible to integrate into UEFI Bios a legacy Option Rom with the UEFITool? Dietmar

#7947

infuscomus

⇗ @diderius6
I've worked around it thus far with a separate PCI-E USB 3.0 card that works, but still it would be preferable to actually resolve the problem instead of going around it.

> Zitat von ⇗ diderius6 im Beitrag ¶ #7946

> Is it possible to integrate into UEFI Bios a legacy Option Rom with the UEFITool?

I'd imagine it would be possible, but then again maybe the BIOS developers have some other tool that they use.

#7948

diderius6

I try to integrate the extracted Option Rom from life Plextor M8Pe via Linux from post
¶ XP/W2k3 x86 on Modern Hardware (527)
by hand into the Bios of the Asus P8H77-M board.
But I fail. Nothing from nvme of the 960 Pro is recogniced.
Also not with Dev&Ven from Toshiba RD400.
May be, that there are other parts in "Bios" from this nvme device M8Pe, that are needed.
The Option Rom from the Samsung 950 Pro works very similar. There I succeed.
Both show legacy nvme device as 4 Ide devices
Dietmar

#7949

diderius6

I make a new try with the Plop "Option Rom" insert into Bios.
For this I use the "Option Rom" file NvmeOpRom.bin from post
⇗ [Experimental] NVMe Option ROM
First I change my Ven_&DEV_ number in the NvmeOpRom.bin against the one from the Samsung 960 Pro nvme disk
Ven_144D&DEV_A804 . This is very bad documented on Elmars Tutorial.
and with commandline
plpbtrom -vendorid 0x10EC -deviceid 0x8168 NvmeOpRom.bin nvme.rom
This is Ven_10EC&Dev_8168 for my Realtek Lan card for PXE lan boot.
I make a new "Option Rom" nvme.rom from it, now nvme with bootmanager from Elmar.
With MMtool I change the Option Rom for the Realtek boot lan card against this nvme.rom "Option Rom"
in the Bios 1306 from the Asus P8H77-M.
Then I flash this new Bios.
When I enable boot from Lan in Bios, the line for the Plop Option Rom from Elmar appears for a second
and I can choose "Plop Boot Manager" as boot device. But then I get blinking cursor
Dietmar
This is new try with the modded Option Rom Via Plop for the Samsung 960 Pro
⇗ https://ufile.io/ggsywage
And this is the original Bios 1306 from Asus P8H77-M board, full 8MB readout with nice EEpromer Revelprog IS
⇗ https://ufile.io/5cgb1xtk
EDIT: The same blinking cursor with the Option Rom from the Samsung 950 Pro.
With the Option Rom of the Plextor M8Pe I get first message, that this Option Rom is too large.
So I use only the first driver from 2 in it.
Then, I also see the message of bootmanager, but then compi restarts.
So, my resume is just, that the Option Rom methode from Elmar does not work for nvme.
EDIT2: Maybe, that I missunderstand something: That you can only integrate in Bios the Option Rom plpbtrom.bin from Elmar and no other Option Rom from outerworld ).

#7950 | infuscomus | ⇗ @diderius6 If I send you the checked build of the windows 8.0 USB 3.0 driver would you be willing to trace through it to see why it fails when run on the 149C controller?

## Page 531

#7951

diderius6

⇗ @infuscomus
Send it to me.
I try. I think only small chance to see something.
The crash via 149C controller (hanging of XP and even not always) happens very early
in boot process and Windbg is quite blind in this moment
Dietmar
PS: By the way I noticed, that ⇗ @daniel_k updated his USB3 driver few days ago at my digital life forum. Make try.

#7952

infuscomus

⇗ @diderius6
here is the checked build of the windows 8.0 USB 3.0 driver, both original and modded with PDB symbols. I hope I did the mod correctly for the ntoskrnl extender.
Thanks, I'll have to check out daniel_k's new driver.
infuscomus has attached files to this post

- ⇗ win8_USB3_checked.7z.zip

#7953

infuscomus

⇗ @diderius6
I forgot to change ksecdd -> ksecd8
use this new version.
infuscomus has attached files to this post

- ⇗ win8_USB3_checked_2.7z.zip

#7954

diderius6

Waaoooh:)))))) ,
I split the Option Rom in 2 parts:
First Option Rom is original plpbtrom.bin from Elmar (Plop).
I modd this for the Realtek Lan PXE boot on the Asus P8H77-M board via
plpbtrom -vendorid 0x10EC -deviceid 0x8168 plpbtrom.bin nvmeua.rom
and integrate nvmeua.rom into Bios with MMTool (Replace Methode "Option Rom", here for 10EC 8168).
The second Option Rom is from the Samsung 950 Pro.
This I modd for the Samsung 960 Pro etc. and integrate it also in the same Bios
with MMTool (insert Option Rom with 144D A804).
And voila: I can now boot legacy NVME XP SP3
via ntldr(?), via freeldr.sys and via winload.exe on the Asus P8H77-M board from any nvme device.
This methode should work on all (needs to be tested) motherboards.
It is stable. All works. StandBy works.
When I have time I write Tutorial. Now I am going to look at USB3 from ⇗ @infuscomus
So the Plop plpbtrom-0.6 for to build Option Rom is a very nice, good tool.
New nocumentation should be done for this Plop plpbtrom-0.6 from Elmar
Dietmar
EDIT: Plop can load freeldr.sys(!) and ntldr. Plop cant load MBR for winload.exe.
So in my eyes is winload.exe not a good choice for to run XP.
PS: The Option Rom from the Plextor M8Pe does also not work via this way with Plop and also not alone.
So I think, the Option Rom Bios of the Plextor M8Pe speaks in other(?) way to its nvme disk.
The Option Rom from Vmware see post also does not work.
⇗ [Experimental] NVMe Option ROM
Not alone and also not with Plop.
Plop bootmanager starts but does not show harddisk and also nvme cant be booted via "Lan" switch in Plop.
The legacy nvme disk is recogniced but not correct.
This is full readout Bios 1306 8MB from Asus P8H77-M board. It contains the full Samsung 950 Pro Option Rom.
It boots XP SP3 from Samsung 950 Pro, Samsung 960 Pro, Samsung 970 Pro and Toshiba RD 400
and Plextor M8Pe.
It contains also the Option Rom from Elmar for the Realtek PXE Lan boot on the P8H77-M.
⇗ https://ufile.io/gfnu4jn2
⇗

#7955

diderius6

⇗ @infuscomus
First I make small joke, if the Asus ROG STRIX B450-F GAMING II with AMD 3700x cpu and Bios 4007 and 32 Gb Ram can boot
from ntldr, freeldr.sys and winload.exe. It can, nice board for XP!
It has also an COM1 port for debug. So, even debug before ntoskrln.exe is loaded is possible.
As far as I know, this is the only new board on the market, that supports XP Sp3 in all.
Now I set up on this board an Ramsey XP from 15 May 2021 on ntldr via
WinXP-IE Optional Patch Integrator v3.2.0.2b.cmd without any USB, only needed drivers (Customized Option; 4,E,I).
I use a 500 Gbyte harddisk for this. This harddisk I weep out with Winhex with 00 everywhere and then use RMPrebUSB
with nldr, ntfs and forced LBA.
After this I install your debug version of USB3 drivers from Win8, set up a Debug session and soon will report
Dietmar

#7956

diderius6

⇗ @infuscomus
The first strange thing that I notice is, that install of XP via Firadisk does not work from all USB ports.
Installation after this via Firadisk on working USB3 port goes on without problem,
even survives most critical 3. reboot from harddisk.
But then the OEM folder was not found, even it exists on USB.
So I copy the OEM folder by hand on the harddisk and repeat 3. reboot of install, from harddisk.
OEM folder now is found and installs
Dietmar
PS: Because no driver from XP is used for this install, there may be a real problem with an USB port, may be via Bios.
EDIT: Hard job to do install without any mouse. I look for my COM port mouse from 1997 ).
Yesssaa, Serial Mouse with Wheel works )..
Interesting, Mouse without LED light is much more comfortable.
⇗

#7957 | infuscomus | ⇗ @diderius6 I hope I didn't miss anything porting that checked USB driver.

#7958

diderius6

⇗ @infuscomus
First I copy to Windows\system32\drivers those Win8 Debug files
ksecd8.sys
ntoskrn8.sys
UCX01000.SYS
usbd8.sys
USBHUB3.SYS
USBXHCI.SYS
Wdf01000.sys
WdfLdr.sys
WppRecorder.sys
Then I start install for the uncritical USB3 device with DEV_43D5.
Install starts but then asks for WppRecor.sys .
To rename WppRecorder.sys =>WppRecor.sys
gives Bsod.
So, there happens a mix between those two files (8 characters convention)
Dietmar

#7959 | infuscomus | ⇗ @diderius6 copy all the files in the MOD folder to /drivers use my .inf files mine go to wpprecorder.sys

#7960

diderius6

⇗ @infuscomus
in the xhci.inf is a typo:
Down there is written wpprecor.sys.
This I change there to wpprecorder.sys. Now compi installs everything for xhci.
But in the end it gives Bsod
Dietmar

#7961 | infuscomus | ⇗ @diderius6 please screenshot BSOD? maybe security_cookie needs to be changed? I thought with extender we don't need to do that but maybe we do? edit: did you download the updated version win8_USB3_checked_2.7z.zip?
#7962 | diderius6 | ⇗ @infuscomus BSOD is shown for a 1/100 sec, I make video and from this screenshot Dietmar ⇗
#7963 | infuscomus | ⇗ @diderius6 If I recall correctly, a 7F BSOD is related to the security_cookie thing. I'll try editing the cookie tomorrow. or you can try it yourself if you feel you can do it.
#7964 | diderius6 | ⇗ @infuscomus I have no idea, how to do this^^ Dietmar

#7965

infuscomus

⇗ @diderius6
with PDB symbols and a disassembler I do a search for security_cookie in the file.
like in usbhub3.sys it's at 0x0029000 with a value of 0xBB40E64E
It should be 0xBB40E64E in every .sys file
in a hex editor
4E E6 40 BB B1 19 BF 44 0C 92 03 00 14 92 03 00
I'd change it to
DE AD BE EF B1 19 BF 44 0C 92 03 00 14 92 03 00

## Page 532

#7966 | diderius6 | ⇗ @infuscomus I make a try with the updated USB3 driver from ⇗ @daniel_k . The uncritical USB3 device with DEV_43D5 installs at once, but the USB3 device with DEV_ 149C hangs as usual, here during the install of USBXHCI.sys Dietmar

#7967

George King

⇗ @infuscomus From my tests, without changing security cookie you encounter BSOD after reboot or during INF install[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7968

infuscomus

⇗ @George King
I think you are correct.
⇗ @diderius6
new version with security_cookie changed.
please try it.
infuscomus has attached files to this post

- ⇗ win8_USB3_checked_3.7z.zip

#7969

George King

⇗ @diderius6 What do you mean with updated Daniel_k's driver? I see still same file on MDL USBXHCI_UASP_XP_x86.7z uploaded 2020-07-25 17:26:32.
And I posted my files in same topic too, you can try them too. But yes they are not from debug Win8 release

    https://forums.mydigitallife.net/threads/drivers-and-tools-to-run-windows-xp-on-newer-hardware.81607/page-10#post-1693276

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#7970

Strani

I have a virtual machine on vmWare Workstation with Windows XP SP3 with all the latest updates. Applied the latest version WinXPPAE. Additionally replaced usbport.sys. After a reboot, the virtual machine is loaded if there is no more than three with small GB of memory. If I increase memory to 3.5 GB, there is a blue screen with an error of UNMOUNTABLE_BOOT_VOLUME (STOP 0x000000ED). If I increase memory to 6 GB, there is a blue screen with STOP 0x0000007B error. HAL - ACPI Uniprocessor HAL.
Links posted on My Digital Life forum under the theme "Drivers and tools to run Windows XP on newer hardware".

#7971

diderius6

⇗ @infuscomus
Now your driver works:)).
You just forget to change the typo in xhci.inf down for wpprecor.sys ;).
Here are first results: The uncritical USB3 with DEV_43D5 I can install at once
on the Asus ROG STRIX B450-F GAMING II board.
When I install the critical USB3 with DEV_ 149C it hangs at the end of xhci install, shown install of wpprecorder.sys.
I have to reboot compi. I try to install the critical USB3 (now yellow questionmark) again.
This time it works. At this moment ALL USB connectors on the Asus board works normal, I test them.
Ok, after next reboot compi hangs early in boot process.
By the way I notice, that the Serial Mouse does not work(!) in Safe Mode.
Even in Save Mode the critical USB3 does not work and I cant install this USB in Safe Mode(?!).
Then I disable all USB and restart.
In first reboot I can only install the uncritical USB.
And again after reboot I can install the critical USB3 and all USB works.
So, this behavior is reproducible, because on next reboot compi hangs early in boot process,
even in Safe Mode.
Now I set up a new Ramsey XP with same settings, now with Serial Mouse from beginning.
I do this, because only then I can keep all situations in registry what happens between the Install of the critical USB.
After this I set up a Windbg session (with Debug ntoskrnl and hal) and hope that compi hangs after ntoskrnl is loaded
Dietmar
PS: The USB slot, from where I cant install XP via Firadisk belongs to the critical USB device with DEV_ 149C.
So this problem may be Bios related.
EDIT: In Safe Mode the critical USB does not always hang, about 50/50. When it does not hang here,
all USB work.
In normal Mode, XP hangs always, very early in boot process with this "working" critical USB.

#7972 | infuscomus | ⇗ @diderius6 does it hang before debugging is possible?
#7973 | infuscomus | ⇗ @Strani Very strange, never seen behavior like that before. maybe you corrupted your VM somehow?

#7974

Strani

> Zitat von ⇗ infuscomus im Beitrag ¶ #7973

> @Strani
> Very strange, never seen behavior like that before. maybe you corrupted your VM somehow?

No, it's ruled out. I use the snapshots so that at any moment it is possible to restore the earlier state of the system. Without the patch, the virtual machine even works with 8 GB (seeing only 3 GB of them).

#7975 | infuscomus | ⇗ @Strani Strange. I use VMWare Player 16 and I can use WinXPPAE in an XP VM without any problems. So I'm not sure why it's not working for you.

#7976

Strani

> Zitat von ⇗ infuscomus im Beitrag ¶ #7975

> @Strani
> Strange.
> I use VMWare Player 16 and I can use WinXPPAE in an XP VM without any problems.

I have a hard drive connected to the VMware PVSCSI Controller.
Do you have a hard drive connected to where?

#7977 | infuscomus | ⇗ @Strani I use a virtual SATA vmdk with AHCI driver for srv2003 ⇗ https://sourceforge.net/projects/storahci-for-windows-2003/

#7978

Strani

> Zitat von ⇗ infuscomus im Beitrag ¶ #7977

> @Strani
> I use a virtual SATA vmdk with AHCI driver for srv2003

I figured out what the problem was. After applying WinXPPAE and increasing memory to 3.5 GB or higher, the VMware PVSCSI Controller driver stops working correctly.
If I change to "VMware VMSCSI Controller" or "LSI Adapter, Ultra320 SCSI 2000 Series, w/1020/1030," the virtual machine will work normally.

#7979 | infuscomus | ⇗ @Strani I'm happy to hear it's now working for you!

#7980

diderius6

⇗ @infuscomus
XP hangs after ntoskrnl is loaded.
This are good news.
Windbg is running in this moment.
The problem is to find the exact point, where the hang happens,
because no BSOD and so Windbg suddently stops working without any output (cant type anything at console, no break possible)
Dietmar

## Page 533

#7981

diderius6

⇗ @infuscomus
Crazy, now XP boots to full desktop with Debugger connected
Dietmar
DevNode 0x8acac6f8 for PDO 0x8acace50
InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
ServiceName is "USBXHCI"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8a9f7d40 for PDO 0x8aa8de00
InstancePath is "USB\ROOT_HUB30\5&399a3586&1&0"
ServiceName is "USBHUB3"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
EDIT: Ok, now XP hangs again and Debugger does not react to anything:))..
And again XP starts normal, after I set a breakpoint very short before hanging happens, brrr;))..
Now XP hangs again.
This I caught milliseconds before hang happens:
DevNode 0x8ac3fed8 for PDO 0x8abff6a0
InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
ServiceName is "USBXHCI"
State = DeviceNodeDriversAdded (0x303)
Previous State = DeviceNodeInitialized (0x302)
Dont know, if this means anything

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Fri Oct 22 17:09:13.828 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
    Built by: 2600.xpsp.080413-2133
    Machine Name:
    Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
    System Uptime: not available
    MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
    MM: Loader/HAL memory block indicates large pages cannot be used for 818A6000->82D8AFFF
    MM: Disabling large pages for all ranges due to overlap
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    nt!RtlpBreakWithStatusInstruction:
    80ac37ec cc              int     3

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    And this is msec later, but this leads to successful boot of XP:

    DevNode 0x8abca8e0 for PDO 0x8abca038
                InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
                ServiceName is "USBXHCI"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0x8ab4a9d0 for PDO 0x8aa7d540
                  InstancePath is "USB\ROOT_HUB30\5&399a3586&1&0"
                  ServiceName is "USBHUB3"
                  State = DeviceNodeResourcesAssigned (0x304)
                  Previous State = DeviceNodeDriversAdded (0x303)

#7982 | infuscomus | ⇗ @diderius6 maybe a trace through usbxhci.sys while it is being loaded will shed some light on why it hangs?

#7983

diderius6

⇗ @infuscomus
I dont know, if this is possible with Kernel Debug.
I think I find the place, at which the hang happens
Dietmar

    80ae3e09 fb              sti
    15: kd> p
    nt!KiIdleLoop+0x3a:
    80ae3e0a 90              nop
    15: kd> p
    nt!KiIdleLoop+0x3b:
    80ae3e0b 90              nop
    15: kd> g
    Break instruction exception - code 80000003 (first chance)
    nt!Kei386EoiHelper+0x45:
    80adf811 5a              pop     edx
    13: kd> g
    Break instruction exception - code 80000003 (first chance)
    nt!Kei386EoiHelper+0x45:
    80adf811 5a              pop     edx
    12: kd> g
    Break instruction exception - code 80000003 (first chance)
    processr!AcpiC1Idle+0x19:
    ba209d45 59              pop     ecx
    11: kd> g
    Break instruction exception - code 80000003 (first chance)
    nt!Kei386EoiHelper+0x45:
    80adf811 5a              pop     edx
    10: kd> g
    Break instruction exception - code 80000003 (first chance)
    nt!Kei386EoiHelper+0x45:
    80adf811 5a              pop     edx

And soon Windbg crashs.

#7984 | infuscomus | ⇗ @diderius6 in processr.sys? odd I would have thought either usbxhci.sys or usbhub3.sys would be the cause of the system hanging.

#7985

diderius6

⇗ @infuscomus
Yepp, at a successfull boot of XP,
XP does not stop at bp ba209d45,
this means, that this Address ba209d45 is never reached when all is ok,
but is reached, when the critical USB hangs
Dietmar

#7986

diderius6

⇗ @infuscomus
This is whole protocol from hanging XP

    Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
    Copyright (c) Microsoft Corporation. All rights reserved.

    Opened \\.\com1
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Fri Oct 22 18:27:38.531 2021 (UTC + 2:00)), ptr64 FALSE
    Kernel Debugger connection established.
    Symbol search path is: C:\symbols
    Executable search path is: C:\Symbols
    Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
    Built by: 2600.xpsp.080413-2133
    Machine Name:
    Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
    System Uptime: not available
    MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
    MM: Loader/HAL memory block indicates large pages cannot be used for 818A6000->82D8AFFF
    MM: Disabling large pages for all ranges due to overlap
    Break instruction exception - code 80000003 (first chance)
    *******************************************************************************
    *                                                                             *
    *   You are seeing this message because you pressed either                    *
    *       CTRL+C (if you run kd.exe) or,                                        *
    *       CTRL+BREAK (if you run WinDBG),                                       *
    *   on your debugger machine's keyboard.                                      *
    *                                                                             *
    *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
    *                                                                             *
    * If you did not intend to break into the debugger, press the "g" key, then   *
    * press the "Enter" key now.  This message might immediately reappear.  If it *
    * does, press "g" and "Enter" again.                                          *
    *                                                                             *
    *******************************************************************************
    nt!RtlpBreakWithStatusInstruction:
    80ac37ec cc              int     3
    kd> bp ba209d45
    kd> g
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 163

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    EX: Pageable code called at IRQL 2

    *** Assertion failed: FALSE
    ***   Source File: d:\xpsp\base\ntos\ex\rundown.c, line 274

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    KD: write to 0xba209d45 ok

#7987

infuscomus

⇗ @diderius6
would you say that it unlikely that we will discover the cause of why this 149C controller does not behave correctly?
For whatever reason the 149C controller is not ready at boot.
My 149C controller has a slightly different problem to yours, no crash, but any USB device connected has ID USB\VID_0000&PID_0000
edit: until disable and re-enable in device manager, then it works fine.

#7988

diderius6

⇗ @infuscomus
I am quite sure, that this is the place, where the hanging happens,
because a successful boot to full desktop of XP gives this KD: write to 0xba209d45 ok
and direct after this the last 3 USB files are loaded
Dietmar

    0: kd> g
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for WppRecorder.sys -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for WDFLDR.SYS -
    *** ERROR: Module load completed but symbols could not be loaded for USBXHCI.SYS
    *** ERROR: Module load completed but symbols could not be loaded for wdf01000.sys
    *** ERROR: Module load completed but symbols could not be loaded for ucx01000.sys
    *** ERROR: Module load completed but symbols could not be loaded for audstub.sys
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ndistapi.sys -
    *** ERROR: Module load completed but symbols could not be loaded for ndiswan.sys
    *** ERROR: Module load completed but symbols could not be loaded for raspppoe.sys
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for psched.sys -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ptilink.sys -
    *** ERROR: Module load completed but symbols could not be loaded for raspti.sys
    *** ERROR: Module load completed but symbols could not be loaded for rdpdr.sys
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for termdd.sys -
    KD: write to 0xba209d45 ok
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ksecd8.sys -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for USBD8.SYS -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for UsbHub3.sys -

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    *** ERROR: Module load completed but symbols could not be loaded for Fdc.SYS
    *** ERROR: Module load completed but symbols could not be loaded for cdrom.sys
    *** ERROR: Module load completed but symbols could not be loaded for Cdaudio.SYS
    *** ERROR: Module load completed but symbols could not be loaded for Fs_Rec.SYS
    *** ERROR: Module load completed but symbols could not be loaded for Null.SYS
    *** ERROR: Module load completed but symbols could not be loaded for Beep.SYS

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
    i
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for VIDEOPRT.SYS -
    *** ERROR: Module load completed but symbols could not be loaded for RDPCDD.sys
    *** ERROR: Module load completed but symbols could not be loaded for mouhid.sys
    *** ERROR: Module load completed but symbols could not be loaded for rasacd.sys
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for rdbss.sys -
    *** ERROR: Module load completed but symbols could not be loaded for DumpDrv.SYS
    *** ERROR: Module load completed but symbols could not be loaded for autochk.exe
    *** ERROR: Module load completed but symbols could not be loaded for sfcfiles.dll
    *** ERROR: Module load comp

#7989

infuscomus

⇗ @diderius6
regarding this

> Zitat von ⇗ diderius6 im Beitrag ¶ #7988

>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for WppRecorder.sys -
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for WDFLDR.SYS -
>     *** ERROR: Module load completed but symbols could not be loaded for USBXHCI.SYS
>     *** ERROR: Module load completed but symbols could not be loaded for wdf01000.sys
>     *** ERROR: Module load completed but symbols could not be loaded for ucx01000.sys

etc...
did the PDB symbols I included for the USB3 drivers in the zip file not work for you?

#7990

diderius6

⇗ @infuscomus
No, that simply means, that just now my compi for daily use crash, first time in more than 3 years.
It is a x58 board from 2009
Dietmar
PS: Just now I write from other compi, but until next hours (?) no Windbg..
EDIT: These lines are also interesting, may be, that the hanging happens here
*** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
*** Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

#7991 | infuscomus | ⇗ @diderius6 Fortunately we have access to source code so we can make changes to that line of code if we need to.
#7992 | diderius6 | ⇗ @infuscomus processr!AcpiC1Idle+0x19: can this been acpi related to the sleeping state C1 Dietmar
#7993 | infuscomus | ⇗ @diderius6 I suppose it's possible, I can't say for certain.

#7994

Strani

> Zitat von ⇗ diderius6 im Beitrag ¶ #7192

> @daniel_k
> I changed
> usbport.sys
> usbstor.sys
> usbd.sys
> against their version from win2003

After applying patch WinXpPAE on Windows XP SP3 I need to replace the built-in driver USB2, correct? How to do this correctly:
1. Take usbport.sys from Windows Server 2003 KB2862330?
2. Take usbport.sys and usbd.sys files from Windows Server 2003 KB2862330?
3. Take usbport.sys from your message?
4. Take usbport.sys and usbd.sys files from your message?
Sorry for my bad english!

#7995

diderius6

⇗ @infuscomus
On 21 August this year 2021 I make a copy of my Windows\System32\config folder from an external XP.
Just this safes now my life.
I think, the problem is the harddisk, WD 2 TB from 2017.
Even there are 20 Gb free on it, when I try to run chkdisk, only phase 1 completes
and from phase 2 I do not see one little green mark, I think because millions of small files on it
Dietmar
PS: But fun with Windbg can go on now.

## Page 534

#7996

diderius6

⇗ @infuscomus
XP hangs because of critical USB
Dietmar

>     Connected to Windows XP 2600 x86 compatible target at (Fri Oct 22 23:18:49.583 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
>     Product: WinNt, suite: TerminalServer SingleUserTS
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     Debug session time: Sat Oct 23 06:20:19.937 2021 (UTC + 2:00)
>     System Uptime: 0 days 0:00:07.453
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************

>     DevNode 0x8ac84300 for PDO 0x8ad41178
>                 InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
>                 ServiceName is "USBXHCI"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                 DevNode 0x8a8fded8 for PDO 0x8ad454b8
>                   InstancePath is "USB\ROOT_HUB30\5&399a3586&1&0"
>                   ServiceName is "USBHUB3"
>                                             State = DeviceNodeStartPostWork (0x307)
>                   Previous State = DeviceNodeStartCompletion (0x306)

>     13: kd> p
>     nt!IoFreeWorkItem+0x2d:
>     80a250cb 5e              pop     esi
>     13: kd> p
>     nt!IoFreeWorkItem+0x2e:
>     80a250cc 5d              pop     ebp
>     13: kd> p
>     nt!IoFreeWorkItem+0x2f:
>     80a250cd c20400          ret     4
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x219:
>     b8981643 33c0            xor     eax,eax
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x21b:
>     b8981645 50              push    eax
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x21c:
>     b8981646 50              push    eax
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x21d:
>     b8981647 8d4310          lea     eax,[ebx+10h]
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x220:
>     b898164a 50              push    eax
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x221:
>     b898164b ff15b8b19ab8    call    dword ptr [USBXHCI!_imp__KeSetEvent (b89ab1b8)]
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x227:
>     b8981651 5f              pop     edi
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x228:
>     b8981652 5e              pop     esi
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x229:
>     b8981653 5b              pop     ebx
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x22a:
>     b8981654 8be5            mov     esp,ebp
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x22c:
>     b8981656 5d              pop     ebp
>     13: kd> p
>     USBXHCI!CommonBuffer_WorkItem+0x22d:
>     b8981657 c20c00          ret     0Ch
>     13: kd> p
>     ntoskrn8+0x672:
>     b9e67672 eb07            jmp     ntoskrn8+0x67b (b9e6767b)
>     13: kd> p
>     ntoskrn8+0x67b:
>     b9e6767b 8bce            mov     ecx,esi
>     13: kd> p
>     ntoskrn8+0x67d:
>     b9e6767d ff1528efe6b9    call    dword ptr [ntoskrn8+0x7f28 (b9e6ef28)]
>     13: kd> p
>     ntoskrn8+0x683:
>     b9e67683 5e              pop     esi
>     13: kd> p
>     ntoskrn8+0x684:
>     b9e67684 5d              pop     ebp
>     13: kd> p
>     ntoskrn8+0x685:
>     b9e67685 c20400          ret     4
>     13: kd> p
>     nt!ExpWorkerThread+0x10f:
>     80ad51a9 83bfd400000000  cmp     dword ptr [edi+0D4h],0
>     13: kd> p
>     nt!ExpWorkerThread+0x116:
>     80ad51b0 7431            je      nt!ExpWorkerThread+0x149 (80ad51e3)
>     13: kd> p
>     nt!ExpWorkerThread+0x149:
>     80ad51e3 ff150c31a080    call    dword ptr [nt!_imp__KeGetCurrentIrql (80a0310c)]
>     13: kd> p
>     nt!ExpWorkerThread+0x14f:
>     80ad51e9 84c0            test    al,al
>     13: kd> p
>     nt!ExpWorkerThread+0x151:
>     80ad51eb 757d            jne     nt!ExpWorkerThread+0x1d0 (80ad526a)
>     13: kd> p
>     nt!ExpWorkerThread+0x153:
>     80ad51ed f6874802000008  test    byte ptr [edi+248h],8
>     13: kd> p
>     nt!ExpWorkerThread+0x15a:
>     80ad51f4 7484            je      nt!ExpWorkerThread+0xe0 (80ad517a)
>     13: kd> p
>     nt!ExpWorkerThread+0xe0:
>     80ad517a ff75f8          push    dword ptr [ebp-8]
>     13: kd> p
>     nt!ExpWorkerThread+0xe3:
>     80ad517d ff75f4          push    dword ptr [ebp-0Ch]
>     13: kd> p
>     nt!ExpWorkerThread+0xe6:
>     80ad5180 56              push    esi
>     13: kd> p
>     nt!ExpWorkerThread+0xe7:
>     80ad5181 e83013f6ff      call    nt!KeRemoveQueue (80a364b6)
>     13: kd> p
>     nt!ExpWorkerThread+0xec:
>     80ad5186 8bd8            mov     ebx,eax
>     7: kd> p
>     nt!ExpWorkerThread+0xee:
>     80ad5188 81fb02010000    cmp     ebx,102h
>     7: kd> p
>     nt!ExpWorkerThread+0xf4:
>     80ad518e 7479            je      nt!ExpWorkerThread+0x16f (80ad5209)
>     7: kd> p
>     nt!ExpWorkerThread+0xf6:
>     80ad5190 33c9            xor     ecx,ecx
>     7: kd> p
>     nt!ExpWorkerThread+0xf8:
>     80ad5192 8d462c          lea     eax,[esi+2Ch]
>     7: kd> p
>     nt!ExpWorkerThread+0xfb:
>     80ad5195 41              inc     ecx
>     7: kd> p
>     nt!ExpWorkerThread+0xfc:
>     80ad5196 f00fc108        lock xadd dword ptr [eax],ecx
>     7: kd> p
>     nt!ExpWorkerThread+0x100:
>     80ad519a 8b4b0c          mov     ecx,dword ptr [ebx+0Ch]
>     7: kd> p
>     nt!ExpWorkerThread+0x103:
>     80ad519d 8b4308          mov     eax,dword ptr [ebx+8]
>     7: kd> p
>     nt!ExpWorkerThread+0x106:
>     80ad51a0 51              push    ecx
>     7: kd> p
>     nt!ExpWorkerThread+0x107:
>     80ad51a1 8945fc          mov     dword ptr [ebp-4],eax
>     7: kd> p
>     nt!ExpWorkerThread+0x10a:
>     80ad51a4 894d08          mov     dword ptr [ebp+8],ecx
>     7: kd> p
>     nt!ExpWorkerThread+0x10d:
>     80ad51a7 ffd0            call    eax
>     7: kd> p
>     nt!ExpWorkerThread+0x10f:
>     80ad51a9 83bfd400000000  cmp     dword ptr [edi+0D4h],0
>     7: kd> p
>     nt!ExpWorkerThread+0x116:
>     80ad51b0 7431            je      nt!ExpWorkerThread+0x149 (80ad51e3)
>     7: kd> p
>     nt!ExpWorkerThread+0x149:
>     80ad51e3 ff150c31a080    call    dword ptr [nt!_imp__KeGetCurrentIrql (80a0310c)]
>     7: kd> p
>     nt!ExpWorkerThread+0x14f:
>     80ad51e9 84c0            test    al,al
>     7: kd> p
>     nt!ExpWorkerThread+0x151:
>     80ad51eb 757d            jne     nt!ExpWorkerThread+0x1d0 (80ad526a)
>     7: kd> p
>     nt!ExpWorkerThread+0x153:
>     80ad51ed f6874802000008  test    byte ptr [edi+248h],8
>     7: kd> p
>     nt!ExpWorkerThread+0x15a:
>     80ad51f4 7484            je      nt!ExpWorkerThread+0xe0 (80ad517a)
>     7: kd> p
>     nt!ExpWorkerThread+0xe0:
>     80ad517a ff75f8          push    dword ptr [ebp-8]
>     7: kd> p
>     nt!ExpWorkerThread+0xe3:
>     80ad517d ff75f4          push    dword ptr [ebp-0Ch]
>     7: kd> p
>     nt!ExpWorkerThread+0xe6:
>     80ad5180 56              push    esi
>     7: kd> p
>     nt!ExpWorkerThread+0xe7:
>     80ad5181 e83013f6ff      call    nt!KeRemoveQueue (80a364b6)
>     7: kd> p
>     nt!ExpWorkerThread+0xec:
>     80ad5186 8bd8            mov     ebx,eax
>     10: kd>
>     nt!ExpWorkerThread+0xee:
>     80ad5188 81fb02010000    cmp     ebx,102h
>     10: kd> p
>     nt!ExpWorkerThread+0xf4:
>     80ad518e 7479            je      nt!ExpWorkerThread+0x16f (80ad5209)
>     10: kd> p
>     nt!ExpWorkerThread+0xf6:
>     80ad5190 33c9            xor     ecx,ecx
>     10: kd> p
>     nt!ExpWorkerThread+0xf8:
>     80ad5192 8d462c          lea     eax,[esi+2Ch]
>     10: kd> p
>     nt!ExpWorkerThread+0xfb:
>     80ad5195 41              inc     ecx
>     10: kd> p
>     nt!ExpWorkerThread+0xfc:
>     80ad5196 f00fc108        lock xadd dword ptr [eax],ecx
>     10: kd> p
>     nt!ExpWorkerThread+0x100:
>     80ad519a 8b4b0c          mov     ecx,dword ptr [ebx+0Ch]
>     10: kd> p
>     nt!ExpWorkerThread+0x103:
>     80ad519d 8b4308          mov     eax,dword ptr [ebx+8]
>     10: kd> p
>     nt!ExpWorkerThread+0x106:
>     80ad51a0 51              push    ecx
>     10: kd> p
>     nt!ExpWorkerThread+0x107:
>     80ad51a1 8945fc          mov     dword ptr [ebp-4],eax
>     10: kd> p
>     nt!ExpWorkerThread+0x10a:
>     80ad51a4 894d08          mov     dword ptr [ebp+8],ecx
>     10: kd> p
>     nt!ExpWorkerThread+0x10d:
>     80ad51a7 ffd0            call    eax
>     10: kd> p
>     nt!ExpWorkerThread+0x10f:
>     80ad51a9 83bfd400000000  cmp     dword ptr [edi+0D4h],0
>     10: kd>
>     nt!ExpWorkerThread+0x116:
>     80ad51b0 7431            je      nt!ExpWorkerThread+0x149 (80ad51e3)
>     10: kd> p
>     nt!ExpWorkerThread+0x149:
>     80ad51e3 ff150c31a080    call    dword ptr [nt!_imp__KeGetCurrentIrql (80a0310c)]
>     10: kd> p
>     nt!ExpWorkerThread+0x14f:
>     80ad51e9 84c0            test    al,al
>     10: kd> p
>     nt!ExpWorkerThread+0x151:
>     80ad51eb 757d            jne     nt!ExpWorkerThread+0x1d0 (80ad526a)
>     10: kd> p
>     nt!ExpWorkerThread+0x153:
>     80ad51ed f6874802000008  test    byte ptr [edi+248h],8
>     10: kd> p
>     nt!ExpWorkerThread+0x15a:
>     80ad51f4 7484            je      nt!ExpWorkerThread+0xe0 (80ad517a)
>     10: kd> p
>     nt!ExpWorkerThread+0xe0:
>     80ad517a ff75f8          push    dword ptr [ebp-8]
>     10: kd> p
>     nt!ExpWorkerThread+0xe3:
>     80ad517d ff75f4          push    dword ptr [ebp-0Ch]
>     10: kd> p
>     nt!ExpWorkerThread+0xe6:
>     80ad5180 56              push    esi
>     10: kd> p
>     nt!ExpWorkerThread+0xe7:
>     80ad5181 e83013f6ff      call    nt!KeRemoveQueue (80a364b6)
>     10: kd> p
>     nt!ExpWorkerThread+0xec:
>     80ad5186 8bd8            mov     ebx,eax
>     9: kd> p
>     nt!ExpWorkerThread+0xee:
>     80ad5188 81fb02010000    cmp     ebx,102h
>     9: kd> p
>     nt!ExpWorkerThread+0xf4:
>     80ad518e 7479            je      nt!ExpWorkerThread+0x16f (80ad5209)
>     9: kd> p

>     *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
>     ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

>     nt!ExpWorkerThread+0xf6:
>     80ad5190 33c9            xor     ecx,ecx
>     9: kd> p
>     Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? p
>     p
>     nt!ExpWorkerThread+0xf8:
>     80ad5192 8d462c          lea     eax,[esi+2Ch]
>     9: kd> p
>     nt!ExpWorkerThread+0xfb:
>     80ad5195 41              inc     ecx
>     9: kd> p
>     nt!ExpWorkerThread+0xfc:
>     80ad5196 f00fc108        lock xadd dword ptr [eax],ecx
>     9: kd> p
>     nt!ExpWorkerThread+0x100:
>     80ad519a 8b4b0c          mov     ecx,dword ptr [ebx+0Ch]
>     9: kd> p
>     nt!ExpWorkerThread+0x103:
>     80ad519d 8b4308          mov     eax,dword ptr [ebx+8]
>     9: kd> p
>     nt!ExpWorkerThread+0x106:
>     80ad51a0 51              push    ecx
>     9: kd> p
>     nt!ExpWorkerThread+0x107:
>     80ad51a1 8945fc          mov     dword ptr [ebp-4],eax
>     9: kd> p
>     nt!ExpWorkerThread+0x10a:
>     80ad51a4 894d08          mov     dword ptr [ebp+8],ecx
>     9: kd> p
>     nt!ExpWorkerThread+0x10d:
>     80ad51a7 ffd0            call    eax
>     9: kd> p
>     nt!ExpWorkerThread+0x10f:
>     80ad51a9 83bfd400000000  cmp     dword ptr [edi+0D4h],0
>     9: kd> p
>     nt!ExpWorkerThread+0x116:
>     80ad51b0 7431            je      nt!ExpWorkerThread+0x149 (80ad51e3)
>     9: kd> p
>     nt!ExpWorkerThread+0x149:
>     80ad51e3 ff150c31a080    call    dword ptr [nt!_imp__KeGetCurrentIrql (80a0310c)]
>     9: kd> p
>     nt!ExpWorkerThread+0x14f:
>     80ad51e9 84c0            test    al,al
>     9: kd> p
>     nt!ExpWorkerThread+0x151:
>     80ad51eb 757d            jne     nt!ExpWorkerThread+0x1d0 (80ad526a)
>     9: kd> p
>     nt!ExpWorkerThread+0x153:
>     80ad51ed f6874802000008  test    byte ptr [edi+248h],8
>     9: kd> p
>     nt!ExpWorkerThread+0x15a:
>     80ad51f4 7484            je      nt!ExpWorkerThread+0xe0 (80ad517a)
>     9: kd> p
>     nt!ExpWorkerThread+0xe0:
>     80ad517a ff75f8          push    dword ptr [ebp-8]
>     9: kd> p
>     nt!ExpWorkerThread+0xe3:
>     80ad517d ff75f4          push    dword ptr [ebp-0Ch]
>     9: kd> p
>     nt!ExpWorkerThread+0xe6:
>     80ad5180 56              push    esi
>     9: kd> p
>     nt!ExpWorkerThread+0xe7:
>     80ad5181 e83013f6ff      call    nt!KeRemoveQueue (80a364b6)
>     9: kd> p

>     *** Fatal System Error: 0x000000e9
>                                                  (0x8AD270C0,0x00000000,0x00000000,0x00000000)

>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 23 00:04:20.143 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .............................................................
>     Loading User Symbols

>     Loading unloaded module list
>     .
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrn8.sys -
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for amd_sata.sys -
>     *** ERROR: Module load completed but symbols could not be loaded for ftdisk.sys
>     *** ERROR: Module load completed but symbols could not be loaded for amd_xata.sys
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ptilink.sys -
>     *** ERROR: Module load completed but symbols could not be loaded for raspti.sys
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for BOOTVID.dll -
>     *** ERROR: Module load completed but symbols could not be loaded for ACPIEC.sys
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for kdcom.dll -
>     *** ERROR: Module load completed but symbols could not be loaded for WMILIB.SYS
>     Unable to read KiBugCheckData
>     Unable to read KiBugCheckData
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 0, {0, 0, 0, 0}

>     Unable to read KiBugCheckData

>     Failure could not be analyzed

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************
>     Bugcheck code 000000E9
>     Arguments 8ad270c0 00000000 00000000 00000000

>     ChildEBP RetAddr  Args to Child
>     ba55742c 80a30d7b 00000003 ba557788 00000000 nt!RtlpBreakWithStatusInstruction
>     ba557478 80a319e6 00000003 8ad29290 8ad270c0 nt!KiBugCheckDebugBreak+0x19
>     ba557858 80a31f77 000000e9 8ad270c0 00000000 nt!KeBugCheck2+0x574
>     ba557878 80bdc60b 000000e9 8ad270c0 00000000 nt!KeBugCheckEx+0x1b
>     ba557928 80bdc910 c0000001 8ad29290 00000000 nt!PspExitThread+0x813
>     ba55794c 80bdcbd0 8ad270c0 c0000001 ba557988 nt!PspTerminateThreadByPointer+0x88
>     ba557978 80adedd8 00000000 c0000001 00000030 nt!NtTerminateProcess+0x158
>     ba557978 80a3c91d 00000000 c0000001 00000030 nt!KiFastCallEntry+0x158
>     ba557a04 80ac5485 ffffffff c0000001 00000001 nt!ZwTerminateProcess+0x11
>     ba557cfc 80ac54e4 80a2506e 80a2504a 000003c5 nt!RtlAssert2+0xe7
>     ba557d18 80a250c3 80a2506e 80a2504a 000003c5 nt!RtlAssert+0x18
>     ba557d34 b8981643 8aa2a978 8ad270c0 8aa8e4f8 nt!IoFreeWorkItem+0x25
>     ba557d68 b9e67672 8aa8e4f8 8aa11868 8aa2a978 USBXHCI!CommonBuffer_WorkItem+0x219
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     ba557d80 80ad51a9 8aa2a978 00000000 8ad270c0 ntoskrn8!IoGetDevicePropertyData+0x48
>     ba557dac 80bd81ac 8aa2a978 00000000 00000000 nt!ExpWorkerThread+0x10f
>     ba557ddc 80ae4212 80ad509a 00000000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     13: kd>
>     ChildEBP RetAddr  Args to Child
>     ba55742c 80a30d7b 00000003 ba557788 00000000 nt!RtlpBreakWithStatusInstruction
>     ba557478 80a319e6 00000003 8ad29290 8ad270c0 nt!KiBugCheckDebugBreak+0x19
>     ba557858 80a31f77 000000e9 8ad270c0 00000000 nt!KeBugCheck2+0x574
>     ba557878 80bdc60b 000000e9 8ad270c0 00000000 nt!KeBugCheckEx+0x1b
>     ba557928 80bdc910 c0000001 8ad29290 00000000 nt!PspExitThread+0x813
>     ba55794c 80bdcbd0 8ad270c0 c0000001 ba557988 nt!PspTerminateThreadByPointer+0x88
>     ba557978 80adedd8 00000000 c0000001 00000030 nt!NtTerminateProcess+0x158
>     ba557978 80a3c91d 00000000 c0000001 00000030 nt!KiFastCallEntry+0x158
>     ba557a04 80ac5485 ffffffff c0000001 00000001 nt!ZwTerminateProcess+0x11
>     ba557cfc 80ac54e4 80a2506e 80a2504a 000003c5 nt!RtlAssert2+0xe7
>     ba557d18 80a250c3 80a2506e 80a2504a 000003c5 nt!RtlAssert+0x18
>     ba557d34 b8981643 8aa2a978 8ad270c0 8aa8e4f8 nt!IoFreeWorkItem+0x25
>     ba557d68 b9e67672 8aa8e4f8 8aa11868 8aa2a978 USBXHCI!CommonBuffer_WorkItem+0x219
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     ba557d80 80ad51a9 8aa2a978 00000000 8ad270c0 ntoskrn8!IoGetDevicePropertyData+0x48
>     ba557dac 80bd81ac 8aa2a978 00000000 00000000 nt!ExpWorkerThread+0x10f
>     ba557ddc 80ae4212 80ad509a 00000000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
>     13: kd> lm
>     start    end        module name
>     80100000 80127780   HAL3       (pdb symbols)          c:\symbols\halmacpi.pdb\E84507EBCC884EC88312CED392E768A61\halmacpi.pdb
>     80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb
>     b865f000
>     b86c6000   ksecd8     (pdb symbols)          C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\ksecdd.pdb\7A79E8DB807B4AE2B8DE483364369CAE1\ksecdd.pdb
>     b86c6000
>     b8729000   UsbHub3    (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\usbhub3.pdb\FCC3C5A1B41E43F2BC5FCAF5C68E6CEF1\usbhub3.pdb
>     b8779000 b87d6f00   update     (pdb symbols)          c:\symbols\update.pdb\840B22B4D8124987BF5F6AB05B14102C1\update.pdb
>     b87d7000 b87f9700   ks         (pdb symbols)          c:\symbols\ks.pdb\B006640EDA8C40FD8951E31F54F77B642\ks.pdb
>     b87fa000 b8829c80   rdpdr      (pdb symbols)          c:\symbols\rdpdr.pdb\2B82EDCE1DF54F7AAE60CD3A5DD350851\rdpdr.pdb
>     b882a000 b883b280   psched     (pdb symbols)          c:\symbols\psched.pdb\9F3A1A98725A4CEF9067BB7CFFBDF5751\psched.pdb
>     b8864000 b887a680   ndiswan    (pdb symbols)          c:\symbols\ndiswan.pdb\A4934DF1DEAF464A90C88C559BC259C72\ndiswan.pdb
>     b887b000 b88a3000   HDAudBus   (pdb symbols)          c:\symbols\hdaudbus.pdb\A6AEE77DD7294755AA656D52792AEEFB1\hdaudbus.pdb
>     b88a3000
>     b88d4000   ucx01000   (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\ucx01000.pdb\B5DBF075046B4B60A8FCCB4E56AE51271\ucx01000.pdb
>     b88d4000
>     b897e000   wdf01000   (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\Wdf01000.pdb\4B21CEB3EDE541318DA92AA1A31DA6C01\Wdf01000.pdb
>     b897e000
>     b89c5000   USBXHCI    (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\usbxhci.pdb\2C65A36AB54E4E93815303711F6822FB1\usbxhci.pdb
>     b9ca1000 b9ca4c80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
>     b9cb9000 b9cbb900   ndistapi   (pdb symbols)          c:\symbols\ndistapi.pdb\98F0B15E72FD4123B200B770799B214B1\ndistapi.pdb
>     b9cc1000 b9cc3280   wmiacpi    (pdb symbols)          c:\symbols\wmiacpi.pdb\7E27F259317A4D7596E61F675272F8671\wmiacpi.pdb
>     b9d01000 b9d1ae80   Mup        (pdb symbols)          c:\symbols\mup.pdb\1C433960902E4E169BCDB83FDA9AA3D82\mup.pdb
>     b9d1b000 b9d47a80   NDIS       (pdb symbols)          c:\symbols\ndis.pdb\3DFF1E048DD2464D8D0B1BFEBAC7C8A12\ndis.pdb
>     b9d48000 b9dd4d00   Ntfs       (pdb symbols)          c:\symbols\ntfs.pdb\89F306F8DA21470E8DBC76F3BFED90C62\ntfs.pdb
>     b9dd5000
>     b9debb80   KSecDD     (pdb symbols)          C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\ksecdd.pdb\F1FFF3CA4D5C4A568D3FA1B71EB0F5FE1\ksecdd.pdb
>     b9dec000 b9dfdf00   sr         (pdb symbols)          c:\symbols\sr.pdb\9D5432B7234C4CD2A8F6275B9D9AF41F1\sr.pdb
>     b9dfe000 b9e1db00   fltMgr     (pdb symbols)          c:\symbols\fltMgr.pdb\30197425FFC04385B84C0354E5035D5C1\fltMgr.pdb
>     b9e1e000 b9e67000   storport   (pdb symbols)          c:\symbols\storport.pdb\AB4436C5F6B54079A136C8FA486F6D4E2\storport.pdb
>     b9e67000 b9e89680   ntoskrn8   (export symbols)       ntoskrn8.sys
>     b9e8a000 b9e9f000   amd_sata   (export symbols)       amd_sata.sys
>     b9e9f000 b9ec4700   dmio       (pdb symbols)          c:\symbols\dmio.pdb\7DD31474CC0941E9B2175DDBC956E4601\dmio.pdb
>     b9ec5000 b9ee3880   ftdisk     (no symbols)
>     b9ee4000 b9ef4a80   pci        (pdb symbols)          c:\symbols\pci.pdb\46927BAFB8E740B6B4BAC813675A82871\pci.pdb
>     b9ef5000 b9f24d80   ACPI       (pdb symbols)          c:\symbols\acpi.pdb\3E23085EEF9C4EB5AC40C386278F6D7E1\acpi.pdb
>     b9f25000
>     b9fa7000   WDF01_W8   (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\Wdf01000.pdb\20273A8183AD43C0B93F7EFEE76FA6AC2\Wdf01000.pdb
>     ba0a8000
>     ba0b6000   WDFLDR8    (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\wdfldr.pdb\2BA2A21947B449C294395DF16113E10F2\wdfldr.pdb
>     ba0b8000 ba0c1180   isapnp     (pdb symbols)          c:\symbols\isapnp.pdb\C88742CDDA0641E39B06BD20309F22991\isapnp.pdb
>     ba0c8000 ba0d2700   MountMgr   (pdb symbols)          c:\symbols\mountmgr.pdb\5D38A8CA29F64A48AB5F17646D153CEA1\mountmgr.pdb
>     ba0d8000 ba0e3000   PartMgr    (pdb symbols)          c:\symbols\partmgr.pdb\553D05ACC6B74F7A96205455C0FDC0612\partmgr.pdb
>     ba0e8000 ba0f4c80   VolSnap    (pdb symbols)          c:\symbols\volsnap.pdb\063AE2CDED15450491E240111E7E66511\volsnap.pdb
>     ba0f8000 ba103000   amd_xata   (no symbols)
>     ba108000 ba118000   disk       (pdb symbols)          c:\symbols\disk.pdb\3DA44D56F4CF49678E6E538BEA9F55311\disk.pdb
>     ba118000 ba124180   CLASSPNP   (pdb symbols)          c:\symbols\classpnp.pdb\79125526F95B483880DC8AC59206505E2\classpnp.pdb
>     ba178000
>     ba182000   WppRecorder   (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\wpprecorder.pdb\91005AD9C44F453EB3B06C8BBE01A5EA1\wpprecorder.pdb
>     ba188000
>     ba197000   WDFLDR     (private pdb symbols)  C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\wdfldr.pdb\F402F779A2FF45BFB2C05076C4D691591\wdfldr.pdb
>     ba198000 ba1a4d00   i8042prt   (pdb symbols)          c:\symbols\i8042prt.pdb\FA66C3D83C0546E0862C49B30DF6B8022\i8042prt.pdb
>     ba1a8000 ba1b0c00   processr   (pdb symbols)          c:\symbols\processr.pdb\1C3453BC6D454A0F84F9F53A5AA11C7F1\processr.pdb
>     ba1b8000 ba1c4880   rasl2tp    (pdb symbols)          c:\symbols\rasl2tp.pdb\FADB1E8D59EE44EF82E7E9D8324CE21B2\rasl2tp.pdb
>     ba1c8000 ba1d2200   raspppoe   (pdb symbols)          c:\symbols\raspppoe.pdb\7031C43F730146F69C07DA1F1D2B8D3C1\raspppoe.pdb
>     ba1d8000 ba1e3d00   raspptp    (pdb symbols)          c:\symbols\raspptp.pdb\D7C7E7BFE2924EA29A16BD98B0B46BCE2\raspptp.pdb
>     ba1e8000 ba1f0900   msgpc      (pdb symbols)          c:\symbols\msgpc.pdb\E80C52EE74E1497EBBC1E28C15CB28811\msgpc.pdb
>     ba1f8000 ba201f80   termdd     (pdb symbols)          c:\symbols\termdd.pdb\341B8AB6C73249269B2AFA3A108CCA5A1\termdd.pdb
>     ba208000 ba212000   NDProxy    (pdb symbols)          c:\symbols\ndproxy.pdb\D1A519BC9F3341D785DFC664C26A58671\ndproxy.pdb
>     ba218000 ba222000   USBD8      (pdb symbols)          c:\symbols\usbd.pdb\E73E119839284DAF97EAF2403A6DC4A21\usbd.pdb
>     ba3f8000 ba3fe000   kbdclass   (pdb symbols)          c:\symbols\kbdclass.pdb\227A15B4C380417181684895714317F31\kbdclass.pdb
>     ba400000 ba404a80   TDI        (pdb symbols)          c:\symbols\tdi.pdb\545742C029D24374BD687966638629EB1\tdi.pdb
>     ba408000 ba40c580   ptilink    (export symbols)       ptilink.sys
>     ba410000 ba414080   raspti     (no symbols)
>     ba418000 ba41da00   mouclass   (pdb symbols)          c:\symbols\mouclass.pdb\1BBF200238534BE489B4DC62262BE30C1\mouclass.pdb
>     ba4b8000 ba4bb000   BOOTVID    (export symbols)       BOOTVID.dll
>     ba4bc000 ba4bed80   ACPIEC     (no symbols)
>     ba5a8000 ba5a9b80   kdcom      (export symbols)       kdcom.dll
>     ba5aa000 ba5ab100   WMILIB     (no symbols)
>     ba5ac000 ba5ad700   dmload     (deferred)
>     ba5b2000 ba5b3100   swenum     (deferred)
>     ba670000 ba670d80   OPRGHDLR   (deferred)
>     ba7b3000 ba7b3c00   audstub    (deferred)

>     Unloaded modules:
>     ba328000 ba32f000   firadisk.sys
>     13: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     ACTIVE_EX_WORKER_THREAD_TERMINATION (e9)
>     An executive worker thread is being terminated without having gone through
>     the worker thread rundown code.  A stack trace should indicate the cause.
>     Arguments:
>     Arg1: 8ad270c0, The exiting ETHREAD.
>     Arg2: 00000000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0xE9

>     PROCESS_NAME:  System

>     ASSERT_DATA:  IoWorkItem->Size == sizeof( IO_WORKITEM )

>     ASSERT_FILE_LOCATION:  d:\xpsp\base\ntos\io\iomgr\misc.c at Line 965

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     ba55742c 80a30d7b 00000003 ba557788 00000000 nt!RtlpBreakWithStatusInstruction
>     ba557478 80a319e6 00000003 8ad29290 8ad270c0 nt!KiBugCheckDebugBreak+0x19
>     ba557858 80a31f77 000000e9 8ad270c0 00000000 nt!KeBugCheck2+0x574
>     ba557878 80bdc60b 000000e9 8ad270c0 00000000 nt!KeBugCheckEx+0x1b
>     ba557928 80bdc910 c0000001 8ad29290 00000000 nt!PspExitThread+0x813
>     ba55794c 80bdcbd0 8ad270c0 c0000001 ba557988 nt!PspTerminateThreadByPointer+0x88
>     ba557978 80adedd8 00000000 c0000001 00000030 nt!NtTerminateProcess+0x158
>     ba557978 80a3c91d 00000000 c0000001 00000030 nt!KiFastCallEntry+0x158
>     ba557a04 80ac5485 ffffffff c0000001 00000001 nt!ZwTerminateProcess+0x11
>     ba557cfc 80ac54e4 80a2506e 80a2504a 000003c5 nt!RtlAssert2+0xe7
>     ba557d18 80a250c3 80a2506e 80a2504a 000003c5 nt!RtlAssert+0x18
>     ba557d34 b8981643 8aa2a978 8ad270c0 8aa8e4f8 nt!IoFreeWorkItem+0x25
>     ba557d68 b9e67672 8aa8e4f8 8aa11868 8aa2a978 USBXHCI!CommonBuffer_WorkItem+0x219
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     ba557d80 80ad51a9 8aa2a978 00000000 8ad270c0 ntoskrn8!IoGetDevicePropertyData+0x48
>     ba557dac 80bd81ac 8aa2a978 00000000 00000000 nt!ExpWorkerThread+0x10f
>     ba557ddc 80ae4212 80ad509a 00000000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!IoFreeWorkItem+25
>     80a250c3 6a00            push    0

>     SYMBOL_STACK_INDEX:  b

>     SYMBOL_NAME:  nt!IoFreeWorkItem+25

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0xE9_nt!IoFreeWorkItem+25

>     BUCKET_ID:  0xE9_nt!IoFreeWorkItem+25

>     Followup: MachineOwner
>     ---------

#7997

diderius6

⇗ @infuscomus

    *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
    ***   Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

    USBXHCI!CommonBuffer_WorkItem+0x21a:
    b8981644 c050508d        rcl     byte ptr [eax+50h],8Dh
    12: kd> p
    Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? p
    p
    PS: Unhandled Kernel Mode Exception Pointers = 0xBA55B7C8
    Code c0000005 Addr B8981644 Info0 00000001 Info1 00000050 Info2 00000050 Info3 00860001

    *** Fatal System Error: 0x0000007e
                                                 (0xC0000005,0xB8981644,0xBA55BC7C,0xBA55B978)

    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.
But windbg continues until

    *** Fatal System Error: 0x000000e9
                                                 (0x8AD270C0,0x00000000,0x00000000,0x00000000)

    Shutdown occurred at (Sat Oct 23 01:08:20.453 2021 (UTC + 2:00))...unloading all symbol tables.
    Waiting to reconnect...

#7998

diderius6

    12: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    ACTIVE_EX_WORKER_THREAD_TERMINATION (e9)
    An executive worker thread is being terminated without having gone through
    the worker thread rundown code.  A stack trace should indicate the cause.
    Arguments:
    Arg1: 8ad26020, The exiting ETHREAD.
    Arg2: 00000000
    Arg3: 00000000
    Arg4: 00000000

    Debugging Details:
    ------------------

    DEFAULT_BUCKET_ID:  DRIVER_FAULT

    BUGCHECK_STR:  0xE9

    PROCESS_NAME:  System

    ASSERT_DATA:  IoWorkItem->Size == sizeof( IO_WORKITEM )

    ASSERT_FILE_LOCATION:  d:\xpsp\base\ntos\io\iomgr\misc.c at Line 965

    LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

    STACK_TEXT:
    ba55b42c 80a30d7b 00000003 ba55b788 00000000 nt!RtlpBreakWithStatusInstruction
    ba55b478 80a319e6 00000003 8ad29290 8ad26020 nt!KiBugCheckDebugBreak+0x19
    ba55b858 80a31f77 000000e9 8ad26020 00000000 nt!KeBugCheck2+0x574
    ba55b878 80bdc60b 000000e9 8ad26020 00000000 nt!KeBugCheckEx+0x1b
    ba55b928 80bdc910 c0000001 8ad29290 00000000 nt!PspExitThread+0x813
    ba55b94c 80bdcbd0 8ad26020 c0000001 ba55b988 nt!PspTerminateThreadByPointer+0x88
    ba55b978 80adedd8 00000000 c0000001 00000030 nt!NtTerminateProcess+0x158
    ba55b978 80a3c91d 00000000 c0000001 00000030 nt!KiFastCallEntry+0x158
    ba55ba04 80ac5485 ffffffff c0000001 00000000 nt!ZwTerminateProcess+0x11
    ba55bcfc 80ac54e4 80a2506e 80a2504a 000003c5 nt!RtlAssert2+0xe7
    ba55bd18 80a250c3 80a2506e 80a2504a 000003c5 nt!RtlAssert+0x18
    ba55bd34 b8981643 8a9bbcb8 8ad26020 8aacc038 nt!IoFreeWorkItem+0x25
    ba55bd68 b9e67672 8aacc038 8a9fa348 8a9bbcb8 USBXHCI!CommonBuffer_WorkItem+0x219
    WARNING: Stack unwind information not available. Following frames may be wrong.
    ba55bd80 80ad51a9 8a9bbcb8 00000000 8ad26020 ntoskrn8!IoGetDevicePropertyData+0x48
    ba55bdac 80bd81ac 8a9bbcb8 00000000 00000000 nt!ExpWorkerThread+0x10f
    ba55bddc 80ae4212 80ad509a 00000000 00000000 nt!PspSystemThreadStartup+0x34
    00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    nt!IoFreeWorkItem+25
    80a250c3 6a00            push    0

    SYMBOL_STACK_INDEX:  b

    SYMBOL_NAME:  nt!IoFreeWorkItem+25

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: nt

    IMAGE_NAME:  ntkrpamp.exe

    DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

    FAILURE_BUCKET_ID:  0xE9_nt!IoFreeWorkItem+25

    BUCKET_ID:  0xE9_nt!IoFreeWorkItem+25

    Followup: MachineOwner
    ---------

#7999 | infuscomus | ⇗ @diderius6 should we change the size of workitem?

#8000

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7983

> @infuscomus
> I dont know, if this is possible with Kernel Debug.

⇗ @diderius6 ...I'm not sure about this either but would like to find out. A major weakness with windbg for me is not being able to trace through system code (ring0). Maybe Microsoft has done that by design. If that's true, maybe there is a way to mod windbg to enter system code instead of bypassing it at a SYSENTER command.
I could do it with softice. I read somewhere that it might be possible using windbg in a remote connection like yours.

#8001

diderius6

⇗ @gordo999 ⇗ @infuscomus
Yes, the behavior from Windbg is strange. What you can see from all the output here is,
that at the moment, when USBHUB3.SYS is loaded and gets to start, something went wrong.
From my intuition I would say, that this has something to do with the sleeping mode of USB and its Hub in XP.
I can also see, that with the other, uncritical USB3, always all is ok. And when I remember the situation, that I cant install XP via Firadisk on this critical USB port, it may be Bios related.
For me is the most most crazy thing, that when I set a breakpoint, the compi does not always stop at this point.
How is this possible? Then I get message, that it is ok, that KD writes to this breakpoint but does not stop???
I only can imagine, that this breakpoint is not hit at this situation.
But it is impossible(?!), because it is the start of usbxhci.sys.
Now I will try the methode from ⇗ @Mov AX, 0xDEAD with the endless loop at the driver entry point, here USBXHCI.SYS and especcially USBHUB3.SYS. And the hang of XP seems not to happen always at the exact place, only around..
I am quite sure, that it is not the fault of usbxhci.sys, because this driver is always loaded and started correct
Dietmar
PS: Any help with Windbg is welcome!
⇗ @gordo999
"I read somewhere that it might be possible using windbg in a remote connection like yours."
Yes, I did. But it works only until the Comp, which is doing the Debug, is older = Core Duo and very few graphik cards work.

#8002

Mov AX, 0xDEAD

Hi All

> Zitat von ⇗ diderius6 im Beitrag ¶ #7997

> *** Assertion failed: IoWorkItem->Size == sizeof( IO_WORKITEM )
> *** Source File: d:\xpsp\base\ntos\io\iomgr\misc.c, line 965

checked kernel has additional field Size:

    typedef struct _IO_WORKITEM {
        WORK_QUEUE_ITEM WorkItem;
        PIO_WORKITEM_ROUTINE Routine;
        PDEVICE_OBJECT DeviceObject;
        PVOID Context;
    #if DBG
        ULONG Size;
    #endif
    } IO_WORKITEM;

Emu_Extender override original IO_WORKITEM struct to new "vista-like" format and not compatible with assertion check above
p.s. remove check in IoFreeWorkItem

#8003 | infuscomus | ⇗ @Mov AX, 0xDEAD We haven't heard from you for a while! Welcome back! ⇗ @diderius6 ⇗ @gordo999 we have source code for windbg (XP SP1 version) maybe there is something in there for how to debug ring0?
#8004 | Strani | ⇗ @diderius6 Can you answer my question above? ¶ XP/W2k3 x86 on Modern Hardware (534)

#8005

diderius6

⇗ @Mov AX, 0xDEAD
Can I hack this Bsod in checked XP SP3 ntoskrnl.exe
via

    .text:0042309E ; void __stdcall IoFreeWorkItem(PIO_WORKITEM IoWorkItem)
    .text:0042309E                 public _IoFreeWorkItem@4
    .text:0042309E _IoFreeWorkItem@4 proc near
    .text:0042309E
    .text:0042309E P               = dword ptr  8
    .text:0042309E
    .text:0042309E                 mov     edi, edi
    .text:004230A0                 push    ebp
    .text:004230A1                 mov     ebp, esp
    .text:004230A3                 push    esi
    .text:004230A4                 mov     esi, [ebp+P]
    .text:004230A7                 cmp     dword ptr [esi+1Ch], 20h
    .text:004230AB                                                 jz      short loc_4230C3   ============> jmp      short loc_4230C3
    .text:004230AD                 push    0               ; Message
    .text:004230AF                 push    3C5h            ; LineNumber
    .text:004230B4                 push    offset aDXpspBaseNt_10 ; "d:\\xpsp\\base\\ntos\\io\\iomgr\\misc.c"
    .text:004230B9                 push    offset aIoworkitemSize ; "IoWorkItem->Size == sizeof( IO_WORKITEM"...
    .text:004230BE                 call    _RtlAssert@16   ; RtlAssert(x,x,x,x)
    .text:004230C3

    .text:004230C3 loc_4230C3: ; CODE XREF: IoFreeWorkItem(x)+D j
    .text:004230C3                 push    0               ; Tag
    .text:004230C5                 push    esi             ; P
    .text:004230C6                 call    _ExFreePoolWithTag@8 ; ExFreePoolWithTag(x,x)
    .text:004230CB                 pop     esi
    .text:004230CC                 pop     ebp
    .text:004230CD                 retn    4
    .text:004230CD _IoFreeWorkItem@4 endp
    .text:004230CD
    .text:004230CD ; ---------------------------------------------------------------------------

#8006 | diderius6 | ⇗ @Strani Change those USB files, where is question Dietmar

#8007

diderius6

⇗ @Mov AX, 0xDEAD
Here is this hack )
now I test
Dietmar
⇗ https://ufile.io/ij5g8pzj
EDIT: Yesssa:)))), hack works.. спасибо большое!

#8008

diderius6

⇗ @infuscomus
Now back to the critical USB.
When I set a breakpoint at 0xb8981643
because

    13: kd> p
    nt!IoFreeWorkItem+0x2f:
    80a250cd c20400 ret 4
    13: kd> p
    USBXHCI!CommonBuffer_WorkItem+0x219:
    b8981643 33c0 xor eax,eax
    13: kd> p
    USBXHCI!CommonBuffer_WorkItem+0x21b:
    b8981645 50 push eax

I get message

    KD: write to 0xb8981643 ok  (???)

and the Windbg hangs
Dietmar

#8009 | infuscomus | ⇗ @diderius6 maybe try nop that part?

#8010

diderius6

⇗ @infuscomus
I am very near to the root of the problem with critical USB.
`processr!AcpiC1Idle` remembers me a lot of sleeping Hub
Dietmar

>     DevNode 0x8ac0c420 for PDO 0x8ac98338
>                 InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
>                 ServiceName is "USBXHCI"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>                 DevNode 0x8a9e28f0 for PDO 0x8aa8ba60
>                   InstancePath is "USB\ROOT_HUB30\5&399a3586&1&0"
>                                             ServiceName is "USBHUB3"
>                   State = DeviceNodeResourcesAssigned (0x304)
>                   Previous State = DeviceNodeDriversAdded (0x303)

>     80ae3ded 751a            jne     nt!KiIdleLoop+0x39 (80ae3e09)
>     12: kd> p
>     nt!KiIdleLoop+0x39:
>     80ae3e09 fb              sti
>     12: kd> p
>     nt!KiIdleLoop+0x3a:
>     80ae3e0a 90              nop
>     12: kd> p
>     nt!KiIdleLoop+0x3b:
>     80ae3e0b 90              nop
>     12: kd> p
>     nt!KiIdleLoop+0x3c:
>     80ae3e0c fa              cli
>     12: kd> p
>     nt!KiIdleLoop+0x3d:
>     80ae3e0d 3b6d00          cmp     ebp,dword ptr [ebp]
>     12: kd> p
>     nt!KiIdleLoop+0x40:
>     80ae3e10 740f            je      nt!KiIdleLoop+0x51 (80ae3e21)
>     12: kd> p
>     nt!KiIdleLoop+0x51:
>     80ae3e21 83bb2801000000  cmp     dword ptr [ebx+128h],0
>     12: kd> p
>     nt!KiIdleLoop+0x58:
>     80ae3e28 74b0            je      nt!KiIdleLoop+0xa (80ae3dda)
>     12: kd> p
>     nt!KiIdleLoop+0xa:
>     80ae3dda 8d8b500c0000    lea     ecx,[ebx+0C50h]
>     12: kd> p
>     nt!KiIdleLoop+0x10:
>     80ae3de0 ff11            call    dword ptr [ecx]
>     12: kd> p
>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     15: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     14: kd> g
>     Single step exception - code 80000004 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     nt!KeSwapProcessOrStack+0x19:
>     80a3fd1f 6a00            push    0
>     13: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     11: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x12:
>     ba1a9d3e 6a00            push    0
>     10: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     9: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     8: kd> g
>     Single step exception - code 80000004 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     nt!PopProcessorIdle+0x105:
>     80abe4ad 84c0            test    al,al
>     7: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x12:
>     ba1a9d3e 6a00            push    0
>     6: kd> g
>     Single step exception - code 80000004 (first chance)
>     First chance exceptions are reported before any exception handling.
>     This exception may be expected and handled.
>     nt!KiIdleLoop+0xa:
>     80ae3dda 8d8b500c0000    lea     ecx,[ebx+0C50h]
>     5: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     processr!AcpiC1Idle+0x19:
>     ba1a9d45 59              pop     ecx
>     3: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!Kei386EoiHelper+0x45:
>     80adf811 5a              pop     edx
>     2: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!Kei386EoiHelper+0x45:
>     80adf811 5a              pop     edx
>     1: kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!Kei386EoiHelper+0x45:
>     80adf811 5a              pop     edx
>     0: kd> g
>     Breakpoint 0 hit
>     USBXHCI!CommonBuffer_WorkItem+0x22d:
>     b8981657 e20c            loop    USBXHCI!CommonBuffer_QueueWorkItem+0x5 (b8981665)
>     11: kd> p

>     *** Fatal System Error: 0x0000010d
>                                                  (0x00000005,0x00000000,0x00001030,0x8AAD1A90)

>     *** Fatal System Error: 0x0000010d
>                                                  (0x00000005,0x00000000,0x00001030,0x8AAD1A90)

>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 23 12:34:15.125 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .............................................................
>     Loading User Symbols

>     Loading unloaded module list
>     .
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 10D, {5, 0, 1030, 8aad1a90}

>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrn8.sys -
>     Probably caused by : memory_corruption

>     Followup: memory_corruption
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     11: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     WDF_VIOLATION (10d)
>     The Kernel-Mode Driver Framework was notified that Windows detected an error
>     in a framework-based driver. In general, the dump file will yield additional
>     information about the driver that caused this bug check.
>     Arguments:
>     Arg1: 00000005, A framework object handle of the incorrect type was passed to
>     	a framework object method.
>     Arg2: 00000000, The handle value passed in.
>     Arg3: 00001030, Reserved.
>     Arg4: 8aad1a90, Reserved.

>     Debugging Details:
>     ------------------

>     BUGCHECK_STR:  0x10D_5

>     DEFAULT_BUCKET_ID:  CODE_CORRUPTION

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     ba55f8c8 80a30d7b 00000003 ba55fc24 00000000 nt!RtlpBreakWithStatusInstruction
>     ba55f914 80a319e6 00000003 00000000 8aac1880 nt!KiBugCheckDebugBreak+0x19
>     ba55fcf4 80a31f77 0000010d 00000005 00000000 nt!KeBugCheck2+0x574
>     ba55fd14 b8925387 0000010d 00000005 00000000 nt!KeBugCheckEx+0x1b
>     ba55fd30
>     b88f2666 00000005 00000000 00001030 wdf01000!FxVerifierBugCheck+0x21
>     [d:\w8rtm\minkernel\wdf\framework\shared\object\fxverifierbugcheck.cpp @
>     72]
>     ba55fd58 b8981673 8aad1b78 00000000 8ad26da8
>     wdf01000!imp_WdfDeviceWdmGetDeviceObject+0x26
>     [d:\w8rtm\minkernel\wdf\framework\kmdf\src\core\fxdeviceapi.cpp @ 158]
>     ba55fd68 b9e67672 8aac1880 8a9a7848 8aa0da00 USBXHCI!CommonBuffer_QueueWorkItem+0x13
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     ba55fd80 80ad51a9 8aa0da00 00000000 8ad26da8 ntoskrn8!IoGetDevicePropertyData+0x48
>     ba55fdac 80bd81ac 8aa0da00 00000000 00000000 nt!ExpWorkerThread+0x10f
>     ba55fddc 80ae4212 80ad509a 00000000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     CHKIMG_EXTENSION: !chkimg -lo 50 -d !USBXHCI
>         b8981657 - USBXHCI!CommonBuffer_WorkItem+22d
>     	[ c2:e2 ]
>     1 error : !USBXHCI (b8981657)

>     MODULE_NAME: memory_corruption

>     IMAGE_NAME:  memory_corruption

>     FOLLOWUP_NAME:  memory_corruption

>     DEBUG_FLR_IMAGE_TIMESTAMP:  0

>     MEMORY_CORRUPTOR:  ONE_BIT

>     FAILURE_BUCKET_ID:  MEMORY_CORRUPTION_ONE_BIT

>     BUCKET_ID:  MEMORY_CORRUPTION_ONE_BIT

>     Followup: memory_corruption
>     ---------

## Page 535

#8011

diderius6

And the next one. May be, that hack in acpi.sys against C3 (deep sleep) can help..

    DevNode 0x8ac7db58 for PDO 0x8aca9360
                InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&f6230fb&0&0341"
                ServiceName is "USBXHCI"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0x8a928a88 for PDO 0x8aa6c410
                  InstancePath is "USB\ROOT_HUB30\5&399a3586&1&0"
                                            ServiceName is "USBHUB3"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)

This is strange, because it means, that the Hub for the critical USB device also already started.

    KD: write to 0xba1a9d45 ok

    Breakpoint 0 hit
    processr!AcpiC1Idle+0x19:
    ba1a9d45 7589            jne     processr!Acpi2C3ArbdisIdle+0xcc (ba1a9cd0)  ==> This is Deep Sleep ;))
    9: kd> p
    MM:***EBX BA380C70, ESI BA380C50 EDI 8AC60D68
    processr!Acpi2C3ArbdisIdle+0xcc:
    ba1a9cd0 1aba00740a51    sbb     bh,byte ptr [edx+510A7400h]
    9: kd> p

    *** Fatal System Error: 0x000000d1
                                                 (0x510A7478,0x00000002,0x00000000,0xBA1A9CD0)

    MM:***PAGE FAULT AT IRQL > 1  Va 510A7478, IRQL 2
    MM:***EIP BA1A9CD0, EFL 00010306
    MM:***EAX FBB1B338, ECX 00000000 EDX 00000078
    MM:***EBX BA370C70, ESI BA370C50 EDI 8AC60D68

    *** Fatal System Error: 0x000000d1
                                                 (0x510A7478,0x00000002,0x00000000,0xBA1A9CD0)

    A fatal system error has occurred.

    Connected to Windows XP 2600 x86 compatible target at (Sat Oct 23 13:02:28.171 2021 (UTC + 2:00)), ptr64 FALSE
    Loading Kernel Symbols
    .............................................................
    Loading User Symbols

    Loading unloaded module list
    ..
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    Use !analyze -v to get detailed debugging information.

    BugCheck D1, {510a74b8, 2, 0, ba1a9cd0}

    Probably caused by : memory_corruption

    Followup: memory_corruption
    ---------

#8012 | infuscomus | ⇗ @diderius6 maybe try with windows 8.0 checked ISO? ⇗ https://windowstan.com/win/windows-8-debug-checked-build/ compare what happens in windows 8.0 when it is working to XP?
#8013 | diderius6 | ⇗ @infuscomus I am just downloading, thanks! May be it is related to C3 (deep sleep) and may be, that a new hack in acpi.sys from outerspace ) can repair this Dietmar

#8014

diderius6

⇗ @infuscomus
I can reduce the number of XP SP3 crashes,
when I set in Bios "ACPI _CST C1 Declaration" to "enabled".
Bios tells, that via this setting "Determines whether or not to declare the C1 state to the OS".
In 20 starts, XP hangs 3 times (11, 15, 19. start)
Dietmar
PS: So it has something to do with the sleeping states produced by the Hub, but the problem is still not solved.

#8015 | infuscomus | ⇗ @diderius6 I checked the power states for both working and non-working USB 3.0 controllers. Both have power state D0
#8016 | diderius6 | ⇗ @infuscomus Just now I am installing your Win8 debug and soon I report. For this, I set "ACPI _CST C1 Declaration" to "Auto" back in Bios Dietmar

#8017

Strani

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #8006

> @Strani
> Change those USB files,
> where is question

Sorry, but I didn't understand your answer.
I repeat.
After applying patch WinXpPAE on Windows XP SP3 I need to replace the built-in driver USB2, correct? How to do this correctly:
1. Take usbport.sys from Windows Server 2003 KB2862330?
2. Take usbport.sys and usbd.sys files from Windows Server 2003 KB2862330?
3. Take usbport.sys from your message?
4. Take usbport.sys and usbd.sys files from your message?

#8018

diderius6

⇗ @infuscomus
Ok, I get Win8 Debug version running and also just now Windbg for it.
Hm, what can I check now
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows 7 9200 x86 compatible target at (Sat Oct 23 17:58:56.640 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
>     Windows 7 Kernel Version 9200 MP (1 procs) Checked x86 compatible
>     Built by: 9200.16384.x86chk.win8_rtm.120725-1247
>     Machine Name:
>     Kernel base = 0x81816000 PsLoadedModuleList = 0x81c57888
>     System Uptime: 0 days 0:00:00.744 (checked kernels begin at 49 days)
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     nt!RtlpBreakWithStatusInstruction:
>     819d7a80 cc              int     3
>     kd> lm
>     start    end        module name
>     80400000 80414000   pdc        (deferred)
>     80418000 80425000   ApiSetSchema   (deferred)
>     80425000 8043c000   mcupdate_AuthenticAMD   (deferred)
>     8043c000 80485000   CLFS       (deferred)
>     80485000 804a6000   tm         (deferred)
>     804a6000 804bb000   PSHED      (deferred)
>     804bb000 804c4000   BOOTVID    (deferred)
>     804c4000 8053b000   CI         (deferred)
>     8053b000 80585000   msrpc      (deferred)
>     80585000 805f6000   cng        (deferred)
>     80610000 80623000   partmgr    (deferred)
>     80623000 80663000   spaceport   (deferred)
>     80663000 80674000   volmgr     (deferred)
>     80674000 806c5000   volmgrx    (deferred)
>     806c5000 806da000   mountmgr   (deferred)
>     806da000 806ed000   storahci   (deferred)
>     806ed000 80735000   storport   (deferred)
>     80735000 8074e000   EhStorClass   (deferred)
>     8074e000 807a4000   fltmgr     (deferred)
>     807a4000 807b6000   fileinfo   (deferred)
>     80800000 80827000   tpm        (deferred)
>     80827000 80833000   WdBoot     (deferred)
>     80837000 808e1000   Wdf01000   (deferred)
>     808e1000 808f0000   WDFLDR     (deferred)
>     808f0000 80902000   acpiex     (deferred)
>     80902000 8090c000   WppRecorder   (deferred)
>     8090c000 80991000   ACPI       (deferred)
>     80991000 8099a000   WMILIB     (deferred)
>     8099a000 809a2000   msisadrv   (deferred)
>     809a2000 809e2000   pci        (deferred)
>     809e2000 809ef000   vdrvroot   (deferred)
>     80ec1000 80ecb000   kdcom      (deferred)
>     81816000
>     821d1000   nt         (pdb symbols)          C:\Programme\Debugging
>     Tools for Windows
>     (x86)\sym\ntkrpamp.pdb\C4F414C9D1854DE495BDAD814A722C4D1\ntkrpamp.pdb
>     821d1000 8222d000   hal        (deferred)
>     82c0d000 82c83000   fvevol     (deferred)
>     82c83000 82cc7000   volsnap    (deferred)
>     82cc7000 82d08000   rdyboost   (deferred)
>     82d08000 82d1c000   mup        (deferred)
>     82d1c000 82d27000   hwpolicy   (deferred)
>     82d27000 82d3e000   disk       (deferred)
>     82d3e000 82d88000   CLASSPNP   (deferred)
>     82e0b000 82fbe000   tcpip      (deferred)
>     82fbe000 82fcc000   wfplwfs    (deferred)
>     89811000 89863000   WdFilter   (deferred)
>     89863000 89934000   ndis       (deferred)
>     89934000 89984000   NETIO      (deferred)
>     89984000 899b5000   ksecpkg    (deferred)
>     899b5000 899fc000   fwpkclnt   (deferred)
>     89a00000 89a0a000   Fs_Rec     (deferred)
>     89a18000 89bd3000   Ntfs       (deferred)
>     89bd3000 89be9000   ksecdd     (deferred)
>     89be9000 89bf9000   pcw        (deferred)

#8019

diderius6

Interesting,
if there is a difference between XP and win8 ;))
Dietmar

    DevNode 0x87959808 for PDO 0x87958a10
                InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&14393665&0&0341"
                ServiceName is "USBXHCI"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0x90beba48 for PDO 0x90a480d0
                  InstancePath is "USB\ROOT_HUB30\5&cd58b07&0&0"
                  ServiceName is "USBHUB3"
                  State = DeviceNodeStarted (0x308)
                  Previous State = DeviceNodeEnumerateCompletion (0x30d)

And this one is very near to crash of critical USB in XP

    nt!KiExceptionExit+0xcd:
    819ddb7d 8b54243c        mov     edx,dword ptr [esp+3Ch]
    2: kd> p
    nt!KiExceptionExit+0xd1:
    819ddb81 8b4c2440        mov     ecx,dword ptr [esp+40h]
    2: kd> p
    nt!KiExceptionExit+0xd5:
    819ddb85 8b442444        mov     eax,dword ptr [esp+44h]
    2: kd> p
    nt!KiExceptionExit+0xd9:
    819ddb89 66837d6c08      cmp     word ptr [ebp+6Ch],8
    2: kd> p
    nt!KiExceptionExit+0xde:
    819ddb8e 740c            je      nt!KiExceptionExit+0xec (819ddb9c)
    2: kd> p
    nt!KiExceptionExit+0xec:
    819ddb9c 8d6554          lea     esp,[ebp+54h]
    2: kd> p
    nt!KiExceptionExit+0xef:
    819ddb9f 5f              pop     edi
    2: kd> p
    nt!KiExceptionExit+0xf0:
    819ddba0 5e              pop     esi
    2: kd> p
    nt!KiExceptionExit+0xf1:
    819ddba1 5b              pop     ebx
    2: kd> p
    nt!KiExceptionExit+0xf2:
    819ddba2 5d              pop     ebp
    2: kd> p
    nt!KiExceptionExit+0xf3:
    819ddba3 83c404          add     esp,4
    2: kd> p
    nt!KiExceptionExit+0xf6:
    819ddba6 cf              iretd
    2: kd> p

    *** Fatal System Error: 0x0000007f
     (0x00000008,0x83052280,0x00000000,0x00000000)

Gives BSOD :( on Win8, I like blue screen from XP more:))
I think, possible fault is hanging USB3 Hub, the same as in XP

    DevNode 0x8795c808 for PDO 0x8795ba10
                InstancePath is "PCI\VEN_1022&DEV_149C&SUBSYS_87C01043&REV_00\4&14393665&0&0341"
                ServiceName is "USBXHCI"
                State = DeviceNodeStarted (0x308)
                Previous State = DeviceNodeEnumerateCompletion (0x30d)
                DevNode 0x90b97608 for PDO 0x90a6f670
                  InstancePath is "USB\ROOT_HUB30\5&cd58b07&0&0"
                  ServiceName is "USBHUB3"
                                            State = DeviceNodeStartPending (0x305)
                  Previous State = DeviceNodeResourcesAssigned (0x304)

     0x0000007F: UNEXPECTED KERNEL MODE TRAP

     0x0000007f (0x00000008, xxx,yyy,zzz)

Double Fault Indicates that an exception occurs during a call to the handler for a prior exception. Typically, the two exceptions are handled serially. However, there are several exceptions that cannot be handled serially, and in this situation the processor signals a double fault. There are two common causes of a Double Fault: 1. A kernel stack overflow. This overflow occurs when a guard page is hit, and the kernel tries to push a trap frame. Because there is no stack left, a stack overflow results, causing the double fault. If you think this has occurred, use !thread to determine the stack limits, and then use kb (Display Stack Backtrace) with a large parameter (for example, kb 100) to display the full stack. 2. The other common cause is a hardware problem.

#8020 | infuscomus | ⇗ @diderius6 Windows 8.0 USB3 will work for me, I need to use your patched acpi.sys though.
#8021 | diderius6 | ⇗ @infuscomus I think, win8 has the same problem with this critical USB device as XP. Just the error management is "better" (less critical), which gives 20 from 20 instead 17 from 20 under XP Dietmar
#8022 | diderius6 | Just now I test, if it is possible, to boot XP via freeldr.sys from a normal formatted XP Fat32 harddisk with ntldr in it or what are the minimal changes on harddisk for freeldr.sys <==> ntldr Dietmar Edit: Maybe it is even possible to make a harddisk as hybrid, which can boot ntldr and freeldr.sys.
#8023 | infuscomus | ⇗ @Strani Yes copy the USB driver files from a server 2003 install, take the most recent version if you have it.

#8024

YuriyCN

ENGLISH
Windows XP mod 2021 - system build for the modern PC (edition 23.10.2021)
The information doesn't fit into a forum post - so download the text file and read it in Notepad.
TXT (93KB) - ⇗ https://yadi.sk/d/KKgPIfOF31v65g
RUSSIAN
Windows XP мод 2021 - сборка системы для современного ПК (редакция 23.10.2021)
Информация не помещается в форумный пост - поэтому скачайте текстовый файл и читайте в Блокноте.
TXT (105КБ) - ⇗ https://yadi.sk/d/AumB5BTbg7RYxA

#8025

canonkong

⇗ @diderius6
I think it is some bug on ASUS bios, I tested ASUS Gigabyt MSI ASRock B350/450/B550/X570. On win8, all work very well with the win8 port usb driver.
On win7 with the win8 port usb driver, only ASUS will freeze while booting. As we know, X570 Io chip is from CPU IO DIE, so OF you use x570 to run a zen2/3 CPU, it will shows three XHCI controller and the device ID all are 149C. To drive the x570 chips' 149C xhci controller, it is working well. But once you drive the 149C XHCI controller from the CPU IO DIE, it wiill freeze while booting.
It is very strange that this problem will only appear on ASUS mainboard. Maybe ASUS BIOS have something special.

## Page 536

#8026

infuscomus

⇗ @canonkong
I wonder whats up with my 149C controller? do you think it's an ACPI issue?
no freezes, but it never works at boot with XP.
It works correctly in Windows 8.0 on every boot - although I need to use a patched acpi.sys by ⇗ @diderius6
In XP it never works at boot but it will work if I disable and re-enable it.
weird.

#8027 | infuscomus | ⇗ @diderius6 besides you ASUS board, do you have any other X570 boards? If you do check if they also have the 149C controller.

#8028

diderius6

⇗ @infuscomus
I have only the ASUS Prime X570-PRO board for AMD chips.
With the very first Bios, I can install there also the 1700x Cpu.
I remember, that from the USB controllers, one is on board
and the other is integrated in the Cpu, which means, that it changes with each Cpu.
From feeling, this is the most most bad board, that I ever had
Dietmar

#8029 | infuscomus | ⇗ @diderius6 do you know if the 149C USB controller is a CPU or Chipset controller?
#8030 | diderius6 | ⇗ @infuscomus This is from ⇗ @canonkong "AM4 Ryzen CPUs have a usb controller that DEV_ID 149C, even though we use 300/400 series mainboards, 149C still doesnt work, but can use mainboards USB controller from ASMedia." Dietmar
#8031 | canonkong | ⇗ @diderius6 I also have Gigabyte X570 and MSI X570, both of them have three 149C controllers. Here is the ASUS X570-I with 5800X. Because the xhci controller can not use win8 port driver, I used AMD 1.0.0.13 usb driver. ⇗
#8032 | infuscomus | ⇗ @canonkong It's strange that the 149C controller works in windows 8.0 for me but not for you. I wonder why? do you know if there is a 32-bit version of the AMD 1.0.0.13 usb driver?
#8033 | canonkong | ⇗ @infuscomus No, On win8/server 2012 system, all of the mainboards are working well, even use the mod win8 port driver also are working well. Not have 32bit 1.0.0.13 usb driver.

#8034

diderius6

I make some more fun with the freeldr from Reactos with nice result for XP SP3 boot!
This Tutorial I tested on 2 different motherboards.
1.) First I take an old 80 Gbyte Sata harddisk and wipe all out with 00 with Winhex.
This step is not necessary, but it gives clear start situation.
This HD is in an USB box, so that I can easy see, which is the wished 80 GB harddisk and that I do not destroy my other harddisks(!).
2.) Make a Fat32 partition with RMPrebUSB 2.1.739 with ntldr and force use LBA on this 80 Gbyte HD.
3.) With Rufus 2.18 portable (last version for XP)
set mark for "Show USB" , Fat32, "Schnellformatierung", "Startffäges Laufwerk erstellen Grub4Dos 0.4.6a" and hit Start.
Message about grldr I ignore. And also message about "fehlgeschlagen".
4.) Copy grldr (extracted from RMPrebUSB 2.1.739) on the 80Gb HD.
5.) Make a *.txt file on the 80 Gb HD with content
title ReactOS
root (hd0,0)
kernel /freeldr.sys
and rename it to menu.lst .
6.) Copy freeldr.sys and freeldr.ini from Reactos 0.4.13 on the 80GB HD.
7. With Editor open freeldr.ini and replace all ReactOS => WINDOWS .
With only the 4 files grldr, menu.lst, freeldr.sys and freeldr.ini on harddisk, you can test already boot possibility for XP.
It works from harddisk, USB, nvme..
8.) With copy and paste copy there a (small, not necessary small) working XP SP3 installation.
Not important, if this XP installation comes from ntfs or fat32, all work.
ntldr, ntdetect.com and boot.ini dont copy. Also dont copy Recycler, System Volume Information, pagefile.
9.) Now fun starts: Connect this 80 GB HD to a compi.
It gives ultrafast start of XP to Desktop via freeldr, faster than with ntldr.
10.) Tell me, if it works for you )
Dietmar
PS: I just test my own Tutorial for booting XP via freeldr step by step and it works .
EDIT: I just notice, that Rufus 2.18 can be kicked out of the Tutorial,
because RMPrebUSB offers also the possibility to install grub4dos and also to install its own and wished grldr.
Here are the needed and already edited files for XP boot via freeldr
⇗ https://ufile.io/71t6nooh

#8035

diderius6

⇗ @infuscomus
There are reports in Internet about the X570 AMD, that even win10 shows exact the same problems with 0000 everywhere on this
149C USB controller and that they can disable and enable again this xhci and then starts. But after reboot the same as before, brrr..
Dietmar
PS: I remember my tests with the crazy board from Asus Prime X570-PRO from May 2020.
There exact the same to me happens as to you now.
At this time I noticed, that the USBD driver was missed and problems with the win8 version of it.
Make try with them
⇗ https://ufile.io/e78fghm0

#8036 | infuscomus | ⇗ @diderius6 This version works for you?

#8037

diderius6

⇗ @infuscomus
In May 2020 I wrote a lot of mails with ⇗ @Mov AX, 0xDEAD
about testing his nice USB3 driver for XP ported from Win8.
And I also write him about this problem with critical USB controller 149C on the Asus x570 board.
As far as I remember, with this laaast version of USB3 for XP from 5 May 2020 all tested USB controllers on all my boards work without a single fail.
I start all my boards about 500 times with a lot of different USB devices
Dietmar
PS: On the ROG Strix B450-F Gaming II board I did not test until now.

#8038

George King

Hi ⇗ @Mov AX, 0xDEAD, can you please have a look on x64 vusbstor.sys and find proper patch to restore "Safe Remove" as you find for x86?
Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
- replace in vusbstor.sys (v6.1.7600.4002):
page:000209B4: mov [ebp+SurpriseRemovalOK], ebx -> NOPs
(89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF)
Here are ported driver set for both x86 and x64. I builded them according to your notes on GitHub and here on WinRaid. NOTE: vusbstor.sys is renamed to uapstor.sys

    #7898

And I would also like to request missing informations for WDF 1.11. I would like to use ported WDF 1.11 with original XP ones to avoid unhandled problems with other drivers.

    If need coexist with original WDF1.9 drivers:

    Rename WDF01000.SYS->WDF01_W8.SYS, WdfLdr.sys->WdfLdr8.sys
    In WDF01_W8.SYS replace string "WdfLdr.sys" to "WdfLdr8.sys" in import section
    In
     WdfLdr8.sys replace unicode string
    "\Registry\Machine\System\CurrentControlSet\Services\Wdf%02d000" to
    "\Registry\Machine\System\CurrentControlSet\Services\Wdf%02d_w8"
    In WdfLdr8.sys replace hex pattern F6 78 1B F6 to F6 EB 1B F6 (x32), ** ** to ** ** (x64)
    In target driver XXX.sys replace string "WdfLdr.sys" to "WdfLdr8.sys" in import section
    In .INF of ported driver add creating new service:

After these things we should have great drivers set for both architectures. And only x64 ACPI.sys patch will be needed.
Thanks for your hard work!

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8039

diderius6

I just succeed to switch for one and the same XP installation between boot with freeldr from Reactos or via ntldr.
For this I use menu.lst (thanks to jaclaz at reboot.pro) with content
title XP via ReactOS loader
root (hd0,0)
kernel /freeldr.sys
title XP via normal NTLDR
root (hd0,0)
chainloader /ntldr
This configuration can now boot any XP bootdevice. It can boot more(!) devices than ntldr alone.
This is the very first time, that Reactos puts XP a lot forward.
Some more tests with other boards I need, then I write new Tutorial
Dietmar
EDIT: With Reactos freeldr boot, the strange shutdown problem on some boards is gone.

#8040 | infuscomus | ⇗ @diderius6 I wonder, does freeldr.sys solve the issues with the 149C USB controller?

## Page 537

#8041

diderius6

⇗ @infuscomus
I am doing a lot of tests with freeldr.sys. Until now, all looks nice:)). Tomorrow I write Tutorial.
Just now I test easy setup for everything. On each board and for any bootdevice freeldr works.
The package from ⇗ @Mov AX, 0xDEAD for USB3 boot does not help for your board with critical USB?
This is strange, because the only board which makes problems in May 2020 was
this crazy Asus PRIME X570-PRO with the same critical USB controller.
But with the very last version this problem with 0000 everywhere was gone and I can even boot XP via USB3 on this board
Dietmar
EDIT: I just finished test successfull with normal install of a Ramsey XP ⇗ @Outbreaker on Fat32 harddisk and (Customized Option; 4,6,7,C,H).
I do not use USB for first tests. A Serial Mouse;) on COM1 port helps me through installing.
This test where done on my Asrock Fatal1ty Z370 Gaming K6 with 8700k cpu and 32 Gbyte ram.
There I can now switch on each boot between freeldr and ntldr and compare.
It is stable.

#8042

dencorso

> Zitat von ⇗ diderius6 im Beitrag ¶ #7897

> PS: A BSOD can happen for another reason: When you first install the Samsung Nvme driver, its Filterdriver secnvmeF.sys does not want to go and when you delete it by hand, you get Bsod 0x7B.

⇗ @diderius6 : For what it's worth, the way to avoid such BSODs is to do the folowing, before trying to remove either just secnvmeF.sys or the full Samsing driver... (I mean: one has installed it, then decides to remove it: so, before anything, while the system still boots correcly, not after one starts getting the BSOD 0x7B) do the folowing from inside the running XP: (1) run regedit; (2) go to HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}; (3) once there, delete the MULTI_SZ value "LowerFilters"="secnvmeF"; (4) close regedit and reboot... the reboot should occur normally and one ends at the desktop. From this point, one may use one's favorite method for removing either just secnvmeF.sys or the full Samsing driver. HTH.

#8043

diderius6

Sometimes, the combination of ntldr and ntdetect.com cant boot Windows XP SP3.
This you see in a blinking cursor, a message that a driver cant be found,
error in reading from bootdevice, error in ntdetect.com, missing ntldr or just black screen.
In a lot of this cases the use of the freeldr.sys from Reactos can help to boot such a XP.
During my test I found examples for all the crashs above, but freeldr boots this XP.
I do not find a single case, where ntldr works but freeldr fails.
Sometimes the boot via winload.exe also helps. But this booting of XP via winload shows a lot of other unnice behaviors.
The disadvantages of freeldr are: Only support for Fat32 until now, no Ntfs.
Only the very last USB3 driver ported from Win8 from ⇗ @Mov AX, 0xDEAD and ⇗ @daniel_k works.
⇗ https://forums.mydigitallife.net/threads...hardware.81607/
The old modded USB drivers from AMD work also with freeldr.
When you use the patch of more than 4 GB, freeldr boots, but shows only <4Gb free ram.
I notice, that in this case the XP with freeldr is faster than with ntldr.
When you use the patch for AVX, freeldr boots but without AVX.
The boottime with freeldr is shorter than with ntldr.
Nvme, lan, sound, graphik, keyboard, mouse, COM1 etc. works all on a XP, booted from freeldr, which I tested.
May be, that freeldr supports Windbg from COM-slotcard.
Some boards, which have a problem to shut down XP, shut down with freeldr.
Booting via freeldr works also for Reactos, Win2003 and Win2000.
Dietmar

#8044

diderius6

Tutorial
Booting XP via freeldr or ntldr
1.) Format your bootdevice with Fat32. MBR, harddisk 1, partition 1.
I test harddisk and nvme device, formatted with RMPrepUSB 2.1.739 (in attachment),
with settings FAT32, NTLDR, force LBA.
2.) This step do only, if you want to test at once,
if you can switch booting of XP between freeldr and ntldr.
Enable grub4dos with RMPrepUSB 2.1.739 on your bootdevice from 1.).
Copy the 7 files from attachment here to the root of your bootdevice.
grldr, menu.lst (thanks to jaclaz at reboot.pro), freeldr.sys, freeldr.ini, ntldr, ntdetect.com and boot.ini.
Restart computer.
3.) Install XP on this Fat32 partition.
I use Firadisk and the nice XP from Ramsey ⇗ @Outbreaker
Windows XP Professional SP3 x86 - Integral Edition 2021.5.15 (Customized Option; 4,6,7,C,H) with
WinXP-IE Optional Patch Integrator v3.2.0.2b .
During first tests I work without any USB but with Serial Mouse.
Until now dont use USB3 ported from Win8 there. You can use option "N" for USB.
4.) Enable grub4dos with RMPrepUSB 2.1.739 on your bootdevice from 1.)
answer to question about to copy grldr with "yes".
5.) Copy from attachment the bootfiles to the root of your bootdevice, replacing your files.
6.) Tell me, if it works for you )
Dietmar
PS: If you dont see the bootmenu from grub4dos in 2.), run a diskcheck for this harddisk,
after(!) you copied the 7 bootfiles on it.
EDIT: For to install new drivers or programs I use NTLDR.
Bootfiles
⇗ https://ufile.io/1xs2lrb5
You have to rename the splitted files for RMPrepUSB again to RMPrepUSB.part1.rar and RMPrepUSB.part2.rar after download.
diderius6 has attached files to this post

- ⇗ Bootfiles1.zip
- ⇗ RMPrepUSB.part1.rar
- ⇗ RMPrepUSB.part2.rar
- ⇗ XPviaFREELDRorNTLDR.pdf

#8045 | infuscomus | ⇗ @diderius6 I'll try your freeldr tutorial in a VM first to make sure I get it right before I try on real hardware. regarding that USB 3.0 driver you uploaded earlier, it seems to be the exact same backported windows 8.0 driver we have already, what is different about this one?

#8046

diderius6

⇗ @infuscomus
It is not the USB driver but the Kernel Mode Driver Framework 1.11 (updated) by MOV AX, 0xDEAD,
that you need to install before the USB driver
Dietmar
PS: The Tutorial will work in VM for sure, but interesting is in real:)) life.
EDIT: May be, that I missunderstand your question:
The USB3 driver from ⇗ @Mov AX, 0xDEAD from 5 May 2020 does not need any ntoskrn8.sys file.

#8047

Mov AX, 0xDEAD

Hi George King

> Zitat von ⇗ George King im Beitrag ¶ #8038

> Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
> - replace in vusbstor.sys (v6.1.7600.4002):
> page:000209B4: mov [ebp+SurpriseRemovalOK], ebx -> NOPs
> (89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF)

vusbstor.sys_x64 6.1.7600.4002 :
89 AC 24 84 00 00 00 -> 90 90 90 90 90 90 90

> Zitat von ⇗ George King im Beitrag ¶ #8038

> And I would also like to request missing informations for WDF 1.11. I would like to use ported WDF 1.11 with original XP ones to avoid unhandled problems with other drivers.
> In WdfLdr8.sys replace hex pattern F6 78 1B F6 to F6 EB 1B F6 (x32), ** ** to ** ** (x64)

wdfldr.sys_x64 1.11.9200.16384 :
85 FF 78 2A -> 85 FF EB 2A
i don't have any XP x64 installed now, hex patterns made by "copy&paste way", need to confirm working state

#8048

diderius6

⇗ @George King
I make small fun with the nice German XP.iso, that you make for me.
First I try to do the BCD install on a Fat32 partition. But then comes message,
that Install can only be done on a Ntfs partition.
So, first step of Install is done on a Ntfs partition.
Now comes fun: Before 2. step in Install, I change by hand the ntfs ==> Fat32, keeping all files and settings.
And voila, 2. step of Install continues, this time using freeldr.
Because I am not good in the syntax of freeldr.ini later in Setup it hangs,
but in principe it can be done;))
Dietmar

#8049 | infuscomus | ⇗ @diderius6 So I finally got around to testing that USB 3.0 driver you send me from May 2020 for the 149C controller. Unfortunately, the behavior is exactly the same with this driver as with the other drivers, no change.
#8050 | infuscomus | ⇗ @diderius6 If I send you a halmacpi.dll HAL built from XP SP1 source code can you test it to see if it works with XP SP3?

#8051

diderius6

⇗ @infuscomus
Are you sure, that no part from any other USB3 driver is still used?
There are crazy side effects.
For example I cant install the very last USB3 driver (I think, this is just now the best USB3 on the market) from ⇗ @daniel_k
without before installing the old AMD USB3 driver. Without I get message, that no compatible hardware(!) is found
Dietmar

#8052 | diderius6 | ⇗ @infuscomus I tested, this will not work, hal.dll only works together with its own ntoskrnl Dietmar

#8053

infuscomus

⇗ @diderius6
It was a new install, no existing USB 3.0 drivers present.
same result.
damn! I was hoping we could use source code to modify the HAL.
⇗ @Mov AX, 0xDEAD
Have you ever tried to modify the HAL?
I tried to make a HAL extender using your ntoskrnl extender project a little while ago. I recall it didn't work correctly since it did not use PMHalDispatchTable correctly - I suppose only the real HAL can do that?

#8054

diderius6

Hi,
I succeed to fake ntldr in Setup of XP with freeldr.sys and freeldr.ini.
But in GUI Setup, after I see for about 2 sec the running bar, comes Message

    SYSTEM_LICENSE_VIOLATION

    0x0000009A (0x00000000, 0x00000000, 0x00000000, 0x00690057)

This kind of message I never saw before
Dietmar
PS: In Internet I found, that this comes from registry. But I dont find. Also I dont find this Bsod with IDA Pro in ntoskrnl or in hal. Hm, where else can 0x0000009A be stored???
"In TD you must set "correct" value for your OS partition size." by Slobodan Brcin (eMVP)
This was for XP Embedded.
Oh.., I think I understand this. You have to use always the exact same partition during install of XP.
⇗

#8055 | diderius6 | ⇗ @infuscomus I hack hal.dll for always to use the onboard system clock in hal.dll from XP SP2 and XP SP3. At this point I see, that you cant mix those hals with different versions of XP Dietmar

## Page 538

#8056 | st1cky | ⇗ @diderius6 Do you know if its possible to do changes on Win10 Hal / ntoskrnl? Would like to change a function with a function from an older Win10 build. But hadn't figured out how to bypass the security check on Boot for Kernel Drivers.
#8057 | diderius6 | ⇗ @st1cky Dont know, if this tool ResourceHacker works also for Win10. For all XP versions it is like magic ). ⇗ www.angusj.com/resourcehacker Just open with ResourceHacker.exe the edited file and store it again Dietmar

#8058

st1cky

⇗ @diderius6
I dont think it will work.
It was easier back then, even with Win7, I think.
But under Windows 10, as far as I know, the kernel drivers must be digitally signed and the checksum must be adjusted after the modification.
And under the new Windows 10 versions, the hal.dll was even made smaller, I think there are only shortcuts in the file that can be found in ntoskrnl.
Maybe I'll deal with it again later. : D
Hal - 10.0.16299.15 - 460 KB (471.448 Bytes)
Hal - 10.0.19042.1237 - 16,7 KB (17.200 Bytes)

#8059

un user

> Zitat von ⇗ diderius6 im Beitrag ¶ #8054

> Hi,
> I succeed to fake ntldr in Setup of XP with freeldr.sys and freeldr.ini.
> But in GUI Setup, after I see for about 2 sec the running bar, comes Message

>     SYSTEM_LICENSE_VIOLATION

>     0x0000009A (0x00000000, 0x00000000, 0x00000000, 0x00690057)

> This kind of message I never saw before
> Dietmar
> PS: In Internet I found, that this comes from registry. But I dont find. Also I dont find this Bsod with IDA Pro in ntoskrnl or in hal. Hm, where else can 0x0000009A be stored???
> "In TD you must set "correct" value for your OS partition size." by Slobodan Brcin (eMVP)
> This was for XP Embedded.
> Oh.., I think I understand this. You have to use always the exact same partition during install of XP.

In Windows Embedded this also mean sistem license is incorrect.

#8060 | Tom33231 | How new of a system can windows xp work on I heard of people getting that os to work on haswell and ivy bridge system. If anything newer is possible let me know.

#8061

diderius6

⇗ @un user
Yes, you are right. I choose the identic partition but still get this error.
With Beyond Compare I make a Binary check between working install
and the one with Bsod 0x0000009A (0x00000000, 0x00000000, 0x00000000, 0x00690057).
Only the files in WINDOWS\System32\config
which means whole registry, are ALL different.
Now, the partition is identic, but still this crazy message.
Do you know, which file makes this Bsod?
It looks for me, that you know much more
Dietmar

#8062 | diderius6 | ⇗ @Tom33231 Until now I dont know any board, where XP SP3 not works Dietmar
#8063 | infuscomus | ⇗ @st1cky Looks like they moved the HAL into the ntoskrnl itself. hal.dll is empty now, just forwarded names.

#8064

diderius6

⇗ @un user
I also look with IDA Pro in winlogon.exe,
because from XP Embedded I know,
that nothing bad about License happens, when you change winlogon.exe against minlogon.exe.
But also in winlogon I dont find any information about
Bsod 0x0000009A (0x00000000, 0x00000000, 0x00000000, 0x00690057)
Now, only the hard way for me is left, put one file after the other into folder WINDOWS and boot until first time this message appears
Dietmar

#8065 | diderius6 | Now only freeldr.sys, freeldr.ini, ntkrnlpa.exe, hal.dll and folder config are left before GUI Setup of XP. Now, during load via freeldr, loading hangs at "system hive", but no error message is posted until now, Dietmar

#8066

infuscomus

⇗ @diderius6
My HAL build from source code works in XP!!
⇗ @Mov AX, 0xDEAD
Would you have any interest at all in making changes to the HAL source code?
like get our SP1 version to match SP3 version?
or add additional exports to the HAL for more functionality?
Using a modded HAL I would like to be able to use the Windows 8.0 acpi.sys with XP - Thanks to ⇗ @diderius6 it is proven at least possible with the Vista RTM version, if a bit unreliably.

#8067 | diderius6 | ⇗ @infuscomus Nice , what do you change in Hal.dll in sources from XP SP1, so that in works in XP SP3 Dietmar
#8068 | infuscomus | ⇗ @diderius6 That's the thing, I didn't change anything, I simply opened razzle and compiled inside XPSP1\base\hals and swapped the resulting halmacpi.dll and it works. The srv03rtm build however doesn't work in XP, maybe thats what you were thinking of?

#8069

un user

Hi Diderius
This happens when PID is wrong or when i forgot to copy weruntime.ini in root partition.
Also, if you use Minlogon you need to import following in registry, before system boot.

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    "Config"=dword:00000017

#8070 | diderius6 | ⇗ @infuscomus This can mean only one thing: The hal.dll build from SP1 sources is different to the normal SP1 hal.dll . Can you please send me your new build halmacpi.dll Dietmar

## Page 539

#8071

infuscomus

⇗ @diderius6
here.
infuscomus has attached files to this post

- ⇗ XPSP1HALFROMSOURCE.zip

#8072 | un user | Hi Diderius Tomorrow i will start to made some test in order to see exact steps for this error.
#8073 | diderius6 | ⇗ @infuscomus Waaooh, this Hal.dll from Sources SP1 from you also starts XP SP3, loaded via nvme and freeldr, to desktop Dietmar

#8074

diderius6

⇗ @un user
I am just building XP Gui boot from Scratch.
I can use boot via ntldr or via freeldr, so normal ntldr boot gives me always the hint,
which driver is still missed.
Interesting, you need more files than I thought just for to load System Hive from XP SP3
Dietmar

#8075

infuscomus

⇗ @diderius6
Now I'm hoping to add missing exports from Vista and later to XP HAL.
I think Vista acpi.sys from before failed because my psuedo h8l.sys put nothing in _PMHalDispatchTable
maybe modifying the real HAL will actually work.
⇗ @Mov AX, 0xDEAD
any interest in helping?

#8076 | isopc1999a | Asrock Z690 motherboards still have CSM Support ⇗ https://download.asrock.com/Manual/Z690%...hi.pdf#page=125
#8077 | infuscomus | ⇗ @isopc1999a Desktop PCs still have CSM, That's good to know. Intel NUC9 and later have dropped CSM, and as far as I know all the laptop manufactures have dropped CSM too.

#8078

diderius6

Yessa, I caught the Bsod 0xA9, which happens ONLY during setup with ntldr ==> freeldr modd
using the debug function from freeldr(!) during Setup of XP SP3 in GUI Mode (second stage)
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Wed Oct 27 20:34:14.468 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 (Service Pack 3) MP (4 procs) Free x86 compatible
>     Product: WinNt
>     Built by: 2600.xpsp_sp3_qfe.190108-0655
>     Machine Name:
>     Kernel base = 0x80400000 PsLoadedModuleList = 0x8048c4c0
>     Debug session time: Wed Oct 27 22:34:13.515 2021 (UTC + 2:00)
>     System Uptime: 0 days 0:00:01.890
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Wed Oct 27 20:34:16.718 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .....................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 9A, {0, 0, 0, 690057}

>     Probably caused by : ntkrnlmp.exe ( nt!ExpInitSystemPhase0+bcb )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     8040b9c2 cc              int     3
>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_LICENSE_VIOLATION (9a)
>     A violation of the software license agreement has occurred. This can be due to
>     either attempting to change the product type of an offline system, or an attempt
>     to change the trial period of an evaluation unit of Windows.
>     Arguments:
>     Arg1: 00000000, means that offline product type changes were attempted
>     Arg2: 00000000, if 1, product should be LanmanNT or ServerNT. If 0, should be WinNT
>     Arg3: 00000000, partial serial number
>     Arg4: 00690057, first two characters of product type from product options.

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x9A

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 8045f57f to 8040b9c2

>     STACK_TEXT:
>     f789e2d4 8045f57f 00000004 f771f408 00000000 nt!RtlpBreakWithStatusInstruction
>     f789e320 80460557 00000004 04000000 00690057 nt!KiBugCheckDebugBreak+0x19
>     f789e700 8046066a 0000009a 00000000 00000000 nt!KeBugCheck2+0xa75
>     f789e720 805fc6d8 0000009a 00000000 00000000 nt!KeBugCheckEx+0x1b
>     f789e838 805f2916 805dafe6 00000000 8e879950 nt!ExpInitSystemPhase0+0xbcb
>     f789e83c 805dafe6 00000000 8e879950 00000000 nt!ExInitSystemPhase2+0x5
>     f789edac 8049e828 80068000 00000000 00000000 nt!Phase1Initialization+0xa9b
>     f789eddc 804151a9 805da7bf 80068000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!ExpInitSystemPhase0+bcb
>     805fc6d8 cc              int     3

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!ExpInitSystemPhase0+bcb

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  5c34e27b

>     FAILURE_BUCKET_ID:  0x9A_nt!ExpInitSystemPhase0+bcb

>     BUCKET_ID:  0x9A_nt!ExpInitSystemPhase0+bcb

>     Followup: MachineOwner
>     ---------

#8079

diderius6

And this is the jump to death in ntoskrnl

    INIT:005DE6B9 loc_5DE6B9:
    ; CODE XREF: sub_5DDD58+1AF j
    INIT:005DE6B9                                         ; sub_5DDD58+1C5
    j ...
    INIT:005DE6B9                 push          9Ah             ; BugCheckCode
    INIT:005DE6BE                 call    _KeBugCheckEx@20 ; KeBugCheckEx(x,x,x,x,x)
    INIT:005DE6BE sub_5DDD58      endp

Hihi, this point of death loc_5DE6B9 is reached via jmp from 18(!), (with co-jumpers 24) positions in ntoskrnl ,
but from now soon not
Dietmar

#8080

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #8044

> Tutorial
> Booting XP via freeldr or ntldr

Very interesting!
Can freeldr also boot RAMDisk images?

#8081

diderius6

⇗ @NT5 forever
Yes. I think freeldr has whole functionality of ntldr, even more, for example Debug from only itself,
but I need more tests.
Just now I am working on those 18 places for to tell XP,
that even for Setup freeldr is a nice one^^
Dietmar

#8082

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #8073

> @infuscomus
> Waaooh, this Hal.dll from Sources SP1 from you also starts XP SP3, loaded via nvme and freeldr, to desktop
> Dietmar

Does it support PAE natively, so XP can see more than 4GB of RAM without patch?

#8083

NT5 forever

> Zitat von ⇗ diderius6 im Beitrag ¶ #8081

> @NT5 forever
> Yes. I think freeldr has whole functionality of ntldr, even more, for example Debug from only itself,
> but I need more tests.
> Just now I am working on those 18 places for to tell XP,
> that even for Setup freeldr is a nice one^^
> Dietmar

Fascinating. I've got a newish ASUS laptop with a NVME SSD and I wonder how difficult it would be to boot a RAMdisk image with a universal XP on that machine.

#8084 | NT5 forever | If only the ntldr of 64 bit XP could be modded to boot 32 bit XP.... I think that's the missing part of the puzzle.
#8085 | diderius6 | ⇗ @NT5 forever There is also a 64Bit Reactos version with its freeldr, Dietmar

## Page 540

#8086 | NT5 forever | That might be a better option because it's designed to target modern hardware.
#8087 | NT5 forever | Maybe someone could try to mod the 64 bit freeldr so it can boot 32 bit Reactos. That would probably be easier than modding ntldr.
#8088 | diderius6 | ⇗ @infuscomus Just for to know, can you test boot with freeldr on your board with critical USB Dietmar
#8089 | infuscomus | ⇗ @diderius6 I'm still going through your tutorial for how to set it up correctly. Can you image your freeldr bootable installation with paragon? I'll restore the image and try and boot from it.
#8090 | diderius6 | ⇗ @infuscomus Which step in the Tutorial you dont understand? To upload an image with Paragon is possible, but not sure if it works for you Dietmar

#8091

diderius6

⇗ @Mov AX, 0xDEAD
Is it possible to replace the call of ExpInitSystemPhase0
just with Boolean "True"?
And how to do this at the place where ExpInitSystemPhase0
is called in ntoskrnl
Dietmar

#8092

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #8066

> @Mov AX, 0xDEAD
> Would you have any interest at all in making changes to the HAL source code?
> like get our SP1 version to match SP3 version?
> or add additional exports to the HAL for more functionality?

Let imagine you have Win7/8 HAL and it works with sp3, then you try Win7/8' acpi.sys and it still not works, i dont see reason to convert hal if final point still not reached

#8093

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8091

> @Mov AX, 0xDEAD
> Is it possible to replace the call of ExpInitSystemPhase0
> just with Boolean "True"?
> And how to do this at the place where ExpInitSystemPhase0
> is called in ntoskrnl

to return Boolean:

    mov eax, 1
    ret xxx

xxx - amount of arguments of ExpInitSystemPhase0(if it is stdcall) *4

#8094

infuscomus

⇗ @Mov AX, 0xDEAD
I think this final point can be reached.
⇗ @diderius6 showed that XP can boot with Vista RTM acpi.sys - I think it was just my hack was too sloppy to be reliable.
edit:
⇗ @Mov AX, 0xDEAD here diderius6 got it working
¶ XP/W2k3 x86 on Modern Hardware (438)

#8095

diderius6

Until now I cant install XP using freeldr,
because it is crazy hard to overcome this BSOD in ntkrnlpa.exe

    BugCheck 9A, {0, 0, 0, 690057}
    Probably caused by : ntkrnlmp.exe ( nt!ExpInitSystemPhase0+bcb )

see post
¶ XP/W2k3 x86 on Modern Hardware (539)
I found 3 places, which belongs to this BSOD, so all together more than 50 pathes have to be modded
Dietmar
PS: No information in BSOD from where it comes. And also Windbg does not accept breakpoints before this crash.
And this Bsod happens very early in bootprocess, only in 2. Stage of XP Setup, GUI mode.

#8096

galagun

That's because freeldr doesn't implement the necessary code to set up certain structures used by ntoskrnl exinit.c and systime.c later. That code is used by text mode setup phase to set up license data, timebombs, update state and such, which ReactOS has no need on. You will trigger some strange errors if using FreeLDR to boot setup phases.
More about systime and exinit:
⇗ https://tinyurl.com/build-win2k3

#8097

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8093

> > Zitat von ⇗ diderius6 im Beitrag ¶ #8091

> > @Mov AX, 0xDEAD
> > Is it possible to replace the call of ExpInitSystemPhase0
> > just with Boolean "True"?
> > And how to do this at the place where ExpInitSystemPhase0
> > is called in ntoskrnl

> to return Boolean:

>     mov eax, 1
>     ret xxx

> xxx - amount of arguments of ExpInitSystemPhase0(if it is stdcall) *4

How is the code in hex?

#8098

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #8095

> Until now I cant install XP using freeldr,
> because it is crazy hard to overcome this BSOD in ntkrnlpa.exe

>     BugCheck 9A, {0, 0, 0, 690057}
>     Probably caused by : ntkrnlmp.exe ( nt!ExpInitSystemPhase0+bcb )

> see post
> ¶ XP/W2k3 x86 on Modern Hardware (539)
> I found 3 places, which belongs to this BSOD, so all together more than 50 pathes have to be modded
> Dietmar
> PS: No information in BSOD from where it comes. And also Windbg does not accept breakpoints before this crash.
> And this Bsod happens very early in bootprocess, only in 2. Stage of XP Setup, GUI mode.

Do you trying use freeldr or setupldr?

#8099

diderius6

⇗ @skullteria
For TXT Setup I use normal ntldr.
And for GUI Setup I use freeldr.
When I see the post from ⇗ @galagun
¶ XP/W2k3 x86 on Modern Hardware (540)
I do not think that it is impossible to use freeldr for everything.
So maybe it is worth a try, to look at the boot and install process of Reactos very close
Dietmar
EDIT: Just an idea: Change the whole registry from XP after TXT Setup against the registry from Reactos, also after TXT Setup.
And with outstanding Reactos edit via loading Hive all ReactOS ==> WINDOWS in this Registry.

#8100

diderius6

⇗ @Mov AX, 0xDEAD
For to give always the Boolean "True" as answer from the function ExpInitSystemPhase0,
is this changing at its end correct?
Original

    loc_5DDD46:
    mov     al, [ebp+var_1]     (is here in Hex 8A 45 FF  as can be seen via IDA Pro)
    pop     edi
    pop     esi
    pop     ebx
    leave
    retn
    _ExpInitSystemPhase0@0 endp

===>
MOD

    loc_5DDD46:
    mov     al, 1    (is in Hex B0 01 90)
    nop
    pop     edi
    pop     esi
    pop     ebx
    leave
    retn
    _ExpInitSystemPhase0@0 endp

Dietmar

## Page 541

#8101 | un user | ⇗ @diderius6 Maybe information about Product Key is not entered in registry ? You could try to start setup from Windows installation and replace ntldr with freeldr before restart to see if works. Or Copy registry key with activation from ntldr installation in to registry from freeldr installation (or whole SYSTEM).

#8102

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #8099

> @skullteria
> For TXT Setup I use normal ntldr.
> And for GUI Setup I use freeldr.
> When I see the post from @galagun
> ¶ XP/W2k3 x86 on Modern Hardware (540)
> I do not think that it is impossible to use freeldr for everything.
> So maybe it is worth a try, to look at the boot and install process of Reactos very close
> Dietmar
> EDIT: Just an idea: Change the whole registry from XP after TXT Setup against the registry from Reactos, also after TXT Setup.
> And with outstanding Reactos edit via loading Hive all ReactOS ==> WINDOWS in this Registry.

Have a way to use freeldr with BCD? I want intregate it with Vista+ setup engine.

#8103 | diderius6 | ⇗ @skullteria You need to describe "to use freeldr with BCD" a little bit more. Should this be a dual boot freeldr and BCD as in your Tutorial for BCD boot of XP, with MBR from Vista Dietmar

#8104

diderius6

I found the exact place in ntkrnlpa.exe for Bsod when try to setup XP with freeldr

    .text:0046F228 ; =============== S U B R O U T I N E =======================================
    .text:0046F228
    .text:0046F228
    .text:0046F228 ; __stdcall KiThreadStartup(x)
    .text:0046F228 _KiThreadStartup@4 proc near            ; DATA XREF: KiInitializeContextThread(x,x,x,x,x)+22E↑o
    .text:0046F228                 xor     ebx, ebx
    .text:0046F22A                 xor     esi, esi
    .text:0046F22C                 xor     edi, edi
    .text:0046F22E                 xor     ebp, ebp
    .text:0046F230                 mov     ecx, 1
    .text:0046F235                 call    ds:__imp_@KfLowerIrql@4 ; KfLowerIrql(x)
    .text:0046F23B                 pop     eax
    .text:0046F23C                 call    eax  ===> Here you can set Breakpoint bp 804151a7 ,

because in real compi it is

    nt!KiThreadStartup+0x14:
    804151a7 ffd0            call    eax                                     The content of EAX at this point is 8049e7f4

when you hit `t`, EIP jumps to this adress, but it is an endless loop from there, I run it for 2 hours.

    .text:0046F23E                   pop     ecx ==>          This line was never reached via Windbg (it is 804151a9   on real compi)
    .text:0046F23F                 or      ecx, ecx
    .text:0046F241                 jz      short loc_46F24A
    .text:0046F243                 mov     ebp, esp
    .text:0046F245                 jmp     _KiServiceExit2
    .text:0046F24A ; ---------------------------------------------------------------------------
    .text:0046F24A

When you type `"p"` after this Breakpoint, at once you get

    nt!KiThreadStartup+0x14:
    804151a7 ffd0            call    eax
    kd> p

    *** Fatal System Error: 0x0000009a
                                                 (0x00000000,0x00000000,0x00000000,0x00690057)

Dietmar
PS: Interesting, a lot of drivers are already loaded at this point from freeldr during GUI Setup of XP before Bsod.

    3: kd> lm
    start    end        module name
    80301000 80321d80   hal        (deferred)
    80400000 80629000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\2070D15C611B40BDA93F5F7F12CAC76C2\ntkrnlmp.pdb
    f6fff000 f702ba80   NDIS       (deferred)
    f702c000 f7042b80   KSecDD     (deferred)
    f7043000 f7106400   dmboot     (deferred)
    f7107000 f73bc000   iaStor     (deferred)
    f73bc000 f73e1700   dmio       (deferred)
    f73e2000 f7400880   Ftdisk     (deferred)
    f7401000 f7411a80   PCI        (deferred)
    f7412000 f7441d80   ACPI       (deferred)
    f7442000 f7465180   fastfat    (deferred)
    f7487000 f7490180   isapnp     (deferred)
    f7497000 f74a1700   MountMgr   (deferred)
    f74a7000 f74b2000   PartMgr    (deferred)
    f74b7000 f74c3c80   VolSnap    (deferred)
    f74c7000 f74d3180   CLASSPNP   (deferred)
    f74d7000 f74e7000   Disk       (deferred)
    f7707000 f770f000   mvxxmm     (deferred)
    f770f000 f7715800   firadisk   (deferred)
    f7717000 f771f000   mv61xxmm   (deferred)
    f771f000 f7727000   mv64xxmm   (deferred)
    f7897000 f789a000   BOOTVID    (deferred)
    f7987000 f7988b80   kdcom      (deferred)
    f7989000 f798a100   WMILIB     (deferred)
    f798b000 f798c700   dmload     (deferred)

#8105

skullteria

> Zitat von ⇗ diderius6 im Beitrag ¶ #8103

> @skullteria
> You need to describe "to use freeldr with BCD" a little bit more.
> Should this be a dual boot freeldr and BCD as in your Tutorial for BCD boot of XP, with MBR from Vista
> Dietmar

BCD works with entries,like:
1. Entry for winload, natively on Vista+;
2: Pre-Vista entry, for ntldr
I want know if has entry for freeldr, maybe Pre-Vista entry works, but, i don't know

#8106

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8100

>     loc_5DDD46:
>     mov     al, [ebp+var_1]             (is here in Hex 8A 45 FF  as can be seen via IDA Pro)

>     MOD
>     loc_5DDD46:
>     mov     al, 1    ; B0 01
>     nop                ; 90

Yes, it is right, BOOLEAN fit to AL, no need set full EAX reg

#8107

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #8094

> @Mov AX, 0xDEAD
> I think this final point can be reached.
> @diderius6 showed that XP can boot with Vista RTM acpi.sys - I think it was just my hack was too sloppy to be reliable.
> ¶ XP/W2k3 x86 on Modern Hardware (438)

Oh, seems i missed this info
Why this vista's acpi.sys didn't become a substitute of previouis v6666/v5048 ?

#8108

diderius6

⇗ @Mov AX, 0xDEAD
"Why this vista's acpi.sys didn't become a substitute of previouis v6666/v5048 ?"
Because it was not stable. I think, the problem is "only" in loading the correct tables at the right time.
Nice work from ⇗ @infuscomus .
I got it 3 times to start and everything works for me under XP SP3 with this acpi.sys from Vista
Dietmar
PS: I read, that you think that it is not possible, to use the USB3 driver from Win8.1 .
Why? Because a really big step forward would be to mod drivers from Win8.1 for XP,
also acpi.sys better to have from Win8.1 .

#8109

diderius6

This happens,
when I start GUI Setup from XP via freeldr.sys and the WINDOWS\System32\config folder from Reactos 0.415 .
VERY similar to the boot of full XP GUI Setup via freeldr, may be just enough to change also ntoskrnl und hal
Dietmar

>     Breakpoint 0 hit
>     nt!KiThreadStartup+0x14:
>     804151a7 ffd0              call    eax
>     2: kd> p

>     *** Fatal System Error: 0x00000074
>                                                  (0x00000003,0x00000002,0x80068000,0xC000014C)

>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Fri Oct 29 19:07:36.437 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .....................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 74, {3, 2, 80068000, c000014c}

>     Probably caused by : ntkrnlmp.exe ( nt!CmpInitializeSystemHive+130 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     8040b9c2 cc              int     3
>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     BAD_SYSTEM_CONFIG_INFO (74)
>     Can indicate that the SYSTEM hive loaded by the osloader/NTLDR
>     was corrupt.  This is unlikely, since the osloader will check
>     a hive to make sure it isn't corrupt after loading it.
>     It can also indicate that some critical registry keys and values
>     are not present.  (i.e. somebody used regedt32 to delete something
>     that they shouldn't have)  Booting from LastKnownGood may fix
>     the problem, but if someone is persistent enough in mucking with
>     the registry they will need to reinstall or use the Emergency
>     Repair Disk.
>     Arguments:
>     Arg1: 00000003, (reserved)
>     Arg2: 00000002, (reserved)
>     Arg3: 80068000, (reserved)
>     Arg4: c000014c, usually the NT status code.

>     Debugging Details:
>     ------------------

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x74

>     PROCESS_NAME:  System

>     LAST_CONTROL_TRANSFER:  from 8045f57f to 8040b9c2

>     STACK_TEXT:
>     f789e37c 8045f57f 00000003 f789e6d8 00000000 nt!RtlpBreakWithStatusInstruction
>     f789e3c8 80460056 00000003 00000001 80069000 nt!KiBugCheckDebugBreak+0x19
>     f789e7a8 8046066a 00000074 00000003 00000002 nt!KeBugCheck2+0x574
>     f789e7c8 805fd06c 00000074 00000003 00000002 nt!KeBugCheckEx+0x1b
>     f789e7fc 805f3b98 80068000 00034000 c1064000 nt!CmpInitializeSystemHive+0x130
>     f789e838 805daf11 80068000 00000000 8e87cda0 nt!CmInitSystem1+0x274
>     f789edac 8049e828 80068000 00000000 00000000 nt!Phase1Initialization+0x84a
>     f789eddc 804151a9 805da7bf 80068000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!CmpInitializeSystemHive+130
>     805fd06c 32c0            xor     al,al

>     SYMBOL_STACK_INDEX:  4

>     SYMBOL_NAME:  nt!CmpInitializeSystemHive+130

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  5c34e27b

>     FAILURE_BUCKET_ID:  0x74_nt!CmpInitializeSystemHive+130

>     BUCKET_ID:  0x74_nt!CmpInitializeSystemHive+130

>     Followup: MachineOwner
>     ---------

>     3: kd> lm
>     start    end        module name
>     80224000 80244d80   hal        (deferred)
>     80400000 80629000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\2070D15C611B40BDA93F5F7F12CAC76C2\ntkrnlmp.pdb
>     f735c000 f7388a80   ndis       (deferred)
>     f7389000 f73ab700   ks         (deferred)
>     f73ac000 f73c5e80   mup        (deferred)
>     f73c6000 f73dcb80   ksecdd     (deferred)
>     f73dd000 f73eda80   pci        (deferred)
>     f73ee000 f7411300   USBPORT    (deferred)
>     f7412000 f7441d80   acpi       (deferred)
>     f7442000 f7465180   fastfat    (deferred)
>     f7487000 f7490180   isapnp     (deferred)
>     f7497000 f74a2000   partmgr    (deferred)
>     f74a7000 f74b5880   usbhub     (deferred)
>     f74b7000 f74c3180   CLASSPNP   (deferred)
>     f74c7000 f74d1700   mountmgr   (deferred)
>     f74d7000 f74e7000   disk       (deferred)
>     f7707000 f770e700   usbehci    (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c500   USBD       (deferred)
>     f798d000 f798e100   swenum     (deferred)

>     Yepp, this Bsod 0x74 (3, 2, yyy, zzz) happens in ntkrnlpa.exe of XP SP3 at

>     INIT:005E290C

>     INIT:005E290C loc_5E290C: ; CODE XREF: CmpInitializeSystemHive(x)+84 j
>     INIT:005E290C                 push    8               ; int
>     INIT:005E290E                 push    offset _CmpSystemFileName ; int
>     INIT:005E2913                 push    ebx             ; int
>     INIT:005E2914                 push    ebx             ; int
>     INIT:005E2915                 push    ebx             ; FileHandle
>     INIT:005E2916                 push    esi             ; int
>     INIT:005E2917                 push    edi             ; int
>     INIT:005E2918                 push    2               ; int
>     INIT:005E291A                 push    edi             ; int
>     INIT:005E291B                 push    eax             ; int
>     INIT:005E291C                 call    _CmpInitializeHive@40 ; CmpInitializeHive(x,x,x,x,x,x,x,x,x,x)
>     INIT:005E2921                 cmp     eax, ebx
>     INIT:005E2923                                                 jge     short loc_5E292D
>     INIT:005E2925                 push    eax
>     INIT:005E2926                 push    [ebp+Object]
>     INIT:005E2929                                                 push    2
>     INIT:005E292B                                                 jmp     short loc_5E2965
>     INIT:005E292D ; ---------------------------------------------------------------------------
>     INIT:005E292D

>     .
>     .
>     .

>     INIT:005E2965
>     INIT:005E2965 loc_5E2965:
>     ; CODE XREF: CmpInitializeSystemHive(x)+53 j
>     INIT:005E2965 ;
>     CmpInitializeSystemHive(x)+C7 j
>     INIT:005E2965                 push    3               ; BugCheckParameter1
>     INIT:005E2967                 push    74h             ; BugCheckCode
>     INIT:005E2969                 call    _KeBugCheckEx@20 ; KeBugCheckEx(x,x,x,x,x)
>     INIT:005E296E ; ---------------------------------------------------------------------------
>     INIT:005E296E

#8110

diderius6

⇗ @skullteria
I install XP SP3 new on the Asus P8H77-M board on a FAT32 partition.
There I install BCD MBR via easybcd_1.7.2.exe and BOOTICEx86.exe for the PE entry after nice tip from ⇗ @George King .
BCD boot from Vista for XP is with your boot files.
Now I can boot XP via ntldr there or via bootmgr.
bootmgr with winload is a little bit faster than ntldr.
Now I try to integrate in the boot menu also freeldr
Dietmar
PS: Long time ago I wrote Tutorial, how to install Vista on a Fat32 partition. It is still avaible on MSFN.
⇗

#8111

diderius6

⇗ @skullteria
This was easy,
oh..
soso much fun. 3 bootloaders work for XP.
Dietmar
PS: Fastest boot of XP is via freeldr. Then comes BCD and then ntldr.
From feeling is the very best of them freeldr. It can find also crazy Arcpaths.
ntldr is generic.
BCD can boot some crazy compis with XP but has a lot of bad side effects, for example when you modd hal.dll it cries, that hal.dll is not valid. And from >=Skylake compis BCD boot works only for cpu <= Celeron.
⇗

#8112 | diderius6 | ⇗ @infuscomus I noticed, that from your nice hal.dll from SP1 you dont need the Timer hack, because this hal always uses the System clock Dietmar
#8113 | infuscomus | ⇗ @diderius6 I wonder what other differences there are between the XP SP1 and SP3 HAL?

#8114

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8108

> PS: I read, that you think that it is not possible, to use the USB3 driver from Win8.1 .

i never wrote this. if someone will implement "new timer api" you'l get usb3

#8115

diderius6

⇗ @Mov AX, 0xDEAD
"if someone will implement "new timer api" you'l get usb3"
Until now, I have no idea how to make this.
But I can learn a lot, so.. if there is a chance to integrate more drivers from Win8.1 into XP..
Very much I am interested in Lan driver i219.
Because with this driver, all can work with coming z690 boards under XP
Dietmar
PS: XP is more than fun. How much time you can save in daily work with an rocksolid OS.
I remember October 2009, when Win7 was on the market: I simply compare Skype from Win7 with Skype from XP.
This experiance was the reason, why I never install Win7 for use.

## Page 542

#8116

infuscomus

⇗ @diderius6
Attempting again with Vista RTM acpi.sys
This will give a 7E BSOD - is the point of failure still in ACPIFindLoadRSDT? or has it changed?
infuscomus has attached files to this post

- ⇗ diderius6-vistartm-acpisys-31oct2021-1.7z.zip

#8117

diderius6

⇗ @infuscomus

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 18:45:38.281 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp_sp3_qfe.190108-0655
>     Machine Name:
>     Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
>     System Uptime: not available
>     MM: Loader/HAL memory block indicates large pages cannot be used for 81448000->828B8FFF
>     MM: Disabling large pages for all ranges due to overlap

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x8A846F44,0xF789E0AC,0xF789DDA8)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 18:45:44.718 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ..........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, 8a846f44, f789e0ac, f789dda8}

>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     Probably caused by : ntkrnlmp.exe ( nt!IopQueryDeviceResources+79 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     804e29c2 cc              int     3
>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: 8a846f44, The address that the exception occurred at
>     Arg3: f789e0ac, Exception Record Address
>     Arg4: f789dda8, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0
>     *** No owner thread found for resource 805614e0

>     EXCEPTION_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     +1782faf00c0dfc0
>     8a846f44 0000            add     byte ptr [eax],al

>     EXCEPTION_RECORD:  f789e0ac -- (.exr 0xfffffffff789e0ac)
>     ExceptionAddress: 8a846f44
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000001
>        Parameter[1]: 08a846a9
>     Attempt to write to address 08a846a9

>     CONTEXT:  f789dda8 -- (.cxr 0xfffffffff789dda8)
>     eax=08a846a9 ebx=00000001 ecx=e1009780 edx=e1009758 esi=e13c7628 edi=00000000
>     eip=8a846f44 esp=f789e174 ebp=8a84aa38 iopl=0         nv up ei pl zr na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
>     8a846f44 0000            add     byte ptr [eax],al          ds:0023:08a846a9=??
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     PROCESS_NAME:  System

>     ERROR_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000001

>     EXCEPTION_PARAMETER2:  08a846a9

>     WRITE_ADDRESS:  08a846a9

>     FOLLOWUP_IP:
>     nt!IopQueryDeviceResources+79
>     805a734f 8bf8            mov     edi,eax

>     FAILED_INSTRUCTION_ADDRESS:
>     +1782faf00c0dfc0
>     8a846f44 0000            add     byte ptr [eax],al

>     BUGCHECK_STR:  0x7E

>     LOCK_ADDRESS:  80561560 -- (!locks 80561560)

>     Resource @ nt!IopDeviceTreeLock (0x80561560)    Shared 1 owning threads
>          Threads: 8a867780-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0x80561560
>     	Thread Count  : 1
>     	Thread address: 0x8a867780
>     	Thread wait   : 0x4d

>     LAST_CONTROL_TRANSFER:  from 8053657f to 804e29c2

>     STACK_TEXT:
>     WARNING: Frame IP not in any known module. Following frames may be wrong.
>     f789e178 80717f9d 8a846aa8 8a84aa54 8a84aacc 0x8a846f44
>     f789e1cc 805a734f 8a846aa8 f789e220 f789e278 hal!HalGetAdapter+0x1583
>     f789e248 805aa4f6 8a846aa8 00000000 f789e278 nt!IopQueryDeviceResources+0x79
>     f789e27c 805a8685 8a8843c8 80000048 8a849140 nt!PiQueryAndAllocateBootResources+0x34
>     f789e36c 805a9022 8a8843c8 8a849140 8a84a768 nt!PipProcessNewDeviceNode+0xab5
>     f789e5c0 805a4079 8a84a768 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
>     f789e5f4 80505ed6 00000003 80561598 00000000 nt!PiProcessReenumeration+0x60
>     f789e61c 80510c13 00000000 80085000 00000000 nt!PipDeviceActionWorker+0x170
>     f789e634 806c1b58 8a84aca8 00000009 00000000 nt!PipRequestDeviceAction+0x118
>     f789e690 806b0f8c 80085001 8000003c 00034000 nt!IopInitializePlugPlayServices+0x647
>     f789e838 806b2012 80085000 00000000 8a867780 nt!IoInitSystem+0x6ea
>     f789edac 80575828 80085000 00000000 00000000 nt!Phase1Initialization+0xac7
>     f789eddc 804ec1a9 806b17bf 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  2

>     SYMBOL_NAME:  nt!IopQueryDeviceResources+79

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  5c34e27b

>     STACK_COMMAND:  .cxr 0xfffffffff789dda8 ; kb

>     FAILURE_BUCKET_ID:  0x7E_BAD_IP_nt!IopQueryDeviceResources+79

>     BUCKET_ID:  0x7E_BAD_IP_nt!IopQueryDeviceResources+79

>     Followup: MachineOwner
>     ---------

>     3: kd> lm
>     start    end        module name
>     804d7000 80700000   nt         (pdb symbols)          c:\symbols\ntkrnlmp.pdb\2070D15C611B40BDA93F5F7F12CAC76C2\ntkrnlmp.pdb
>     80700000 8071fc00   hal        (export symbols)       halmacpi.dll
>     ba44e000 ba467e80   Mup        (deferred)
>     ba468000 ba494a80   NDIS       (deferred)
>     ba495000 ba4abb80   KSecDD     (deferred)
>     ba4ac000 ba4cf180   Fastfat    (deferred)
>     ba4d0000 ba4e1f00   sr         (deferred)
>     ba4e2000 ba501b00   fltMgr     (deferred)
>     ba502000 ba54b000   storport   (deferred)
>     ba54b000 ba800000   iaStor     (deferred)
>     f747a000 f749f700   dmio       (deferred)
>     f74a0000 f74be880   ftdisk     (deferred)
>     f755f000 f756fa80   pci        (deferred)
>     f7570000 f7592700   ntoskrn8   (deferred)
>     f7593000 f75d6000   ACPI       (deferred)
>     f75f7000 f7600180   isapnp     (deferred)
>     f7607000 f7611700   MountMgr   (deferred)
>     f7617000 f7622000   PartMgr    (deferred)
>     f7627000 f7633c80   VolSnap    (deferred)
>     f7637000 f7645000   stornvme   (deferred)
>     f7647000 f7657000   disk       (deferred)
>     f7657000 f7663180   CLASSPNP   (deferred)
>     f7707000 f770d800   firadisk   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)

#8118 | infuscomus | ⇗ @diderius6 so failure does not occur in acpi.sys but in ntkrnlmp.exe?
#8119 | diderius6 | ⇗ @infuscomus It looks like an address error, I test some more with Windbg, what the register values are at 8a846f44 Dietmar

#8120

diderius6

⇗ @infuscomus
This Bsod before happens because of the now not working nvme driver with this modded ntkrnl8.
So, it means nothing. Here is new
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 19:52:04.406 2021 (UTC + 2:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.xpsp.080413-2133
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
>     System Uptime: not available

>     *** Fatal System Error: 0x00000079
>                                                  (0x00000002,0x00000001,0x00000000,0x00000000)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 19:52:06.703 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 79, {2, 1, 0, 0}

>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for halmacpi.dll -
>     Probably caused by : ntkrpamp.exe ( nt!ExpInitializeExecutive+171 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     MISMATCHED_HAL (79)
>     The HAL revision level and HAL configuration type does not match that
>     of the kernel or the machine type.  This would probably happen if the
>     user has manually updated either ntoskrnl.exe or hal.dll and managed to
>     get a conflict.
>     You have an MP (multi-processor) Hal and a UP (uni-processor) Kernel,
>     or the reverse.
>     Arguments:
>     Arg1: 00000002,
>     	The build types mismatch.
>     Arg2: 00000001, Build type of ntoskrnl.exe
>     Arg3: 00000000, Build type of hal.dll
>     	Build type
>     	0 = Free multiprocessor enabled build
>     	1 = Checked multiprocessor enabled build
>     	2 = Free uniprocessor build
>     	3 = checked uniprocessor build
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     BUGCHECK_STR:  0x79_2

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     80af1ef0 80a30d7b 00000003 80af224c 00000000 nt!RtlpBreakWithStatusInstruction
>     80af1f3c 80a319e6 00000003 000000ff ffdff120 nt!KiBugCheckDebugBreak+0x19
>     80af231c 80a31f77 00000079 00000002 00000001 nt!KeBugCheck2+0x574
>     80af233c 8007ea22 00000079 00000002 00000001 nt!KeBugCheckEx+0x1b
>     WARNING: Stack unwind information not available. Following frames may be wrong.
>     80af2368 80d2ff9f 00000000 80085000 80afe260 hal!HalInitSystem+0x64
>     80af24f8 80d41cd4 00000000 80085000 8003fc00 nt!ExpInitializeExecutive+0x171
>     80af254c 80d3f6ec 80afe4c0 80afe260 80af2810 nt!KiInitializeKernel+0x568
>     00000000 00000000 00000000 00000000 00000000 nt!KiSystemStartup+0x2c4

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!ExpInitializeExecutive+171
>     80d2ff9f 84c0            test    al,al

>     SYMBOL_STACK_INDEX:  5

>     SYMBOL_NAME:  nt!ExpInitializeExecutive+171

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     FAILURE_BUCKET_ID:  0x79_2_nt!ExpInitializeExecutive+171

>     BUCKET_ID:  0x79_2_nt!ExpInitializeExecutive+171

>     Followup: MachineOwner
>     ---------

>     kd> lm
>     start    end        module name
>     80001000 80004000   BOOTVID    (deferred)
>     80007000 80008100   WMILIB     (deferred)
>     80009000 8000f800   firadisk   (deferred)
>     80010000 80011b80   kdcom      (deferred)
>     80012000 8001b180   isapnp     (deferred)
>     8001c000 8001d700   dmload     (deferred)
>     80062000 80081c00   hal        (export symbols)       halmacpi.dll
>     80124000 80167000   ACPI       (deferred)
>     80167000 80189700   ntoskrn8   (deferred)
>     8018a000 8019aa80   pci        (deferred)
>     8019b000 801a5700   MountMgr   (deferred)
>     801a6000 801c4880   ftdisk     (deferred)
>     801c5000 801ea700   dmio       (deferred)
>     801eb000 801f6000   PartMgr    (deferred)
>     801f6000 80202c80   VolSnap    (deferred)
>     80203000 80213000   disk       (deferred)
>     80213000 8021f180   CLASSPNP   (deferred)
>     80220000 8023fb00   fltMgr     (deferred)
>     80240000 80251f00   sr         (deferred)
>     80252000 80268b80   KSecDD     (deferred)
>     80269000 802f5d00   Ntfs       (deferred)
>     802f6000 80322a80   NDIS       (deferred)
>     80323000 8033ce80   Mup        (deferred)
>     804d7000 8078c000   iaStor     (deferred)
>     80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb

#8121 | infuscomus | ⇗ @diderius6 I see MISMATCHED_HAL (79) I gave you a free build HAL, not a checked build.
#8122 | diderius6 | ⇗ @infuscomus yepp

#8123

infuscomus

⇗ @diderius6
OK, here is checked HAL.
infuscomus has attached files to this post

- ⇗ chkhal.7z.zip

#8124

diderius6

⇗ @infuscomus

>     nt!SwapContext+0x130:
>     80ae3c20 890b            mov     dword ptr [ebx],ecx
>     kd> p
>     nt!SwapContext+0x132:
>     80ae3c22 807e4900        cmp     byte ptr [esi+49h],0
>     kd> p
>     nt!SwapContext+0x136:
>     80ae3c26 7504            jne     nt!SwapContext+0x13c (80ae3c2c)
>     kd> p
>     nt!SwapContext+0x138:
>     80ae3c28 9d              popfd
>     kd> p
>     nt!SwapContext+0x139:
>     80ae3c29 33c0            xor     eax,eax
>     kd> p
>     nt!SwapContext+0x13b:
>     80ae3c2b c3              ret
>     kd> p
>     nt!KiThreadStartup:
>     80ae41fc 33db            xor     ebx,ebx
>     kd> p
>     nt!KiThreadStartup+0x2:
>     80ae41fe 33f6            xor     esi,esi
>     kd> p
>     nt!KiThreadStartup+0x4:
>     80ae4200 33ff            xor     edi,edi
>     kd> p
>     nt!KiThreadStartup+0x6:
>     80ae4202 33ed            xor     ebp,ebp
>     kd> p
>     nt!KiThreadStartup+0x8:
>     80ae4204 b901000000      mov     ecx,1
>     kd> p
>     nt!KiThreadStartup+0xd:
>     80ae4209 ff153030a080    call    dword ptr [nt!_imp_KfLowerIrql (80a03030)]
>     kd> p
>     nt!KiThreadStartup+0x13:
>     80ae420f 58              pop     eax
>     kd> p
>     nt!KiThreadStartup+0x14:
>     80ae4210 ffd0            call    eax
>     kd> p
>     PS: Unhandled Kernel Mode Exception Pointers = 0xBA4C2BD4
>     Code c0000005 Addr 8ABF7ED0 Info0 00000000 Info1 00000000 Info2 00000000 Info3 BA4C3118

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x8ABF7ED0,0xBA4C3088,0xBA4C2D84)

>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 20:22:33.687 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, 8abf7ed0, ba4c3088, ba4c2d84}

>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     Probably caused by : ntkrpamp.exe ( nt!IopSynchronousCall+f0 )

>     Followup: MachineOwner
>     ---------

#8125 | infuscomus | ⇗ @diderius6 Maybe it is not possible to use ntoskrnl_extender at all for acpi.sys? I may have to try with a custom ntoskrnl too.
#8126 | infuscomus | ⇗ @diderius6 Do you remember how you found the error in ACPIFindLoadRSDT last time around? you're sure there is not still an error acpi.sys?

#8127

diderius6

⇗ @infuscomus
At the moment compi seems to hang at this
after I set Breakpoint

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     kd> g
>     Breakpoint 0 hit
>     nt!KiThreadStartup+0xd:
>     80ae4209 ff153030a080    call    dword ptr [nt!_imp_KfLowerIrql (80a03030)]
>     kd> p
>     nt!KiThreadStartup+0x13:
>     80ae420f 58              pop     eax
>     kd> p
>     nt!KiThreadStartup+0x14:
>     80ae4210 ffd0            call    eax
>     kd> t
>     nt!PspSystemThreadStartup:
>     80bd8178 6a08            push    8
>     kd> t
>     nt!PspSystemThreadStartup+0x2:
>     80bd817a 68d861a080      push    offset nt!`string'+0x30 (80a061d8)
>     kd> t
>     nt!PspSystemThreadStartup+0x7:
>     80bd817f e8ac04f0ff      call    nt!_SEH_prolog (80ad8630)
>     kd> t
>     nt!_SEH_prolog:
>     80ad8630 686065ad80      push    offset nt!_except_handler3 (80ad6560)
>     kd> t
>     nt!_SEH_prolog+0x5:
>     80ad8635 64a100000000    mov     eax,dword ptr fs:[00000000h]
>     kd> t
>     nt!_SEH_prolog+0xb:
>     80ad863b 50              push    eax
>     kd> t
>     nt!_SEH_prolog+0xc:
>     80ad863c 8b442410        mov     eax,dword ptr [esp+10h]
>     kd> t
>     nt!_SEH_prolog+0x10:
>     80ad8640 896c2410        mov     dword ptr [esp+10h],ebp
>     kd> t
>     nt!_SEH_prolog+0x14:
>     80ad8644 8d6c2410        lea     ebp,[esp+10h]
>     kd> t
>     nt!_SEH_prolog+0x18:
>     80ad8648 2be0            sub     esp,eax
>     kd> t
>     nt!_SEH_prolog+0x1a:
>     80ad864a 53              push    ebx
>     kd> t
>     nt!_SEH_prolog+0x1b:
>     80ad864b 56              push    esi
>     kd> t
>     nt!_SEH_prolog+0x1c:
>     80ad864c 57              push    edi
>     kd> t
>     nt!_SEH_prolog+0x1d:
>     80ad864d 8b45f8          mov     eax,dword ptr [ebp-8]
>     kd> t
>     nt!_SEH_prolog+0x20:
>     80ad8650 8965e8          mov     dword ptr [ebp-18h],esp
>     kd> t
>     nt!_SEH_prolog+0x23:
>     80ad8653 50              push    eax
>     kd> t
>     nt!_SEH_prolog+0x24:
>     80ad8654 8b45fc          mov     eax,dword ptr [ebp-4]
>     kd> t
>     nt!_SEH_prolog+0x27:
>     80ad8657 c745fcffffffff  mov     dword ptr [ebp-4],0FFFFFFFFh
>     kd> t
>     nt!_SEH_prolog+0x2e:
>     80ad865e 8945f8          mov     dword ptr [ebp-8],eax
>     kd> t
>     nt!_SEH_prolog+0x31:
>     80ad8661 8d45f0          lea     eax,[ebp-10h]
>     kd> t
>     nt!_SEH_prolog+0x34:
>     80ad8664 64a300000000    mov     dword ptr fs:[00000000h],eax
>     kd> t
>     nt!_SEH_prolog+0x3a:
>     80ad866a c3              ret
>     kd> t
>     nt!PspSystemThreadStartup+0xc:
>     80bd8184 e84964e9ff      call    nt!MmAllowWorkingSetExpansion (80a6e5d2)
>     kd> t
>     nt!MmAllowWorkingSetExpansion:
>     80a6e5d2 8bff            mov     edi,edi
>     .
>     .
>     .

>     kd> t
>     hal!HalStartNextProcessor+0x278e:
>     801189ee 7533            jne     hal!HalStartNextProcessor+0x27c3 (80118a23)
>     kd> t
>     hal!HalStartNextProcessor+0x27c3:
>     80118a23 43              inc     ebx
>     kd> t
>     hal!HalStartNextProcessor+0x27c4:
>     80118a24 83c704          add     edi,4
>     kd> t
>     hal!HalStartNextProcessor+0x27c7:
>     80118a27 6681fb0008      cmp     bx,800h
>     kd> t
>     hal!HalStartNextProcessor+0x27cc:
>     80118a2c 72b6            jb      hal!HalStartNextProcessor+0x2784 (801189e4)
>     kd> t
>     hal!HalStartNextProcessor+0x2784:
>     801189e4 8a07            mov     al,byte ptr [edi]
>     kd> t
>     hal!HalStartNextProcessor+0x2786:
>     801189e6 8ac8            mov     cl,al
>     kd> t
>     hal!HalStartNextProcessor+0x2788:
>     801189e8 80e10f          and     cl,0Fh
>     kd> t
>     hal!HalStartNextProcessor+0x278b:
>     801189eb 80f901          cmp     cl,1
>     kd> t
>     hal!HalStartNextProcessor+0x278e:
>     801189ee 7533            jne     hal!HalStartNextProcessor+0x27c3 (80118a23)
>     kd> t
>     hal!HalStartNextProcessor+0x27c3:
>     80118a23 43              inc     ebx
>     kd> t
>     hal!HalStartNextProcessor+0x27c4:
>     80118a24 83c704          add     edi,4
>     kd> t
>     hal!HalStartNextProcessor+0x27c7:
>     80118a27 6681fb0008      cmp     bx,800h
>     kd> t
>     hal!HalStartNextProcessor+0x27cc:
>     80118a2c 72b6            jb      hal!HalStartNextProcessor+0x2784 (801189e4)
>     kd> t
>     hal!HalStartNextProcessor+0x2784:
>     801189e4 8a07            mov     al,byte ptr [edi]
>     kd> t
>     hal!HalStartNextProcessor+0x2786:
>     801189e6 8ac8            mov     cl,al
>     kd> t
>     hal!HalStartNextProcessor+0x2788:
>     801189e8 80e10f          and     cl,0Fh

#8128

diderius6

>     Breakpoint 0 hit
>     nt!KiThreadStartup+0xd:
>     80ae4209 ff153030a080    call    dword ptr [nt!_imp_KfLowerIrql (80a03030)]
>     3: kd> p
>     nt!KiThreadStartup+0x13:
>     80ae420f 58              pop     eax
>     3: kd> p
>     nt!KiThreadStartup+0x14:
>     80ae4210 ffd0            call    eax
>     3: kd> p
>     PS: Unhandled Kernel Mode Exception Pointers = 0xBA4C2BD4
>     Code c0000005 Addr 8ABF7ED0 Info0 00000000 Info1 00000000 Info2 00000000 Info3 BA4C3118

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x8ABF7ED0,0xBA4C3088,0xBA4C2D84)

>     WARNING: This break is not a step/trace completion.
>     The last command has been cleared to prevent
>     accidental continuation of this unrelated event.
>     Check the event, location and thread before resuming.
>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Oct 30 21:01:29.625 2021 (UTC + 2:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, 8abf7ed0, ba4c3088, ba4c2d84}

>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     Probably caused by : ntkrpamp.exe ( nt!IopSynchronousCall+f0 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: 8abf7ed0, The address that the exception occurred at
>     Arg3: ba4c3088, Exception Record Address
>     Arg4: ba4c2d84, Context Record Address

>     Debugging Details:
>     ------------------

>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640
>     *** No owner thread found for resource 80afd640

>     EXCEPTION_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     +1562faf00c0dfc0
>     8abf7ed0 1b0a            sbb     ecx,dword ptr [edx]

>     EXCEPTION_RECORD:  ba4c3088 -- (.exr 0xffffffffba4c3088)
>     ExceptionAddress: 8abf7ed0
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000000
>     Attempt to read from address 00000000

>     CONTEXT:  ba4c2d84 -- (.cxr 0xffffffffba4c2d84)
>     eax=08ac1cef ebx=00000000 ecx=00000001 edx=00000000 esi=e13a6288 edi=e13de148
>     eip=8abf7ed0 esp=ba4c3150 ebp=8ac1cf00 iopl=0         nv up ei ng nz ac po nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010292
>     8abf7ed0 1b0a            sbb     ecx,dword ptr [edx]  ds:0023:00000000=????????
>     Resetting default scope

>     PROCESS_NAME:  System

>     ERROR_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000000

>     READ_ADDRESS:  00000000

>     FOLLOWUP_IP:
>     nt!IopSynchronousCall+f0
>     80b5e526 8bf0            mov     esi,eax

>     FAILED_INSTRUCTION_ADDRESS:
>     +1562faf00c0dfc0
>     8abf7ed0 1b0a            sbb     ecx,dword ptr [edx]

>     BUGCHECK_STR:  0x7E

>     DEFAULT_BUCKET_ID:  NULL_DEREFERENCE

>     LOCK_ADDRESS:  80afd6c0 -- (!locks 80afd6c0)

>     Resource @ nt!IopDeviceTreeLock (0x80afd6c0)    Shared 1 owning threads
>          Threads: 8abfe258-01<*>
>     1 total locks, 1 locks currently held

>     PNP_TRIAGE:
>     	Lock address  : 0x80afd6c0
>     	Thread Count  : 1
>     	Thread address: 0x8abfe258
>     	Thread wait   : 0x443

>     LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

>     STACK_TEXT:
>     WARNING: Frame IP not in any known module. Following frames may be wrong.
>     ba4c3154 8011cfac 8ac1cf00 8abf7e7c 8ac1cf00 0x8abf7ed0
>     ba4c3170 80a21c8d 8ac1cf00 8abf7e60 8ac1cf00 hal!HalGetAdapter+0x2a0c
>     ba4c3188 80b5e526 8ac1c150 ba4c3264 00000000 nt!IopfCallDriver+0x51
>     ba4c31b4 80b602db 8ac1cf00 ba4c320c ba4c3264 nt!IopSynchronousCall+0xf0
>     ba4c3234 80b56451 8ac1cf00 00000000 ba4c3264 nt!IopQueryDeviceResources+0xdf
>     ba4c3268 80b5cb93 8ac1c150 80000368 00000001 nt!PiQueryAndAllocateBootResources+0x67
>     ba4c3358 80b5d26d 8ac1c150 8ac20008 8ac20190 nt!PipProcessNewDeviceNode+0xc9d
>     ba4c35b0 80b5db03 8ac20008 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
>     ba4c35e8 80a2d08e 8ac20190 80afd6f8 00000000 nt!PiProcessReenumeration+0xb1
>     ba4c3610 80a2d2fb 00000000 000f003f 00000000 nt!PipDeviceActionWorker+0x162
>     ba4c3628 80d37702 8abdfca0 00000009 00000000 nt!PipRequestDeviceAction+0x13b
>     ba4c3684 80d341c9 80085001 80000008 00034000 nt!IopInitializePlugPlayServices+0x702
>     ba4c3830 80d31940 80085000 00000000 8abfe258 nt!IoInitSystem+0x805
>     ba4c3dac 80bd81ac 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
>     ba4c3ddc 80ae4212 80d30e2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
>     00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

>     SYMBOL_STACK_INDEX:  3

>     SYMBOL_NAME:  nt!IopSynchronousCall+f0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802b3ce

>     STACK_COMMAND:  .cxr 0xffffffffba4c2d84 ; kb

>     FAILURE_BUCKET_ID:  0x7E_BAD_IP_nt!IopSynchronousCall+f0

>     BUCKET_ID:  0x7E_BAD_IP_nt!IopSynchronousCall+f0

>     Followup: MachineOwner
>     ---------

>     3: kd> lm
>     start    end        module name
>     80100000 80126a00   hal        (export symbols)       halmacpi.dll
>     80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb
>     b9b19000 b9b32e80   Mup        (deferred)
>     b9b33000 b9b5fa80   NDIS       (deferred)
>     b9b60000 b9becd00   Ntfs       (deferred)
>     b9bed000 b9c03b80   KSecDD     (deferred)
>     b9c04000 b9c15f00   sr         (deferred)
>     b9c16000 b9c35b00   fltMgr     (deferred)
>     b9c36000 b9eeb000   iaStor     (deferred)
>     b9eeb000 b9f10700   dmio       (deferred)
>     b9f11000 b9f2f880   ftdisk     (deferred)
>     b9f30000 b9f40a80   pci        (deferred)
>     b9f41000 b9f63700   ntoskrn8   (deferred)
>     b9f64000 b9fa7000   ACPI       (deferred)
>     ba0a8000 ba0b1180   isapnp     (deferred)
>     ba0b8000 ba0c2700   MountMgr   (deferred)
>     ba0c8000 ba0d3000   PartMgr    (deferred)
>     ba0d8000 ba0e4c80   VolSnap    (deferred)
>     ba0e8000 ba0f8000   disk       (deferred)
>     ba0f8000 ba104180   CLASSPNP   (deferred)
>     ba328000 ba32e800   firadisk   (deferred)
>     ba4b8000 ba4bb000   BOOTVID    (deferred)
>     ba5a8000 ba5a9b80   kdcom      (deferred)
>     ba5aa000 ba5ab100   WMILIB     (deferred)
>     ba5ac000 ba5ad700   dmload     (deferred)

#8129 | infuscomus | ⇗ @diderius6 Tomorrow I'll try patching ntoskrnl with missing functions instead of using the extender and see if that works.

#8130

diderius6

⇗ @infuscomus
I am still looking, where exact in Debug XP SP3 ntkrnlpa.exe this BSOD with IopSynchronousCall
happens.

    FOLLOWUP_IP:
    nt!IopSynchronousCall+f0
    80b5e526 8bf0            mov     esi,eax

    FAILED_INSTRUCTION_ADDRESS:
    +1562faf0094dfc0
    8abf7ed0 040a            add     al,0Ah

    BUGCHECK_STR:  0x7E

    DEFAULT_BUCKET_ID:  NULL_DEREFERENCE

Dietmar

## Page 543

#8131

diderius6

>     nt!RtlpBreakWithStatusInstruction:
>     80ac37ec cc              int     3
>     kd> g
>     Breakpoint 0 hit
>     nt!IopSynchronousCall+0xf0:
>     80b5e526 8bf0            mov     esi,eax
>     3: kd> t
>     nt!IopSynchronousCall+0xf2:
>     80b5e528 8b450c          mov     eax,dword ptr [ebp+0Ch]
>     3: kd> t
>     nt!IopSynchronousCall+0xf5:
>     80b5e52b 0fb64801        movzx   ecx,byte ptr [eax+1]
>     3: kd> t
>     nt!IopSynchronousCall+0xf9:
>     80b5e52f 33c0            xor     eax,eax
>     3: kd> t
>     nt!IopSynchronousCall+0xfb:
>     80b5e531 40              inc     eax
>     3: kd> t
>     nt!IopSynchronousCall+0xfc:
>     80b5e532 d3e0            shl     eax,cl
>     3: kd> t
>     nt!IopSynchronousCall+0xfe:
>     80b5e534 bb03010000      mov     ebx,103h
>     3: kd> t
>     nt!IopSynchronousCall+0x103:
>     80b5e539 8505a8d9af80    test    dword ptr [nt!PnpIrpMask (80afd9a8)],eax
>     3: kd> t
>     nt!IopSynchronousCall+0x109:
>     80b5e53f 7424            je      nt!IopSynchronousCall+0x12f (80b5e565)
>     3: kd> t
>     nt!IopSynchronousCall+0x12f:
>     80b5e565 3bf3            cmp     esi,ebx
>     3: kd> t
>     nt!IopSynchronousCall+0x131:
>     80b5e567 7512            jne     nt!IopSynchronousCall+0x145 (80b5e57b)
>     3: kd> t
>     nt!IopSynchronousCall+0x145:
>     80b5e57b 8b4510          mov     eax,dword ptr [ebp+10h]
>     3: kd> t
>     nt!IopSynchronousCall+0x148:
>     80b5e57e 85c0            test    eax,eax
>     3: kd> t
>     nt!IopSynchronousCall+0x14a:
>     80b5e580 5f              pop     edi
>     3: kd> t
>     nt!IopSynchronousCall+0x14b:
>     80b5e581 7405            je      nt!IopSynchronousCall+0x152 (80b5e588)
>     3: kd> t
>     nt!IopSynchronousCall+0x152:
>     80b5e588 8bc6            mov     eax,esi
>     3: kd> t
>     nt!IopSynchronousCall+0x154:
>     80b5e58a 5e              pop     esi
>     3: kd> t
>     nt!IopSynchronousCall+0x155:
>     80b5e58b 5b              pop     ebx
>     3: kd> t
>     nt!IopSynchronousCall+0x156:
>     80b5e58c c9              leave
>     3: kd> t
>     nt!IopSynchronousCall+0x157:
>     80b5e58d c20c00          ret     0Ch
>     3: kd> t
>     nt!PipQueryDeviceCapabilities+0x57:
>     80b573fb 8bf0            mov     esi,eax

#8132 | infuscomus | ⇗ @diderius6 maybe point of failure is in ntoskrn8.sys? I'm sure I gave you the symbols for it.

#8133

diderius6

⇗ @infuscomus
Because I succeed to jmp behind the point of crash,
now it seems to boot to desktop,
with Windbg it can laaast an hour
Dietmar
EDIT: No, XP hangs during boot in an endless loop now with scrawling bar all the time.

#8134

diderius6

⇗ @infuscomus
I found the place of crash in ntoskrnl

    .text:0041FC96 ; =============== S U B R O U T I N E =======================================
    .text:0041FC96
    .text:0041FC96
    .text:0041FC96 ; __fastcall IofCallDriver(x, x)
    .text:0041FC96                 public @IofCallDriver@8
    .text:0041FC96 @IofCallDriver@8 proc near              ; CODE XREF: CcSetValidData(x,x)+A0↑p
    .text:0041FC96                                         ; HalExamineMBR(x,x,x,x)+88↑p ...
    .text:0041FC96                                                 jmp     _pIofCallDriver
    .text:0041FC96 @IofCallDriver@8 endp
    .text:0041FC96

Dietmar

>     PAGE:0055C436 ; __stdcall IopSynchronousCall(x, x, x)
>     PAGE:0055C436 _IopSynchronousCall@12 proc near        ; CODE XREF: IopQueryDeviceRelations(x,x,x,x)+40↑p
>     PAGE:0055C436                                         ; IoFreeDumpStack(x)+8E↑p ...
>     PAGE:0055C436
>     PAGE:0055C436 Object          = byte ptr -18h
>     PAGE:0055C436 var_16          = byte ptr -16h
>     PAGE:0055C436 var_14          = dword ptr -14h
>     PAGE:0055C436 var_10          = dword ptr -10h
>     PAGE:0055C436 var_C           = dword ptr -0Ch
>     PAGE:0055C436 var_8           = dword ptr -8
>     PAGE:0055C436 var_4           = dword ptr -4
>     PAGE:0055C436 arg_0           = dword ptr  8
>     PAGE:0055C436 arg_4           = dword ptr  0Ch
>     PAGE:0055C436 arg_8           = dword ptr  10h
>     PAGE:0055C436
>     PAGE:0055C436                 mov     edi, edi
>     PAGE:0055C438                 push    ebp
>     PAGE:0055C439                 mov     ebp, esp
>     PAGE:0055C43B                 sub     esp, 18h
>     PAGE:0055C43E                 push    ebx
>     PAGE:0055C43F                 push    esi
>     PAGE:0055C440                 mov     esi, ds:__imp__KeGetCurrentIrql@0 ; KeGetCurrentIrql()
>     PAGE:0055C446                 call    esi ; KeGetCurrentIrql() ; KeGetCurrentIrql()
>     PAGE:0055C448                 cmp     al, 1
>     PAGE:0055C44A                 jbe     short loc_55C477
>     PAGE:0055C44C                 call    esi ; KeGetCurrentIrql() ; KeGetCurrentIrql()
>     PAGE:0055C44E                 movzx   eax, al
>     PAGE:0055C451                 push    eax
>     PAGE:0055C452                 push    offset asc_55C3AE ; "EX: Pageable code called at IRQL %d\n"
>     PAGE:0055C457                 call    _DbgPrint
>     PAGE:0055C45C                 pop     ecx
>     PAGE:0055C45D                 pop     ecx
>     PAGE:0055C45E                 xor     esi, esi
>     PAGE:0055C460                 push    esi             ; Message
>     PAGE:0055C461                 push    12Dh            ; LineNumber
>     PAGE:0055C466                 push    offset asc_55C3D6 ; "d:\\xpsp\\base\\ntos\\io\\pnpmgr\\pnpirp.c"
>     PAGE:0055C46B                 push    offset asc_55C3FE ; "FALSE"
>     PAGE:0055C470                 call    _RtlAssert@16   ; RtlAssert(x,x,x,x)
>     PAGE:0055C475                 jmp     short loc_55C479
>     PAGE:0055C477 ; ---------------------------------------------------------------------------
>     PAGE:0055C477

>     PAGE:0055C477 loc_55C477: ; CODE XREF: IopSynchronousCall(x,x,x)+14 j
>     PAGE:0055C477                 xor     esi, esi
>     PAGE:0055C479

>     PAGE:0055C479 loc_55C479: ; CODE XREF: IopSynchronousCall(x,x,x)+3F j
>     PAGE:0055C479                 push    [ebp+arg_0]
>     PAGE:0055C47C                 call    _IoGetAttachedDevice@4 ; IoGetAttachedDevice(x)
>     PAGE:0055C481                 mov     [ebp+arg_0], eax
>     PAGE:0055C484                 movsx   eax, byte ptr [eax+30h]
>     PAGE:0055C488                 push    esi             ; ChargeQuota
>     PAGE:0055C489                 push    eax             ; StackSize
>     PAGE:0055C48A                 call    _IoAllocateIrp@8 ; IoAllocateIrp(x,x)
>     PAGE:0055C48F                 mov     ebx, eax
>     PAGE:0055C491                 cmp     ebx, esi
>     PAGE:0055C493                 jnz     short loc_55C49F
>     PAGE:0055C495                 mov     eax, 0C000009Ah
>     PAGE:0055C49A                 jmp     loc_55C58A
>     PAGE:0055C49F ; ---------------------------------------------------------------------------
>     PAGE:0055C49F

>     PAGE:0055C49F loc_55C49F: ; CODE XREF: IopSynchronousCall(x,x,x)+5D j
>     PAGE:0055C49F                 xor     edx, edx
>     PAGE:0055C4A1                 push    edi
>     PAGE:0055C4A2                 inc     edx
>     PAGE:0055C4A3                 mov     ecx, ebx
>     PAGE:0055C4A5                 call    @IovUtilWatermarkIrp@8 ; IovUtilWatermarkIrp(x,x)
>     PAGE:0055C4AA                 mov     eax, 0C00000BBh
>     PAGE:0055C4AF                 mov     [ebp+var_8], eax
>     PAGE:0055C4B2                 mov     [ebx+18h], eax
>     PAGE:0055C4B5                 mov     [ebp+var_4], esi
>     PAGE:0055C4B8                 mov     [ebx+1Ch], esi
>     PAGE:0055C4BB                 lea     eax, [ebp+var_10]
>     PAGE:0055C4BE                 mov     [ebp+var_C], eax
>     PAGE:0055C4C1                 mov     [ebp+var_10], eax
>     PAGE:0055C4C4                 lea     eax, [ebp+var_8]
>     PAGE:0055C4C7                 mov     [ebp+Object], 1
>     PAGE:0055C4CB                 mov     [ebp+var_16], 4
>     PAGE:0055C4CF                 mov     [ebp+var_14], esi
>     PAGE:0055C4D2                 mov     [ebx+28h], eax
>     PAGE:0055C4D5                 lea     eax, [ebp+Object]
>     PAGE:0055C4D8                 mov     [ebx+2Ch], eax
>     PAGE:0055C4DB                 mov     eax, large fs:124h
>     PAGE:0055C4E1                 mov     cl, 1
>     PAGE:0055C4E3                 mov     [ebx+50h], eax
>     PAGE:0055C4E6                 call    ds:__imp_@KfRaiseIrql@4 ; KfRaiseIrql(x)
>     PAGE:0055C4EC                 mov     edx, [ebx+50h]
>     PAGE:0055C4EF                 add     edx, 210h
>     PAGE:0055C4F5                 mov     edi, [edx]
>     PAGE:0055C4F7                 lea     esi, [ebx+10h]
>     PAGE:0055C4FA                 mov     [esi], edi
>     PAGE:0055C4FC                 mov     [esi+4], edx
>     PAGE:0055C4FF                 mov     [edi+4], esi
>     PAGE:0055C502                 mov     cl, al
>     PAGE:0055C504                 mov     [edx], esi
>     PAGE:0055C506                 call    ds:__imp_@KfLowerIrql@4 ; KfLowerIrql(x)
>     PAGE:0055C50C                 mov     edi, [ebx+60h]
>     PAGE:0055C50F                 mov     esi, [ebp+arg_4]
>     PAGE:0055C512                 push    9
>     PAGE:0055C514                 sub     edi, 24h
>     PAGE:0055C517                 pop     ecx
>     PAGE:0055C518                 rep movsd
>     PAGE:0055C51A                 mov     edi, [ebp+arg_0]
>     PAGE:0055C51D                 mov     edx, ebx
>     PAGE:0055C51F                 mov     ecx, edi
>     PAGE:0055C521                 call    @IofCallDriver@8 ; IofCallDriver(x,x)
>     PAGE:0055C526                 mov     esi, eax
>     PAGE:0055C528                 mov     eax, [ebp+arg_4]
>     PAGE:0055C52B                 movzx   ecx, byte ptr [eax+1]
>     PAGE:0055C52F                 xor     eax, eax
>     PAGE:0055C531                 inc     eax
>     PAGE:0055C532                 shl     eax, cl
>     PAGE:0055C534                 mov     ebx, 103h
>     PAGE:0055C539                 test    dword ptr _PnpIrpMask, eax
>     PAGE:0055C53F                 jz      short loc_55C565
>     PAGE:0055C541                 test    esi, esi
>     PAGE:0055C543                 jl      short loc_55C549
>     PAGE:0055C545                 cmp     esi, ebx
>     PAGE:0055C547                 jnz     short loc_55C57B
>     PAGE:0055C549

>     PAGE:0055C549 loc_55C549: ; CODE XREF: IopSynchronousCall(x,x,x)+10D j
>     PAGE:0055C549                 mov     eax, [edi+8]
>     PAGE:0055C54C                 push    esi
>     PAGE:0055C54D                 add     eax, 1Ch
>     PAGE:0055C550                 push    eax
>     PAGE:0055C551                 push    _IrpName[ecx*4]
>     PAGE:0055C558                 push    offset aSDriverWzRet_0 ; " ++ %s Driver ( %wZ ) return status %08"...
>     PAGE:0055C55D                 call    _DbgPrint
>     PAGE:0055C562                 add     esp, 10h
>     PAGE:0055C565

>     PAGE:0055C565 loc_55C565: ; CODE XREF: IopSynchronousCall(x,x,x)+109 j
>     PAGE:0055C565                 cmp     esi, ebx
>     PAGE:0055C567                 jnz     short loc_55C57B
>     PAGE:0055C569                 xor     eax, eax
>     PAGE:0055C56B                 push    eax             ; Timeout
>     PAGE:0055C56C                 push    eax             ; Alertable
>     PAGE:0055C56D                 push    eax             ; WaitMode
>     PAGE:0055C56E                 push    eax             ; WaitReason
>     PAGE:0055C56F                 lea     eax, [ebp+Object]
>     PAGE:0055C572                 push    eax             ; Object
>     PAGE:0055C573                 call    _KeWaitForSingleObject@20 ; KeWaitForSingleObject(x,x,x,x,x)
>     PAGE:0055C578                 mov     esi, [ebp+var_8]
>     PAGE:0055C57B

>     PAGE:0055C57B loc_55C57B: ; CODE XREF: IopSynchronousCall(x,x,x)+111 j

>     PAGE:0055C57B ; IopSynchronousCall(x,x,x)+131 j
>     PAGE:0055C57B                 mov     eax, [ebp+arg_8]
>     PAGE:0055C57E                 test    eax, eax
>     PAGE:0055C580                 pop     edi
>     PAGE:0055C581                 jz      short loc_55C588
>     PAGE:0055C583                 mov     ecx, [ebp+var_4]
>     PAGE:0055C586                 mov     [eax], ecx
>     PAGE:0055C588

>     PAGE:0055C588 loc_55C588: ; CODE XREF: IopSynchronousCall(x,x,x)+14B j
>     PAGE:0055C588                 mov     eax, esi
>     PAGE:0055C58A

>     PAGE:0055C58A loc_55C58A: ; CODE XREF: IopSynchronousCall(x,x,x)+64 j
>     PAGE:0055C58A                 pop     esi
>     PAGE:0055C58B                 pop     ebx
>     PAGE:0055C58C                 leave
>     PAGE:0055C58D                 retn    0Ch
>     PAGE:0055C58D _IopSynchronousCall@12 endp
>     PAGE:0055C58D

#8135

diderius6

It looks, as if a driver is hanging

    NTSTATUS
    FASTCALL
    IofCallDriver(
      IN  PDEVICE_OBJECT DeviceObject,
      IN OUT PIRP Irp
       );

    Routine Description:

        This routine is invoked to pass an I/O Request Packet (IRP) to another
        driver at its dispatch routine.

    Arguments:

        DeviceObject - Pointer to device object to which the IRP should be passed.

        Irp - Pointer to IRP for request.

    Return Value:

        Return status from driver's dispatch routine.

#8136

diderius6

This looks,
as if this hal.dll does not like my MBR?!

    HalExamineMBR function (ntddk.h)

        2 minutes to read

    The
    HalExamineMBR routine reads the master boot record (MBR) of a disk and
    returns data from the MBR if the MBR is of the type specified by the
    caller.
    Syntax

    void HalExamineMBR(
      [in]  PDEVICE_OBJECT DeviceObject,
      [in]  ULONG          SectorSize,
      [in]  ULONG          MBRTypeIdentifier,
      [out] PVOID          *Buffer
    );

    Parameters

    [in] DeviceObject

    A pointer to the device object for the device being examined.

    [in] SectorSize

    The
    minimum number of bytes that an I/O operation can fetch from the device
    being examined. If this value is less than 512, HalExamineMBR reads 512
    bytes to ensure that it reads an entire partition table.

    [in] MBRTypeIdentifier

    MBR
    partition type identifier. This parameter specifies the type of MBR
    that may be on the disk. For more information, see Remarks.

    [out] Buffer

    A
    pointer to a location to which HalExamineMBR writes a pointer to a
    buffer that contains data from the MBR. The layout of the buffer depends
    on the MBR partition type. HalExamineMBR allocates the storage for this
    buffer. The caller must deallocate this buffer as soon as possible by
    calling the ExFreePool routine.

    HalExamineMBR sets *Buffer =
    NULL if the MBR partition type of the disk does not match that specified
    by MBRTypeIdentifier or if there is an error.
    Return value

    None
    Remarks

    For
    a list of system-defined MBR partition type identifiers, see the table
    in PARTITION_INFORMATION. These identifiers are defined in the
    Ntdddisk.h header file.
    Requirements

    Minimum supported client 	Available starting with Windows XP.
    Target Platform 	Universal
    Header 	ntddk.h (include Ntddk.h)
    IRQL 	PASSIVE_LEVEL
    DDI compliance rules 	PowerIrpDDis, HwStorPortProhibitedDDIs

#8137 | infuscomus | ⇗ @diderius6 I'm guessing no MBR because no ACPI?

#8138

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8128

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x8ABF7ED0,0xBA4C3088,0xBA4C2D84)

>     CONTEXT:  ba4c2d84 -- (.cxr 0xffffffffba4c2d84)
>     eax=08ac1cef ebx=00000000 ecx=00000001 edx=00000000 esi=e13a6288 edi=e13de148

>     FAILED_INSTRUCTION_ADDRESS:
>     +1562faf00c0dfc0
>     8abf7ed0 1b0a            sbb     ecx,dword ptr [edx]

>     STACK_TEXT:
>     ba4c3154 8011cfac 8ac1cf00 8abf7e7c 8ac1cf00 0x8abf7ed0
>     ba4c3170 80a21c8d 8ac1cf00 8abf7e60 8ac1cf00 hal!HalGetAdapter+0x2a0c
>     ba4c3188 80b5e526 8ac1c150 ba4c3264 00000000 nt!IopfCallDriver+0x51

CPU was jumped/called to random address with non-code bytes
hal!HalGetAdapter - init DMA functions
0x8abf7ed0 - bad adress, drivers loaded to 0xb9xxxxx, kernel loaded to 0x80xxxxxx

#8139

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8135

> It looks, as if a driver is hanging

>     NTSTATUS
>     FASTCALL
>     IofCallDriver(
>       IN  PDEVICE_OBJECT DeviceObject,
>       IN OUT PIRP Irp
>        );

IopfCallDriver is standart way to call driver functions from other driver
for example HAL can call ACPI and vice versa, Irp is buffer with many data: which function to call, arguments, custom data, etc

#8140

Mov AX, 0xDEAD

⇗ @diderius6

> Zitat von ⇗ diderius6 im Beitrag ¶ #8115

> @Mov AX, 0xDEAD
> "if someone will implement "new timer api" you'l get usb3"
> Until now, I have no idea how to make this.
> But I can learn a lot, so.. if there is a chance to integrate more drivers from Win8.1 into XP..

Just missed Extended Timing functions from 8.1 kernel: ExAllocateTimer, ExDeleteTimer, ExCancelTimer, ExSetTimer
add to Emu Extender or patch manually as Gen1 usb3 driver

#8141

diderius6

⇗ @Mov AX, 0xDEAD
With Windbg I found the exact place, where hal.dll crashes.
First I thought, it is because ESI = C8h (this is the waiting time for the cpu in Microsec).
in hal.dll from XP SP3 is at this place ESI = 7D0h .

>     PAGELK:80028509 ; =============== S U B R O U T I N E =======================================
>     PAGELK:80028509
>     PAGELK:80028509 ; Attributes: bp-based frame
>     PAGELK:80028509
>     PAGELK:80028509 sub_80028509    proc near               ; CODE XREF: HalStartNextProcessor+CA↑p
>     PAGELK:80028509
>     PAGELK:80028509 arg_0           = dword ptr  8
>     PAGELK:80028509 arg_4           = dword ptr  0Ch
>     PAGELK:80028509
>     PAGELK:80028509                 push    ebp
>     PAGELK:8002850A                 mov     ebp, esp
>     PAGELK:8002850C                 push    ebx
>     PAGELK:8002850D                 mov     ebx, [ebp+arg_0]
>     PAGELK:80028510                 test    ebx, 0FFF00FFFh
>     PAGELK:80028516                 push    edi
>     PAGELK:80028517                 mov     edi, 0FFFE0300h
>     PAGELK:8002851C                 jz      short loc_80028535
>     PAGELK:8002851E                 push    0               ; Message
>     PAGELK:80028520                 push    306h            ; LineNumber
>     PAGELK:80028525                 push    offset aEXpsp1BaseH_61 ; "e:\\xpsp1\\base\\hals\\halmps\\i386\\mpsproc."...
>     PAGELK:8002852A                 push    offset aUlongInitcodep ; "(((ULONG) InitCodePhysAddr) & 0xfff00ff"...
>     PAGELK:8002852F                 call    ds:RtlAssert
>     PAGELK:80028535

>     PAGELK:80028535 loc_80028535: ; CODE XREF: sub_80028509+13 j
>     PAGELK:80028535                 mov     eax, [ebp+arg_4]
>     PAGELK:80028538                 cmp     eax, dword_80024644
>     PAGELK:8002853E                 jnb     short loc_8002854E
>     PAGELK:80028540                 lea     ecx, [ebp+arg_0+3]
>     PAGELK:80028543                 push    ecx
>     PAGELK:80028544                 push    eax
>     PAGELK:80028545                 call    sub_8001972E
>     PAGELK:8002854A                 test    eax, eax
>     PAGELK:8002854C                 jge     short loc_80028555
>     PAGELK:8002854E

>     PAGELK:8002854E loc_8002854E: ; CODE XREF: sub_80028509+35 j
>     PAGELK:8002854E                 xor     eax, eax
>     PAGELK:80028550                 jmp     loc_80028615
>     PAGELK:80028555 ; ---------------------------------------------------------------------------
>     PAGELK:80028555

>     PAGELK:80028555 loc_80028555: ; CODE XREF: sub_80028509+43 j
>     PAGELK:80028555                 cmp     dword_8001F9C4, 0
>     PAGELK:8002855C                 jz      short loc_80028568
>     PAGELK:8002855E                 movzx   eax, byte ptr [ebp+arg_0+3]
>     PAGELK:80028562                 inc     eax
>     PAGELK:80028563                 jmp     loc_80028615
>     PAGELK:80028568 ; ---------------------------------------------------------------------------
>     PAGELK:80028568

>     PAGELK:80028568 loc_80028568: ; CODE XREF: sub_80028509+53 j
>     PAGELK:80028568                 push    esi
>     PAGELK:80028569                 mov     esi, 0C8h  ===> 7D0h  in Hal.dll from SP3
>     PAGELK:8002856E                 push    esi             ; MicroSeconds
>     PAGELK:8002856F                 call    KeStallExecutionProcessor
>     PAGELK:80028574                 push    64h
>     PAGELK:80028576                 mov     edx, 0FFFE0300h
>     PAGELK:8002857B                 pop     ecx
>     PAGELK:8002857C                 call    sub_80011CF4
>     PAGELK:80028581                 test    eax, eax
>     PAGELK:80028583                 jnz     short loc_8002858C
>     PAGELK:80028585

>     PAGELK:80028585 loc_80028585: ; CODE XREF: sub_80028509+E7 j
>     PAGELK:80028585                 xor     eax, eax
>     PAGELK:80028587                 jmp     loc_80028614
>     PAGELK:8002858C ; ---------------------------------------------------------------------------
>     PAGELK:8002858C

>     PAGELK:8002858C loc_8002858C: ; CODE XREF: sub_80028509+7A j
>     PAGELK:8002858C                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:80028590                 shl     ecx, 18h
>     PAGELK:80028593                 mov     eax, 0FFFE0310h
>     PAGELK:80028598                 mov     [eax], ecx
>     PAGELK:8002859A                 mov     dword ptr [edi], 0C500h
>     PAGELK:800285A0                 push    0Ah             ; MicroSeconds
>     PAGELK:800285A2                 call    KeStallExecutionProcessor
>     PAGELK:800285A7                 push    esi             ; MicroSeconds
>     PAGELK:800285A8                 mov     dword ptr [edi], 8500h
>     PAGELK:800285AE                 call    KeStallExecutionProcessor
>     PAGELK:800285B3                 cmp     dword_80024640, 0
>     PAGELK:800285BA                 jz      short loc_8002860F
>     PAGELK:800285BC                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:800285C0                 and     ebx, 0FF000h
>     PAGELK:800285C6                 or      ebx, 600000h
>     PAGELK:800285CC                 shl     ecx, 18h
>     PAGELK:800285CF                 mov     eax, 0FFFE0310h
>     PAGELK:800285D4                 shr     ebx, 0Ch
>     PAGELK:800285D7                 mov     [eax], ecx
>     PAGELK:800285D9                 push    esi             ; MicroSeconds
>     PAGELK:800285DA                 mov     [edi], ebx
>     PAGELK:800285DC                 call    KeStallExecutionProcessor ===> Place of crash, compi restarts, no BSOD
>     PAGELK:800285E1                 push    64h
>     PAGELK:800285E3                 mov     edx, 0FFFE0300h
>     PAGELK:800285E8                 pop     ecx
>     PAGELK:800285E9                 call    sub_80011CF4
>     PAGELK:800285EE                 test    eax, eax
>     PAGELK:800285F0                 jz      short loc_80028585
>     PAGELK:800285F2                 push    64h             ; MicroSeconds
>     PAGELK:800285F4                 call    KeStallExecutionProcessor
>     PAGELK:800285F9                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:800285FD                 shl     ecx, 18h
>     PAGELK:80028600                 mov     eax, 0FFFE0310h
>     PAGELK:80028605                 mov     [eax], ecx
>     PAGELK:80028607                 push    esi             ; MicroSeconds
>     PAGELK:80028608                 mov     [edi], ebx
>     PAGELK:8002860A                 call    KeStallExecutionProcessor
>     PAGELK:8002860F

>     PAGELK:8002860F loc_8002860F: ; CODE XREF: sub_80028509+B1 j
>     PAGELK:8002860F                 movzx   eax, byte ptr [ebp+arg_0+3]
>     PAGELK:80028613                 inc     eax
>     PAGELK:80028614

>     PAGELK:80028614 loc_80028614: ; CODE XREF: sub_80028509+7E j
>     PAGELK:80028614                 pop     esi
>     PAGELK:80028615

>     PAGELK:80028615 loc_80028615: ; CODE XREF: sub_80028509+47 j
>     PAGELK:80028615
>     ; sub_80028509+5A j
>     PAGELK:80028615                 pop     edi
>     PAGELK:80028616                 pop     ebx
>     PAGELK:80028617                 pop     ebp
>     PAGELK:80028618                 retn    8
>     PAGELK:80028618 sub_80028509    endp
>     PAGELK:80028618
>     PAGELK:80028618 ; ---------------------------------------------------------------------------
>     PAGELK:8002861B                 align 4
>     PAGELK:8002861C
>     PAGELK:8002861C ; =============== S U B R O U T I N E =======================================

>     .text:80018930 KeStallExecutionProcessor proc near     ; CODE XREF: sub_80013DC8+7C↑p
>     .text:80018930                                         ; sub_80013E6E+7C↑p ...
>     .text:80018930
>     .text:80018930 MicroSeconds    = dword ptr  8
>     .text:80018930
>     .text:80018930                 push    ebp
>     .text:80018931                 mov     ebp, esp
>     .text:80018933                 pop     ebp
>     .text:80018934                 jmp     ds:off_8001F444
>     .text:80018934 KeStallExecutionProcessor endp
>     .text:80018934

⇗

#8142

diderius6

I change the time for wait in hal.dll to 7D0h as you can see on photo in ESI=7D0h.
But it does not help.
This error is reproducible,
compi always crash at

    *85DA                 mov     [edi], ebx
    *85DC                 call    KeStallExecutionProcessor =====> crash and reboot without Bsod
    *85E1                 push    64h

On photo you can see, that EBX = 60c .
Is this wrong address, so that KeStallExecutionProcessor cant be found?
⇗

#8143

diderius6

⇗ @infuscomus
The Bsod comes from your new hal.dll.
I test your new hal.dll with original ntoskrnl and acpi.sys from XP SP3
and there it crashes also.
With the hal.dll, which you send me before build from Sources SP1 it boots to desktop with acpi.sys from XP SP3
Dietmar

#8144 | infuscomus | ⇗ @diderius6 Thanks for testing, appreciate it. I think this is beyond my skills so I'm giving up for now.
#8145 | Bumpy | if you have the source code you can change every asserts and such to outputs in a text file all executed functions + parameters + data etc.

## Page 544

#8146 | diderius6 | ⇗ @infuscomus How do you generate this hal.dll? Did you change anything compared to the Hal.dll form Sources SP1, that you send to me few days ago Dietmar
#8147 | infuscomus | ⇗ @diderius6 I added some stub functions to this HAL for the Vista RTM acpi.sys to resolve missing dependencies that are missing from XP HAL.

#8148

Mov AX, 0xDEAD

> Zitat von ⇗ diderius6 im Beitrag ¶ #8142

>     *85DA                 mov     [edi], ebx
>     *85DC                 call    KeStallExecutionProcessor =====> crash and reboot without Bsod
>     *85E1                 push    64h

KeStallExecutionProcessor depends on timer counter, before first call to KeStallExecutionProcessor, hal determinate which timer counter to use (usually RDTSC counter). If it really hangs on first call to KeStallExecutionProcessor, it means execution path at HAL is wrong
In Vista+ loaders KeStallExecutionProcessor already inited by loader before loading kernel
if it is not first call, you have problem with this function, it write to APIC hardware to start up additional cores, it hangs at apic, not at Stall cycle

#8149

diderius6

⇗ @Mov AX, 0xDEAD
I make hack for to overcome all call KeStallExecutionProcessor

>     PAGELK:80028509 ; =============== S U B R O U T I N E =======================================
>     PAGELK:80028509
>     PAGELK:80028509 ; Attributes: bp-based frame
>     PAGELK:80028509
>     PAGELK:80028509 sub_80028509    proc near               ; CODE XREF: HalStartNextProcessor+CA↑p
>     PAGELK:80028509
>     PAGELK:80028509 arg_0           = dword ptr  8
>     PAGELK:80028509 arg_4           = dword ptr  0Ch
>     PAGELK:80028509
>     PAGELK:80028509                 push    ebp
>     PAGELK:8002850A                 mov     ebp, esp
>     PAGELK:8002850C                 push    ebx
>     PAGELK:8002850D                 mov     ebx, [ebp+arg_0]
>     PAGELK:80028510                 test    ebx, 0FFF00FFFh
>     PAGELK:80028516                 push    edi
>     PAGELK:80028517                 mov     edi, 0FFFE0300h
>     PAGELK:8002851C                 jz      short loc_80028535
>     PAGELK:8002851E                 push    0               ; Message
>     PAGELK:80028520                 push    306h            ; LineNumber
>     PAGELK:80028525                 push    offset aEXpsp1BaseH_61 ; "e:\\xpsp1\\base\\hals\\halmps\\i386\\mpsproc."...
>     PAGELK:8002852A                 push    offset aUlongInitcodep ; "(((ULONG) InitCodePhysAddr) & 0xfff00ff"...
>     PAGELK:8002852F                 call    ds:RtlAssert
>     PAGELK:80028535

>     PAGELK:80028535 loc_80028535: ; CODE XREF: sub_80028509+13 j
>     PAGELK:80028535                 mov     eax, [ebp+arg_4]
>     PAGELK:80028538                 cmp     eax, dword_80024644
>     PAGELK:8002853E                 jnb     short loc_8002854E
>     PAGELK:80028540                 lea     ecx, [ebp+arg_0+3]
>     PAGELK:80028543                 push    ecx
>     PAGELK:80028544                 push    eax
>     PAGELK:80028545                 call    sub_8001972E
>     PAGELK:8002854A                 test    eax, eax
>     PAGELK:8002854C                                                 jge     short loc_80028555  ==> Nop Nop (90 90)
>     PAGELK:8002854E

>     PAGELK:8002854E loc_8002854E: ; CODE XREF: sub_80028509+35 j
>     PAGELK:8002854E                 xor     eax, eax
>     PAGELK:80028550                                                 jmp     loc_80028615
>     PAGELK:80028555 ; ---------------------------------------------------------------------------
>     PAGELK:80028555

>     PAGELK:80028555 loc_80028555: ; CODE XREF: sub_80028509+43 j
>     PAGELK:80028555                 cmp     dword_8001F9C4, 0
>     PAGELK:8002855C                 jz      short loc_80028568
>     PAGELK:8002855E                 movzx   eax, byte ptr [ebp+arg_0+3]
>     PAGELK:80028562                 inc     eax
>     PAGELK:80028563                 jmp     loc_80028615
>     PAGELK:80028568 ; ---------------------------------------------------------------------------
>     PAGELK:80028568

>     PAGELK:80028568 loc_80028568: ; CODE XREF: sub_80028509+53 j
>     PAGELK:80028568                 push    esi
>     PAGELK:80028569                 mov     esi, 0C8h
>     PAGELK:8002856E                 push    esi             ; MicroSeconds
>     PAGELK:8002856F                 call    KeStallExecutionProcessor
>     PAGELK:80028574                 push    64h
>     PAGELK:80028576                 mov     edx, 0FFFE0300h
>     PAGELK:8002857B                 pop     ecx
>     PAGELK:8002857C                 call    sub_80011CF4
>     PAGELK:80028581                 test    eax, eax
>     PAGELK:80028583                 jnz     short loc_8002858C
>     PAGELK:80028585

>     PAGELK:80028585 loc_80028585: ; CODE XREF: sub_80028509+E7 j
>     PAGELK:80028585                 xor     eax, eax
>     PAGELK:80028587                 jmp     loc_80028614
>     PAGELK:8002858C ; ---------------------------------------------------------------------------
>     PAGELK:8002858C

>     PAGELK:8002858C loc_8002858C: ; CODE XREF: sub_80028509+7A j
>     PAGELK:8002858C                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:80028590                 shl     ecx, 18h
>     PAGELK:80028593                 mov     eax, 0FFFE0310h
>     PAGELK:80028598                 mov     [eax], ecx
>     PAGELK:8002859A                 mov     dword ptr [edi], 0C500h
>     PAGELK:800285A0                 push    0Ah             ; MicroSeconds
>     PAGELK:800285A2                 call    KeStallExecutionProcessor
>     PAGELK:800285A7                 push    esi             ; MicroSeconds
>     PAGELK:800285A8                 mov     dword ptr [edi], 8500h
>     PAGELK:800285AE                 call    KeStallExecutionProcessor
>     PAGELK:800285B3                 cmp     dword_80024640, 0
>     PAGELK:800285BA                 jz      short loc_8002860F
>     PAGELK:800285BC                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:800285C0                 and     ebx, 0FF000h
>     PAGELK:800285C6                 or      ebx, 600000h
>     PAGELK:800285CC                 shl     ecx, 18h
>     PAGELK:800285CF                 mov     eax, 0FFFE0310h
>     PAGELK:800285D4                 shr     ebx, 0Ch
>     PAGELK:800285D7                 mov     [eax], ecx
>     PAGELK:800285D9                 push    esi             ; MicroSeconds
>     PAGELK:800285DA                 mov     [edi], ebx
>     PAGELK:800285DC                 call    KeStallExecutionProcessor
>     PAGELK:800285E1                 push    64h
>     PAGELK:800285E3                 mov     edx, 0FFFE0300h
>     PAGELK:800285E8                 pop     ecx
>     PAGELK:800285E9                 call    sub_80011CF4
>     PAGELK:800285EE                 test    eax, eax
>     PAGELK:800285F0                 jz      short loc_80028585
>     PAGELK:800285F2                 push    64h             ; MicroSeconds
>     PAGELK:800285F4                 call    KeStallExecutionProcessor
>     PAGELK:800285F9                 movzx   ecx, byte ptr [ebp+arg_0+3]
>     PAGELK:800285FD                 shl     ecx, 18h
>     PAGELK:80028600                 mov     eax, 0FFFE0310h
>     PAGELK:80028605                 mov     [eax], ecx
>     PAGELK:80028607                 push    esi             ; MicroSeconds
>     PAGELK:80028608                 mov     [edi], ebx
>     PAGELK:8002860A                 call    KeStallExecutionProcessor
>     PAGELK:8002860F

>     PAGELK:8002860F loc_8002860F: ; CODE XREF: sub_80028509+B1 j
>     PAGELK:8002860F                 movzx   eax, byte ptr [ebp+arg_0+3]
>     PAGELK:80028613                 inc     eax
>     PAGELK:80028614

>     PAGELK:80028614 loc_80028614: ; CODE XREF: sub_80028509+7E j
>     PAGELK:80028614                 pop     esi
>     PAGELK:80028615
>     PAGELK:80028615 loc_80028615:

>     ; CODE XREF: sub_80028509+47 j
>     PAGELK:80028615 ; sub_80028509+5A j
>     PAGELK:80028615                 pop     edi
>     PAGELK:80028616                 pop     ebx
>     PAGELK:80028617                 pop     ebp
>     PAGELK:80028618                 retn    8
>     PAGELK:80028618 sub_80028509    endp
>     PAGELK:80028618
>     PAGELK:80028618 ; ---------------------------------------------------------------------------
>     PAGELK:8002861B                 align 4
>     PAGELK:8002861C
>     PAGELK:8002861C ; =============== S U B R O U T I N E =======================================

#8150

infuscomus

⇗ @diderius6
I tried again - the free build of this one worked in a VM at least, hopefully this checked build also boots for you.
infuscomus has attached files to this post

- ⇗ diderius6-chkhal-2.7z.zip

#8151

diderius6

⇗ @infuscomus
The Bsod happens at exact the same place as before.
My Hack with 90 90 gives no Bsod but endless loop with HalStartNextProcessor
Dietmar

>     hal!HalStartNextProcessor+0x234e:
>     801185ae e87d03ffff      call    hal!KeStallExecutionProcessor (80108930)
>     kd> t
>     hal!KeStallExecutionProcessor:
>     80108930 55              push    ebp
>     kd> t
>     hal!KeStallExecutionProcessor+0x1:
>     80108931 8bec            mov     ebp,esp
>     kd> t
>     hal!KeStallExecutionProcessor+0x3:
>     80108933 5d              pop     ebp
>     kd> t
>     hal!KeStallExecutionProcessor+0x4:
>     80108934 ff2544f41080    jmp     dword ptr [hal!HalMakeBeep+0x59c4 (8010f444)]
>     kd> t
>     hal+0xd2c:
>     80100d2c 53              push    ebx
>     kd> t
>     hal+0xd2d:
>     80100d2d 57              push    edi
>     kd> t
>     hal+0xd2e:
>     80100d2e 33c0            xor     eax,eax
>     kd> t
>     hal+0xd30:
>     80100d30 0fa2            cpuid
>     kd> t
>     hal+0xd32:
>     80100d32 0f31            rdtsc
>     kd> t
>     hal+0xd34:
>     80100d34 8bd8            mov     ebx,eax
>     kd> t
>     hal+0xd36:
>     80100d36 8bfa            mov     edi,edx
>     kd> t
>     hal+0xd38:
>     80100d38 8b4c240c        mov     ecx,dword ptr [esp+0Ch]
>     kd> t
>     hal+0xd3c:
>     80100d3c 64a14c000000    mov     eax,dword ptr fs:[0000004Ch]
>     kd> t
>     hal+0xd42:
>     80100d42 f7e1            mul     eax,ecx
>     kd> t
>     hal+0xd44:
>     80100d44 03d8            add     ebx,eax
>     kd> t
>     hal+0xd46:
>     80100d46 13fa            adc     edi,edx
>     kd> t
>     hal+0xd48:
>     80100d48 0f31            rdtsc
>     kd> t
>     hal+0xd4a:
>     80100d4a 3bfa            cmp     edi,edx
>     kd> t
>     hal+0xd4c:
>     80100d4c 77fa            ja      hal+0xd48 (80100d48)
>     kd> t
>     hal+0xd4e:
>     80100d4e 7204            jb      hal+0xd54 (80100d54)
>     kd> t
>     hal+0xd54:
>     80100d54 5f              pop     edi
>     kd> t
>     hal+0xd55:
>     80100d55 5b              pop     ebx
>     kd> t
>     hal+0xd56:
>     80100d56 c20400          ret     4
>     kd> t
>     hal!HalStartNextProcessor+0x2353:
>     801185b3 833d4046118000  cmp     dword ptr [hal!KdComPortInUse+0x4e38 (80114640)],0
>     kd> t
>     hal!HalStartNextProcessor+0x235a:
>     801185ba 7453            je      hal!HalStartNextProcessor+0x23af (8011860f)
>     kd> t
>     hal!HalStartNextProcessor+0x235c:
>     801185bc 0fb64d0b        movzx   ecx,byte ptr [ebp+0Bh]
>     kd> t
>     hal!HalStartNextProcessor+0x2360:
>     801185c0 81e300f00f00    and     ebx,0FF000h
>     kd> t
>     hal!HalStartNextProcessor+0x2366:
>     801185c6 81cb00006000    or      ebx,600000h
>     kd> t
>     hal!HalStartNextProcessor+0x236c:
>     801185cc c1e118          shl     ecx,18h
>     kd> t
>     hal!HalStartNextProcessor+0x236f:
>     801185cf b81003feff      mov     eax,0FFFE0310h
>     kd> t
>     hal!HalStartNextProcessor+0x2374:
>     801185d4 c1eb0c          shr     ebx,0Ch
>     kd> t
>     hal!HalStartNextProcessor+0x2377:
>     801185d7 8908            mov     dword ptr [eax],ecx
>     kd> t
>     hal!HalStartNextProcessor+0x2379:
>     801185d9 56              push    esi
>     kd> t
>     hal!HalStartNextProcessor+0x237a:
>     801185da 891f            mov     dword ptr [edi],ebx
>     kd> t

>     Bsod, here comes in this step          call    KeStallExecutionProcessor

#8152 | infuscomus | ⇗ @diderius6 Strange. I was able to boot with the free build, are you using outerspace acpi.sys or Vista acpi.sys? I used outerspace acpi.sys
#8153 | diderius6 | ⇗ @infuscomus I use the acpi.sys from Vista, because this is the aim. Ok, I try with acpi.sys from outerspace ) also now Dietmar

#8154

diderius6

Wit acpi.sys from outerspace )
Bsod at the exact same place,
so this comes only from hal.dll
Dietmar

    kd> t
    hal!HalStartNextProcessor+0x2379:
    801185d9 56              push    esi
    kd> t
    hal!HalStartNextProcessor+0x237a:
    801185da 891f            mov     dword ptr [edi],ebx
    kd> t

#8155 | infuscomus | ⇗ @diderius6 I tested with outerspace acpi.sys to be sure that my modded HAL would boot XP with our known working ACPI driver. If my HAL is working, then we can try Vista acpi.sys
#8156 | infuscomus | ⇗ @diderius6 Does it boot without the debugger connected? edit: checked HAL crashes VM, but free build works? Why??
#8157 | diderius6 | ⇗ @infuscomus Always the exact same Bsod, independend from acpi.sys, no matter if Debugger is connected or not Dietmar
#8158 | infuscomus | ⇗ @diderius6 I'll look for the spot in the code that stops the free HAL from working with the debugger and I'll send you that. Hopefully that'll work.

#8159

infuscomus

⇗ @diderius6
I think I got rid of the debugger check for the free build.
try this.
infuscomus has attached files to this post

- ⇗ freenodebuggercheck.7z.zip

#8160 | diderius6 | ⇗ @infuscomus Waaooh, this checked hal.dll boots XP SP3 to desktop with acpi.sys from outerspace ) and the checked ntkrnlpa.exe from XP SP3 Dietmar PS: Now I try acpi.sys from Vista.

## Page 545

#8161 | infuscomus | ⇗ @diderius6 Sorry, it's a free HAL, something is wrong with the checked HAL, I'm not sure what's wrong with it.

#8162

diderius6

⇗ @infuscomus
With the debugger connected, this hal.dll gives "hardware error" during boot with ntldr.
And without debugger, acpi.sys from Vista restarts compi.
But with freeldr I can run Debugger with acpi.sys from Vista this gives

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sun Oct 31 21:49:36.218 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp_sp3_qfe.190108-0655
>     Machine Name:
>     Kernel base = 0x807e5000 PsLoadedModuleList = 0x808714c0
>     System Uptime: not available
>     MM: Loader/HAL memory block indicates large pages cannot be used for 85448000->868B8FFF
>     MM: Disabling large pages for all ranges due to overlap

>     *** Fatal System Error: 0x0000007e
>                                                  (0xC0000005,0x00000000,0xF789E168,0xF789DE64)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sun Oct 31 21:49:43.140 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ..............................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 7E, {c0000005, 0, f789e168, f789de64}

>     Probably caused by : Unknown_Image ( ANALYSIS_INCONCLUSIVE )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     807f09c2 cc              int     3
>     3: kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
>     This is a very common bugcheck.  Usually the exception address pinpoints
>     the driver/function that caused the problem.  Always note this address
>     as well as the link date of the driver/image that contains this address.
>     Arguments:
>     Arg1: c0000005, The exception code that was not handled
>     Arg2: 00000000, The address that the exception occurred at
>     Arg3: f789e168, Exception Record Address
>     Arg4: f789de64, Context Record Address

>     Debugging Details:
>     ------------------

>     EXCEPTION_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     FAULTING_IP:
>     +1b
>     00000000 ??              ???

>     EXCEPTION_RECORD:  f789e168 -- (.exr 0xfffffffff789e168)
>     ExceptionAddress: 00000000
>        ExceptionCode: c0000005 (Access violation)
>       ExceptionFlags: 00000000
>     NumberParameters: 2
>        Parameter[0]: 00000000
>        Parameter[1]: 00000000
>     Attempt to read from address 00000000

>     CONTEXT:  f789de64 -- (.cxr 0xfffffffff789de64)
>     eax=00000000 ebx=80a10780 ecx=54445358 edx=00000001 esi=f7597b20 edi=80a106b0
>     eip=00000000 esp=f789e230 ebp=f789e250 iopl=0         nv up ei pl zr na pe nc
>     cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
>     00000000 ??              ???
>     Resetting default scope

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     PROCESS_NAME:  System

>     ERROR_CODE:
>     (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher
>     bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x"
>     nicht in den Arbeitsspeicher  bertragen.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00000000

>     READ_ADDRESS:  00000000

>     FOLLOWUP_IP:
>     +1b
>     00000000 ??              ???

>     FAILED_INSTRUCTION_ADDRESS:
>     +1b
>     00000000 ??              ???

>     BUGCHECK_STR:  0x7E

>     LAST_CONTROL_TRANSFER:  from 00000000 to 00000000

>     STACK_TEXT:
>     f789e22c 00000000 00000000 00000000 f759c4fc 0x0

>     STACK_COMMAND:  kb

>     SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: Unknown_Module

>     IMAGE_NAME:  Unknown_Image

>     DEBUG_FLR_IMAGE_TIMESTAMP:  0

>     FAILURE_BUCKET_ID:  0x7E_NULL_IP_ANALYSIS_INCONCLUSIVE

>     BUCKET_ID:  0x7E_NULL_IP_ANALYSIS_INCONCLUSIVE

>     Followup: MachineOwner
>     ---------

#8163 | infuscomus | ⇗ @diderius6 nice! does loading up acpi.pdb reveal any more info about it?

#8164

diderius6

With freeldr, your free hal.dll and original Vista RTM acpi.sys I get this.
But now we have 2 places, hal.dll and acpi.sys from Vista,
which should be solved
Dietmar

>     nt!KeUpdateRunTime+0xb6:
>     807f0799 83b89009000000  cmp     dword ptr [eax+990h],0
>     kd> t
>     nt!KeUpdateRunTime+0xbd:
>     807f07a0 744e            je      nt!KeUpdateRunTime+0x10d (807f07f0)
>     kd> t
>     nt!KeUpdateRunTime+0x10d:
>     807f07f0 ff88dc050000    dec     dword ptr [eax+5DCh]
>     kd> t
>     nt!KeUpdateRunTime+0x113:
>     807f07f6 7522            jne     nt!KeUpdateRunTime+0x138 (807f081a)
>     kd> t
>     nt!KeUpdateRunTime+0x138:
>     807f081a 806b6f03        sub     byte ptr [ebx+6Fh],3
>     kd> t
>     nt!KeUpdateRunTime+0x13c:
>     807f081e 7f19            jg      nt!KeUpdateRunTime+0x157 (807f0839)
>     kd> t
>     nt!KeUpdateRunTime+0x157:
>     807f0839 5b              pop     ebx
>     kd> t
>     nt!KeUpdateRunTime+0x158:
>     807f083a c20400          ret     4
>     kd> t
>     nt!KeUpdateSystemTime+0x146:
>     807f069e fa              cli
>     kd> t
>     nt!KeUpdateSystemTime+0x147:
>     807f069f ff1594607e80    call    dword ptr [nt!_imp__HalEndSystemInterrupt (807e6094)]
>     kd> t
>     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for halmacpi.dll -
>     hal!HalEndSystemInterrupt:
>     80a10d54 33c9            xor     ecx,ecx
>     kd> t
>     hal!HalEndSystemInterrupt+0x2:
>     80a10d56 8a4c2404        mov     cl,byte ptr [esp+4]
>     kd> t
>     hal!HalEndSystemInterrupt+0x6:
>     80a10d5a 8a895402a180    mov     cl,byte ptr hal!HalRequestIpi+0x4c0 (80a10254)[ecx]
>     kd> t
>     hal!HalEndSystemInterrupt+0xc:
>     80a10d60 c705b000feff00000000 mov dword ptr ds:[0FFFE00B0h],0
>     kd> t
>     hal!HalEndSystemInterrupt+0x16:
>     80a10d6a 80f941          cmp     cl,41h
>     kd> t
>     hal!HalEndSystemInterrupt+0x19:
>     80a10d6d 720f            jb      hal!HalEndSystemInterrupt+0x2a (80a10d7e)
>     kd> t
>     hal!HalEndSystemInterrupt+0x2a:
>     80a10d7e 64803d9600000000 cmp     byte ptr fs:[96h],0
>     kd> t
>     hal!HalEndSystemInterrupt+0x32:
>     80a10d86 64c6059500000000 mov     byte ptr fs:[95h],0
>     kd> t
>     hal!HalEndSystemInterrupt+0x3a:
>     80a10d8e 74df            je      hal!HalEndSystemInterrupt+0x1b (80a10d6f)
>     kd> t
>     hal!HalEndSystemInterrupt+0x1b:
>     80a10d6f 890d8000feff    mov     dword ptr ds:[0FFFE0080h],ecx
>     kd> t
>     hal!HalEndSystemInterrupt+0x21:
>     80a10d75 8b158000feff    mov     edx,dword ptr ds:[0FFFE0080h]
>     kd> t
>     hal!HalEndSystemInterrupt+0x27:
>     80a10d7b c20800          ret     8
>     kd> t
>     nt!KeUpdateSystemTime+0x14d:
>     807f06a5 e983bbffff      jmp     nt!Kei386EoiHelper (807ec22d)
>     kd> t
>     nt!Kei386EoiHelper:
>     807ec22d fa              cli
>     kd> t
>     nt!Kei386EoiHelper+0x1:
>     807ec22e f7457000000200  test    dword ptr [ebp+70h],20000h
>     kd> t
>     nt!Kei386EoiHelper+0x8:
>     807ec235 7506            jne     nt!Kei386EoiHelper+0x10 (807ec23d)
>     kd> t
>     nt!Kei386EoiHelper+0xa:
>     807ec237 f6456c01        test    byte ptr [ebp+6Ch],1
>     kd> t
>     nt!Kei386EoiHelper+0xe:
>     807ec23b 7434            je      nt!Kei386EoiHelper+0x44 (807ec271)
>     kd> t
>     nt!Kei386EoiHelper+0x44:
>     807ec271 8b54244c        mov     edx,dword ptr [esp+4Ch]
>     kd> t
>     nt!Kei386EoiHelper+0x48:
>     807ec275 648b1d50000000  mov     ebx,dword ptr fs:[50h]
>     kd> t
>     nt!Kei386EoiHelper+0x4f:
>     807ec27c 64891500000000  mov     dword ptr fs:[0],edx
>     kd> t
>     nt!Kei386EoiHelper+0x56:
>     807ec283 f7c3ff000000    test    ebx,0FFh
>     kd> t
>     nt!Kei386EoiHelper+0x5c:
>     807ec289 754e            jne     nt!Kei386EoiHelper+0xac (807ec2d9)
>     kd> t
>     nt!Kei386EoiHelper+0x5e:
>     807ec28b f744247000000200 test    dword ptr [esp+70h],20000h
>     kd> t
>     nt!Kei386EoiHelper+0x66:
>     807ec293 0f85c1000000    jne     nt!Kei386EoiHelper+0x12c (807ec35a)
>     kd> t
>     nt!Kei386EoiHelper+0x6c:
>     807ec299 66f744246cf9ff  test    word ptr [esp+6Ch],0FFF9h
>     kd> t
>     nt!Kei386EoiHelper+0x73:
>     807ec2a0 7477            je      nt!Kei386EoiHelper+0xec (807ec319)
>     kd> t
>     nt!Kei386EoiHelper+0x75:
>     807ec2a2 8b54243c        mov     edx,dword ptr [esp+3Ch]
>     kd> t
>     nt!Kei386EoiHelper+0x79:
>     807ec2a6 8b4c2440        mov     ecx,dword ptr [esp+40h]
>     kd> t
>     nt!Kei386EoiHelper+0x7d:
>     807ec2aa 8b442444        mov     eax,dword ptr [esp+44h]
>     kd> t
>     nt!Kei386EoiHelper+0x81:
>     807ec2ae 66837d6c08      cmp     word ptr [ebp+6Ch],8
>     kd> t
>     nt!Kei386EoiHelper+0x86:
>     807ec2b3 740c            je      nt!Kei386EoiHelper+0x94 (807ec2c1)
>     kd> t
>     nt!Kei386EoiHelper+0x94:
>     807ec2c1 8d6554          lea     esp,[ebp+54h]
>     kd> t
>     nt!Kei386EoiHelper+0x97:
>     807ec2c4 5f              pop     edi
>     kd> t
>     nt!Kei386EoiHelper+0x98:
>     807ec2c5 5e              pop     esi
>     kd> t
>     nt!Kei386EoiHelper+0x99:
>     807ec2c6 5b              pop     ebx
>     kd> t
>     nt!Kei386EoiHelper+0x9a:
>     807ec2c7 5d              pop     ebp
>     kd> t
>     nt!Kei386EoiHelper+0x9b:
>     807ec2c8 66817c24088000  cmp     word ptr [esp+8],80h
>     kd> t
>     nt!Kei386EoiHelper+0xa2:
>     807ec2cf 0f87a1000000    ja      nt!Kei386EoiHelper+0x148 (807ec376)
>     kd> t
>     nt!Kei386EoiHelper+0xa8:
>     807ec2d5 83c404          add     esp,4
>     kd> t
>     nt!Kei386EoiHelper+0xab:
>     807ec2d8 cf              iretd After this line Bsod, compi restarts
>     kd> t
>     Bsod

#8165 | infuscomus | ⇗ @diderius6 would a checked vista rtm acpi.sys help for this?
#8166 | diderius6 | ⇗ @infuscomus For to see, what is going on, the checked versions are better. So, better to have acpi.sys from Vista as checked version Dietmar PS: Do you know, why the checked version from SP1 hal.dll from Sources does not boot XP SP3?

#8167

infuscomus

⇗ @diderius6
OK, I'll get you a checked version.

> Zitat von ⇗ diderius6 im Beitrag ¶ #8166

> PS: Do you know, why the checked version from SP1 hal.dll from Sources does not boot XP SP3?

No, sorry, If I knew why I would fix it.

#8168

infuscomus

⇗ @diderius6
Vista RTM checked acpi.sys
infuscomus has attached files to this post

- ⇗ acpi_vistartm_checked.7z.zip

#8169 | infuscomus | ⇗ @diderius6 any progress with the checked acpi.sys?
#8170 | diderius6 | ⇗ @infuscomus Today I have a lot of work at school. Corona is going like crazy in Germany again. We have incidents 700 in parts, even with vaccine and a lot of new dead people. Tomorrow I test checked acpi.sys from Vista Dietmar

#8171

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8140

> @diderius6

> > Zitat von ⇗ diderius6 im Beitrag ¶ #8115

> > @Mov AX, 0xDEAD
> > "if someone will implement "new timer api" you'l get usb3"
> > Until now, I have no idea how to make this.
> > But I can learn a lot, so.. if there is a chance to integrate more drivers from Win8.1 into XP..

> Just missed Extended Timing functions from 8.1 kernel: ExAllocateTimer, ExDeleteTimer, ExCancelTimer, ExSetTimer
> add to Emu Extender or patch manually as Gen1 usb3 driver

Seems like we can get these functions here, but I have no idea how to add them to Extender as I'm not C/C++ developer. It's like 10 years after my last QT C++ exam..

    https://github.com/tpn/winddk-8.1/blob/master/Include/km/wdm.h

It will be great if you can add new functions. I have looked into Vista / 7 Generic HDA driver and only few functions seems to be missing too. It woul be great if you can have a look on it a bring Generic Windows 7 HDA driver into XP. When I was inspecting files I found this:
hdaudio.sys / hdabus.sys / portcls.sys / usbaudio.sys 6.1.7601.17514 can be used with ntoskrn8.sys, but these 4 files have 4 missing import functions. Then I tried to figure out how to mod EMU_Extender source with these missing functions - PoCreatePowerRequest, PoSetPowerRequest, PoClearPowerRequest, PoDeletePowerRequest. They exist in ntifs_ddk.h, but thats all what can I find. I have no Idea how to add them as usable functions to ntoskrn8.sys. I hope driver can work with these added functions.
Here are used files, contains original and modded/combined files replaced ntoskrnl.exe = ntoskrn8.sys for missing imports and added some XP SYS files to see full depencies in Depency Walker. So only 4 mentioned functions are missing

    https://www.mediafire.com/file/8ip4rjbwni5xgt4/Generic_HDA_from_Win7_for_XP_x86.7z/file

It would be nice to see updated EMU_Extender with new functions to get Windows 8.1 USB3.x driver and Windows 7 HDA under XP.

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8172

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8047

> Hi George King

> > Zitat von ⇗ George King im Beitrag ¶ #8038

> > Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
> > - replace in vusbstor.sys (v6.1.7600.4002):

> >     page:000209B4: mov [ebp+SurpriseRemovalOK], ebx -> NOPs
> >     (89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF)

>     vusbstor.sys_x64 6.1.7600.4002 :
>     89 AC 24 84 00 00 00 -> 90 90 90 90 90 90 90

> > Zitat von ⇗ George King im Beitrag ¶ #8038

> > And I would also like to request missing informations for WDF 1.11. I would like to use ported WDF 1.11 with original XP ones to avoid unhandled problems with other drivers.
> > In WdfLdr8.sys replace hex pattern `F6 78 1B F6 to F6 EB 1B F6 (x32), ** ** to ** ** (x64)`

>     wdfldr.sys_x64 1.11.9200.16384 :
>     85 FF 78 2A -> 85 FF EB 2A

> i don't have any XP x64 installed now, hex patterns made by "copy&paste way", need to confirm working state

Many thanks for these informations! I have modded my drivers set and will see how it goes on real HW on friday. I can confirm now wdfldr8.sys work with USB3.x under XP x64 in VirtualBox [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8173

Mov AX, 0xDEAD

> Zitat von ⇗ George King im Beitrag ¶ #8171

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8140

> > Just missed Extended Timing functions from 8.1 kernel: ExAllocateTimer, ExDeleteTimer, ExCancelTimer, ExSetTimer
> > add to Emu Extender or patch manually as Gen1 usb3 driver

> Seems like we can get these functions here, but I have no idea how to add them to Extender as I'm not C/C++ developer. It's like 10 years after my last QT C++ exam.. It will be great if you can add new functions.

I'm not interested in it

> Zitat von ⇗ George King im Beitrag ¶ #8171

> I have looked into Vista / 7 Generic HDA driver and only few functions seems to be missing too. It woul be great if you can have a look on it a bring Generic Windows 7 HDA driver into XP. When I was inspecting files I found this:
> hdaudio.sys / hdabus.sys / portcls.sys / usbaudio.sys 6.1.7601.17514 can be used with ntoskrn8.sys, but these 4 files have 4 missing import functions. Then I tried to figure out how to mod EMU_Extender source with these missing functions - PoCreatePowerRequest, PoSetPowerRequest, PoClearPowerRequest, PoDeletePowerRequest.

I've tried HDA driver from win7, driver/portcls.sys return 0xC00000BB after processing initial IRPs, so fixing import is not enough.
Some of HDA driver from longhorn betas loads without errors, but always there is no sound (in VirtualBOX VM, not tested on real hardware)
5012 - Early drivers with different sizes has this version, usually driver load with error due supporting only selected chipsets
5244, 5250- All Audio devices available, output tagged as Headphones
5285 - Show only "In" devices (Microphone)
5335 - No any devices
I heard that guys from shorthorn project run sucessfully driver 5048 beta, but i dont know details

#8174 | infuscomus | ⇗ @Mov AX, 0xDEAD I'm trying to merge your ntoskrnl extender into the actual ntoskrnl source code but I keep hitting compilation errors. Have you had any luck with achieving this?

#8175

Mov AX, 0xDEAD

⇗ @infuscomus

> Zitat von ⇗ infuscomus im Beitrag ¶ #8174

> @Mov AX, 0xDEAD
> I'm trying to merge your ntoskrnl extender into the actual ntoskrnl source code but I keep hitting compilation errors.
> Have you had any luck with achieving this?

I guess you have struct redeclaration/macro redefinition/xxx doubling
Extender written to take some existing code/headers if it was not exported normal way. common.h is tricky, it dynamicaly compiled depended on target Kernel/OS

## Page 546

#8176

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #8156

> Does it boot without the debugger connected?

⇗ @infuscomus ...just thought of something. Sometimes, when the OS is set to debug mode, it can act erratically in normal mode. Not sure if this applies.

#8177 | infuscomus | ⇗ @gordo999 There is a problem with the checked HAL that is making it crash, I'm not sure what it is. The free HAL seems to be working just fine though.

#8178

Mov AX, 0xDEAD

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8173

> I've tried HDA driver from win7, driver/portcls.sys return 0xC00000BB after processing initial IRPs, so fixing import is not enough.
> Some of HDA driver from longhorn betas loads without errors, but always there is no sound (in VirtualBOX VM, not tested on real hardware)
> 5012 - Early drivers with different sizes has this version, usually driver load with error due supporting only selected chipsets
> 5244, 5250- All Audio devices available, output tagged as Headphones
> 5285 - Show only "In" devices (Microphone)
> 5335 - No any devices
> I heard that guys from shorthorn project run sucessfully driver 5048 beta, but i dont know details

Update:
5012(size 133120), 5244, 5250 - After reinstalling VirtualBox to last 6.1.28 i've got sound from VM, output is "headphones"
only HdAudio.sys was updated, portcls.sys(5512) & hdaudbus.sys(5013) is original SP3
5285 - broken, no Output devices
5250 = LongHorn build 5270
5244 = LongHorn build 5259
5012(size 133120) = LongHorn build 5231

#8179

George King

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8178

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8173

> > I've tried HDA driver from win7, driver/portcls.sys return 0xC00000BB after processing initial IRPs, so fixing import is not enough.
> > Some of HDA driver from longhorn betas loads without errors, but always there is no sound (in VirtualBOX VM, not tested on real hardware)
> > 5012 - Early drivers with different sizes has this version, usually driver load with error due supporting only selected chipsets
> > 5244, 5250- All Audio devices available, output tagged as Headphones
> > 5285 - Show only "In" devices (Microphone)
> > 5335 - No any devices
> > I heard that guys from shorthorn project run sucessfully driver 5048 beta, but i dont know details

> Update:
> 5012(size 133120), 5244, 5250 - After reinstalling VirtualBox to last 6.1.28 i've got sound from VM, output is "headphones"
> only HdAudio.sys(5250) was updated, portcls.sys(5512) & hdaudbus.sys(5013) is original SP3
> 5285 - broken, no Output devices

Have you tried portcls.sys from Windows 7 6801 too? This one have no missing imports using ntoskrn8.sys and other connected files seems good (no missing imports from portcls.sys). Maybe it's usable with 7601 driver as is mostly like "Vista post SP2 branch"?
⇗ @skullteria Have you created any working HDA drivers for XP / 2003? If have some noted, it could save some time during digging around Generic HDA drivers. I see you have some of them here, but some user on MDL tried them without success. I still haven't tried them myself

    http://shorthornproject.com/allcategories.html?tab=drivers&item=item-drivers

I hope we can find working drivers combination from betas etc.

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8180

skullteria

> Zitat von ⇗ George King im Beitrag ¶ #8179

> > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8178

> > > Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8173

> > > I've tried HDA driver from win7, driver/portcls.sys return 0xC00000BB after processing initial IRPs, so fixing import is not enough.
> > > Some of HDA driver from longhorn betas loads without errors, but always there is no sound (in VirtualBOX VM, not tested on real hardware)
> > > 5012 - Early drivers with different sizes has this version, usually driver load with error due supporting only selected chipsets
> > > 5244, 5250- All Audio devices available, output tagged as Headphones
> > > 5285 - Show only "In" devices (Microphone)
> > > 5335 - No any devices
> > > I heard that guys from shorthorn project run sucessfully driver 5048 beta, but i dont know details

> > Update:
> > 5012(size 133120), 5244, 5250 - After reinstalling VirtualBox to last 6.1.28 i've got sound from VM, output is "headphones"
> > only HdAudio.sys(5250) was updated, portcls.sys(5512) & hdaudbus.sys(5013) is original SP3
> > 5285 - broken, no Output devices

> Have you tried portcls.sys from Windows 7 6801 too? This one have no missing imports using ntoskrn8.sys and other connected files seems good (no missing imports from portcls.sys). Maybe it's usable with 7601 driver as is mostly like "Vista post SP2 branch"?
> @skullteria Have you created any working HDA drivers for XP / 2003? If have some noted, it could save some time during digging around Generic HDA drivers. I see you have some of them here, but some user on MDL tried them without success. I still haven't tried them myself

>     http://shorthornproject.com/allcategories.html?tab=drivers&item=item-drivers

> I hope we can find working drivers combination from betas etc.

Yes, all drivers avaliable on these links works on XP/2003 without problem. Starting build 5308 (maybe previous version, linke 5285 works, but, i not tested) install and load, but, no sound.

#8181

George King

⇗ @skullteria Thanks for info, I will try 5231 in both architectures. Will see how it goes - seems like INFs need some touch to do everything automatically[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8182 | diderius6 | I just download the Bios F4 for the new Gigabyte Z690 UD board for new 12900k Intel CPU. With UefiTool I see, that there is no CSMCORE in Bios, only Videocsm Dietmar

#8183

infuscomus

⇗ @diderius6
a custom kernel and hal for you.
use all the files included, that includes the ntoskrn8.sys too since I had to link it to the custom library built from my kernel.
please debug Vista acpi.sys with it when you have time.
infuscomus has attached files to this post

- ⇗ customkernelandhal_fordiderius6.7z.zip

#8184 | Dog | Has anyone tried using one of the newer 2020 DDR5 versions of the GT 710 as a physx card in Windows XP? If they aren't using 16 lanes, will they slow down the higher end Windows XP GPUs?
#8185 | infuscomus | ⇗ @Dog I'm reasonably sure that a GT710 will slow down any higher end GPU.

#8186

infuscomus

⇗ @diderius6
I did a test
KMDF 1.11 won't load because these functions aren't exported from SP1 kernel.
ExAcquireRundownProtectionEx
ExReleaseRundownProtectionEx
ExfReleasePushLock
I'll fix this and reupload a new version.

#8187

Dog

Thinking about it a bit more I think I understand a bit better. PCIe 3.0 was released right at the end of XP support, so it probably wouldn't make sense for any of those cards. However consider a machine targeting SLI under Windows XP. My understanding is that the gtx 580 was the last officially supported SLI card. This card was not PCIe 3.0 (Like the Titan X Maxwell was). Its PCIe 2.0 and in SLI they would be running in x8/x8 in most cases.
Gigabyte has an iteration of the GT 710 that runs at PCIe 2.0 8x despite having a 16x connector, and is single slot (GV-N710D5-2GL). It seemed like it might be a formidable Physx card for an SLI build as someone that hardly knows what they are doing (954MHz vs 900MHz Base Clock, 2 vs 3 GDDR5, 5010 MHz vs 4212 MHz Memory Clock). I'm still curious if I'm missing something else, like misunderstanding how PCIe lanes are shared.

#8188

infuscomus

⇗ @diderius6
Exported now
ExAcquireRundownProtectionEx
ExReleaseRundownProtectionEx
ExfReleasePushLock
ignore wdf01000.sys - was just checking if exports were correct.
EDIT:
Damnit! I missed KeFlushQueuedDpcs
and ObIsDosDeviceLocallyMapped
and SeAuditingHardLinkEventsWithContext SeAuditingFileEventsWithContext
I'm tired :(
infuscomus has attached files to this post

- ⇗ customkernelandhal_fordiderius6_2.7z.zip

#8189 | infuscomus | ⇗ @Dog I think the GT 710 would still be a bottleneck even if running as a PhysX card. It's not exactly fast.
#8190 | infuscomus | ⇗ @Mov AX, 0xDEAD I seem to have gotten stuck trying to reintegrate SeAuditingHardLinkEventsWithContext and SeAuditingFileEventsWithContext into the SP1 kernel. Using the code from the WRK doesn't seem to be working, any ideas?

## Page 547

#8191

infuscomus

⇗ @diderius6 ⇗ @Mov AX, 0xDEAD
I've been trying to get the SP1 ntoskrnl source code to boot on XP SP3.
I've run into a BSOD I have not seen before - BSOD 71
⇗
can you help to trace the cause of this?
PDB symbols included.
infuscomus has attached files to this post

- ⇗ BSOD71.7z.zip

#8192

diderius6

⇗ @infuscomus
Waaoh,
with this hal.dll from you, modded from Sources SP1 hal.dll
it is possible to boot XP SP3 via BCD on an 8700k cpu on my Asrock k6 z370 Fatalty board
for the very first time
Dietmar
⇗ https://ufile.io/u6zqc89z

#8193

infuscomus

I successfully integrated SeAuditingHardLinkEventsWithContext and SeAuditingFileEventsWithContext into the SP1 kernel.
I still get BSOD 71 though
⇗ @diderius6
when you have time, can you please trace the cause of BSOD 71 in my kernel?
infuscomus has attached files to this post

- ⇗ BSOD71_2.7z.zip

#8194

diderius6

⇗ @infuscomus
I run Windbg with your files from BSOD71_2.7z.zip .
This is result, I test some more.
MISMATCHED_HAL (79) hal.dll is free version
and ntoskrnl is checked version
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov  6 13:11:35.140 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols;C:\symbolss
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.srckit
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80ae2398
>     System Uptime: not available

>     *** Fatal System Error: 0x00000079
>                                                  (0x00000002,0x00000001,0x00000000,0x00000000)

>     Break instruction exception - code 80000003 (first chance)

>     A fatal system error has occurred.
>     Debugger entered on first try; Bugcheck callbacks have not been invoked.

>     A fatal system error has occurred.

>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov  6 13:11:37.312 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Use !analyze -v to get detailed debugging information.

>     BugCheck 79, {2, 1, 0, 0}

>     Probably caused by : ntkrnlmp.exe ( nt!ExpInitializeExecutive+167 )

>     Followup: MachineOwner
>     ---------

>     nt!RtlpBreakWithStatusInstruction:
>     80aa960c cc              int     3
>     kd> !analyze -v
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     MISMATCHED_HAL (79)
>     The HAL revision level and HAL configuration type does not match that
>     of the kernel or the machine type.  This would probably happen if the
>     user has manually updated either ntoskrnl.exe or hal.dll and managed to
>     get a conflict.
>     You have an MP (multi-processor) Hal and a UP (uni-processor) Kernel,
>     or the reverse.
>     Arguments:
>     Arg1: 00000002,
>     	The build types mismatch.
>     Arg2: 00000001, Build type of ntoskrnl.exe
>     Arg3: 00000000, Build type of hal.dll
>     	Build type
>     	0 = Free multiprocessor enabled build
>     	1 = Checked multiprocessor enabled build
>     	2 = Free uniprocessor build
>     	3 = checked uniprocessor build
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     BUGCHECK_STR:  0x79_2

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     LAST_CONTROL_TRANSFER:  from 80a2d6aa to 80aa960c

>     STACK_TEXT:
>     80ad2f0c 80a2d6aa 00000003 80ad323c 00000002 nt!RtlpBreakWithStatusInstruction [E:\XPSP1\base\ntos\rtl\i386\debug2.asm @ 59]
>     80ad2f58 80a2e1b8 00000003 000000ff ffdff120 nt!KiBugCheckDebugBreak+0x19 [e:\xpsp1\base\ntos\ke\bugcheck.c @ 207]
>     80ad3324 80a2e79b 00000079 00000002 00000001 nt!KeBugCheck2+0x46d [e:\xpsp1\base\ntos\ke\bugcheck.c @ 913]
>     80ad3344 8007ea22 00000079 00000002 00000001 nt!KeBugCheckEx+0x19 [e:\xpsp1\base\ntos\ke\bugcheck.c @ 102]
>     80ad3370 80cf8d57 00000000 80084000 80aded20 hal!HalInitSystem+0x64 [e:\xpsp1\base\hals\halmps\i386\mphal.c @ 568]
>     80ad34f4 80d0978d 00000000 80084000 8003fc00 nt!ExpInitializeExecutive+0x167 [e:\xpsp1\base\ntos\init\init.c @ 795]
>     80ad354c 80d072e0 80adef80 80aded20 80ad3810 nt!KiInitializeKernel+0x42b [e:\xpsp1\base\ntos\ke\i386\kernlini.c @ 771]
>     00000000 00000000 00000000 00000000 00000000 nt!KiSystemStartup+0x2c4 [E:\XPSP1\base\ntos\ke\i386\newsysbg.asm @ 553]

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!ExpInitializeExecutive+167 [e:\xpsp1\base\ntos\init\init.c @ 795]
>     80cf8d57 84c0            test    al,al

>     FAULTING_SOURCE_CODE:
>     No source found for 'e:\xpsp1\base\ntos\init\init.c'

>     SYMBOL_STACK_INDEX:  5

>     SYMBOL_NAME:  nt!ExpInitializeExecutive+167

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  61857a31

>     FAILURE_BUCKET_ID:  0x79_2_nt!ExpInitializeExecutive+167

>     BUCKET_ID:  0x79_2_nt!ExpInitializeExecutive+167

>     Followup: MachineOwner
>     ---------

#8195 | infuscomus | ⇗ @diderius6 hmm, I thought I got rid of all of those, thanks.
#8196 | diderius6 | ⇗ @infuscomus May be most easy way, to build also a free ntoskrnl from SP1 sources Dietmar

#8197

infuscomus

⇗ @diderius6
OK, hopefully I got all the mismatched hal checks.
please check for the cause of BSOD 71 SESSION5_INITIALIZATION_FAILED
infuscomus has attached files to this post

- ⇗ customkernelandhal_fordiderius6_4.7z.zip

#8198

diderius6

⇗ @infuscomus
This one does not work at all
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov  6 16:32:04.078 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols;C:\symbolss
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
>     Built by: 2600.srckit
>     Machine Name:
>     Kernel base = 0x80a02000 PsLoadedModuleList = 0x80ae2398
>     System Uptime: not available
>     Break instruction exception - code 80000003 (first chance)
>     nt!KiExceptionExit+0x107:
>     80ac1eb3 cc              int     3
>     kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!KiExceptionExit+0x107:
>     80ac1eb3 cc              int     3
>     kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!KiExceptionExit+0x107:
>     80ac1eb3 cc              int     3
>     kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!KiExceptionExit+0x107:
>     80ac1eb3 cc              int     3
>     kd> g
>     Break instruction exception - code 80000003 (first chance)
>     nt!KiExceptionExit+0x107:
>     80ac1eb3 cc              int     3
>     kd> !analyze -v
>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov  6 16:32:47.796 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     ........................
>     Loading User Symbols

>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Unknown bugcheck code (0)
>     Unknown bugcheck description
>     Arguments:
>     Arg1: 00000000
>     Arg2: 00000000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     FAULTING_IP:
>     nt!KiExceptionExit+107 [E:\XPSP1\base\ntos\ke\i386\trap.asm @ 1845]
>     80ac1eb3 cc              int     3

>     EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: 80ac1eb3 (nt!KiExceptionExit+0x00000107)
>        ExceptionCode: 80000003 (Break instruction exception)
>       ExceptionFlags: 00000000
>     NumberParameters: 3
>        Parameter[0]: 00000000
>        Parameter[1]: 00002710
>        Parameter[2]: 00000046

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  00002710

>     EXCEPTION_PARAMETER3:  00000046

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x0

>     LAST_CONTROL_TRANSFER:  from 80075727 to 80ac1eb3

>     STACK_TEXT:
>     80ad32e8 80075727 00000046 80ac05b0 00000000 nt!KiExceptionExit+0x107 [E:\XPSP1\base\ntos\ke\i386\trap.asm @ 1845]
>     80ad3370 80cf8d57 00000000 80084000 80aded20 hal!HalpInitializeClock+0xe7 [E:\XPSP1\base\hals\halmps\i386\mpclock.asm @ 366]
>     80ad34f4 80d09795 00000000 80084000 8003fc00 nt!ExpInitializeExecutive+0x167 [e:\xpsp1\base\ntos\init\init.c @ 795]
>     80ad354c 80d072e8 80adef80 80aded20 80ad3810 nt!KiInitializeKernel+0x42b [e:\xpsp1\base\ntos\ke\i386\kernlini.c @ 771]
>     00000000 00000000 00000000 00000000 00000000 nt!KiSystemStartup+0x2c4 [E:\XPSP1\base\ntos\ke\i386\newsysbg.asm @ 553]

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!KiExceptionExit+107 [E:\XPSP1\base\ntos\ke\i386\trap.asm @ 1845]
>     80ac1eb3 cc              int     3

>     FAULTING_SOURCE_CODE:
>     No source found for 'E:\XPSP1\base\ntos\ke\i386\trap.asm'

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  nt!KiExceptionExit+107

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrnlmp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  61869846

>     FAILURE_BUCKET_ID:  0x0_nt!KiExceptionExit+107

>     BUCKET_ID:  0x0_nt!KiExceptionExit+107

>     Followup: MachineOwner
>     ---------

>     kd> lm
>     start    end        module name
>     80001000 80004000   BOOTVID    (deferred)
>     80007000 80008100   WMILIB     (deferred)
>     80009000 8000f800   firadisk   (deferred)
>     80010000 80011b80   kdcom      (deferred)
>     80012000 8001b180   isapnp     (deferred)
>     8001c000 8001d700   dmload     (deferred)
>     80062000 80081c00   hal        (private pdb symbols)  c:\symbolss\halmacpi.pdb
>     80124000 80153d80   ACPI       (deferred)
>     80154000 80164a80   pci        (deferred)
>     80165000 8016f700   MountMgr   (deferred)
>     80170000 8018e880   ftdisk     (deferred)
>     8018f000 801b4700   dmio       (deferred)
>     801b5000 801c0000   PartMgr    (deferred)
>     801c0000 801ccc80   VolSnap    (deferred)
>     801cd000 801dd000   asahci32   (deferred)
>     801dd000 801f4880   SCSIPORT   (deferred)
>     801f5000 80205000   disk       (deferred)
>     80205000 80211180   CLASSPNP   (deferred)
>     80232000 80243f00   sr         (deferred)
>     80244000 8025ab80   KSecDD     (deferred)
>     8025b000 802e7d00   Ntfs       (deferred)
>     802e8000 80314a80   NDIS       (deferred)
>     80315000 8032ee80   Mup        (deferred)
>     804d7000 8078c000   iaStor     (deferred)
>     80a02000 80d69000   nt         (private pdb symbols)  c:\symbolss\ntkrnlmp.pdb

#8199 | infuscomus | ⇗ @diderius6 ?????????? I have no idea why this is happening. Well, Thanks for testing it anyway.
#8200 | diderius6 | XP SP3 works on z690 chipset with very laast acpi.sys from outerspace ) ⇗ https://community.hwbot.org/topic/209655...#comment-599202 Dietmar
#8201 | diderius6 | And voila, new world record for PiFast under XP SP3 on the ASUS ROG Maximus Z690 Apex board Dietmar ⇗ https://www.youtube.com/watch?v=rhdxPscpAIU&t=1831s ⇗

#8202

infuscomus

⇗ @Mov AX, 0xDEAD
Can you look at this code to see why this line is reached?
KeBugCheck(SESSION5_INITIALIZATION_FAILED);
and how to resolve this?
edit:
looking at my kernel compared to actual XP kernel, there is supposed to be a conditional jump after ZwWaitForSingleObject to go to ZwClose or the BSOD in the actual kernel.
mine has no conditional jump and just ends there - compiler error?
infuscomus has attached files to this post

- ⇗ init.c.txt

#8203

skullteria

> Zitat von ⇗ infuscomus im Beitrag ¶ #8202

> @Mov AX, 0xDEAD
> Can you look at this code to see why this line is reached?
> KeBugCheck(SESSION5_INITIALIZATION_FAILED);
> and how to resolve this?
> edit:
> looking at my kernel compared to actual XP kernel, there is supposed to be a conditional jump after ZwWaitForSingleObject to go to ZwClose or the BSOD in the actual kernel.
> mine has no conditional jump and just ends there - compiler error?

Are you trying XP SP1 kernel with ntdll from SP3? If yes, it will not work because syscall mechanism is changed between XP SP1 and XP SP2, like occourred betweeen Server 2003 RTM and SP1. See functions KIFastSyscall, KiFastSyscallEntry, etc. If you want test, download One-Core-API binaries and use ntdll from XP on Base Installer package.

#8204 | infuscomus | ⇗ @skullteria So if I replace my XP SP3 ntdll.dll with the one from One-core-api my modified SP1 kernel will work?

#8205

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #8202

> @Mov AX, 0xDEAD
> Can you look at this code to see why this line is reached?
> KeBugCheck(SESSION5_INITIALIZATION_FAILED);
> and how to resolve this?
> edit:
> looking at my kernel compared to actual XP kernel, there is supposed to be a conditional jump after ZwWaitForSingleObject to go to ZwClose or the BSOD in the actual kernel.
> mine has no conditional jump and just ends there - compiler error?

           //
        // Wait five seconds for the session manager to get started or
        // terminate. If the wait times out, then the session manager
        // is assumed to be healthy and the zero page thread is called.
           //

        OldTime.QuadPart = Int32x32To64(5, -(10 * 1000 * 1000));
        Status = ZwWaitForSingleObject(
                                   ProcessInformation.Process,
                                   FALSE,
                    &OldTime
                                   );

kernel create smss.exe process (user-mode), wait for signal from it and faults if timeout occurs 5 secs to check if smss still alive (.Process field as trigger) and faults if not

## Page 548

#8206 | imadam__ | hi, i posted in this thread a few months ago on how to install xp on my system. but i forgot what to do now. what would be a good guide to install xp on my specs? ryzen 3 1200 8gb ddr4 ram asus prime b450m-a

#8207

skullteria

> Zitat von ⇗ infuscomus im Beitrag ¶ #8204

> @skullteria
> So if I replace my XP SP3 ntdll.dll with the one from One-core-api my modified SP1 kernel will work?

Sorry, i said a mistake. Ntdll for XP from One-Core-API l already changed syscall mechanism. You need compile ntdll from source and add missing functions. In true, it will not work natively on XP SP3. I recommend you test with XP SP1.

#8208

skullteria

> Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #8205

> > Zitat von ⇗ infuscomus im Beitrag ¶ #8202

> > @Mov AX, 0xDEAD
> > Can you look at this code to see why this line is reached?
> > KeBugCheck(SESSION5_INITIALIZATION_FAILED);
> > and how to resolve this?
> > edit:
> > looking at my kernel compared to actual XP kernel, there is supposed to be a conditional jump after ZwWaitForSingleObject to go to ZwClose or the BSOD in the actual kernel.
> > mine has no conditional jump and just ends there - compiler error?

>            //
>         // Wait five seconds for the session manager to get started or
>         // terminate. If the wait times out, then the session manager
>         // is assumed to be healthy and the zero page thread is called.
>            //

>         OldTime.QuadPart = Int32x32To64(5, -(10 * 1000 * 1000));
>         Status = ZwWaitForSingleObject(
>                                    ProcessInformation.Process,
>                                    FALSE,
>                     &OldTime
>                                    );

> kernel create smss.exe process (user-mode), wait for signal from it and faults if timeout occurs 5 secs to check if smss still alive (.Process field as trigger) and faults if not

It faults because smss calls syscall (nt functions) and ntdll can't not locate it on kernel. In true, the jump of user mode to kernel mode is different between ntdll and kernel.

#8209 | infuscomus | ⇗ @Mov AX, 0xDEAD ⇗ @skullteria could smss.exe also be failing to start because my ntoskrnl.exe has additional exports that ntdll.dll doesn't have? or that has nothing to do with the problem?
#8210 | galagun | A small clue: "On reactos, each time you change some export in the kernel (server), you also have to rebuild the ntdll component (client)." They have tables about some core component dependencies, so they know which set of components they have to overwrite or rebuild when doing cross-test for implementation accuracy or debugging (for example, Reactos NT Kernel with Windows userland, or MS Win32k on ReactOS). Probably this would be useful to you guys, who are doing cross-testing between components belonging to different ServicePack levels.
#8211 | windows2.0uefi | how did you it please how did you run windows xp sp3 in uefi64
#8212 | juk777 | diderius6 "XP SP3 works on z690 chipset with very laast acpi.sys from outerspace" Which one is it? Can I have a link?
#8213 | diderius6 | ⇗ @juk777 Now this very laast acpi.sys from outerspace ) is the standard acpi.sys in the nice XP from Rasmsey ⇗ https://www.zone94.com/downloads/softwar...ntegral-edition Dietmar
#8214 | imadam__ | Tried both XP Integral Edition and a custom XP edition. XP integral edition bluescreened at 0x0000007B and my custom xp edition just said "storahci.sys is missing" or something like that ryzen 3 1200 asus prime b450m-a 8gb ram ddr4
#8215 | diderius6 | ⇗ @imadam__ Use as AHCI driver only via option 4, I from Integrator v3.2.0.2b Dietmar
#8216 | imadam__ | can you send download link to the intergrator? please
#8217 | imadam__ | i found it and tried to use that, but same 0x0000007B error ( i used intergral edition iso )

#8218

George King

Link is 3 posts before yours[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8219 | imadam__ | i tried the amd sata driver with nlite and same issue still - 0x0000007B BSOD
#8220 | diderius6 | ⇗ @imadam__ Only use Integrator v3.2.0.2b Dietmar ⇗ https://www.zone94.com/component/jlexcom...download&id=134

## Page 549

#8221 | imadam__ | That is the one i was using. The AMD Sata driver from it and the 2021-08-2X acpi file from it,.
#8222 | diderius6 | ⇗ @imadam__ Use it together with Ramsey XP Dietmar
#8223 | imadam__ | Just to clarify - Ramsey XP is the XP intergral edition, right? I was using that when I got the amd_sata.sys is missing error
#8224 | imadam__ | also im using it with latest WinSetupFromUSB (version 1.10) and a 16GB usb stick formatted with NTFS

#8225

diderius6

⇗ @imadam__
Yes, use Ramsey XP is the XP intergral edition together with Integrator v3.2.0.2b, only Option settings 4, I .
Dont use USB because of one crazy USB controller from AMD.
Without USB driver this WinSetupFromUSB will not work.
Without USB driver you need install from burned CD via Sata connector or Firadisk via USB.
This will work to 100%, I tested
Dietmar

#8226 | infuscomus | ⇗ @imadam__ Since you lack USB you can use Easy2boot to bypass the need to burn a CD as it includes a RAMdisk driver for the installation phase which should get around that 7B BSOD you've been having. I've used this before and it works well.
#8227 | infuscomus | My modified ntoskrnl.exe works just fine when integrated into a SP1 install media. I did not need to modify ntdll.dll to get it to work. So there is some other incompatibility between SP1 and SP3 that is causing the 71 BSOD.

#8228

galagun

Between SP1 and SP2 there was a big change in system call tables, which need recompile on client module (NTDLL) and even other stuff. ReactOS tested, and that's the reason you can't really do easy crosstesting between SP1 XP or Win2003 RTM there, only from XP SP2 or Win2003 SP1 and onwards (in a small note, that's why magazines and articles on the day called SP2 a "new OS release" or an OSR rather than just an update).
Now, between XP SP2 and 3, or Win2003 SP1 and 2, there aren't many changes in that subject... Except maybe integrated HyperV paravirtual support in Kernel.

#8229 | diderius6 | ⇗ @infuscomus I do not see this 71 Bsod with Windbg on real compi Dietmar
#8230 | imadam__ | I get this error when booting XP from the drive for the 1st time ⇗ https://i.imgur.com/Yc0jWwk.png

#8231

diderius6

⇗ @imadam__
Copy the folder OEM from the CD to your harddisk, may be whole content of XP install CD,
because all files on USB device are not recogniced because of missing USB driver.
This does not happen, if you use a burned CD on a SATA connector
Dietmar

#8232 | imadam__ | is there any way to use a stock windows xp installer with the drivers? or do you have to use the integral edition
#8233 | infuscomus | ⇗ @imadam__ you can run the optional patch integrator on a stock XP SP3 CD and it'll work.
#8234 | imadam__ | alright
#8235 | imadam__ | I installed windows XP integral edition from a burned cd and i get a blank screen after restarting from the installer booted from cd

## Page 550

#8236 | diderius6 | ⇗ @imadam__ With setting option only 4, I this will not happen via boot XP CD on an CD-rom Sata device Dietmar
#8237 | JakoDel | hi guys, are there any uhd 630 (coffee lake igpu) modded drivers around? also, does anyone know if it has a decent vesa compatibility (so that I can use vbemp)? if the answer is no to both, then I guess I'll have to buy a 980ti lol (I have a 1070 ti card with completely ducked up vbe 3.0 support, thanks nvidia)

#8238

gordo999

> Zitat von ⇗ diderius6 im Beitrag ¶ #7971

> I can install at once on the Asus ROG STRIX B450-F GAMING II board.

⇗ @diderius6 ...thinking about getting a laptop with Rog Strix mobo or maybe Rog Zephyrus. Are you only running XP on the Rog Strix or are you dual-booting another OS? Is the B450 fairly new? Do you know of a limit on the model that will still run XP?
I notice that most of the newer models are running solid state drives, usually limited to 500 GB. Maybe that's because they are running RAID assemblies or because laptop drives are too small physically to run a terabyte drive.

#8239

diderius6

⇗ @gordo999
The Asus ROG STRIX B450-F GAMING II board comes into market one year ago.
As far as I know, it is the latest new motherboard, that supports XP SP3 in all.
It is a really modern and nice board, stable, fast and cheap.
Solid state drives are no problem, when you have at least win8.1 also on this compi
for Trim. The programs for Trim do not run correct until now on XP
Dietmar

#8240

infuscomus

> Zitat von ⇗ gordo999 im Beitrag ¶ #8238

> ...thinking about getting a laptop with Rog Strix mobo or maybe Rog Zephyrus.

If I'm not mistaken, laptops no longer have any CSM, so I would get a desktop board instead.

#8241

Mov AX, 0xDEAD

> Zitat von ⇗ JakoDel im Beitrag ¶ #8237

> hi guys, are there any uhd 630 (coffee lake igpu) modded drivers around?

Drivers for coffee lake exist only for Windows 10 x64, but kabylake modded driver is usable for windows 7 x32/x64 too.
There's no any drivers for XP and it will never be due different video driver architecture since vista

> Zitat von ⇗ JakoDel im Beitrag ¶ #8237

> also, does anyone know if it has a decent vesa compatibility (so that I can use vbemp)

You will be first researcher :), formally coffee provides VESA 3.0, but i'm not satisfied with it in pure ms-dos, it always scale any resolution to 1024x768(i think because i use analog CRT with externel Display Port DAC on motherboard)
as i remember last releases of vbemp have special tools for intel chips like custom widescreen modes

> Zitat

> I guess I'll have to buy a 980ti

best option with native directdraw/overlay/3d acceleration

#8242

Mov AX, 0xDEAD

           //
        // Wait five seconds for the session manager to get started or
        // terminate. If the wait times out, then the session manager
        // is assumed to be healthy and the zero page thread is called.
           //

        OldTime.QuadPart = Int32x32To64(5, -(10 * 1000 * 1000));
        Status = ZwWaitForSingleObject(
                                   ProcessInformation.Process,
                                   FALSE,
                    &OldTime
                                   );

This code from kernel maybe very bad if executed in one(same) kernel thread, It just hang for 5 sec and do nothing :)
If this code is being executed in separate system thread, it is OK, just thread in waiting state.
EDIT: patching this waiting time don't change XP loading time, in VirtualBox XP always loads in 2.5 secs

#8243

George King

Anybody know what must be patched to get rid of Unsupported State (6) on Windows XP Starter?

    https://forums.mydigitallife.net/threads/windows-xp-starter-unsuported-state-6.84419/

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8244 | diderius6 | ⇗ @George King ⇗ https://www.betaarchive.com/forum/viewto...=439371#p439371 Dietmar PS: From this crazy XP Starter Edition exists also an SP3 version. I think, hack will be not easy.

#8245

George King

⇗ @diderius6 Seems like only few files are added by STARTOC component. Other files from CAB seems irelevant.

    duass.dll ediskeer.dll

There doesn't exist SP3 version, but it's possible to integrate SP3, but it must be done from 5.x environment, otherwise it doesn't accept product key
EDIT: Here is info it's driven by WPA\Starter key

    https://www.betaarchive.com/forum/viewtopic.php?p=447974#p447974

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8246

konsheyn

Don't mind me asking, you seems like person who may give me right adv. Trying to move system (don't ask why) by mowing hdd to another machine with J1900. The Windows (XP Embedded) start with finding bunch of devices and asks if drivers should be updated. But keyboard and mouse don't work. Found that ACPI.SYS have to be replaced with newer one, but there is no such driver on XP Embedded. Wondering if anything could be done to make keyboard/mouse work?
Thanks

#8247

George King

⇗ @diderius6 I created Windows 8 AHCI and Windows 7 NVMe driver addons for nLite. Can you try them on vanilla source and report back how it goes please?

    https://www.mediafire.com/file/les8tj6jixsvqkr/Generic_AHCI_6.2.9200.16384_Addon_x86.7z/file
    https://www.mediafire.com/file/z5977s5hj49cac3/Generic_NVMe_6.1.7601.23403_Addon_x86.7z/file

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8248

George King

⇗ @skullteria ACPI.sys x64 link doesn't work. Can you share your latest one please?

    http://shorthornproject.com/allcategories.html?tab=drivers&item=item-drivers

[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8249

diderius6

⇗ @George King
I integrate those 2 drivers via nlite into setup CD XP SP3.
But on TXT Setup I get message,
that no harddisk can be found.
This happens for connected harddisk and also for connected nvme device
Dietmar
PS: Because the drivers are integrated not via TXTSETUP.OEM but via entries.ini
is there a special procedure needed for nlite?
EDIT: I integrate the drivers as drivers via (*.inf) and also as update pack via (entries.ini) with nlite and also copy them by hand into i386 folder of the XP Setup CD.
Now XP SP3 installs via them.
EDIT2: Install via Ahci or via nvme both hang at network install.

#8250

skullteria

> Zitat von ⇗ George King im Beitrag ¶ #8248

> @skullteria ACPI.sys x64 link doesn't work. Can you share your latest one please?

>     http://shorthornproject.com/allcategories.html?tab=drivers&item=item-drivers

Hello friend, i need fix it on site. Thank you for notice to me.
Here is the link with x86 and x64 versions:
⇗ https://www.adrive.com/public/9MTJTm/ACPI.rar

## Page 551

#8251 | infuscomus | ⇗ @konsheyn I'm guessing you'll need some USB 3.0 drivers to get input working. I know how to integrate USB drivers for a new XP installation, but not for a pre-existing one.
#8252 | konsheyn | As I know USB in modern hardware work in XHCI mode. Windows XP can work only with EHCI controllers. XHCI require driver. But without correct ACPI USB XHCI will not install. So, as much as I know I need ACPI driver to be installed. But how to add it to system. that is the question. My existing system doesn't have ACPI.SYS in SYSTEM32.

#8253

George King

⇗ @diderius6 - integrate these 7z as is on Hotfixes / Addons page -> no need to have TXTSETUP.OEM[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8254

gordo999

> Zitat von ⇗ konsheyn im Beitrag ¶ #8252

> As I know USB in modern hardware work in XHCI mode. Windows XP can work only with EHCI controllers. XHCI require driver. But without correct ACPI USB XHCI will not install. So, as much as I know I need ACPI driver to be installed. But how to add it to system. that is the question. My existing system doesn't have ACPI.SYS in SYSTEM32.

⇗ @konsheyn ...copy it to the system32/drivers directory and reboot.
I don't have my XP computer connected right now. I do remember an acpi.sys being in either the system32 or system32/drivers directory. I renamed it and copied the acpi.sys from outer space where that acpi.sys was located. System File Checker did not try to replace the acpi.sys I copied to the directory but it might on some versions of XP. If it does, find the store where the backups are stored and replace that acpi.sys in the store first with acpi.sys from outer space.
ps. you may have to replace the SATA storage driver signed by ⇗ @Fernando and there is another 'pair' of drivers for timing with a HAL.dll and an intelppm.sys. I could not play games without them.

#8255

gordo999

> Zitat von ⇗ infuscomus im Beitrag ¶ #8240

> If I'm not mistaken, laptops no longer have any CSM, so I would get a desktop board instead.

⇗ @infuscomus ...good point, thanks. Worth checking out.

#8256

diderius6

⇗ @George King
Now install starts but still hangs at network install on
ASRock Fatal1ty Z370 Gaming K6 board.
On Asus P8H77-M network install works and whole install.
This behavior may be acpi related, because only the z370 board needs modded acpi.sys
Dietmar

#8257 | infuscomus | ⇗ @diderius6 ⇗ @daniel_k ⇗ @George King ⇗ @Mov AX, 0xDEAD If this forum closes (at least according to the announcement) what forum are we going to move to?
#8258 | diderius6 | ⇗ @infuscomus Until now, no forum like this exists. May be, that we ask ⇗ @dencorso from MSFN Dietmar

#8259

diderius6

⇗ @George King
I am just running a Windbg session of GUI Setup from original XP SP3 with your drivers on the ASRock Fatal1ty Z370 Gaming K6 board,
for to see, why it hangs at network install
Dietmar
EDIT: Also with Windbg it hangs at network install, at exact the same place as without Windbg.
But when I break with the Debugger and then continue with "g",
installation continues to full XP desktop.
So, not easy to understand, why it hangs.
EDIT2: With the checked ntoskrnl 5.1.2600.5512 and checked hal.dll 5.1.2600.5512 XP Gui Install it does not hang at installing network.
So may be it is enough, to use a newer ntoskrnl.exe from Posready.
Do you have an original German XP SP3 CD for testing your drivers, with nothing installed on it but with all updates, especially last ntoskrnl from Posready until May 2019
Dietmar

#8260

diderius6

This is output from Windbg,
when I hit "break" exact at the place, where XP GUI Setup hangs.
It looks, as if it hangs at `nt!KeUpdateSystemTime+0x175` ,
which is the last step before network install
Dietmar

>     Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
>     Copyright (c) Microsoft Corporation. All rights reserved.

>     Opened \\.\com1
>     Waiting to reconnect...
>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov 13 18:57:53.812 2021 (UTC + 1:00)), ptr64 FALSE
>     Kernel Debugger connection established.
>     Symbol search path is: C:\symbols;C:\symbolss
>     Executable search path is: C:\Symbols
>     Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
>     Built by: 2600.xpsp.080413-2111
>     Machine Name:
>     Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
>     System Uptime: not available
>     <CSync:BeginUnload
>     <CSync:BeginUnload
>     watchdog!WdUpdateRecoveryState: Recovery enabled.
>     Break instruction exception - code 80000003 (first chance)
>     *******************************************************************************
>     *                                                                             *
>     *   You are seeing this message because you pressed either                    *
>     *       CTRL+C (if you run kd.exe) or,                                        *
>     *       CTRL+BREAK (if you run WinDBG),                                       *
>     *   on your debugger machine's keyboard.                                      *
>     *                                                                             *
>     *                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
>     *                                                                             *
>     * If you did not intend to break into the debugger, press the "g" key, then   *
>     * press the "Enter" key now.  This message might immediately reappear.  If it *
>     * does, press "g" and "Enter" again.                                          *
>     *                                                                             *
>     *******************************************************************************
>     nt!RtlpBreakWithStatusInstruction:
>     8052b5dc cc              int     3
>     0: kd> !analyze -v
>     Connected to Windows XP 2600 x86 compatible target at (Sat Nov 13 19:05:27.843 2021 (UTC + 1:00)), ptr64 FALSE
>     Loading Kernel Symbols
>     .........................................................
>     Loading User Symbols

>     Loading unloaded module list
>     ......
>     *******************************************************************************
>     *                                                                             *
>     *                        Bugcheck Analysis                                    *
>     *                                                                             *
>     *******************************************************************************

>     Unknown bugcheck code (0)
>     Unknown bugcheck description
>     Arguments:
>     Arg1: 00000000
>     Arg2: 00000000
>     Arg3: 00000000
>     Arg4: 00000000

>     Debugging Details:
>     ------------------

>     PROCESS_NAME:  Idle

>     FAULTING_IP:
>     nt!RtlpBreakWithStatusInstruction+0
>     8052b5dc cc              int     3

>     EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
>     ExceptionAddress: 8052b5dc (nt!RtlpBreakWithStatusInstruction)
>        ExceptionCode: 80000003 (Break instruction exception)
>       ExceptionFlags: 00000000
>     NumberParameters: 3
>        Parameter[0]: 00000000
>        Parameter[1]: 80553780
>        Parameter[2]: 000003f8

>     ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

>     EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

>     EXCEPTION_PARAMETER1:  00000000

>     EXCEPTION_PARAMETER2:  80553780

>     EXCEPTION_PARAMETER3:  000003f8

>     DEFAULT_BUCKET_ID:  DRIVER_FAULT

>     BUGCHECK_STR:  0x0

>     STACK_TEXT:
>     805513d0 80545119 00000001 80551402 000000d1 nt!RtlpBreakWithStatusInstruction
>     805513d0 80545d40 00000001 80551402 000000d1 nt!KeUpdateSystemTime+0x175
>     80551454 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x14

>     STACK_COMMAND:  kb

>     FOLLOWUP_IP:
>     nt!RtlpBreakWithStatusInstruction+0
>     8052b5dc cc              int     3

>     SYMBOL_STACK_INDEX:  0

>     SYMBOL_NAME:  nt!RtlpBreakWithStatusInstruction+0

>     FOLLOWUP_NAME:  MachineOwner

>     MODULE_NAME: nt

>     IMAGE_NAME:  ntkrpamp.exe

>     DEBUG_FLR_IMAGE_TIMESTAMP:  4802516a

>     BUCKET_ID:  MANUAL_BREAKIN

>     Followup: MachineOwner
>     ---------

>     0: kd> lm
>     start    end        module name
>     804d7000 806e5000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
>     806e5000 80705d00   hal        (pdb symbols)          c:\symbols\halmacpi.pdb\9875FD697ECA4BBB8A475825F6BF885E1\halmacpi.pdb
>     bf800000 bf9c2a00   win32k     (deferred)
>     bf9c3000 bf9d4600   dxg        (deferred)
>     bff70000 bff72480   framebuf   (deferred)
>     f6a2c000 f6a89f00   update     (deferred)
>     f6aa2000 f6aa4280   wmiacpi    (deferred)
>     f6ac6000 f6ac9c80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
>     f6e92000 f6eb4680   dump_ntoskrn8   (deferred)
>     f6eb5000 f6efe000   dump_storport   (deferred)
>     f6efe000 f6f11000   dump_storahci   (deferred)
>     f6f39000 f6f5ab80   afd        (deferred)
>     f6f7b000 f6f8ef00   VIDEOPRT   (deferred)
>     f6fed000 f700f700   ks         (deferred)
>     f7066000 f7068900   Dxapi      (deferred)
>     f70d2000 f70ebb80   Mup        (deferred)
>     f70ec000 f7118980   NDIS       (deferred)
>     f7119000 f71a5600   Ntfs       (deferred)
>     f71a6000 f71bc880   KSecDD     (deferred)
>     f71bd000 f7280680   dmboot     (deferred)
>     f7281000 f72ca000   storport   (deferred)
>     f72ca000 f72ec680   ntoskrn8   (deferred)
>     f72ed000 f7300000   storahci   (deferred)
>     f7300000 f7325a00   dmio       (deferred)
>     f7326000 f7344d80   Ftdisk     (deferred)
>     f7345000 f7355a80   PCI        (deferred)
>     f7356000 f7385d80   ACPI       (deferred)
>     f7487000 f7490300   isapnp     (deferred)
>     f7497000 f74a1580   MountMgr   (deferred)
>     f74a7000 f74b4200   VolSnap    (deferred)
>     f74b7000 f74bfe00   Disk       (deferred)
>     f74c7000 f74d3180   CLASSPNP   (deferred)
>     f74d7000 f74e3f00   i8042prt   (deferred)
>     f74e7000 f74f6600   Cdrom      (deferred)
>     f7507000 f7511e80   Fips       (deferred)
>     f7527000 f7536900   Cdfs       (deferred)
>     f75b7000 f75c0e00   intelppm   (deferred)
>     f7707000 f770bd00   PartMgr    (deferred)
>     f770f000 f7715800   firadisk   (deferred)
>     f7717000 f771bc00   storpor8   (deferred)
>     f7797000 f779d280   Kbdclass   (deferred)
>     f77cf000 f77d4c00   Mouclass   (deferred)
>     f77d7000 f77dc200   vga        (deferred)
>     f77e7000 f77eba80   Msfs       (deferred)
>     f77f7000 f77fe880   Npfs       (deferred)
>     f7807000 f780ba80   TDI        (deferred)
>     f7817000 f781bc00   dump_storpor8   (deferred)
>     f782f000 f7833500   watchdog   (deferred)
>     f7897000 f789a000   BOOTVID    (deferred)
>     f7987000 f7988b80   kdcom      (deferred)
>     f7989000 f798a100   WMILIB     (deferred)
>     f798b000 f798c700   dmload     (deferred)
>     f7993000 f7994100   swenum     (deferred)
>     f7997000 f7998f00   Fs_Rec     (deferred)
>     f799b000 f799c080   Beep       (deferred)
>     f799f000 f79a0080   mnmdd      (deferred)
>     f7b1f000 f7b1fd00   dxgthk     (deferred)
>     f7bd7000 f7bd7b80   Null       (deferred)

>     Unloaded modules:
>     f6f8f000 f6fed000   Update.SYS
>     f74f7000 f7502000   Imapi.SYS
>     f77c7000 f77cc000   Cdaudio.SYS
>     f70ae000 f70b1000   Sfloppy.SYS
>     f77b7000 f77bc000   Flpydisk.SYS
>     f77af000 f77b6000   Fdc.SYS
>     0: kd> !devnode 0 1
>     Dumping IopRootDeviceNode (= 0x89da2008)
>     DevNode 0x89da2008 for PDO 0x89df38c0
>       InstancePath is "HTREE\ROOT\0"
>       State = DeviceNodeStarted (0x308)
>       Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89da2ba8 for PDO 0x89da2cf0
>         InstancePath is "Root\ACPI_HAL\0000"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x89da1190 for PDO 0x89da1de0
>           InstancePath is "ACPI_HAL\PNP0C08\0"
>           ServiceName is "acpi"
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89cc7828 for PDO 0x89cc79b0
>             InstancePath is "ACPI\PNP0A08\0"
>             ServiceName is "pci"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89b4b628 for PDO 0x89d9d208
>               InstancePath is "PCI\VEN_8086&DEV_3EC2&SUBSYS_00000000&REV_07\3&11583659&0&00"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89b4b508 for PDO 0x89cc3030
>               InstancePath is "PCI\VEN_8086&DEV_1901&SUBSYS_00000000&REV_07\3&11583659&0&08"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89cea440 for PDO 0x89ceabb0
>                 InstancePath is "PCI\VEN_10DE&DEV_1287&SUBSYS_730B19DA&REV_A1\4&17bc2637&0&0008"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_FAILED_INSTALL
>               DevNode 0x89cea320 for PDO 0x89cea878
>                 InstancePath is "PCI\VEN_10DE&DEV_0E0F&SUBSYS_730B19DA&REV_A1\4&17bc2637&0&0108"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89b4b3e8 for PDO 0x89cc3e50
>               InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\3&11583659&0&A0"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89b4b2c8 for PDO 0x89cc3c70
>               InstancePath is "PCI\VEN_8086&DEV_A2B1&SUBSYS_A2B11849&REV_00\3&11583659&0&A2"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89b4b1a8 for PDO 0x89cc3938
>               InstancePath is "PCI\VEN_8086&DEV_A2BA&SUBSYS_A2BA1849&REV_00\3&11583659&0&B0"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd008 for PDO 0x89cc3600
>               InstancePath is "PCI\VEN_8086&DEV_A282&SUBSYS_A2821849&REV_00\3&11583659&0&B8"
>               ServiceName is "storahci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89c63b58 for PDO 0x89df3bf0
>                 InstancePath is "SCSI\Disk&Ven_SAMSUNG&Prod_HD160JJ\4&3543605e&0&000000"
>                 ServiceName is "Disk"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89cddee8 for PDO 0x89cc32c8
>               InstancePath is "PCI\VEN_8086&DEV_A2E7&SUBSYS_00000000&REV_F0\3&11583659&0&D8"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89cdddc8 for PDO 0x89cebe50
>               InstancePath is "PCI\VEN_8086&DEV_A290&SUBSYS_00000000&REV_F0\3&11583659&0&E0"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89cddca8 for PDO 0x89cebb18
>               InstancePath is "PCI\VEN_8086&DEV_A291&SUBSYS_00000000&REV_F0\3&11583659&0&E1"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89c63350 for PDO 0x89c63820
>                 InstancePath is "PCI\VEN_1B21&DEV_0612&SUBSYS_06121849&REV_02\4&12e73dd2&0&00E1"
>                 ServiceName is "storahci"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89cddb88 for PDO 0x89ceb7e0
>               InstancePath is "PCI\VEN_8086&DEV_A292&SUBSYS_00000000&REV_F0\3&11583659&0&E2"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89c63c78 for PDO 0x89c63030
>                 InstancePath is "PCI\VEN_8086&DEV_1539&SUBSYS_15391849&REV_03\4&2880aa1&0&00E2"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdda68 for PDO 0x89ceb4a8
>               InstancePath is "PCI\VEN_8086&DEV_A294&SUBSYS_00000000&REV_F0\3&11583659&0&E4"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89b19548 for PDO 0x89b19bb0
>                 InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>                 Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd948 for PDO 0x89b1a030
>               InstancePath is "PCI\VEN_8086&DEV_A298&SUBSYS_00000000&REV_F0\3&11583659&0&E8"
>               ServiceName is "pci"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>             DevNode 0x89cdd828 for PDO 0x89b1ae50
>               InstancePath is "PCI\VEN_8086&DEV_A2C9&SUBSYS_00000000&REV_00\3&11583659&0&F8"
>               ServiceName is "isapnp"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89b4a2e0 for PDO 0x89b4a030
>                 InstancePath is "ISAPNP\ReadDataPort\0"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89b4a1c0 for PDO 0x89b4af18
>                 InstancePath is "ACPI\PNP0C02\0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdc008 for PDO 0x89b4ae00
>                 InstancePath is "ACPI\PNP0303\0"
>                 ServiceName is "i8042prt"
>                 TargetDeviceNotify List - f 0xe10a5c10  b 0xe10a5c10
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89cdcee8 for PDO 0x89b4ace8
>                 InstancePath is "ACPI\INT0800\4&e69c0be&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdcdc8 for PDO 0x89b4abd0
>                 InstancePath is "ACPI\PNP0103\0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdcca8 for PDO 0x89b4aab8
>                 InstancePath is "ACPI\PNP0000\4&e69c0be&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdcb88 for PDO 0x89b4a9a0
>                 InstancePath is "ACPI\PNP0C04\4&e69c0be&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdca68 for PDO 0x89b4a888
>                 InstancePath is "ACPI\PNP0C02\2"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdc948 for PDO 0x89b4a770
>                 InstancePath is "ACPI\PNP0C02\LPC_DEV"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdc828 for PDO 0x89b4a658
>                 InstancePath is "ACPI\PNP0B00\4&e69c0be&0"
>                 State = DeviceNodeStarted (0x308)
>                 Previous State = DeviceNodeEnumerateCompletion (0x30d)
>               DevNode 0x89cdc708 for PDO 0x89b4a540
>                 InstancePath is "ACPI\PNP0100\4&e69c0be&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>               DevNode 0x89cdc5e8 for PDO 0x89b4a428
>                 InstancePath is "ACPI\INT3F0D\4&e69c0be&0"
>                 State = DeviceNodeInitialized (0x302)
>                 Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0x89cdd708 for PDO 0x89b1ac70
>               InstancePath is "PCI\VEN_8086&DEV_A2A1&SUBSYS_A2A11849&REV_00\3&11583659&0&FA"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd5e8 for PDO 0x89b1a938
>               InstancePath is "PCI\VEN_8086&DEV_A2F0&SUBSYS_12211849&REV_00\3&11583659&0&FB"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd4c8 for PDO 0x89b1a600
>               InstancePath is "PCI\VEN_8086&DEV_A2A3&SUBSYS_A2A31849&REV_00\3&11583659&0&FC"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd3a8 for PDO 0x89b1a2c8
>               InstancePath is "PCI\VEN_8086&DEV_15B8&SUBSYS_15B81849&REV_00\3&11583659&0&FE"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>               Problem = CM_PROB_FAILED_INSTALL
>             DevNode 0x89cdd288 for PDO 0x89c64f18
>               InstancePath is "ACPI\PNP0C02\1"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0x89cdd168 for PDO 0x89c64e00
>               InstancePath is "ACPI\PNP0C02\PCHRESV"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0x89c08008 for PDO 0x89c64ce8
>               InstancePath is "ACPI\PNP0C02\IoTraps"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0x89c08ee8 for PDO 0x89c64bd0
>               InstancePath is "ACPI\PNP0C02\5"
>               State = DeviceNodeInitialized (0x302)
>               Previous State = DeviceNodeUninitialized (0x301)
>             DevNode 0x89c08dc8 for PDO 0x89c64ab8
>               InstancePath is "ACPI\PNP0C14\MXM2"
>               ServiceName is "WmiAcpi"
>               State = DeviceNodeStarted (0x308)
>               Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89cc7708 for PDO 0x89b6cbb8
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_0"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89b6cee8 for PDO 0x89d111f8
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_1"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89b6cdc8 for PDO 0x89cc7460
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_2"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89c65240 for PDO 0x89dd8230
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_3"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89c65120 for PDO 0x89da1790
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_4"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89df36b8 for PDO 0x89cfd030
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_5"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89df3598 for PDO 0x89cfdac0
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_6"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89df3478 for PDO 0x89cc7bc0
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_7"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89dd73d0 for PDO 0x89b6c9f0
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_8"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89dd72b0 for PDO 0x89cfe4c8
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\_9"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89dd7190 for PDO 0x89cec8a8
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\10"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89b1bee8 for PDO 0x89cc71b8
>             InstancePath is "ACPI\GenuineIntel_-_x86_Family_6_Model_158\11"
>             ServiceName is "intelppm"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89b1bdc8 for PDO 0x89da0598
>             InstancePath is "ACPI\PNP0C0E\2&daba3ff&0"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89b1bca8 for PDO 0x89cec680
>             InstancePath is "ACPI\PNP0C14\TBFP"
>             ServiceName is "WmiAcpi"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89cec360 for PDO 0x89cfd6a8
>             InstancePath is "ACPI\PNP0C0C\2&daba3ff&0"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>           DevNode 0x89cec240 for PDO 0x89cfd590
>             InstancePath is "ACPI\FixedButton\2&daba3ff&0"
>             State = DeviceNodeStarted (0x308)
>             Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89da28c8 for PDO 0x89da2a10
>         InstancePath is "Root\dmio\0000"
>         ServiceName is "dmio"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89da2688 for PDO 0x89da27d0
>         InstancePath is "Root\firadisk\0000"
>         ServiceName is "firadisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x89b5b270 for PDO 0x89b5b630
>           InstancePath is "FIRADISK\CDROM\1&2b2f4947&0&1.1"
>           ServiceName is "cdrom"
>           TargetDeviceNotify List - f 0xe1000278  b 0xe10d7e28
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89da2448 for PDO 0x89da2590
>         InstancePath is "Root\ftdisk\0000"
>         ServiceName is "ftdisk"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x89b5a920 for PDO 0x89b5aa68
>           InstancePath is "STORAGE\Volume\1&30a96598&0&Signature444D0DD4Offset100000Length2542880000"
>           TargetDeviceNotify List - f 0xe10c1690  b 0xe10c1690
>           State = DeviceNodeStarted (0x308)
>           Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89da21d0 for PDO 0x89da2318
>         InstancePath is "Root\LEGACY_DMBOOT\0000"
>         ServiceName is "dmboot"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89df2ee8 for PDO 0x89df2030
>         InstancePath is "Root\LEGACY_DMLOAD\0000"
>         ServiceName is "dmload"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89df2ca8 for PDO 0x89df2df0
>         InstancePath is "Root\LEGACY_KSECDD\0000"
>         ServiceName is "ksecdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89df2a68 for PDO 0x89df2bb0
>         InstancePath is "Root\LEGACY_MOUNTMGR\0000"
>         ServiceName is "mountmgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89df2828 for PDO 0x89df2970
>         InstancePath is "Root\SYSTEM\0000"
>         ServiceName is "swenum"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>         DevNode 0x89ca7908 for PDO 0x89b91dd0
>           InstancePath is "SW\{eeab7790-c514-11d1-b42b-00805fc1270e}\asyncmac"
>           State = DeviceNodeInitialized (0x302)
>           Previous State = DeviceNodeUninitialized (0x301)
>           Problem = CM_PROB_NOT_CONFIGURED
>       DevNode 0x89df25e8 for PDO 0x89df2730
>         InstancePath is "Root\SYSTEM\0001"
>         ServiceName is "update"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89df23a8 for PDO 0x89df24f0
>         InstancePath is "Root\SYSTEM\0002"
>         ServiceName is "mssmbios"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89bc2c90 for PDO 0x89ba6a90
>         InstancePath is "Root\LEGACY_AFD\0000"
>         ServiceName is "AFD"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x899d9408 for PDO 0x89b81c08
>         InstancePath is "Root\LEGACY_BEEP\0000"
>         ServiceName is "Beep"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x899c04c8 for PDO 0x89c55d90
>         InstancePath is "Root\LEGACY_FIPS\0000"
>         ServiceName is "Fips"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x899bc5c0 for PDO 0x89ae0b48
>         InstancePath is "Root\LEGACY_MNMDD\0000"
>         ServiceName is "mnmdd"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89a5dbb8 for PDO 0x899c3858
>         InstancePath is "Root\LEGACY_NDIS\0000"
>         ServiceName is "NDIS"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89983db8 for PDO 0x89a5bee8
>         InstancePath is "Root\LEGACY_NULL\0000"
>         ServiceName is "Null"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x899d1700 for PDO 0x899d1e08
>         InstancePath is "Root\LEGACY_PARTMGR\0000"
>         ServiceName is "PartMgr"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x89bcf238 for PDO 0x89a6ff10
>         InstancePath is "Root\LEGACY_PARVDM\0000"
>         ServiceName is "ParVdm"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8995b008 for PDO 0x89c23f10
>         InstancePath is "Root\LEGACY_VGASAVE\0000"
>         ServiceName is "VgaSave"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x898bf078 for PDO 0x8993b598
>         InstancePath is "Root\LEGACY_VOLSNAP\0000"
>         ServiceName is "VolSnap"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)
>       DevNode 0x8987eb18 for PDO 0x89944310
>         InstancePath is "ROOT\MEDIA\MS_MMMCI"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x89923008 for PDO 0x898bda08
>         InstancePath is "ROOT\MEDIA\MS_MMVID"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x8997d268 for PDO 0x89894030
>         InstancePath is "ROOT\MEDIA\MS_MMACM"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x898c7680 for PDO 0x89923190
>         InstancePath is "ROOT\MEDIA\MS_MMVCD"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x89b899b0 for PDO 0x899ae608
>         InstancePath is "ROOT\MEDIA\MS_MMDRV"
>         State = DeviceNodeInitialized (0x302)
>         Previous State = DeviceNodeUninitialized (0x301)
>       DevNode 0x89b59960 for PDO 0x89b99d30
>         InstancePath is "Root\LEGACY_SERIAL\0000"
>         ServiceName is "Serial"
>         State = DeviceNodeStarted (0x308)
>         Previous State = DeviceNodeEnumerateCompletion (0x30d)

#8261

diderius6

When I continue with hitting "p" at Windbg it hangs still at network install
Dietmar

>     nt!KiIdleLoop+0xe:
>     80545d3a ff11            call    dword ptr [ecx]
>     6: kd> p
>     nt!KiIdleLoop+0x10:
>     80545d3c f390            pause
>     6: kd> p
>     nt!KiIdleLoop+0x12:
>     80545d3e fb              sti
>     6: kd> p
>     nt!KiIdleLoop+0x13:
>     80545d3f 90              nop
>     6: kd> p
>     nt!KiIdleLoop+0x14:
>     80545d40 90              nop
>     6: kd> p
>     nt!KiIdleLoop+0x15:
>     80545d41 fa              cli
>     6: kd> p
>     nt!KiIdleLoop+0x16:
>     80545d42 3b6d00          cmp     ebp,dword ptr [ebp]
>     6: kd> p
>     nt!KiIdleLoop+0x19:
>     80545d45 740d            je      nt!KiIdleLoop+0x28 (80545d54)
>     6: kd> p
>     nt!KiIdleLoop+0x28:
>     80545d54 83bb2801000000  cmp     dword ptr [ebx+128h],0
>     6: kd> p
>     nt!KiIdleLoop+0x2f:
>     80545d5b 74d7            je      nt!KiIdleLoop+0x8 (80545d34)
>     6: kd> p
>     nt!KiIdleLoop+0x8:
>     80545d34 8d8b500c0000    lea     ecx,[ebx+0C50h]
>     6: kd> p
>     nt!KiIdleLoop+0xe:
>     80545d3a ff11            call    dword ptr [ecx]
>     6: kd> p
>     nt!KiIdleLoop+0x10:
>     80545d3c f390            pause
>     6: kd> p
>     nt!KiIdleLoop+0x12:
>     80545d3e fb              sti
>     6: kd> p
>     nt!KiIdleLoop+0x13:
>     80545d3f 90              nop
>     6: kd> p
>     nt!KiIdleLoop+0x14:
>     80545d40 90              nop
>     6: kd> p
>     nt!KiIdleLoop+0x15:
>     80545d41 fa              cli
>     6: kd> p
>     nt!KiIdleLoop+0x16:
>     80545d42 3b6d00          cmp     ebp,dword ptr [ebp]
>     6: kd> p
>     nt!KiIdleLoop+0x19:
>     80545d45 740d            je      nt!KiIdleLoop+0x28 (80545d54)
>     6: kd> p
>     nt!KiIdleLoop+0x28:
>     80545d54 83bb2801000000  cmp     dword ptr [ebx+128h],0
>     6: kd> p
>     nt!KiIdleLoop+0x2f:
>     80545d5b 74d7            je      nt!KiIdleLoop+0x8 (80545d34)
>     6: kd> p
>     nt!KiIdleLoop+0x8:
>     80545d34 8d8b500c0000    lea     ecx,[ebx+0C50h]
>     6: kd> p
>     nt!KiIdleLoop+0xe:
>     80545d3a ff11            call    dword ptr [ecx]
>     6: kd> p
>     nt!KiIdleLoop+0x10:
>     80545d3c f390            pause
>     6: kd> p
>     nt!KiIdleLoop+0x12:
>     80545d3e fb              sti
>     6: kd> p
>     nt!KiIdleLoop+0x13:
>     80545d3f 90              nop
>     6: kd> p
>     nt!KiIdleLoop+0x14:
>     80545d40 90              nop

#8262

George King

⇗ @diderius6 Yes, I have all Windows XP SP3 ISO that exists in all languages. Same with UpdatePacks, thats also one of reasons to have XP2ESD project :)
Currently is for me enough to hear addons logic is correct (should be same method as original DriverPacks Base method). On XP2ESD will be always different method
⇗ @imadam__ I will upload you some testing image soon.
⇗ @infuscomus It will be great if you can test it too, this image will be mainly based on ported Generic drivers except Windows 8 AHCI, these images will have Windows 7 MSHACI driver instead[TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8263

diderius6

I found the exact place, where XP GUI Setup hangs

     *** An Access Violation occurred in C:\WINDOWS\system32\svchost.exe -k netsvcs:

    001b:7c802402 b8c0000000      mov     eax,0C0h
    10: kd> p
    The instruction at 7C9111E6 tried to read from 001b:7c802407 3945e0          cmp     dword ptr [ebp-20h],eax
    10: kd> p
    an invalid address, FFFFFFFF

    001b:7c80240a 7402            je      7c80240e
    10: kd> p
     *** enter .exr 042BFBE0 for the exception record
    001b:7c80240c 33c0            xor     eax,eax
    10: kd> p
     ***  enter .cxr 042BFBFC for the context
    001b:7c80240e e8fe000000      call    7c802511
    10: kd> p
     *** then kb to get the faulting stack

    STACK_TEXT:
    805513ac 80545119 00000001 00000002 000000d1 nt!RtlpBreakWithStatusInstruction
    805513ac f76f9162 00000001 00000002 000000d1 nt!KeUpdateSystemTime+0x175
    80551450 80545d3c 00000000 0000000e 00000000 intelppm!AcpiC1Idle+0x12
    80551454 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x10

#8264

diderius6

Yesssa ,
I solve the problem with hanging XP SP3 setup after I see that it goes to the crazy timer with
modded XP SP3 5512 version files
acpi.sys laast outerspace )
hal.dll
intelppm.sys
Dietmar
EDIT: Direct setup to nvme device also works. But when you dont use an original XP SP3 CD, the message of allowing unsigned drivers is gone. So you get Bsod on 3. reboot 0x7B and you have to integrate the nvme driver by hand in registry (in System and also criticaldevicedatabase).
⇗
diderius6 has attached files to this post

- ⇗ halplusacpiplusintelppm.rar

#8265

Mov AX, 0xDEAD

> Zitat von ⇗ infuscomus im Beitrag ¶ #8257

> @diderius6 @daniel_k @George King @Mov AX, 0xDEAD
> If this forum closes (at least according to the announcement)
> what forum are we going to move to?

MSFN - similar sharing policy (i mean no direct links to copyrighted files)
MDL - allow links, but forum itself is unusable for non-registered readers

## Page 552

#8266

George King

> Zitat von ⇗ infuscomus im Beitrag ¶ #8257

> @diderius6 @daniel_k @George King @Mov AX, 0xDEAD
> If this forum closes (at least according to the announcement)
> what forum are we going to move to?

It sucks if it happends.
Then MDL, MSFN or maybe bring new life on WinCert? I asked N1K how is WinCert policy with modding files and drivers. [TOOL] POWIS - Powerful Windows Setup - Support Windows Vista, 7, 8.0, 8.1, 10, 11 and their Servers equivalent
⇗ https://forums.mydigitallife.net/threads...p-v1-0-1.83558/
[TOOL] XP2ESD - Create modern Windows XP installer
⇗ https://forums.mydigitallife.net/threads...nstaller.82935/

#8267 | konsheyn | Do you know how to implement driver if there is no DOSNET.INF. I'm trying to adopt XP Embedded, not Integral edition Thanks

#8268

diderius6

⇗ @George King
I make a try to overcome the crazy Signature Check for drivers on the XP SP3 install CD
for to enable direct install of XP SP3 on nvme device with the modded syssetup.dll from ⇗ @Mattiwatti
⇗ XP/W2k3 x64 on Modern Hardware (2)
But it does not help.
Still the stornvme.sys is not listed in path Windows\System32\drivers in Registry Services and also no entry in Criticaldevicedatabase. This gives Bsod 0x7B on 3. reboot.
I know, that this happens only because of missing driver signature in stornvme.sys .
May be, that someone here in the forum has an idea for to overcome the Signature Check on the XP SP3 CD
Dietmar
EDIT: I got it . The modded syssetup.dll from ⇗ @Mattiwatti works.
The problem was, that the Setup Routine of XP cant find stornvme.sy_
on the XP SP3 Install CD during GUI-Setup. This path you have to give by hand during this GUI-Setup.
With this modded syssetup.dll it is possible to give a path by hand.
Maybe it is possible, to do something more in the entries.ini file for stornvme.sys or in its stornvme.inf, so that this path is found automatically.

#8269

diderius6

I make a compare with Winhex,
what ⇗ @Mattiwatti changed in syssetup.dll , because I want to have German version of it.
Quite hard work via Ida Pro.
Here is the compare, left is original and right is modded version of syssetup.dll from
en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso
Dietmar

    1. F:\syssetupdllXPSP3moddd\syssetupORIengl\SYSSETUP\syssetup.dll: 990.208 Bytes
    2. F:\syssetupdllXPSP3moddd\SYSSETUP\syssetup.dll: 990.208 Bytes
    Offsets: hexadez.

      148:	DC	F8
      149:	27	F5
    33BFE:	8B	31
    33BFF:	F8	C0
    33C00:	3B	31
    33C01:	FE	FF
    33C02:	75	90
    33C03:	20	90
    33DA6:	8B	31
    33DA7:	F0	C0
    33DA8:	85	31
    33DAA:	75	90
    33DAB:	17	90
    35535:	0F	E9
    35536:	84	A0
    35537:	9F	00
    3553A:	00	90
    37F03:	3B	31
    37F04:	C6	C0
    37F0B:	75	90
    37F0C:	3E	90

    21 Abweichung(en) gefunden.

EDIT: Voila, here is modded german syssetup.dll XP SP3 via Ida Pro, nice idea goes to ⇗ @Mattiwatti
EDIT2: With my german modded syssetup.dll I cant choose the path for stornvme.sys and so again on 3. reboot
Bsod 0x7B.
I need to modd the syssetup.dll from a very last original german XP SP3 CD.
EDIT3: I take the syssetup.dll from
de_windows_xp_professional_with_service_pack_3_x86_cd_x14-80444.iso
Doing the same hacks, now I can choose the path for stornvme.sys
and it is complete German version (for example Programme instead of Program Files).
Now install of german XP SP3 direct to nvme device with the new driver from ⇗ @George King
is ultrafast and straight.
diderius6 has attached files to this post

- ⇗ syssetup.rar
- ⇗ syssetup.rar

#8270 |  |
#8271 |  |
#8272 |  |
#8273 | plutomaniac | This thread has been deleted for continuous violation, even after warnings, of ⇗ Rule #17, among others. Any modified driver must be clearly marked as such, include the source/modder and NOT involve any binary/signature components.

This thread has been closed.